@angular/fire 7.1.0-canary.ca6eac2 → 7.1.0-canary.f0b932a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analytics/analytics.module.d.ts +10 -5
- package/analytics/public_api.d.ts +2 -0
- package/analytics/screen-tracking.service.d.ts +42 -0
- package/analytics/user-tracking.service.d.ts +13 -0
- package/app/app.module.d.ts +3 -3
- package/app-check/app-check.module.d.ts +3 -3
- package/auth/auth.module.d.ts +3 -3
- package/bundles/angular-fire-analytics.umd.js +563 -35
- package/bundles/angular-fire-analytics.umd.js.map +1 -1
- package/bundles/angular-fire-app-check.umd.js +336 -18
- package/bundles/angular-fire-app-check.umd.js.map +1 -1
- package/bundles/angular-fire-app.umd.js +323 -3
- package/bundles/angular-fire-app.umd.js.map +1 -1
- package/bundles/angular-fire-auth.umd.js +324 -9
- package/bundles/angular-fire-auth.umd.js.map +1 -1
- package/bundles/angular-fire-compat-analytics.umd.js +16 -112
- package/bundles/angular-fire-compat-analytics.umd.js.map +1 -1
- package/bundles/angular-fire-compat-auth.umd.js +1 -1
- package/bundles/angular-fire-compat-auth.umd.js.map +1 -1
- package/bundles/angular-fire-compat-database.umd.js +1 -1
- package/bundles/angular-fire-compat-database.umd.js.map +1 -1
- package/bundles/angular-fire-compat-firestore.umd.js +1 -1
- package/bundles/angular-fire-compat-firestore.umd.js.map +1 -1
- package/bundles/angular-fire-compat-functions.umd.js +1 -1
- package/bundles/angular-fire-compat-functions.umd.js.map +1 -1
- package/bundles/angular-fire-compat-messaging.umd.js +5 -5
- package/bundles/angular-fire-compat-messaging.umd.js.map +1 -1
- package/bundles/angular-fire-compat-performance.umd.js +5 -5
- package/bundles/angular-fire-compat-performance.umd.js.map +1 -1
- package/bundles/angular-fire-compat-remote-config.umd.js +5 -5
- package/bundles/angular-fire-compat-remote-config.umd.js.map +1 -1
- package/bundles/angular-fire-compat-storage.umd.js +2 -1
- package/bundles/angular-fire-compat-storage.umd.js.map +1 -1
- package/bundles/angular-fire-compat.umd.js +38 -2
- package/bundles/angular-fire-compat.umd.js.map +1 -1
- package/bundles/angular-fire-database.umd.js +323 -6
- package/bundles/angular-fire-database.umd.js.map +1 -1
- package/bundles/angular-fire-firestore-lite.umd.js +4 -3
- package/bundles/angular-fire-firestore-lite.umd.js.map +1 -1
- package/bundles/angular-fire-firestore.umd.js +323 -8
- package/bundles/angular-fire-firestore.umd.js.map +1 -1
- package/bundles/angular-fire-functions.umd.js +323 -6
- package/bundles/angular-fire-functions.umd.js.map +1 -1
- package/bundles/angular-fire-messaging.umd.js +330 -9
- package/bundles/angular-fire-messaging.umd.js.map +1 -1
- package/bundles/angular-fire-performance.umd.js +339 -11
- package/bundles/angular-fire-performance.umd.js.map +1 -1
- package/bundles/angular-fire-remote-config.umd.js +353 -11
- package/bundles/angular-fire-remote-config.umd.js.map +1 -1
- package/bundles/angular-fire-storage.umd.js +324 -7
- package/bundles/angular-fire-storage.umd.js.map +1 -1
- package/bundles/angular-fire.umd.js +2 -373
- package/bundles/angular-fire.umd.js.map +1 -1
- package/compat/analytics/screen-tracking.service.d.ts +2 -2
- package/compat/cache.d.ts +1 -0
- package/compat/public_api.d.ts +1 -0
- package/compat/storage/interfaces.d.ts +1 -0
- package/compat/storage/ref.d.ts +2 -1
- package/core.d.ts +1 -3
- package/database/database.module.d.ts +3 -3
- package/docs/deploy/getting-started.md +62 -1
- package/docs/version-7-upgrade.md +1 -1
- package/esm2015/analytics/analytics.module.js +41 -20
- package/esm2015/analytics/public_api.js +3 -1
- package/esm2015/analytics/screen-tracking.service.js +147 -0
- package/esm2015/analytics/user-tracking.service.js +42 -0
- package/esm2015/app/app.module.js +12 -7
- package/esm2015/app-check/app-check.js +1 -2
- package/esm2015/app-check/app-check.module.js +19 -14
- package/esm2015/auth/auth.js +1 -2
- package/esm2015/auth/auth.module.js +10 -9
- package/esm2015/compat/analytics/analytics.js +2 -3
- package/esm2015/compat/analytics/screen-tracking.service.js +11 -100
- package/esm2015/compat/auth/auth.js +2 -3
- package/esm2015/compat/cache.js +32 -0
- package/esm2015/compat/database/database.js +2 -3
- package/esm2015/compat/firestore/firestore.js +2 -3
- package/esm2015/compat/functions/functions.js +2 -3
- package/esm2015/compat/messaging/messaging.js +3 -3
- package/esm2015/compat/performance/performance.js +2 -3
- package/esm2015/compat/public_api.js +2 -1
- package/esm2015/compat/remote-config/remote-config.js +4 -5
- package/esm2015/compat/storage/interfaces.js +1 -1
- package/esm2015/compat/storage/ref.js +2 -1
- package/esm2015/compat/storage/storage.js +3 -3
- package/esm2015/core.js +4 -57
- package/esm2015/database/database.module.js +9 -7
- package/esm2015/firestore/firestore.module.js +9 -9
- package/esm2015/firestore/lite/lite.module.js +7 -6
- package/esm2015/functions/functions.module.js +9 -7
- package/esm2015/messaging/messaging.module.js +16 -10
- package/esm2015/performance/performance.module.js +22 -8
- package/esm2015/remote-config/firebase.js +3 -2
- package/esm2015/remote-config/remote-config.module.js +34 -8
- package/esm2015/storage/storage.module.js +10 -8
- package/fesm2015/angular-fire-analytics.js +219 -33
- package/fesm2015/angular-fire-analytics.js.map +1 -1
- package/fesm2015/angular-fire-app-check.js +18 -14
- package/fesm2015/angular-fire-app-check.js.map +1 -1
- package/fesm2015/angular-fire-app.js +11 -6
- package/fesm2015/angular-fire-app.js.map +1 -1
- package/fesm2015/angular-fire-auth.js +9 -9
- package/fesm2015/angular-fire-auth.js.map +1 -1
- package/fesm2015/angular-fire-compat-analytics.js +10 -98
- package/fesm2015/angular-fire-compat-analytics.js.map +1 -1
- package/fesm2015/angular-fire-compat-auth.js +2 -2
- package/fesm2015/angular-fire-compat-auth.js.map +1 -1
- package/fesm2015/angular-fire-compat-database.js +2 -2
- package/fesm2015/angular-fire-compat-database.js.map +1 -1
- package/fesm2015/angular-fire-compat-firestore.js +2 -2
- package/fesm2015/angular-fire-compat-firestore.js.map +1 -1
- package/fesm2015/angular-fire-compat-functions.js +2 -2
- package/fesm2015/angular-fire-compat-functions.js.map +1 -1
- package/fesm2015/angular-fire-compat-messaging.js +2 -2
- package/fesm2015/angular-fire-compat-messaging.js.map +1 -1
- package/fesm2015/angular-fire-compat-performance.js +2 -2
- package/fesm2015/angular-fire-compat-performance.js.map +1 -1
- package/fesm2015/angular-fire-compat-remote-config.js +4 -4
- package/fesm2015/angular-fire-compat-remote-config.js.map +1 -1
- package/fesm2015/angular-fire-compat-storage.js +3 -2
- package/fesm2015/angular-fire-compat-storage.js.map +1 -1
- package/fesm2015/angular-fire-compat.js +34 -3
- package/fesm2015/angular-fire-compat.js.map +1 -1
- package/fesm2015/angular-fire-database.js +8 -6
- package/fesm2015/angular-fire-database.js.map +1 -1
- package/fesm2015/angular-fire-firestore-lite.js +6 -5
- package/fesm2015/angular-fire-firestore-lite.js.map +1 -1
- package/fesm2015/angular-fire-firestore.js +8 -8
- package/fesm2015/angular-fire-firestore.js.map +1 -1
- package/fesm2015/angular-fire-functions.js +8 -6
- package/fesm2015/angular-fire-functions.js.map +1 -1
- package/fesm2015/angular-fire-messaging.js +15 -9
- package/fesm2015/angular-fire-messaging.js.map +1 -1
- package/fesm2015/angular-fire-performance.js +21 -7
- package/fesm2015/angular-fire-performance.js.map +1 -1
- package/fesm2015/angular-fire-remote-config.js +36 -10
- package/fesm2015/angular-fire-remote-config.js.map +1 -1
- package/fesm2015/angular-fire-storage.js +9 -7
- package/fesm2015/angular-fire-storage.js.map +1 -1
- package/fesm2015/angular-fire.js +4 -57
- package/fesm2015/angular-fire.js.map +1 -1
- package/firestore/firestore.module.d.ts +3 -3
- package/firestore/lite/lite.module.d.ts +2 -2
- package/functions/functions.module.d.ts +3 -3
- package/messaging/messaging.module.d.ts +3 -3
- package/package.json +8 -2
- package/performance/performance.module.d.ts +4 -4
- package/remote-config/firebase.d.ts +2 -1
- package/remote-config/remote-config.module.d.ts +4 -4
- package/schematics/deploy/actions.js +19 -13
- package/schematics/deploy/schema.json +4 -0
- package/schematics/firebaseTools.js +2 -2
- package/schematics/setup/ssr.js +7 -1
- package/schematics/setup/static.js +9 -3
- package/schematics/utils.js +1 -1
- package/schematics/versions.json +1 -1
- package/storage/storage.module.d.ts +3 -3
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
import { NgModule, Optional, NgZone, InjectionToken } from '@angular/core';
|
|
2
|
-
import { ɵgetDefaultInstanceOf,
|
|
1
|
+
import { NgModule, Optional, NgZone, InjectionToken, PLATFORM_ID, Injector } from '@angular/core';
|
|
2
|
+
import { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';
|
|
3
3
|
import { Performance, PerformanceInstances, PERFORMANCE_PROVIDER_NAME } from './performance';
|
|
4
4
|
import { FirebaseApps, FirebaseApp } from '@angular/fire/app';
|
|
5
5
|
import { registerVersion } from 'firebase/app';
|
|
6
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export const PROVIDED_PERFORMANCE_INSTANCES = new InjectionToken('angularfire2.performance-instances');
|
|
8
|
-
export function defaultPerformanceInstanceFactory(provided, defaultApp
|
|
9
|
+
export function defaultPerformanceInstanceFactory(provided, defaultApp,
|
|
10
|
+
// tslint:disable-next-line:ban-types
|
|
11
|
+
platform) {
|
|
12
|
+
if (!isPlatformBrowser(platform)) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
9
15
|
const defaultPerformance = ɵgetDefaultInstanceOf(PERFORMANCE_PROVIDER_NAME, provided, defaultApp);
|
|
10
|
-
return new Performance(defaultPerformance);
|
|
16
|
+
return defaultPerformance && new Performance(defaultPerformance);
|
|
11
17
|
}
|
|
12
18
|
export function performanceInstanceFactory(fn) {
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
// tslint:disable-next-line:ban-types
|
|
20
|
+
return (zone, platform, injector) => {
|
|
21
|
+
if (!isPlatformBrowser(platform)) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const performance = zone.runOutsideAngular(() => fn(injector));
|
|
15
25
|
return new Performance(performance);
|
|
16
26
|
};
|
|
17
27
|
}
|
|
@@ -27,6 +37,7 @@ const DEFAULT_PERFORMANCE_INSTANCE_PROVIDER = {
|
|
|
27
37
|
deps: [
|
|
28
38
|
[new Optional(), PROVIDED_PERFORMANCE_INSTANCES],
|
|
29
39
|
FirebaseApp,
|
|
40
|
+
PLATFORM_ID,
|
|
30
41
|
]
|
|
31
42
|
};
|
|
32
43
|
export class PerformanceModule {
|
|
@@ -49,7 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
|
|
|
49
60
|
]
|
|
50
61
|
}]
|
|
51
62
|
}], ctorParameters: function () { return []; } });
|
|
52
|
-
export function providePerformance(fn) {
|
|
63
|
+
export function providePerformance(fn, ...deps) {
|
|
53
64
|
return {
|
|
54
65
|
ngModule: PerformanceModule,
|
|
55
66
|
providers: [{
|
|
@@ -58,10 +69,13 @@ export function providePerformance(fn) {
|
|
|
58
69
|
multi: true,
|
|
59
70
|
deps: [
|
|
60
71
|
NgZone,
|
|
72
|
+
PLATFORM_ID,
|
|
73
|
+
Injector,
|
|
61
74
|
ɵAngularFireSchedulers,
|
|
62
75
|
FirebaseApps,
|
|
76
|
+
...deps,
|
|
63
77
|
]
|
|
64
78
|
}]
|
|
65
79
|
};
|
|
66
80
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUF1QixXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXBELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUFnQixvQ0FBb0MsQ0FBQyxDQUFDO0FBRXRILE1BQU0sVUFBVSxpQ0FBaUMsQ0FDL0MsUUFBeUMsRUFDekMsVUFBdUI7QUFDdkIscUNBQXFDO0FBQ3JDLFFBQWdCO0lBRWhCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0tBQUU7SUFDbEQsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBc0IseUJBQXlCLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZILE9BQU8sa0JBQWtCLElBQUksSUFBSSxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEVBQStDO0lBQ3hGLHFDQUFxQztJQUNyQyxPQUFPLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsUUFBa0IsRUFBRSxFQUFFO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLG9CQUFvQjtJQUM3QixJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsOEJBQThCLENBQUU7S0FDbEQ7Q0FDRixDQUFDO0FBRUYsTUFBTSxxQ0FBcUMsR0FBRztJQUM1QyxPQUFPLEVBQUUsV0FBVztJQUNwQixVQUFVLEVBQUUsaUNBQWlDO0lBQzdDLElBQUksRUFBRTtRQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSw4QkFBOEIsQ0FBRTtRQUNqRCxXQUFXO1FBQ1gsV0FBVztLQUNaO0NBQ0YsQ0FBQztBQVFGLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7UUFDRSxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7OEdBSFUsaUJBQWlCOytHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixhQUxqQjtRQUNULHFDQUFxQztRQUNyQyw4QkFBOEI7S0FDL0I7MkZBRVUsaUJBQWlCO2tCQU43QixRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxxQ0FBcUM7d0JBQ3JDLDhCQUE4QjtxQkFDL0I7aUJBQ0Y7O0FBT0QsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEVBQTZCLEVBQUUsR0FBRyxJQUFXO0lBQzlFLE9BQU87UUFDTCxRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLFNBQVMsRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSw4QkFBOEI7Z0JBQ3ZDLFVBQVUsRUFBRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRTtvQkFDSixNQUFNO29CQUNOLFdBQVc7b0JBQ1gsUUFBUTtvQkFDUixzQkFBc0I7b0JBQ3RCLFlBQVk7b0JBQ1osR0FBRyxJQUFJO2lCQUNSO2FBQ0YsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsLCBOZ1pvbmUsIEluamVjdGlvblRva2VuLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBQTEFURk9STV9JRCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlUGVyZm9ybWFuY2UgfSBmcm9tICdmaXJlYmFzZS9wZXJmb3JtYW5jZSc7XG5pbXBvcnQgeyDJtWdldERlZmF1bHRJbnN0YW5jZU9mLCDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycywgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgUGVyZm9ybWFuY2UsIFBlcmZvcm1hbmNlSW5zdGFuY2VzLCBQRVJGT1JNQU5DRV9QUk9WSURFUl9OQU1FIH0gZnJvbSAnLi9wZXJmb3JtYW5jZSc7XG5pbXBvcnQgeyBGaXJlYmFzZUFwcHMsIEZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnO1xuaW1wb3J0IHsgcmVnaXN0ZXJWZXJzaW9uIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFBST1ZJREVEX1BFUkZPUk1BTkNFX0lOU1RBTkNFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQZXJmb3JtYW5jZVtdPignYW5ndWxhcmZpcmUyLnBlcmZvcm1hbmNlLWluc3RhbmNlcycpO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFBlcmZvcm1hbmNlSW5zdGFuY2VGYWN0b3J5KFxuICBwcm92aWRlZDogRmlyZWJhc2VQZXJmb3JtYW5jZVtdfHVuZGVmaW5lZCxcbiAgZGVmYXVsdEFwcDogRmlyZWJhc2VBcHAsXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpiYW4tdHlwZXNcbiAgcGxhdGZvcm06IE9iamVjdFxuKSB7XG4gIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm0pKSB7IHJldHVybiBudWxsOyB9XG4gIGNvbnN0IGRlZmF1bHRQZXJmb3JtYW5jZSA9IMm1Z2V0RGVmYXVsdEluc3RhbmNlT2Y8RmlyZWJhc2VQZXJmb3JtYW5jZT4oUEVSRk9STUFOQ0VfUFJPVklERVJfTkFNRSwgcHJvdmlkZWQsIGRlZmF1bHRBcHApO1xuICByZXR1cm4gZGVmYXVsdFBlcmZvcm1hbmNlICYmIG5ldyBQZXJmb3JtYW5jZShkZWZhdWx0UGVyZm9ybWFuY2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVyZm9ybWFuY2VJbnN0YW5jZUZhY3RvcnkoZm46IChpbmplY3RvcjogSW5qZWN0b3IpID0+IEZpcmViYXNlUGVyZm9ybWFuY2UpIHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmJhbi10eXBlc1xuICByZXR1cm4gKHpvbmU6IE5nWm9uZSwgcGxhdGZvcm06IE9iamVjdCwgaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybSkpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCBwZXJmb3JtYW5jZSA9IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gZm4oaW5qZWN0b3IpKTtcbiAgICByZXR1cm4gbmV3IFBlcmZvcm1hbmNlKHBlcmZvcm1hbmNlKTtcbiAgfTtcbn1cblxuY29uc3QgUEVSRk9STUFOQ0VfSU5TVEFOQ0VTX1BST1ZJREVSID0ge1xuICBwcm92aWRlOiBQZXJmb3JtYW5jZUluc3RhbmNlcyxcbiAgZGVwczogW1xuICAgIFtuZXcgT3B0aW9uYWwoKSwgUFJPVklERURfUEVSRk9STUFOQ0VfSU5TVEFOQ0VTIF0sXG4gIF1cbn07XG5cbmNvbnN0IERFRkFVTFRfUEVSRk9STUFOQ0VfSU5TVEFOQ0VfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IFBlcmZvcm1hbmNlLFxuICB1c2VGYWN0b3J5OiBkZWZhdWx0UGVyZm9ybWFuY2VJbnN0YW5jZUZhY3RvcnksXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIFBST1ZJREVEX1BFUkZPUk1BTkNFX0lOU1RBTkNFUyBdLFxuICAgIEZpcmViYXNlQXBwLFxuICAgIFBMQVRGT1JNX0lELFxuICBdXG59O1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICBERUZBVUxUX1BFUkZPUk1BTkNFX0lOU1RBTkNFX1BST1ZJREVSLFxuICAgIFBFUkZPUk1BTkNFX0lOU1RBTkNFU19QUk9WSURFUixcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQZXJmb3JtYW5jZU1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdwZXJmJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVQZXJmb3JtYW5jZShmbjogKCkgPT4gRmlyZWJhc2VQZXJmb3JtYW5jZSwgLi4uZGVwczogYW55W10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBlcmZvcm1hbmNlTW9kdWxlPiB7XG4gIHJldHVybiB7XG4gICAgbmdNb2R1bGU6IFBlcmZvcm1hbmNlTW9kdWxlLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgIHByb3ZpZGU6IFBST1ZJREVEX1BFUkZPUk1BTkNFX0lOU1RBTkNFUyxcbiAgICAgIHVzZUZhY3Rvcnk6IHBlcmZvcm1hbmNlSW5zdGFuY2VGYWN0b3J5KGZuKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgZGVwczogW1xuICAgICAgICBOZ1pvbmUsXG4gICAgICAgIFBMQVRGT1JNX0lELFxuICAgICAgICBJbmplY3RvcixcbiAgICAgICAgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgICAgIEZpcmViYXNlQXBwcyxcbiAgICAgICAgLi4uZGVwcyxcbiAgICAgIF1cbiAgICB9XVxuICB9O1xufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
|
|
2
2
|
export * from 'firebase/remote-config';
|
|
3
3
|
import { ɵzoneWrap } from '@angular/fire';
|
|
4
|
-
import { activate as _activate, ensureInitialized as _ensureInitialized, fetchAndActivate as _fetchAndActivate, fetchConfig as _fetchConfig, getAll as _getAll, getBoolean as _getBoolean, getNumber as _getNumber, getRemoteConfig as _getRemoteConfig, getString as _getString, getValue as _getValue, setLogLevel as _setLogLevel } from 'firebase/remote-config';
|
|
4
|
+
import { activate as _activate, ensureInitialized as _ensureInitialized, fetchAndActivate as _fetchAndActivate, fetchConfig as _fetchConfig, getAll as _getAll, getBoolean as _getBoolean, getNumber as _getNumber, getRemoteConfig as _getRemoteConfig, getString as _getString, getValue as _getValue, isSupported as _isSupported, setLogLevel as _setLogLevel } from 'firebase/remote-config';
|
|
5
5
|
export const activate = ɵzoneWrap(_activate, true);
|
|
6
6
|
export const ensureInitialized = ɵzoneWrap(_ensureInitialized, true);
|
|
7
7
|
export const fetchAndActivate = ɵzoneWrap(_fetchAndActivate, true);
|
|
@@ -12,5 +12,6 @@ export const getNumber = ɵzoneWrap(_getNumber, true);
|
|
|
12
12
|
export const getRemoteConfig = ɵzoneWrap(_getRemoteConfig, true);
|
|
13
13
|
export const getString = ɵzoneWrap(_getString, true);
|
|
14
14
|
export const getValue = ɵzoneWrap(_getValue, true);
|
|
15
|
+
export const isSupported = ɵzoneWrap(_isSupported, true);
|
|
15
16
|
export const setLogLevel = ɵzoneWrap(_setLogLevel, true);
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmVtb3RlLWNvbmZpZy9maXJlYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxRQUFRLElBQUksU0FBUyxFQUNyQixpQkFBaUIsSUFBSSxrQkFBa0IsRUFDdkMsZ0JBQWdCLElBQUksaUJBQWlCLEVBQ3JDLFdBQVcsSUFBSSxZQUFZLEVBQzNCLE1BQU0sSUFBSSxPQUFPLEVBQ2pCLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLFNBQVMsSUFBSSxVQUFVLEVBQ3ZCLGVBQWUsSUFBSSxnQkFBZ0IsRUFDbkMsU0FBUyxJQUFJLFVBQVUsRUFDdkIsUUFBUSxJQUFJLFNBQVMsRUFDckIsV0FBVyxJQUFJLFlBQVksRUFDM0IsV0FBVyxJQUFJLFlBQVksRUFDNUIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuZXhwb3J0ICogZnJvbSAnZmlyZWJhc2UvcmVtb3RlLWNvbmZpZyc7XG5pbXBvcnQgeyDJtXpvbmVXcmFwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQge1xuICBhY3RpdmF0ZSBhcyBfYWN0aXZhdGUsXG4gIGVuc3VyZUluaXRpYWxpemVkIGFzIF9lbnN1cmVJbml0aWFsaXplZCxcbiAgZmV0Y2hBbmRBY3RpdmF0ZSBhcyBfZmV0Y2hBbmRBY3RpdmF0ZSxcbiAgZmV0Y2hDb25maWcgYXMgX2ZldGNoQ29uZmlnLFxuICBnZXRBbGwgYXMgX2dldEFsbCxcbiAgZ2V0Qm9vbGVhbiBhcyBfZ2V0Qm9vbGVhbixcbiAgZ2V0TnVtYmVyIGFzIF9nZXROdW1iZXIsXG4gIGdldFJlbW90ZUNvbmZpZyBhcyBfZ2V0UmVtb3RlQ29uZmlnLFxuICBnZXRTdHJpbmcgYXMgX2dldFN0cmluZyxcbiAgZ2V0VmFsdWUgYXMgX2dldFZhbHVlLFxuICBpc1N1cHBvcnRlZCBhcyBfaXNTdXBwb3J0ZWQsXG4gIHNldExvZ0xldmVsIGFzIF9zZXRMb2dMZXZlbFxufSBmcm9tICdmaXJlYmFzZS9yZW1vdGUtY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IGFjdGl2YXRlID0gybV6b25lV3JhcChfYWN0aXZhdGUsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGVuc3VyZUluaXRpYWxpemVkID0gybV6b25lV3JhcChfZW5zdXJlSW5pdGlhbGl6ZWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGZldGNoQW5kQWN0aXZhdGUgPSDJtXpvbmVXcmFwKF9mZXRjaEFuZEFjdGl2YXRlLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBmZXRjaENvbmZpZyA9IMm1em9uZVdyYXAoX2ZldGNoQ29uZmlnLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRBbGwgPSDJtXpvbmVXcmFwKF9nZXRBbGwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldEJvb2xlYW4gPSDJtXpvbmVXcmFwKF9nZXRCb29sZWFuLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXROdW1iZXIgPSDJtXpvbmVXcmFwKF9nZXROdW1iZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldFJlbW90ZUNvbmZpZyA9IMm1em9uZVdyYXAoX2dldFJlbW90ZUNvbmZpZywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0U3RyaW5nID0gybV6b25lV3JhcChfZ2V0U3RyaW5nLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRWYWx1ZSA9IMm1em9uZVdyYXAoX2dldFZhbHVlLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBpc1N1cHBvcnRlZCA9IMm1em9uZVdyYXAoX2lzU3VwcG9ydGVkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRMb2dMZXZlbCA9IMm1em9uZVdyYXAoX3NldExvZ0xldmVsLCB0cnVlKTtcbiJdfQ==
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
import { NgModule, Optional, NgZone, InjectionToken } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { NgModule, Optional, NgZone, InjectionToken, Injector, APP_INITIALIZER } from '@angular/core';
|
|
2
|
+
import { isSupported } from 'firebase/remote-config';
|
|
3
|
+
import { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';
|
|
3
4
|
import { RemoteConfig, RemoteConfigInstances, REMOTE_CONFIG_PROVIDER_NAME } from './remote-config';
|
|
4
5
|
import { FirebaseApps, FirebaseApp } from '@angular/fire/app';
|
|
5
6
|
import { registerVersion } from 'firebase/app';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken('angularfire2.remote-config-instances');
|
|
8
|
-
|
|
9
|
+
const IS_SUPPORTED = new InjectionToken('angularfire2.remote-config.isSupported');
|
|
10
|
+
const isSupportedSymbol = Symbol('angularfire2.remote-config.isSupported');
|
|
11
|
+
export function defaultRemoteConfigInstanceFactory(isSupported, provided, defaultApp) {
|
|
12
|
+
if (!isSupported) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
9
15
|
const defaultRemoteConfig = ɵgetDefaultInstanceOf(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);
|
|
10
|
-
return new RemoteConfig(defaultRemoteConfig);
|
|
16
|
+
return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);
|
|
11
17
|
}
|
|
12
18
|
export function remoteConfigInstanceFactory(fn) {
|
|
13
|
-
return (zone) => {
|
|
14
|
-
|
|
19
|
+
return (zone, isSupported, injector) => {
|
|
20
|
+
if (!isSupported) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const remoteConfig = zone.runOutsideAngular(() => fn(injector));
|
|
15
24
|
return new RemoteConfig(remoteConfig);
|
|
16
25
|
};
|
|
17
26
|
}
|
|
@@ -25,6 +34,7 @@ const DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {
|
|
|
25
34
|
provide: RemoteConfig,
|
|
26
35
|
useFactory: defaultRemoteConfigInstanceFactory,
|
|
27
36
|
deps: [
|
|
37
|
+
IS_SUPPORTED,
|
|
28
38
|
[new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES],
|
|
29
39
|
FirebaseApp,
|
|
30
40
|
]
|
|
@@ -39,6 +49,11 @@ RemoteConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
39
49
|
RemoteConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: RemoteConfigModule, providers: [
|
|
40
50
|
DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
|
|
41
51
|
REMOTE_CONFIG_INSTANCES_PROVIDER,
|
|
52
|
+
{
|
|
53
|
+
provide: APP_INITIALIZER,
|
|
54
|
+
useValue: () => isSupported().then(it => globalThis[isSupportedSymbol] = it),
|
|
55
|
+
multi: true,
|
|
56
|
+
},
|
|
42
57
|
] });
|
|
43
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: RemoteConfigModule, decorators: [{
|
|
44
59
|
type: NgModule,
|
|
@@ -46,22 +61,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
|
|
|
46
61
|
providers: [
|
|
47
62
|
DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
|
|
48
63
|
REMOTE_CONFIG_INSTANCES_PROVIDER,
|
|
64
|
+
{
|
|
65
|
+
provide: APP_INITIALIZER,
|
|
66
|
+
useValue: () => isSupported().then(it => globalThis[isSupportedSymbol] = it),
|
|
67
|
+
multi: true,
|
|
68
|
+
},
|
|
49
69
|
]
|
|
50
70
|
}]
|
|
51
71
|
}], ctorParameters: function () { return []; } });
|
|
52
|
-
export function provideRemoteConfig(fn) {
|
|
72
|
+
export function provideRemoteConfig(fn, ...deps) {
|
|
53
73
|
return {
|
|
54
74
|
ngModule: RemoteConfigModule,
|
|
55
75
|
providers: [{
|
|
76
|
+
provide: IS_SUPPORTED,
|
|
77
|
+
useFactory: () => globalThis[isSupportedSymbol],
|
|
78
|
+
}, {
|
|
56
79
|
provide: PROVIDED_REMOTE_CONFIG_INSTANCES,
|
|
57
80
|
useFactory: remoteConfigInstanceFactory(fn),
|
|
58
81
|
multi: true,
|
|
59
82
|
deps: [
|
|
60
83
|
NgZone,
|
|
84
|
+
IS_SUPPORTED,
|
|
85
|
+
Injector,
|
|
61
86
|
ɵAngularFireSchedulers,
|
|
62
87
|
FirebaseApps,
|
|
88
|
+
...deps,
|
|
63
89
|
]
|
|
64
90
|
}]
|
|
65
91
|
};
|
|
66
92
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmVtb3RlLWNvbmZpZy9yZW1vdGUtY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUF1QixRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBd0MsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUUvQyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsc0NBQXNDLENBQUMsQ0FBQztBQUMzSCxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBVSx3Q0FBd0MsQ0FBQyxDQUFDO0FBRTNGLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7QUFFM0UsTUFBTSxVQUFVLGtDQUFrQyxDQUNoRCxXQUFvQixFQUNwQixRQUEwQyxFQUMxQyxVQUF1QjtJQUV2QixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUM7S0FBRTtJQUNsQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUF1QiwyQkFBMkIsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDM0gsT0FBTyxtQkFBbUIsSUFBSSxJQUFJLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsRUFBZ0Q7SUFDMUYsT0FBTyxDQUFDLElBQVksRUFBRSxXQUFvQixFQUFFLFFBQWtCLEVBQUUsRUFBRTtRQUNoRSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsT0FBTyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxnQ0FBZ0MsR0FBRztJQUN2QyxPQUFPLEVBQUUscUJBQXFCO0lBQzlCLElBQUksRUFBRTtRQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQ0FBZ0MsQ0FBRTtLQUNwRDtDQUNGLENBQUM7QUFFRixNQUFNLHVDQUF1QyxHQUFHO0lBQzlDLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFVBQVUsRUFBRSxrQ0FBa0M7SUFDOUMsSUFBSSxFQUFFO1FBQ0osWUFBWTtRQUNaLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQ0FBZ0MsQ0FBRTtRQUNuRCxXQUFXO0tBQ1o7Q0FDRixDQUFDO0FBYUYsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QjtRQUNFLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDOzsrR0FIVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGFBVmxCO1FBQ1QsdUNBQXVDO1FBQ3ZDLGdDQUFnQztRQUNoQztZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDNUUsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzJGQUVVLGtCQUFrQjtrQkFYOUIsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1QsdUNBQXVDO3dCQUN2QyxnQ0FBZ0M7d0JBQ2hDOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDOzRCQUM1RSxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7QUFPRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFBOEIsRUFBRSxHQUFHLElBQVc7SUFDaEYsT0FBTztRQUNMLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsU0FBUyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUM7YUFDaEQsRUFBRTtnQkFDRCxPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUU7b0JBQ0osTUFBTTtvQkFDTixZQUFZO29CQUNaLFFBQVE7b0JBQ1Isc0JBQXNCO29CQUN0QixZQUFZO29CQUNaLEdBQUcsSUFBSTtpQkFDUjthQUNGLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBPcHRpb25hbCwgTmdab25lLCBJbmplY3Rpb25Ub2tlbiwgTW9kdWxlV2l0aFByb3ZpZGVycywgSW5qZWN0b3IsIEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVtb3RlQ29uZmlnIGFzIEZpcmViYXNlUmVtb3RlQ29uZmlnLCBpc1N1cHBvcnRlZCB9IGZyb20gJ2ZpcmViYXNlL3JlbW90ZS1jb25maWcnO1xuaW1wb3J0IHsgybVnZXREZWZhdWx0SW5zdGFuY2VPZiwgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsIFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IFJlbW90ZUNvbmZpZywgUmVtb3RlQ29uZmlnSW5zdGFuY2VzLCBSRU1PVEVfQ09ORklHX1BST1ZJREVSX05BTUUgfSBmcm9tICcuL3JlbW90ZS1jb25maWcnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBzLCBGaXJlYmFzZUFwcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJztcbmltcG9ydCB7IHJlZ2lzdGVyVmVyc2lvbiB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5cbmV4cG9ydCBjb25zdCBQUk9WSURFRF9SRU1PVEVfQ09ORklHX0lOU1RBTkNFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZW1vdGVDb25maWdbXT4oJ2FuZ3VsYXJmaXJlMi5yZW1vdGUtY29uZmlnLWluc3RhbmNlcycpO1xuY29uc3QgSVNfU1VQUE9SVEVEID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdhbmd1bGFyZmlyZTIucmVtb3RlLWNvbmZpZy5pc1N1cHBvcnRlZCcpO1xuXG5jb25zdCBpc1N1cHBvcnRlZFN5bWJvbCA9IFN5bWJvbCgnYW5ndWxhcmZpcmUyLnJlbW90ZS1jb25maWcuaXNTdXBwb3J0ZWQnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZW1vdGVDb25maWdJbnN0YW5jZUZhY3RvcnkoXG4gIGlzU3VwcG9ydGVkOiBib29sZWFuLFxuICBwcm92aWRlZDogRmlyZWJhc2VSZW1vdGVDb25maWdbXXx1bmRlZmluZWQsXG4gIGRlZmF1bHRBcHA6IEZpcmViYXNlQXBwLFxuKSB7XG4gIGlmICghaXNTdXBwb3J0ZWQpIHsgcmV0dXJuIG51bGw7IH1cbiAgY29uc3QgZGVmYXVsdFJlbW90ZUNvbmZpZyA9IMm1Z2V0RGVmYXVsdEluc3RhbmNlT2Y8RmlyZWJhc2VSZW1vdGVDb25maWc+KFJFTU9URV9DT05GSUdfUFJPVklERVJfTkFNRSwgcHJvdmlkZWQsIGRlZmF1bHRBcHApO1xuICByZXR1cm4gZGVmYXVsdFJlbW90ZUNvbmZpZyAmJiBuZXcgUmVtb3RlQ29uZmlnKGRlZmF1bHRSZW1vdGVDb25maWcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3RlQ29uZmlnSW5zdGFuY2VGYWN0b3J5KGZuOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBGaXJlYmFzZVJlbW90ZUNvbmZpZykge1xuICByZXR1cm4gKHpvbmU6IE5nWm9uZSwgaXNTdXBwb3J0ZWQ6IGJvb2xlYW4sIGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGlmICghaXNTdXBwb3J0ZWQpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCByZW1vdGVDb25maWcgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKGluamVjdG9yKSk7XG4gICAgcmV0dXJuIG5ldyBSZW1vdGVDb25maWcocmVtb3RlQ29uZmlnKTtcbiAgfTtcbn1cblxuY29uc3QgUkVNT1RFX0NPTkZJR19JTlNUQU5DRVNfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IFJlbW90ZUNvbmZpZ0luc3RhbmNlcyxcbiAgZGVwczogW1xuICAgIFtuZXcgT3B0aW9uYWwoKSwgUFJPVklERURfUkVNT1RFX0NPTkZJR19JTlNUQU5DRVMgXSxcbiAgXVxufTtcblxuY29uc3QgREVGQVVMVF9SRU1PVEVfQ09ORklHX0lOU1RBTkNFX1BST1ZJREVSID0ge1xuICBwcm92aWRlOiBSZW1vdGVDb25maWcsXG4gIHVzZUZhY3Rvcnk6IGRlZmF1bHRSZW1vdGVDb25maWdJbnN0YW5jZUZhY3RvcnksXG4gIGRlcHM6IFtcbiAgICBJU19TVVBQT1JURUQsXG4gICAgW25ldyBPcHRpb25hbCgpLCBQUk9WSURFRF9SRU1PVEVfQ09ORklHX0lOU1RBTkNFUyBdLFxuICAgIEZpcmViYXNlQXBwLFxuICBdXG59O1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICBERUZBVUxUX1JFTU9URV9DT05GSUdfSU5TVEFOQ0VfUFJPVklERVIsXG4gICAgUkVNT1RFX0NPTkZJR19JTlNUQU5DRVNfUFJPVklERVIsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlVmFsdWU6ICgpID0+IGlzU3VwcG9ydGVkKCkudGhlbihpdCA9PiBnbG9iYWxUaGlzW2lzU3VwcG9ydGVkU3ltYm9sXSA9IGl0KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmVtb3RlQ29uZmlnTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgcmVnaXN0ZXJWZXJzaW9uKCdhbmd1bGFyZmlyZScsIFZFUlNJT04uZnVsbCwgJ3JjJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVSZW1vdGVDb25maWcoZm46ICgpID0+IEZpcmViYXNlUmVtb3RlQ29uZmlnLCAuLi5kZXBzOiBhbnlbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UmVtb3RlQ29uZmlnTW9kdWxlPiB7XG4gIHJldHVybiB7XG4gICAgbmdNb2R1bGU6IFJlbW90ZUNvbmZpZ01vZHVsZSxcbiAgICBwcm92aWRlcnM6IFt7XG4gICAgICBwcm92aWRlOiBJU19TVVBQT1JURUQsXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiBnbG9iYWxUaGlzW2lzU3VwcG9ydGVkU3ltYm9sXSxcbiAgICB9LCB7XG4gICAgICBwcm92aWRlOiBQUk9WSURFRF9SRU1PVEVfQ09ORklHX0lOU1RBTkNFUyxcbiAgICAgIHVzZUZhY3Rvcnk6IHJlbW90ZUNvbmZpZ0luc3RhbmNlRmFjdG9yeShmbiksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgTmdab25lLFxuICAgICAgICBJU19TVVBQT1JURUQsXG4gICAgICAgIEluamVjdG9yLFxuICAgICAgICDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgICAgICAgRmlyZWJhc2VBcHBzLFxuICAgICAgICAuLi5kZXBzLFxuICAgICAgXVxuICAgIH1dXG4gIH07XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NgModule, Optional, NgZone, InjectionToken } from '@angular/core';
|
|
2
|
-
import { ɵgetDefaultInstanceOf,
|
|
1
|
+
import { NgModule, Optional, NgZone, InjectionToken, Injector } from '@angular/core';
|
|
2
|
+
import { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';
|
|
3
3
|
import { Storage, StorageInstances, STORAGE_PROVIDER_NAME } from './storage';
|
|
4
4
|
import { FirebaseApps, FirebaseApp } from '@angular/fire/app';
|
|
5
5
|
import { AuthInstances } from '@angular/fire/auth';
|
|
@@ -8,12 +8,12 @@ import { AppCheckInstances } from '@angular/fire/app-check';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export const PROVIDED_STORAGE_INSTANCES = new InjectionToken('angularfire2.storage-instances');
|
|
10
10
|
export function defaultStorageInstanceFactory(provided, defaultApp) {
|
|
11
|
-
const
|
|
12
|
-
return new Storage(
|
|
11
|
+
const defaultStorage = ɵgetDefaultInstanceOf(STORAGE_PROVIDER_NAME, provided, defaultApp);
|
|
12
|
+
return defaultStorage && new Storage(defaultStorage);
|
|
13
13
|
}
|
|
14
14
|
export function storageInstanceFactory(fn) {
|
|
15
|
-
return (zone) => {
|
|
16
|
-
const storage =
|
|
15
|
+
return (zone, injector) => {
|
|
16
|
+
const storage = zone.runOutsideAngular(() => fn(injector));
|
|
17
17
|
return new Storage(storage);
|
|
18
18
|
};
|
|
19
19
|
}
|
|
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
|
|
|
51
51
|
]
|
|
52
52
|
}]
|
|
53
53
|
}], ctorParameters: function () { return []; } });
|
|
54
|
-
export function provideStorage(fn) {
|
|
54
|
+
export function provideStorage(fn, ...deps) {
|
|
55
55
|
return {
|
|
56
56
|
ngModule: StorageModule,
|
|
57
57
|
providers: [{
|
|
@@ -60,13 +60,15 @@ export function provideStorage(fn) {
|
|
|
60
60
|
multi: true,
|
|
61
61
|
deps: [
|
|
62
62
|
NgZone,
|
|
63
|
+
Injector,
|
|
63
64
|
ɵAngularFireSchedulers,
|
|
64
65
|
FirebaseApps,
|
|
65
66
|
// Defensively load Auth first, if provided
|
|
66
67
|
[new Optional(), AuthInstances],
|
|
67
68
|
[new Optional(), AppCheckInstances],
|
|
69
|
+
...deps,
|
|
68
70
|
]
|
|
69
71
|
}]
|
|
70
72
|
};
|
|
71
73
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmFnZS9zdG9yYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTVELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUFZLGdDQUFnQyxDQUFDLENBQUM7QUFFMUcsTUFBTSxVQUFVLDZCQUE2QixDQUFDLFFBQXFDLEVBQUUsVUFBdUI7SUFDMUcsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQWtCLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMzRyxPQUFPLGNBQWMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEVBQTJDO0lBQ2hGLE9BQU8sQ0FBQyxJQUFZLEVBQUUsUUFBa0IsRUFBRSxFQUFFO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLDBCQUEwQixHQUFHO0lBQ2pDLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsSUFBSSxFQUFFO1FBQ0osQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLDBCQUEwQixDQUFFO0tBQzlDO0NBQ0YsQ0FBQztBQUVGLE1BQU0saUNBQWlDLEdBQUc7SUFDeEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsVUFBVSxFQUFFLDZCQUE2QjtJQUN6QyxJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsMEJBQTBCLENBQUU7UUFDN0MsV0FBVztLQUNaO0NBQ0YsQ0FBQztBQVFGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCO1FBQ0UsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzBHQUhVLGFBQWE7MkdBQWIsYUFBYTsyR0FBYixhQUFhLGFBTGI7UUFDVCxpQ0FBaUM7UUFDakMsMEJBQTBCO0tBQzNCOzJGQUVVLGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULGlDQUFpQzt3QkFDakMsMEJBQTBCO3FCQUMzQjtpQkFDRjs7QUFPRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQXlCLEVBQUUsR0FBRyxJQUFXO0lBQ3RFLE9BQU87UUFDTCxRQUFRLEVBQUUsYUFBYTtRQUN2QixTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxVQUFVLEVBQUUsc0JBQXNCLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUU7b0JBQ0osTUFBTTtvQkFDTixRQUFRO29CQUNSLHNCQUFzQjtvQkFDdEIsWUFBWTtvQkFDWiwyQ0FBMkM7b0JBQzNDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxhQUFhLENBQUU7b0JBQ2hDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsQ0FBRTtvQkFDcEMsR0FBRyxJQUFJO2lCQUNSO2FBQ0YsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsLCBOZ1pvbmUsIEluamVjdGlvblRva2VuLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VTdG9yYWdlIH0gZnJvbSAnZmlyZWJhc2Uvc3RvcmFnZSc7XG5pbXBvcnQgeyDJtWdldERlZmF1bHRJbnN0YW5jZU9mLCDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycywgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgU3RvcmFnZSwgU3RvcmFnZUluc3RhbmNlcywgU1RPUkFHRV9QUk9WSURFUl9OQU1FIH0gZnJvbSAnLi9zdG9yYWdlJztcbmltcG9ydCB7IEZpcmViYXNlQXBwcywgRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBBdXRoSW5zdGFuY2VzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IHJlZ2lzdGVyVmVyc2lvbiB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBBcHBDaGVja0luc3RhbmNlcyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwLWNoZWNrJztcblxuZXhwb3J0IGNvbnN0IFBST1ZJREVEX1NUT1JBR0VfSU5TVEFOQ0VTID0gbmV3IEluamVjdGlvblRva2VuPFN0b3JhZ2VbXT4oJ2FuZ3VsYXJmaXJlMi5zdG9yYWdlLWluc3RhbmNlcycpO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFN0b3JhZ2VJbnN0YW5jZUZhY3RvcnkocHJvdmlkZWQ6IEZpcmViYXNlU3RvcmFnZVtdfHVuZGVmaW5lZCwgZGVmYXVsdEFwcDogRmlyZWJhc2VBcHApIHtcbiAgY29uc3QgZGVmYXVsdFN0b3JhZ2UgPSDJtWdldERlZmF1bHRJbnN0YW5jZU9mPEZpcmViYXNlU3RvcmFnZT4oU1RPUkFHRV9QUk9WSURFUl9OQU1FLCBwcm92aWRlZCwgZGVmYXVsdEFwcCk7XG4gIHJldHVybiBkZWZhdWx0U3RvcmFnZSAmJiBuZXcgU3RvcmFnZShkZWZhdWx0U3RvcmFnZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdG9yYWdlSW5zdGFuY2VGYWN0b3J5KGZuOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBGaXJlYmFzZVN0b3JhZ2UpIHtcbiAgcmV0dXJuICh6b25lOiBOZ1pvbmUsIGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IHN0b3JhZ2UgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKGluamVjdG9yKSk7XG4gICAgcmV0dXJuIG5ldyBTdG9yYWdlKHN0b3JhZ2UpO1xuICB9O1xufVxuXG5jb25zdCBTVE9SQUdFX0lOU1RBTkNFU19QUk9WSURFUiA9IHtcbiAgcHJvdmlkZTogU3RvcmFnZUluc3RhbmNlcyxcbiAgZGVwczogW1xuICAgIFtuZXcgT3B0aW9uYWwoKSwgUFJPVklERURfU1RPUkFHRV9JTlNUQU5DRVMgXSxcbiAgXVxufTtcblxuY29uc3QgREVGQVVMVF9TVE9SQUdFX0lOU1RBTkNFX1BST1ZJREVSID0ge1xuICBwcm92aWRlOiBTdG9yYWdlLFxuICB1c2VGYWN0b3J5OiBkZWZhdWx0U3RvcmFnZUluc3RhbmNlRmFjdG9yeSxcbiAgZGVwczogW1xuICAgIFtuZXcgT3B0aW9uYWwoKSwgUFJPVklERURfU1RPUkFHRV9JTlNUQU5DRVMgXSxcbiAgICBGaXJlYmFzZUFwcCxcbiAgXVxufTtcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgREVGQVVMVF9TVE9SQUdFX0lOU1RBTkNFX1BST1ZJREVSLFxuICAgIFNUT1JBR0VfSU5TVEFOQ0VTX1BST1ZJREVSLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICByZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnZ2NzJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTdG9yYWdlKGZuOiAoKSA9PiBGaXJlYmFzZVN0b3JhZ2UsIC4uLmRlcHM6IGFueVtdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTdG9yYWdlTW9kdWxlPiB7XG4gIHJldHVybiB7XG4gICAgbmdNb2R1bGU6IFN0b3JhZ2VNb2R1bGUsXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgcHJvdmlkZTogUFJPVklERURfU1RPUkFHRV9JTlNUQU5DRVMsXG4gICAgICB1c2VGYWN0b3J5OiBzdG9yYWdlSW5zdGFuY2VGYWN0b3J5KGZuKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgZGVwczogW1xuICAgICAgICBOZ1pvbmUsXG4gICAgICAgIEluamVjdG9yLFxuICAgICAgICDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgICAgICAgRmlyZWJhc2VBcHBzLFxuICAgICAgICAvLyBEZWZlbnNpdmVseSBsb2FkIEF1dGggZmlyc3QsIGlmIHByb3ZpZGVkXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgQXV0aEluc3RhbmNlcyBdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIEFwcENoZWNrSW5zdGFuY2VzIF0sXG4gICAgICAgIC4uLmRlcHMsXG4gICAgICBdXG4gICAgfV1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
import { ɵgetAllInstancesOf,
|
|
2
|
-
import { timer, from } from 'rxjs';
|
|
3
|
-
import { concatMap, distinct } from 'rxjs/operators';
|
|
1
|
+
import { ɵgetAllInstancesOf, ɵzoneWrap, VERSION, ɵgetDefaultInstanceOf, ɵAngularFireSchedulers } from '@angular/fire';
|
|
2
|
+
import { timer, from, of } from 'rxjs';
|
|
3
|
+
import { concatMap, distinct, filter, switchMap, map, groupBy, mergeMap, distinctUntilChanged, startWith, pairwise } from 'rxjs/operators';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { Injectable, Inject, Optional, InjectionToken, APP_INITIALIZER, NgModule, NgZone, Injector } from '@angular/core';
|
|
6
|
+
import { getAnalytics as getAnalytics$1, initializeAnalytics as initializeAnalytics$1, isSupported as isSupported$1, logEvent as logEvent$1, setAnalyticsCollectionEnabled as setAnalyticsCollectionEnabled$1, setCurrentScreen as setCurrentScreen$1, settings as settings$1, setUserId as setUserId$1, setUserProperties as setUserProperties$1 } from 'firebase/analytics';
|
|
7
7
|
export * from 'firebase/analytics';
|
|
8
|
+
import * as i2 from '@angular/fire/app';
|
|
8
9
|
import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
|
|
9
10
|
import { registerVersion } from 'firebase/app';
|
|
11
|
+
import { __awaiter } from 'tslib';
|
|
12
|
+
import * as i1$1 from '@angular/router';
|
|
13
|
+
import { ActivationEnd, ɵEmptyOutletComponent } from '@angular/router';
|
|
14
|
+
import * as i2$1 from '@angular/platform-browser';
|
|
15
|
+
import * as i1 from '@angular/fire/auth';
|
|
16
|
+
import { authState } from '@angular/fire/auth';
|
|
10
17
|
|
|
11
18
|
class Analytics {
|
|
12
19
|
constructor(analytics) {
|
|
@@ -21,18 +28,198 @@ class AnalyticsInstances {
|
|
|
21
28
|
}
|
|
22
29
|
const analyticInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(ANALYTICS_PROVIDER_NAME))), distinct());
|
|
23
30
|
|
|
31
|
+
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
|
|
32
|
+
const getAnalytics = ɵzoneWrap(getAnalytics$1, true);
|
|
33
|
+
const initializeAnalytics = ɵzoneWrap(initializeAnalytics$1, true);
|
|
34
|
+
const isSupported = ɵzoneWrap(isSupported$1, true);
|
|
35
|
+
const logEvent = ɵzoneWrap(logEvent$1, true);
|
|
36
|
+
const setAnalyticsCollectionEnabled = ɵzoneWrap(setAnalyticsCollectionEnabled$1, true);
|
|
37
|
+
const setCurrentScreen = ɵzoneWrap(setCurrentScreen$1, true);
|
|
38
|
+
const settings = ɵzoneWrap(settings$1, true);
|
|
39
|
+
const setUserId = ɵzoneWrap(setUserId$1, true);
|
|
40
|
+
const setUserProperties = ɵzoneWrap(setUserProperties$1, true);
|
|
41
|
+
|
|
42
|
+
class UserTrackingService {
|
|
43
|
+
constructor(auth, zone, analyticsInstanceFactories, injector, firebaseApp) {
|
|
44
|
+
this.disposables = [];
|
|
45
|
+
registerVersion('angularfire', VERSION.full, 'user-tracking');
|
|
46
|
+
// Analytics is not ready to be injected yet, as the APP_INITIALIZER hasn't evulated yet, do this the hard way
|
|
47
|
+
const analyticsInstance = globalThis[isSupportedPromiseSymbol].then((isSupported) => {
|
|
48
|
+
const analyticsInstances = analyticsInstanceFactories.map(fn => analyticsInstanceFactory(fn)(zone, isSupported, injector));
|
|
49
|
+
return defaultAnalyticsInstanceFactory(isSupported, analyticsInstances, firebaseApp);
|
|
50
|
+
});
|
|
51
|
+
let resolveInitialized;
|
|
52
|
+
this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));
|
|
53
|
+
this.disposables = [
|
|
54
|
+
// TODO add credential tracking back in
|
|
55
|
+
authState(auth).subscribe(user => {
|
|
56
|
+
analyticsInstance.then(analytics => analytics && setUserId(analytics, user === null || user === void 0 ? void 0 : user.uid));
|
|
57
|
+
resolveInitialized();
|
|
58
|
+
}),
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
ngOnDestroy() {
|
|
62
|
+
this.disposables.forEach(it => it.unsubscribe());
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
UserTrackingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.Auth }, { token: i0.NgZone }, { token: PROVIDED_ANALYTICS_INSTANCE_FACTORIES }, { token: i0.Injector }, { token: i2.FirebaseApp }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
66
|
+
UserTrackingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService, decorators: [{
|
|
68
|
+
type: Injectable
|
|
69
|
+
}], ctorParameters: function () { return [{ type: i1.Auth }, { type: i0.NgZone }, { type: Array, decorators: [{
|
|
70
|
+
type: Inject,
|
|
71
|
+
args: [PROVIDED_ANALYTICS_INSTANCE_FACTORIES]
|
|
72
|
+
}] }, { type: i0.Injector }, { type: i2.FirebaseApp }]; } });
|
|
73
|
+
|
|
74
|
+
const FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';
|
|
75
|
+
const FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';
|
|
76
|
+
const FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';
|
|
77
|
+
const FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';
|
|
78
|
+
const FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';
|
|
79
|
+
const FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';
|
|
80
|
+
const FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';
|
|
81
|
+
const OUTLET_KEY = 'outlet';
|
|
82
|
+
const PAGE_PATH_KEY = 'page_path';
|
|
83
|
+
const PAGE_TITLE_KEY = 'page_title';
|
|
84
|
+
const SCREEN_CLASS_KEY = 'screen_class';
|
|
85
|
+
const SCREEN_NAME_KEY = 'screen_name';
|
|
86
|
+
const SCREEN_VIEW_EVENT = 'screen_view';
|
|
87
|
+
const EVENT_ORIGIN_AUTO = 'auto';
|
|
88
|
+
const SCREEN_INSTANCE_DELIMITER = '#';
|
|
89
|
+
// this is an INT64 in iOS/Android but use INT32 cause javascript
|
|
90
|
+
let nextScreenInstanceID = Math.floor(Math.random() * (Math.pow(2, 32) - 1)) - Math.pow(2, 31);
|
|
91
|
+
const knownScreenInstanceIDs = {};
|
|
92
|
+
const getScreenInstanceID = (params) => {
|
|
93
|
+
// unique the screen class against the outlet name
|
|
94
|
+
const screenInstanceKey = [
|
|
95
|
+
params[SCREEN_CLASS_KEY],
|
|
96
|
+
params[OUTLET_KEY]
|
|
97
|
+
].join(SCREEN_INSTANCE_DELIMITER);
|
|
98
|
+
if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {
|
|
99
|
+
return knownScreenInstanceIDs[screenInstanceKey];
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const ret = nextScreenInstanceID++;
|
|
103
|
+
knownScreenInstanceIDs[screenInstanceKey] = ret;
|
|
104
|
+
return ret;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const ɵscreenViewEvent = (router, title, componentFactoryResolver) => {
|
|
108
|
+
const activationEndEvents = router.events.pipe(filter(e => e instanceof ActivationEnd));
|
|
109
|
+
return activationEndEvents.pipe(switchMap(activationEnd => {
|
|
110
|
+
var _a;
|
|
111
|
+
// router parseUrl is having trouble with outlets when they're empty
|
|
112
|
+
// e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty
|
|
113
|
+
const urlTree = router.parseUrl(router.url.replace(/(?:\().+(?:\))/g, a => a.replace('://', ':///')));
|
|
114
|
+
const pagePath = ((_a = urlTree.root.children[activationEnd.snapshot.outlet]) === null || _a === void 0 ? void 0 : _a.toString()) || '';
|
|
115
|
+
const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);
|
|
116
|
+
if (!actualSnapshot) {
|
|
117
|
+
return of(null);
|
|
118
|
+
}
|
|
119
|
+
let actualDeep = actualSnapshot;
|
|
120
|
+
while (actualDeep.firstChild) {
|
|
121
|
+
actualDeep = actualDeep.firstChild;
|
|
122
|
+
}
|
|
123
|
+
const screenName = actualDeep.pathFromRoot.map(s => { var _a; return (_a = s.routeConfig) === null || _a === void 0 ? void 0 : _a.path; }).filter(it => it).join('/') || '/';
|
|
124
|
+
const params = {
|
|
125
|
+
[SCREEN_NAME_KEY]: screenName,
|
|
126
|
+
[PAGE_PATH_KEY]: `/${pagePath}`,
|
|
127
|
+
[FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,
|
|
128
|
+
[FIREBASE_SCREEN_NAME_KEY]: screenName,
|
|
129
|
+
[OUTLET_KEY]: activationEnd.snapshot.outlet
|
|
130
|
+
};
|
|
131
|
+
if (title) {
|
|
132
|
+
params[PAGE_TITLE_KEY] = title.getTitle();
|
|
133
|
+
}
|
|
134
|
+
let component = actualSnapshot.component;
|
|
135
|
+
if (component) {
|
|
136
|
+
if (component === ɵEmptyOutletComponent) {
|
|
137
|
+
let deepSnapshot = activationEnd.snapshot;
|
|
138
|
+
// TODO when might there be mutple children, different outlets? explore
|
|
139
|
+
while (deepSnapshot.firstChild) {
|
|
140
|
+
deepSnapshot = deepSnapshot.firstChild;
|
|
141
|
+
}
|
|
142
|
+
component = deepSnapshot.component;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
component = activationEnd.snapshot.component;
|
|
147
|
+
}
|
|
148
|
+
if (typeof component === 'string') {
|
|
149
|
+
return of(Object.assign(Object.assign({}, params), { [SCREEN_CLASS_KEY]: component }));
|
|
150
|
+
}
|
|
151
|
+
else if (component) {
|
|
152
|
+
const componentFactory = componentFactoryResolver.resolveComponentFactory(component);
|
|
153
|
+
return of(Object.assign(Object.assign({}, params), { [SCREEN_CLASS_KEY]: componentFactory.selector }));
|
|
154
|
+
}
|
|
155
|
+
// lazy loads cause extra activations, ignore
|
|
156
|
+
return of(null);
|
|
157
|
+
}), filter(it => !!it), map(params => (Object.assign({ [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY], [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params) }, params))), groupBy(it => it[OUTLET_KEY]), mergeMap(it => it.pipe(distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), startWith(undefined), pairwise(), map(([prior, current]) => prior ? Object.assign({ [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY], [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY], [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY] }, current) : current))));
|
|
158
|
+
};
|
|
159
|
+
class ScreenTrackingService {
|
|
160
|
+
constructor(router, title, componentFactoryResolver, zone, userTrackingService, firebaseApp, analyticsInstanceFactories, injector) {
|
|
161
|
+
registerVersion('angularfire', VERSION.full, 'screen-tracking');
|
|
162
|
+
if (!router) {
|
|
163
|
+
return this;
|
|
164
|
+
}
|
|
165
|
+
// Analytics is not ready to be injected yet, as the APP_INITIALIZER hasn't evulated yet, do this the hard way
|
|
166
|
+
const analyticsInstance = globalThis[isSupportedPromiseSymbol].then((isSupported) => {
|
|
167
|
+
const analyticsInstances = analyticsInstanceFactories.map(fn => analyticsInstanceFactory(fn)(zone, isSupported, injector));
|
|
168
|
+
return defaultAnalyticsInstanceFactory(isSupported, analyticsInstances, firebaseApp);
|
|
169
|
+
});
|
|
170
|
+
zone.runOutsideAngular(() => {
|
|
171
|
+
this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap((params) => __awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
if (userTrackingService) {
|
|
173
|
+
yield userTrackingService.initialized;
|
|
174
|
+
}
|
|
175
|
+
const analytics = yield analyticsInstance;
|
|
176
|
+
if (!analytics) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
return logEvent(analytics, SCREEN_VIEW_EVENT, params);
|
|
180
|
+
}))).subscribe();
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
ngOnDestroy() {
|
|
184
|
+
if (this.disposable) {
|
|
185
|
+
this.disposable.unsubscribe();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
ScreenTrackingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1$1.Router, optional: true }, { token: i2$1.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: UserTrackingService, optional: true }, { token: i2.FirebaseApp }, { token: PROVIDED_ANALYTICS_INSTANCE_FACTORIES }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
190
|
+
ScreenTrackingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService });
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService, decorators: [{
|
|
192
|
+
type: Injectable
|
|
193
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router, decorators: [{
|
|
194
|
+
type: Optional
|
|
195
|
+
}] }, { type: i2$1.Title, decorators: [{
|
|
196
|
+
type: Optional
|
|
197
|
+
}] }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: UserTrackingService, decorators: [{
|
|
198
|
+
type: Optional
|
|
199
|
+
}] }, { type: i2.FirebaseApp }, { type: Array, decorators: [{
|
|
200
|
+
type: Inject,
|
|
201
|
+
args: [PROVIDED_ANALYTICS_INSTANCE_FACTORIES]
|
|
202
|
+
}] }, { type: i0.Injector }]; } });
|
|
203
|
+
|
|
204
|
+
const PROVIDED_ANALYTICS_INSTANCE_FACTORIES = new InjectionToken('angularfire2.analytics-instances.factory');
|
|
24
205
|
const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken('angularfire2.analytics-instances');
|
|
25
206
|
const IS_SUPPORTED = new InjectionToken('angularfire2.analytics.isSupported');
|
|
26
|
-
const
|
|
207
|
+
const isSupportedValueSymbol = Symbol('angularfire2.analytics.isSupported.value');
|
|
208
|
+
const isSupportedPromiseSymbol = Symbol('angularfire2.analytics.isSupported');
|
|
209
|
+
globalThis[isSupportedPromiseSymbol] || (globalThis[isSupportedPromiseSymbol] = isSupported$1().then(it => globalThis[isSupportedValueSymbol] = it));
|
|
27
210
|
function defaultAnalyticsInstanceFactory(isSupported, provided, defaultApp) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
211
|
+
if (!isSupported) {
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
const defaultAnalytics = ɵgetDefaultInstanceOf(ANALYTICS_PROVIDER_NAME, provided, defaultApp);
|
|
215
|
+
return defaultAnalytics && new Analytics(defaultAnalytics);
|
|
32
216
|
}
|
|
33
217
|
function analyticsInstanceFactory(fn) {
|
|
34
|
-
return (zone, isSupported) => {
|
|
35
|
-
|
|
218
|
+
return (zone, isSupported, injector) => {
|
|
219
|
+
if (!isSupported) {
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
const analytics = zone.runOutsideAngular(() => fn(injector));
|
|
36
223
|
return new Analytics(analytics);
|
|
37
224
|
};
|
|
38
225
|
}
|
|
@@ -52,20 +239,20 @@ const DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {
|
|
|
52
239
|
]
|
|
53
240
|
};
|
|
54
241
|
class AnalyticsModule {
|
|
55
|
-
constructor() {
|
|
242
|
+
constructor(_screenTracking, _userTracking) {
|
|
56
243
|
registerVersion('angularfire', VERSION.full, 'analytics');
|
|
57
244
|
}
|
|
58
245
|
}
|
|
59
|
-
AnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AnalyticsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
246
|
+
AnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AnalyticsModule, deps: [{ token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
60
247
|
AnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AnalyticsModule });
|
|
61
248
|
AnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AnalyticsModule, providers: [
|
|
62
249
|
DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
|
|
63
250
|
ANALYTICS_INSTANCES_PROVIDER,
|
|
64
251
|
{
|
|
65
252
|
provide: APP_INITIALIZER,
|
|
66
|
-
useValue: () =>
|
|
253
|
+
useValue: () => globalThis[isSupportedPromiseSymbol],
|
|
67
254
|
multi: true,
|
|
68
|
-
}
|
|
255
|
+
}
|
|
69
256
|
] });
|
|
70
257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AnalyticsModule, decorators: [{
|
|
71
258
|
type: NgModule,
|
|
@@ -75,18 +262,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
|
|
|
75
262
|
ANALYTICS_INSTANCES_PROVIDER,
|
|
76
263
|
{
|
|
77
264
|
provide: APP_INITIALIZER,
|
|
78
|
-
useValue: () =>
|
|
265
|
+
useValue: () => globalThis[isSupportedPromiseSymbol],
|
|
79
266
|
multi: true,
|
|
80
|
-
}
|
|
267
|
+
}
|
|
81
268
|
]
|
|
82
269
|
}]
|
|
83
|
-
}], ctorParameters: function () { return [
|
|
84
|
-
|
|
270
|
+
}], ctorParameters: function () { return [{ type: ScreenTrackingService, decorators: [{
|
|
271
|
+
type: Optional
|
|
272
|
+
}] }, { type: UserTrackingService, decorators: [{
|
|
273
|
+
type: Optional
|
|
274
|
+
}] }]; } });
|
|
275
|
+
function provideAnalytics(fn, ...deps) {
|
|
85
276
|
return {
|
|
86
277
|
ngModule: AnalyticsModule,
|
|
87
278
|
providers: [{
|
|
88
279
|
provide: IS_SUPPORTED,
|
|
89
|
-
useFactory: () => globalThis[
|
|
280
|
+
useFactory: () => globalThis[isSupportedValueSymbol],
|
|
281
|
+
}, {
|
|
282
|
+
provide: PROVIDED_ANALYTICS_INSTANCE_FACTORIES,
|
|
283
|
+
useValue: fn,
|
|
284
|
+
multi: true,
|
|
90
285
|
}, {
|
|
91
286
|
provide: PROVIDED_ANALYTICS_INSTANCES,
|
|
92
287
|
useFactory: analyticsInstanceFactory(fn),
|
|
@@ -94,27 +289,18 @@ function provideAnalytics(fn) {
|
|
|
94
289
|
deps: [
|
|
95
290
|
NgZone,
|
|
96
291
|
IS_SUPPORTED,
|
|
292
|
+
Injector,
|
|
97
293
|
ɵAngularFireSchedulers,
|
|
98
294
|
FirebaseApps,
|
|
295
|
+
...deps,
|
|
99
296
|
]
|
|
100
297
|
}]
|
|
101
298
|
};
|
|
102
299
|
}
|
|
103
300
|
|
|
104
|
-
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
|
|
105
|
-
const getAnalytics = ɵzoneWrap(getAnalytics$1, true);
|
|
106
|
-
const initializeAnalytics = ɵzoneWrap(initializeAnalytics$1, true);
|
|
107
|
-
const isSupported = ɵzoneWrap(isSupported$1, true);
|
|
108
|
-
const logEvent = ɵzoneWrap(logEvent$1, true);
|
|
109
|
-
const setAnalyticsCollectionEnabled = ɵzoneWrap(setAnalyticsCollectionEnabled$1, true);
|
|
110
|
-
const setCurrentScreen = ɵzoneWrap(setCurrentScreen$1, true);
|
|
111
|
-
const settings = ɵzoneWrap(settings$1, true);
|
|
112
|
-
const setUserId = ɵzoneWrap(setUserId$1, true);
|
|
113
|
-
const setUserProperties = ɵzoneWrap(setUserProperties$1, true);
|
|
114
|
-
|
|
115
301
|
/**
|
|
116
302
|
* Generated bundle index. Do not edit.
|
|
117
303
|
*/
|
|
118
304
|
|
|
119
|
-
export { Analytics, AnalyticsInstances, AnalyticsModule, analyticInstance$, getAnalytics, initializeAnalytics, isSupported, logEvent, provideAnalytics, setAnalyticsCollectionEnabled, setCurrentScreen, setUserId, setUserProperties, settings };
|
|
305
|
+
export { Analytics, AnalyticsInstances, AnalyticsModule, ScreenTrackingService, UserTrackingService, analyticInstance$, getAnalytics, initializeAnalytics, isSupported, logEvent, provideAnalytics, setAnalyticsCollectionEnabled, setCurrentScreen, setUserId, setUserProperties, settings, ɵscreenViewEvent };
|
|
120
306
|
//# sourceMappingURL=angular-fire-analytics.js.map
|