UNPKG

@typeheim/orm-on-fire

Version:
40 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EntityQuery = void 0; const EntityStream_1 = require("../Data/EntityStream"); const EntityPromise_1 = require("../Data/EntityPromise"); const operators_1 = require("rxjs/operators"); const singletons_1 = require("../singletons"); class EntityQuery { constructor(docReference, entityBuilder) { this.docReference = docReference; this.entityBuilder = entityBuilder; } get() { let promise = new EntityPromise_1.EntityPromise(); if (this.docReference) { this.docReference.get().subscribe({ next: (docSnapshot) => { promise.resolve(this.entityBuilder.fromSnapshot(docSnapshot)); }, error: error => promise.reject(error), }); } else { promise.resolve(null); } return promise; } collection(entity) { return singletons_1.CollectionFactory.createFromBasePath(entity, this.docReference.path); } stream() { let snapshotStream = this.docReference.snapshot(); let source = snapshotStream.pipe(operators_1.map((docSnapshot) => { return this.entityBuilder.fromSnapshot(docSnapshot); })); return new EntityStream_1.EntityStream(source, snapshotStream); } } exports.EntityQuery = EntityQuery; //# sourceMappingURL=EntityQuery.js.map