react-native-firebase-compiled
Version:
A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Functions, Messaging (FCM), Remote Config, Sto
69 lines (50 loc) • 1.63 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _DocumentChange = _interopRequireDefault(require("./DocumentChange"));
var _DocumentSnapshot = _interopRequireDefault(require("./DocumentSnapshot"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
/**
* @class QuerySnapshot
*/
class QuerySnapshot {
constructor(firestore, query, nativeData) {
_defineProperty(this, "_changes", void 0);
_defineProperty(this, "_docs", void 0);
_defineProperty(this, "_metadata", void 0);
_defineProperty(this, "_query", void 0);
this._changes = nativeData.changes.map(change => new _DocumentChange.default(firestore, change));
this._docs = nativeData.documents.map(doc => new _DocumentSnapshot.default(firestore, doc));
this._metadata = nativeData.metadata;
this._query = query;
}
get docChanges() {
return this._changes;
}
get docs() {
return this._docs;
}
get empty() {
return this._docs.length === 0;
}
get metadata() {
return this._metadata;
}
get query() {
return this._query;
}
get size() {
return this._docs.length;
}
forEach(callback) {
// TODO: Validation
// validate.isFunction('callback', callback);
this._docs.forEach(doc => {
callback(doc);
});
}
}
exports.default = QuerySnapshot;
;