1 | import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
|
2 | import { timer, from } from 'rxjs';
|
3 | import { concatMap, distinct } from 'rxjs/operators';
|
4 | import * as i0 from '@angular/core';
|
5 | import { InjectionToken, isDevMode, Optional, PLATFORM_ID, NgModule, NgZone, Injector } from '@angular/core';
|
6 | import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
|
7 | import { registerVersion } from 'firebase/app';
|
8 | import { isPlatformServer } from '@angular/common';
|
9 | import { getToken as getToken$1, initializeAppCheck as initializeAppCheck$1, onTokenChanged as onTokenChanged$1, setTokenAutoRefreshEnabled as setTokenAutoRefreshEnabled$1 } from 'firebase/app-check';
|
10 | export * from 'firebase/app-check';
|
11 |
|
12 | const APP_CHECK_PROVIDER_NAME = 'app-check';
|
13 | class AppCheck {
|
14 | constructor(appCheck) {
|
15 | return appCheck;
|
16 | }
|
17 | }
|
18 | class AppCheckInstances {
|
19 | constructor() {
|
20 | return ɵgetAllInstancesOf(APP_CHECK_PROVIDER_NAME);
|
21 | }
|
22 | }
|
23 | const appCheckInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(APP_CHECK_PROVIDER_NAME))), distinct());
|
24 |
|
25 | const PROVIDED_APP_CHECK_INSTANCES = new InjectionToken('angularfire2.app-check-instances');
|
26 | const APP_CHECK_NAMESPACE_SYMBOL = Symbol('angularfire2.app-check.namespace');
|
27 | function defaultAppCheckInstanceFactory(provided, defaultApp) {
|
28 | const defaultAppCheck = ɵgetDefaultInstanceOf(APP_CHECK_PROVIDER_NAME, provided, defaultApp);
|
29 | return defaultAppCheck && new AppCheck(defaultAppCheck);
|
30 | }
|
31 | const LOCALHOSTS = ['localhost', '0.0.0.0', '127.0.0.1'];
|
32 | const isLocalhost = typeof window !== 'undefined' && LOCALHOSTS.includes(window.location.hostname);
|
33 | function appCheckInstanceFactory(fn) {
|
34 |
|
35 | return (zone, injector, platformId) => {
|
36 | var _a;
|
37 |
|
38 | if (!isPlatformServer(platformId) && (isDevMode() || isLocalhost)) {
|
39 | (_a = globalThis.FIREBASE_APPCHECK_DEBUG_TOKEN) !== null && _a !== void 0 ? _a : (globalThis.FIREBASE_APPCHECK_DEBUG_TOKEN = true);
|
40 | }
|
41 | const appCheck = zone.runOutsideAngular(() => fn(injector));
|
42 | return new AppCheck(appCheck);
|
43 | };
|
44 | }
|
45 | const APP_CHECK_INSTANCES_PROVIDER = {
|
46 | provide: AppCheckInstances,
|
47 | deps: [
|
48 | [new Optional(), PROVIDED_APP_CHECK_INSTANCES],
|
49 | ]
|
50 | };
|
51 | const DEFAULT_APP_CHECK_INSTANCE_PROVIDER = {
|
52 | provide: AppCheck,
|
53 | useFactory: defaultAppCheckInstanceFactory,
|
54 | deps: [
|
55 | [new Optional(), PROVIDED_APP_CHECK_INSTANCES],
|
56 | FirebaseApp,
|
57 | PLATFORM_ID,
|
58 | ]
|
59 | };
|
60 | class AppCheckModule {
|
61 | constructor() {
|
62 | registerVersion('angularfire', VERSION.full, 'app-check');
|
63 | }
|
64 | }
|
65 | AppCheckModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AppCheckModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
66 | AppCheckModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AppCheckModule });
|
67 | AppCheckModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AppCheckModule, providers: [
|
68 | DEFAULT_APP_CHECK_INSTANCE_PROVIDER,
|
69 | APP_CHECK_INSTANCES_PROVIDER,
|
70 | ] });
|
71 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AppCheckModule, decorators: [{
|
72 | type: NgModule,
|
73 | args: [{
|
74 | providers: [
|
75 | DEFAULT_APP_CHECK_INSTANCE_PROVIDER,
|
76 | APP_CHECK_INSTANCES_PROVIDER,
|
77 | ]
|
78 | }]
|
79 | }], ctorParameters: function () { return []; } });
|
80 | function provideAppCheck(fn, ...deps) {
|
81 | return {
|
82 | ngModule: AppCheckModule,
|
83 | providers: [{
|
84 | provide: PROVIDED_APP_CHECK_INSTANCES,
|
85 | useFactory: appCheckInstanceFactory(fn),
|
86 | multi: true,
|
87 | deps: [
|
88 | NgZone,
|
89 | Injector,
|
90 | PLATFORM_ID,
|
91 | ɵAngularFireSchedulers,
|
92 | FirebaseApps,
|
93 | ...deps,
|
94 | ]
|
95 | }]
|
96 | };
|
97 | }
|
98 |
|
99 |
|
100 | const getToken = ɵzoneWrap(getToken$1, true);
|
101 | const initializeAppCheck = ɵzoneWrap(initializeAppCheck$1, true);
|
102 | const onTokenChanged = ɵzoneWrap(onTokenChanged$1, true);
|
103 | const setTokenAutoRefreshEnabled = ɵzoneWrap(setTokenAutoRefreshEnabled$1, true);
|
104 |
|
105 |
|
106 |
|
107 |
|
108 |
|
109 | export { AppCheck, AppCheckInstances, AppCheckModule, appCheckInstance$, getToken, initializeAppCheck, onTokenChanged, provideAppCheck, setTokenAutoRefreshEnabled };
|
110 |
|