react-native-firebase/lib/modules/database/query.js

54 lines
941 B
JavaScript
Raw Normal View History

2017-03-02 11:40:08 +00:00
/**
* @flow
*/
import Reference from './reference.js';
/**
* @class Query
*/
export default class Query {
modifiers: Array<DatabaseModifier>;
2017-03-02 11:40:08 +00:00
constructor(ref: Reference, path: string, existingModifiers?: Array<DatabaseModifier>) {
2017-03-02 11:40:08 +00:00
this.modifiers = existingModifiers ? [...existingModifiers] : [];
this._reference = ref;
2017-03-02 11:40:08 +00:00
}
orderBy(name: string, key?: string) {
this.modifiers.push({
type: 'orderBy',
name,
key,
});
return this._reference;
2017-03-02 11:40:08 +00:00
}
limit(name: string, limit: number) {
this.modifiers.push({
type: 'limit',
name,
limit,
});
return this._reference;
2017-03-02 11:40:08 +00:00
}
filter(name: string, value: any, key?: string) {
this.modifiers.push({
type: 'filter',
name,
value,
valueType: typeof value,
key,
});
return this._reference;
2017-03-02 11:40:08 +00:00
}
getModifiers(): Array<DatabaseModifier> {
2017-03-02 11:40:08 +00:00
return [...this.modifiers];
}
}