@angular/fire
Version:
The official library for Firebase and Angular
86 lines • 8.79 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Inject, Injectable, InjectionToken, NgZone, Optional } from '@angular/core';
import { from, of } from 'rxjs';
import { map, observeOn, shareReplay, switchMap, tap } from 'rxjs/operators';
import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵAngularFireSchedulers, ɵfirebaseAppFactory, ɵlazySDKProxy } from '@angular/fire';
import * as i0 from "@angular/core";
import * as i1 from "@angular/fire";
/** @type {?} */
export const ORIGIN = new InjectionToken('angularfire2.functions.origin');
/** @type {?} */
export const REGION = new InjectionToken('angularfire2.functions.region');
// WARNING: interface has both a type and a value, skipping emit
export class AngularFireFunctions {
/**
* @param {?} options
* @param {?} nameOrConfig
* @param {?} zone
* @param {?} region
* @param {?} origin
*/
constructor(options, nameOrConfig, zone, region, origin) {
/** @type {?} */
const schedulers = new ɵAngularFireSchedulers(zone);
/** @type {?} */
const functions = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @return {?}
*/
() => import('firebase/functions'))), map((/**
* @return {?}
*/
() => ɵfirebaseAppFactory(options, zone, nameOrConfig))), map((/**
* @param {?} app
* @return {?}
*/
app => app.functions(region || undefined))), tap((/**
* @param {?} functions
* @return {?}
*/
functions => {
if (origin) {
functions.useFunctionsEmulator(origin);
}
})), shareReplay({ bufferSize: 1, refCount: false }));
this.httpsCallable = (/**
* @template T, R
* @param {?} name
* @return {?}
*/
(name) => (/**
* @param {?} data
* @return {?}
*/
(data) => from(functions).pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @param {?} functions
* @return {?}
*/
functions => functions.httpsCallable(name)(data))), map((/**
* @param {?} r
* @return {?}
*/
r => (/** @type {?} */ (r.data)))))));
return ɵlazySDKProxy(this, functions, zone);
}
}
AngularFireFunctions.decorators = [
{ type: Injectable, args: [{
providedIn: 'any'
},] }
];
/** @nocollapse */
AngularFireFunctions.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [FIREBASE_OPTIONS,] }] },
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FIREBASE_APP_NAME,] }] },
{ type: NgZone },
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [REGION,] }] },
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [ORIGIN,] }] }
];
/** @nocollapse */ AngularFireFunctions.ɵprov = i0.ɵɵdefineInjectable({ factory: function AngularFireFunctions_Factory() { return new AngularFireFunctions(i0.ɵɵinject(i1.FIREBASE_OPTIONS), i0.ɵɵinject(i1.FIREBASE_APP_NAME, 8), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(REGION, 8), i0.ɵɵinject(ORIGIN, 8)); }, token: AngularFireFunctions, providedIn: "any" });
if (false) {
/** @type {?} */
AngularFireFunctions.prototype.httpsCallable;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Z1bmN0aW9ucy9mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFHaEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixhQUFhLEVBRWQsTUFBTSxlQUFlLENBQUM7Ozs7QUFHdkIsTUFBTSxPQUFPLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUywrQkFBK0IsQ0FBQzs7QUFDakYsTUFBTSxPQUFPLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUywrQkFBK0IsQ0FBQzs7QUFTakYsTUFBTSxPQUFPLG9CQUFvQjs7Ozs7Ozs7SUFJL0IsWUFDNEIsT0FBd0IsRUFDWCxZQUEyRCxFQUNsRyxJQUFZLEVBQ2dCLE1BQXFCLEVBQ3JCLE1BQXFCOztjQUUzQyxVQUFVLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7O2NBRTdDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNsQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUNwQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsRUFBQyxFQUM3QyxHQUFHOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFDLEVBQzNELEdBQUc7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxFQUFDLEVBQzlDLEdBQUc7Ozs7UUFBQyxTQUFTLENBQUMsRUFBRTtZQUNkLElBQUksTUFBTSxFQUFFO2dCQUNWLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN4QztRQUNILENBQUMsRUFBQyxFQUNGLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQ2hEO1FBRUQsSUFBSSxDQUFDLGFBQWE7Ozs7O1FBQUcsQ0FBbUIsSUFBWSxFQUFFLEVBQUU7Ozs7UUFDdEQsQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQy9CLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQ3BDLFNBQVM7Ozs7UUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsRUFDM0QsR0FBRzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsbUJBQUEsQ0FBQyxDQUFDLElBQUksRUFBSyxFQUFDLENBQ3RCLENBQUEsQ0FBQSxDQUFDO1FBRUosT0FBTyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUU5QyxDQUFDOzs7WUF0Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxLQUFLO2FBQ2xCOzs7OzRDQU1JLE1BQU0sU0FBQyxnQkFBZ0I7NENBQ3ZCLFFBQVEsWUFBSSxNQUFNLFNBQUMsaUJBQWlCO1lBL0JJLE1BQU07NENBaUM5QyxRQUFRLFlBQUksTUFBTSxTQUFDLE1BQU07NENBQ3pCLFFBQVEsWUFBSSxNQUFNLFNBQUMsTUFBTTs7Ozs7SUFQNUIsNkNBQThGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgTmdab25lLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgb2JzZXJ2ZU9uLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBGSVJFQkFTRV9BUFBfTkFNRSxcbiAgRklSRUJBU0VfT1BUSU9OUyxcbiAgRmlyZWJhc2VBcHBDb25maWcsXG4gIEZpcmViYXNlT3B0aW9ucyxcbiAgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gIMm1ZmlyZWJhc2VBcHBGYWN0b3J5LFxuICDJtWxhenlTREtQcm94eSxcbiAgybVQcm9taXNlUHJveHlcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyBmdW5jdGlvbnMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuXG5leHBvcnQgY29uc3QgT1JJR0lOID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2FuZ3VsYXJmaXJlMi5mdW5jdGlvbnMub3JpZ2luJyk7XG5leHBvcnQgY29uc3QgUkVHSU9OID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2FuZ3VsYXJmaXJlMi5mdW5jdGlvbnMucmVnaW9uJyk7XG5cbi8vIG92ZXJyaWRlIGh0dHBzQ2FsbGFibGUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCA1LnhcbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckZpcmVGdW5jdGlvbnMgZXh0ZW5kcyBPbWl0PMm1UHJvbWlzZVByb3h5PGZ1bmN0aW9ucy5GdW5jdGlvbnM+LCAnaHR0cHNDYWxsYWJsZSc+IHtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUZ1bmN0aW9ucyB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGh0dHBzQ2FsbGFibGU6IDxUID0gYW55LCBSID0gYW55PihuYW1lOiBzdHJpbmcpID0+IChkYXRhOiBUKSA9PiBPYnNlcnZhYmxlPFI+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRklSRUJBU0VfT1BUSU9OUykgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRklSRUJBU0VfQVBQX05BTUUpIG5hbWVPckNvbmZpZzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJFR0lPTikgcmVnaW9uOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1JJR0lOKSBvcmlnaW46IHN0cmluZyB8IG51bGxcbiAgKSB7XG4gICAgY29uc3Qgc2NoZWR1bGVycyA9IG5ldyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyh6b25lKTtcblxuICAgIGNvbnN0IGZ1bmN0aW9ucyA9IG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBpbXBvcnQoJ2ZpcmViYXNlL2Z1bmN0aW9ucycpKSxcbiAgICAgIG1hcCgoKSA9PiDJtWZpcmViYXNlQXBwRmFjdG9yeShvcHRpb25zLCB6b25lLCBuYW1lT3JDb25maWcpKSxcbiAgICAgIG1hcChhcHAgPT4gYXBwLmZ1bmN0aW9ucyhyZWdpb24gfHwgdW5kZWZpbmVkKSksXG4gICAgICB0YXAoZnVuY3Rpb25zID0+IHtcbiAgICAgICAgaWYgKG9yaWdpbikge1xuICAgICAgICAgIGZ1bmN0aW9ucy51c2VGdW5jdGlvbnNFbXVsYXRvcihvcmlnaW4pO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IGZhbHNlIH0pXG4gICAgKTtcblxuICAgIHRoaXMuaHR0cHNDYWxsYWJsZSA9IDxUID0gYW55LCBSID0gYW55PihuYW1lOiBzdHJpbmcpID0+XG4gICAgICAoZGF0YTogVCkgPT4gZnJvbShmdW5jdGlvbnMpLnBpcGUoXG4gICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgICAgc3dpdGNoTWFwKGZ1bmN0aW9ucyA9PiBmdW5jdGlvbnMuaHR0cHNDYWxsYWJsZShuYW1lKShkYXRhKSksXG4gICAgICAgIG1hcChyID0+IHIuZGF0YSBhcyBSKVxuICAgICAgKTtcblxuICAgIHJldHVybiDJtWxhenlTREtQcm94eSh0aGlzLCBmdW5jdGlvbnMsIHpvbmUpO1xuXG4gIH1cblxufVxuIl19