UNPKG

4.62 kBJavaScriptView Raw
1import { ɵgetAllInstancesOf, ɵisMessagingSupportedFactory, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
2import { timer, from } from 'rxjs';
3import { concatMap, distinct } from 'rxjs/operators';
4import * as i0 from '@angular/core';
5import { InjectionToken, Optional, APP_INITIALIZER, NgModule, NgZone, Injector } from '@angular/core';
6import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
7import { registerVersion } from 'firebase/app';
8import { deleteToken as deleteToken$1, getMessaging as getMessaging$1, getToken as getToken$1, onMessage as onMessage$1 } from 'firebase/messaging';
9export * from 'firebase/messaging';
10
11class Messaging {
12 constructor(messaging) {
13 return messaging;
14 }
15}
16const MESSAGING_PROVIDER_NAME = 'messaging';
17class MessagingInstances {
18 constructor() {
19 return ɵgetAllInstancesOf(MESSAGING_PROVIDER_NAME);
20 }
21}
22const messagingInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(MESSAGING_PROVIDER_NAME))), distinct());
23
24const PROVIDED_MESSAGING_INSTANCES = new InjectionToken('angularfire2.messaging-instances');
25function defaultMessagingInstanceFactory(provided, defaultApp) {
26 if (!ɵisMessagingSupportedFactory.sync()) {
27 return null;
28 }
29 const defaultMessaging = ɵgetDefaultInstanceOf(MESSAGING_PROVIDER_NAME, provided, defaultApp);
30 return defaultMessaging && new Messaging(defaultMessaging);
31}
32function messagingInstanceFactory(fn) {
33 return (zone, injector) => {
34 if (!ɵisMessagingSupportedFactory.sync()) {
35 return null;
36 }
37 const messaging = zone.runOutsideAngular(() => fn(injector));
38 return new Messaging(messaging);
39 };
40}
41const MESSAGING_INSTANCES_PROVIDER = {
42 provide: MessagingInstances,
43 deps: [
44 [new Optional(), PROVIDED_MESSAGING_INSTANCES],
45 ]
46};
47const DEFAULT_MESSAGING_INSTANCE_PROVIDER = {
48 provide: Messaging,
49 useFactory: defaultMessagingInstanceFactory,
50 deps: [
51 [new Optional(), PROVIDED_MESSAGING_INSTANCES],
52 FirebaseApp,
53 ]
54};
55class MessagingModule {
56 constructor() {
57 registerVersion('angularfire', VERSION.full, 'fcm');
58 }
59}
60MessagingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
61MessagingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule });
62MessagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule, providers: [
63 DEFAULT_MESSAGING_INSTANCE_PROVIDER,
64 MESSAGING_INSTANCES_PROVIDER,
65 {
66 provide: APP_INITIALIZER,
67 useValue: ɵisMessagingSupportedFactory.async,
68 multi: true,
69 },
70 ] });
71i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: MessagingModule, decorators: [{
72 type: NgModule,
73 args: [{
74 providers: [
75 DEFAULT_MESSAGING_INSTANCE_PROVIDER,
76 MESSAGING_INSTANCES_PROVIDER,
77 {
78 provide: APP_INITIALIZER,
79 useValue: ɵisMessagingSupportedFactory.async,
80 multi: true,
81 },
82 ]
83 }]
84 }], ctorParameters: function () { return []; } });
85function provideMessaging(fn, ...deps) {
86 return {
87 ngModule: MessagingModule,
88 providers: [{
89 provide: PROVIDED_MESSAGING_INSTANCES,
90 useFactory: messagingInstanceFactory(fn),
91 multi: true,
92 deps: [
93 NgZone,
94 Injector,
95 ɵAngularFireSchedulers,
96 FirebaseApps,
97 ...deps,
98 ],
99 }]
100 };
101}
102
103const isSupported = ɵisMessagingSupportedFactory.async;
104
105// DO NOT MODIFY, this file is autogenerated by tools/build.ts
106const deleteToken = ɵzoneWrap(deleteToken$1, true);
107const getMessaging = ɵzoneWrap(getMessaging$1, true);
108const getToken = ɵzoneWrap(getToken$1, true);
109const onMessage = ɵzoneWrap(onMessage$1, false);
110
111/**
112 * Generated bundle index. Do not edit.
113 */
114
115export { Messaging, MessagingInstances, MessagingModule, deleteToken, getMessaging, getToken, isSupported, messagingInstance$, onMessage, provideMessaging };
116//# sourceMappingURL=angular-fire-messaging.js.map