UNPKG

@angular/fire

Version:

The official library for Firebase and Angular

78 lines 5.18 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { asyncScheduler, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; /** * @template T, R * @param {?} ref * @param {?=} scheduler * @return {?} */ function _fromRef(ref, scheduler = asyncScheduler) { return new Observable((/** * @param {?} subscriber * @return {?} */ subscriber => { /** @type {?} */ let unsubscribe; if (scheduler != null) { scheduler.schedule((/** * @return {?} */ () => { unsubscribe = ref.onSnapshot(subscriber); })); } else { unsubscribe = ref.onSnapshot(subscriber); } return (/** * @return {?} */ () => { if (unsubscribe != null) { unsubscribe(); } }); })); } /** * @template R * @param {?} ref * @param {?=} scheduler * @return {?} */ export function fromRef(ref, scheduler) { return _fromRef(ref, scheduler); } /** * @template T * @param {?} ref * @param {?=} scheduler * @return {?} */ export function fromDocRef(ref, scheduler) { return fromRef(ref, scheduler) .pipe(map((/** * @param {?} payload * @return {?} */ payload => ({ payload, type: 'value' })))); } /** * @template T * @param {?} ref * @param {?=} scheduler * @return {?} */ export function fromCollectionRef(ref, scheduler) { return fromRef(ref, scheduler).pipe(map((/** * @param {?} payload * @return {?} */ payload => ({ payload, type: 'query' })))); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbVJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maXJlc3RvcmUvb2JzZXJ2YWJsZS9mcm9tUmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXJDLFNBQVMsUUFBUSxDQUFPLEdBQWlCLEVBQUUsWUFBMkIsY0FBYztJQUNsRixPQUFPLElBQUksVUFBVTs7OztJQUFDLFVBQVUsQ0FBQyxFQUFFOztZQUM3QixXQUFXO1FBQ2YsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO1lBQ3JCLFNBQVMsQ0FBQyxRQUFROzs7WUFBQyxHQUFHLEVBQUU7Z0JBQ3RCLFdBQVcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLENBQUMsRUFBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLFdBQVcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFDO1FBRUQ7OztRQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksV0FBVyxJQUFJLElBQUksRUFBRTtnQkFDdkIsV0FBVyxFQUFFLENBQUM7YUFDZjtRQUNILENBQUMsRUFBQztJQUNKLENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUksR0FBOEIsRUFBRSxTQUF5QjtJQUNsRixPQUFPLFFBQVEsQ0FBZ0IsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2pELENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFJLEdBQXNCLEVBQUUsU0FBeUI7SUFDN0UsT0FBTyxPQUFPLENBQXNCLEdBQUcsRUFBRSxTQUFTLENBQUM7U0FDaEQsSUFBSSxDQUNILEdBQUc7Ozs7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FDN0MsQ0FBQztBQUNOLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUksR0FBVSxFQUFFLFNBQXlCO0lBQ3hFLE9BQU8sT0FBTyxDQUFtQixHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUc7Ozs7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0FBQ3RHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgT2JzZXJ2YWJsZSwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aW9uLCBEb2N1bWVudFJlZmVyZW5jZSwgRG9jdW1lbnRTbmFwc2hvdCwgUXVlcnksIFF1ZXJ5U25hcHNob3QsIFJlZmVyZW5jZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5mdW5jdGlvbiBfZnJvbVJlZjxULCBSPihyZWY6IFJlZmVyZW5jZTxUPiwgc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlID0gYXN5bmNTY2hlZHVsZXIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZXIgPT4ge1xuICAgIGxldCB1bnN1YnNjcmliZTtcbiAgICBpZiAoc2NoZWR1bGVyICE9IG51bGwpIHtcbiAgICAgIHNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7XG4gICAgICAgIHVuc3Vic2NyaWJlID0gcmVmLm9uU25hcHNob3Qoc3Vic2NyaWJlcik7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdW5zdWJzY3JpYmUgPSByZWYub25TbmFwc2hvdChzdWJzY3JpYmVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHVuc3Vic2NyaWJlICE9IG51bGwpIHtcbiAgICAgICAgdW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21SZWY8Uj4ocmVmOiBEb2N1bWVudFJlZmVyZW5jZSB8IFF1ZXJ5LCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKSB7XG4gIHJldHVybiBfZnJvbVJlZjx0eXBlb2YgcmVmLCBSPihyZWYsIHNjaGVkdWxlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRG9jUmVmPFQ+KHJlZjogRG9jdW1lbnRSZWZlcmVuY2UsIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPEFjdGlvbjxEb2N1bWVudFNuYXBzaG90PFQ+Pj4ge1xuICByZXR1cm4gZnJvbVJlZjxEb2N1bWVudFNuYXBzaG90PFQ+PihyZWYsIHNjaGVkdWxlcilcbiAgICAucGlwZShcbiAgICAgIG1hcChwYXlsb2FkID0+ICh7IHBheWxvYWQsIHR5cGU6ICd2YWx1ZScgfSkpXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21Db2xsZWN0aW9uUmVmPFQ+KHJlZjogUXVlcnksIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPEFjdGlvbjxRdWVyeVNuYXBzaG90PFQ+Pj4ge1xuICByZXR1cm4gZnJvbVJlZjxRdWVyeVNuYXBzaG90PFQ+PihyZWYsIHNjaGVkdWxlcikucGlwZShtYXAocGF5bG9hZCA9PiAoeyBwYXlsb2FkLCB0eXBlOiAncXVlcnknIH0pKSk7XG59XG4iXX0=