@angular/fire
Version:
The official Angular library for Firebase.
117 lines (110 loc) • 4.62 kB
JavaScript
import { ɵgetAllInstancesOf, ɵisMessagingSupportedFactory, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
import { timer, from } from 'rxjs';
import { concatMap, distinct } from 'rxjs/operators';
import * as i0 from '@angular/core';
import { InjectionToken, Optional, APP_INITIALIZER, NgModule, NgZone, Injector } from '@angular/core';
import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
import { registerVersion } from 'firebase/app';
import { deleteToken as deleteToken$1, getMessaging as getMessaging$1, getToken as getToken$1, onMessage as onMessage$1 } from 'firebase/messaging';
export * from 'firebase/messaging';
class Messaging {
constructor(messaging) {
return messaging;
}
}
const MESSAGING_PROVIDER_NAME = 'messaging';
class MessagingInstances {
constructor() {
return ɵgetAllInstancesOf(MESSAGING_PROVIDER_NAME);
}
}
const messagingInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(MESSAGING_PROVIDER_NAME))), distinct());
const PROVIDED_MESSAGING_INSTANCES = new InjectionToken('angularfire2.messaging-instances');
function defaultMessagingInstanceFactory(provided, defaultApp) {
if (!ɵisMessagingSupportedFactory.sync()) {
return null;
}
const defaultMessaging = ɵgetDefaultInstanceOf(MESSAGING_PROVIDER_NAME, provided, defaultApp);
return defaultMessaging && new Messaging(defaultMessaging);
}
function messagingInstanceFactory(fn) {
return (zone, injector) => {
if (!ɵisMessagingSupportedFactory.sync()) {
return null;
}
const messaging = zone.runOutsideAngular(() => fn(injector));
return new Messaging(messaging);
};
}
const MESSAGING_INSTANCES_PROVIDER = {
provide: MessagingInstances,
deps: [
[new Optional(), PROVIDED_MESSAGING_INSTANCES],
]
};
const DEFAULT_MESSAGING_INSTANCE_PROVIDER = {
provide: Messaging,
useFactory: defaultMessagingInstanceFactory,
deps: [
[new Optional(), PROVIDED_MESSAGING_INSTANCES],
FirebaseApp,
]
};
class MessagingModule {
constructor() {
registerVersion('angularfire', VERSION.full, 'fcm');
}
}
MessagingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
MessagingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule });
MessagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule, providers: [
DEFAULT_MESSAGING_INSTANCE_PROVIDER,
MESSAGING_INSTANCES_PROVIDER,
{
provide: APP_INITIALIZER,
useValue: ɵisMessagingSupportedFactory.async,
multi: true,
},
] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule, decorators: [{
type: NgModule,
args: [{
providers: [
DEFAULT_MESSAGING_INSTANCE_PROVIDER,
MESSAGING_INSTANCES_PROVIDER,
{
provide: APP_INITIALIZER,
useValue: ɵisMessagingSupportedFactory.async,
multi: true,
},
]
}]
}], ctorParameters: function () { return []; } });
function provideMessaging(fn, ...deps) {
return {
ngModule: MessagingModule,
providers: [{
provide: PROVIDED_MESSAGING_INSTANCES,
useFactory: messagingInstanceFactory(fn),
multi: true,
deps: [
NgZone,
Injector,
ɵAngularFireSchedulers,
FirebaseApps,
...deps,
],
}]
};
}
const isSupported = ɵisMessagingSupportedFactory.async;
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
const deleteToken = ɵzoneWrap(deleteToken$1, true);
const getMessaging = ɵzoneWrap(getMessaging$1, true);
const getToken = ɵzoneWrap(getToken$1, true);
const onMessage = ɵzoneWrap(onMessage$1, false);
/**
* Generated bundle index. Do not edit.
*/
export { Messaging, MessagingInstances, MessagingModule, deleteToken, getMessaging, getToken, isSupported, messagingInstance$, onMessage, provideMessaging };
//# sourceMappingURL=angular-fire-messaging.js.map