@angular/fire
Version:
The official library for Firebase and Angular
122 lines • 13.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Inject, Injectable, NgZone, Optional, PLATFORM_ID } from '@angular/core';
import { concat, EMPTY, Observable, of, throwError } from 'rxjs';
import { catchError, defaultIfEmpty, map, mergeMap, observeOn, switchMap } from 'rxjs/operators';
import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵAngularFireSchedulers, ɵfirebaseAppFactory, ɵlazySDKProxy } from '@angular/fire';
import { isPlatformServer } from '@angular/common';
import * as i0 from "@angular/core";
import * as i1 from "@angular/fire";
// WARNING: interface has both a type and a value, skipping emit
export class AngularFireMessaging {
/**
* @param {?} options
* @param {?} nameOrConfig
* @param {?} platformId
* @param {?} zone
*/
constructor(options, nameOrConfig,
// tslint:disable-next-line:ban-types
platformId, zone) {
/** @type {?} */
const schedulers = new ɵAngularFireSchedulers(zone);
/** @type {?} */
const messaging = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @return {?}
*/
() => isPlatformServer(platformId) ? EMPTY : import('firebase/messaging'))), map((/**
* @return {?}
*/
() => ɵfirebaseAppFactory(options, zone, nameOrConfig))), map((/**
* @param {?} app
* @return {?}
*/
app => app.messaging())));
if (!isPlatformServer(platformId)) {
this.requestPermission = messaging.pipe(observeOn(schedulers.outsideAngular),
// tslint:disable-next-line
switchMap((/**
* @param {?} messaging
* @return {?}
*/
messaging => messaging.requestPermission())));
}
else {
this.requestPermission = throwError('Not available on server platform.');
}
this.getToken = messaging.pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @param {?} messaging
* @return {?}
*/
messaging => messaging.getToken())), defaultIfEmpty(null));
/** @type {?} */
const tokenChanges = messaging.pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @param {?} messaging
* @return {?}
*/
messaging => new Observable(messaging.onTokenRefresh.bind(messaging)).pipe(switchMap((/**
* @return {?}
*/
() => messaging.getToken()))))));
this.tokenChanges = concat(messaging.pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @param {?} messaging
* @return {?}
*/
messaging => messaging.getToken()))), tokenChanges);
this.messages = messaging.pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @param {?} messaging
* @return {?}
*/
messaging => new Observable(messaging.onMessage.bind(messaging)))));
this.requestToken = of(undefined).pipe(switchMap((/**
* @return {?}
*/
() => this.requestPermission)), catchError((/**
* @return {?}
*/
() => of(null))), mergeMap((/**
* @return {?}
*/
() => this.tokenChanges)));
this.deleteToken = (/**
* @param {?} token
* @return {?}
*/
(token) => messaging.pipe(observeOn(schedulers.outsideAngular), switchMap((/**
* @param {?} messaging
* @return {?}
*/
messaging => messaging.deleteToken(token))), defaultIfEmpty(false)));
return ɵlazySDKProxy(this, messaging, zone);
}
}
AngularFireMessaging.decorators = [
{ type: Injectable, args: [{
providedIn: 'any'
},] }
];
/** @nocollapse */
AngularFireMessaging.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [FIREBASE_OPTIONS,] }] },
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FIREBASE_APP_NAME,] }] },
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: NgZone }
];
/** @nocollapse */ AngularFireMessaging.ɵprov = i0.ɵɵdefineInjectable({ factory: function AngularFireMessaging_Factory() { return new AngularFireMessaging(i0.ɵɵinject(i1.FIREBASE_OPTIONS), i0.ɵɵinject(i1.FIREBASE_APP_NAME, 8), i0.ɵɵinject(i0.PLATFORM_ID), i0.ɵɵinject(i0.NgZone)); }, token: AngularFireMessaging, providedIn: "any" });
if (false) {
/** @type {?} */
AngularFireMessaging.prototype.requestPermission;
/** @type {?} */
AngularFireMessaging.prototype.getToken;
/** @type {?} */
AngularFireMessaging.prototype.tokenChanges;
/** @type {?} */
AngularFireMessaging.prototype.messages;
/** @type {?} */
AngularFireMessaging.prototype.requestToken;
/** @type {?} */
AngularFireMessaging.prototype.deleteToken;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lc3NhZ2luZy9tZXNzYWdpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBR2hCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsYUFBYSxFQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUW5ELE1BQU0sT0FBTyxvQkFBb0I7Ozs7Ozs7SUFTL0IsWUFDNEIsT0FBd0IsRUFDWCxZQUEyRDtJQUNsRyxxQ0FBcUM7SUFDaEIsVUFBa0IsRUFDdkMsSUFBWTs7Y0FFTixVQUFVLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7O2NBRTdDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNsQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUNwQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsRUFBQyxFQUNwRixHQUFHOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxtQkFB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QUFDLGlCQUFpQjtZQUVKLE1BQU0sdUJBQXRDLE1BQU0sU0FBQyxXQUFXO1lBbkNNLE1BQU07Ozs7O0lBd0JqQyxpREFBb0Q7O0lBQ3BELHdDQUFvRDs7SUFDcEQsNENBQXdEOztJQUN4RCx3Q0FBeUM7O0lBQ3pDLDRDQUF3RDs7SUFDeEQsMkNBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVzc2FnaW5nIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IGNvbmNhdCwgRU1QVFksIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWZhdWx0SWZFbXB0eSwgbWFwLCBtZXJnZU1hcCwgb2JzZXJ2ZU9uLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBGSVJFQkFTRV9BUFBfTkFNRSxcbiAgRklSRUJBU0VfT1BUSU9OUyxcbiAgRmlyZWJhc2VBcHBDb25maWcsXG4gIEZpcmViYXNlT3B0aW9ucyxcbiAgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gIMm1ZmlyZWJhc2VBcHBGYWN0b3J5LFxuICDJtWxhenlTREtQcm94eSxcbiAgybVQcm9taXNlUHJveHlcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFyRmlyZU1lc3NhZ2luZyBleHRlbmRzIE9taXQ8ybVQcm9taXNlUHJveHk8bWVzc2FnaW5nLk1lc3NhZ2luZz4sICdkZWxldGVUb2tlbicgfCAnZ2V0VG9rZW4nIHwgJ3JlcXVlc3RQZXJtaXNzaW9uJz4ge1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlTWVzc2FnaW5nIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdFBlcm1pc3Npb246IE9ic2VydmFibGU8dm9pZD47XG4gIHB1YmxpYyByZWFkb25seSBnZXRUb2tlbjogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcbiAgcHVibGljIHJlYWRvbmx5IHRva2VuQ2hhbmdlczogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2VzOiBPYnNlcnZhYmxlPHt9PjtcbiAgcHVibGljIHJlYWRvbmx5IHJlcXVlc3RUb2tlbjogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcbiAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZVRva2VuOiAodG9rZW46IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZJUkVCQVNFX09QVElPTlMpIG9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZJUkVCQVNFX0FQUF9OQU1FKSBuYW1lT3JDb25maWc6IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIHpvbmU6IE5nWm9uZVxuICApIHtcbiAgICBjb25zdCBzY2hlZHVsZXJzID0gbmV3IMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzKHpvbmUpO1xuXG4gICAgY29uc3QgbWVzc2FnaW5nID0gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkgPyBFTVBUWSA6IGltcG9ydCgnZmlyZWJhc2UvbWVzc2FnaW5nJykpLFxuICAgICAgbWFwKCgpID0+IMm1ZmlyZWJhc2VBcHBGYWN0b3J5KG9wdGlvbnMsIHpvbmUsIG5hbWVPckNvbmZpZykpLFxuICAgICAgbWFwKGFwcCA9PiBhcHAubWVzc2FnaW5nKCkpXG4gICAgKTtcblxuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuXG4gICAgICB0aGlzLnJlcXVlc3RQZXJtaXNzaW9uID0gbWVzc2FnaW5nLnBpcGUoXG4gICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIHN3aXRjaE1hcChtZXNzYWdpbmcgPT4gbWVzc2FnaW5nLnJlcXVlc3RQZXJtaXNzaW9uKCkpXG4gICAgICApO1xuXG4gICAgfSBlbHNlIHtcblxuICAgICAgdGhpcy5yZXF1ZXN0UGVybWlzc2lvbiA9IHRocm93RXJyb3IoJ05vdCBhdmFpbGFibGUgb24gc2VydmVyIHBsYXRmb3JtLicpO1xuXG4gICAgfVxuXG4gICAgdGhpcy5nZXRUb2tlbiA9IG1lc3NhZ2luZy5waXBlKFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgc3dpdGNoTWFwKG1lc3NhZ2luZyA9PiBtZXNzYWdpbmcuZ2V0VG9rZW4oKSksXG4gICAgICBkZWZhdWx0SWZFbXB0eShudWxsKVxuICAgICk7XG5cbiAgICBjb25zdCB0b2tlbkNoYW5nZXMgPSBtZXNzYWdpbmcucGlwZShcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgIHN3aXRjaE1hcChtZXNzYWdpbmcgPT4gbmV3IE9ic2VydmFibGUobWVzc2FnaW5nLm9uVG9rZW5SZWZyZXNoLmJpbmQobWVzc2FnaW5nKSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IG1lc3NhZ2luZy5nZXRUb2tlbigpKVxuICAgICAgKSlcbiAgICApO1xuXG4gICAgdGhpcy50b2tlbkNoYW5nZXMgPSBjb25jYXQoXG4gICAgICBtZXNzYWdpbmcucGlwZShcbiAgICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgICBzd2l0Y2hNYXAobWVzc2FnaW5nID0+IG1lc3NhZ2luZy5nZXRUb2tlbigpKVxuICAgICAgKSxcbiAgICAgIHRva2VuQ2hhbmdlc1xuICAgICk7XG5cbiAgICB0aGlzLm1lc3NhZ2VzID0gbWVzc2FnaW5nLnBpcGUoXG4gICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICBzd2l0Y2hNYXAobWVzc2FnaW5nID0+IG5ldyBPYnNlcnZhYmxlKG1lc3NhZ2luZy5vbk1lc3NhZ2UuYmluZChtZXNzYWdpbmcpKSlcbiAgICApO1xuXG4gICAgdGhpcy5yZXF1ZXN0VG9rZW4gPSBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5yZXF1ZXN0UGVybWlzc2lvbiksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMudG9rZW5DaGFuZ2VzKVxuICAgICk7XG5cbiAgICB0aGlzLmRlbGV0ZVRva2VuID0gKHRva2VuOiBzdHJpbmcpID0+IG1lc3NhZ2luZy5waXBlKFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgc3dpdGNoTWFwKG1lc3NhZ2luZyA9PiBtZXNzYWdpbmcuZGVsZXRlVG9rZW4odG9rZW4pKSxcbiAgICAgIGRlZmF1bHRJZkVtcHR5KGZhbHNlKVxuICAgICk7XG5cbiAgICByZXR1cm4gybVsYXp5U0RLUHJveHkodGhpcywgbWVzc2FnaW5nLCB6b25lKTtcbiAgfVxuXG59XG4iXX0=