@angular/fire 18.0.0 → 18.0.1-canary.3639e41

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.
Files changed (96) hide show
  1. package/esm2022/analytics/analytics.module.mjs +5 -5
  2. package/esm2022/analytics/screen-tracking.service.mjs +4 -4
  3. package/esm2022/analytics/user-tracking.service.mjs +4 -4
  4. package/esm2022/app/app.module.mjs +5 -5
  5. package/esm2022/app-check/app-check.module.mjs +5 -5
  6. package/esm2022/auth/auth.module.mjs +5 -5
  7. package/esm2022/auth-guard/auth-guard.mjs +4 -4
  8. package/esm2022/auth-guard/auth-guard.module.mjs +5 -5
  9. package/esm2022/compat/analytics/analytics.mjs +4 -4
  10. package/esm2022/compat/analytics/analytics.module.mjs +5 -5
  11. package/esm2022/compat/analytics/screen-tracking.service.mjs +4 -4
  12. package/esm2022/compat/analytics/user-tracking.service.mjs +4 -4
  13. package/esm2022/compat/auth/auth.mjs +4 -4
  14. package/esm2022/compat/auth/auth.module.mjs +5 -5
  15. package/esm2022/compat/auth-guard/auth-guard.mjs +4 -4
  16. package/esm2022/compat/auth-guard/auth-guard.module.mjs +5 -5
  17. package/esm2022/compat/database/database.mjs +4 -4
  18. package/esm2022/compat/database/database.module.mjs +5 -5
  19. package/esm2022/compat/firebase.app.module.mjs +5 -5
  20. package/esm2022/compat/firestore/firestore.mjs +4 -4
  21. package/esm2022/compat/firestore/firestore.module.mjs +5 -5
  22. package/esm2022/compat/functions/functions.mjs +4 -4
  23. package/esm2022/compat/functions/functions.module.mjs +5 -5
  24. package/esm2022/compat/messaging/messaging.mjs +4 -4
  25. package/esm2022/compat/messaging/messaging.module.mjs +5 -5
  26. package/esm2022/compat/performance/performance.mjs +4 -4
  27. package/esm2022/compat/performance/performance.module.mjs +5 -5
  28. package/esm2022/compat/performance/performance.service.mjs +4 -4
  29. package/esm2022/compat/remote-config/remote-config.mjs +4 -4
  30. package/esm2022/compat/remote-config/remote-config.module.mjs +5 -5
  31. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +8 -8
  32. package/esm2022/compat/storage/storage.mjs +4 -4
  33. package/esm2022/compat/storage/storage.module.mjs +5 -5
  34. package/esm2022/database/database.module.mjs +5 -5
  35. package/esm2022/firestore/firestore.module.mjs +5 -5
  36. package/esm2022/firestore/lite/lite.module.mjs +5 -5
  37. package/esm2022/functions/functions.module.mjs +5 -5
  38. package/esm2022/messaging/messaging.module.mjs +5 -5
  39. package/esm2022/performance/performance.module.mjs +5 -5
  40. package/esm2022/remote-config/remote-config.module.mjs +5 -5
  41. package/esm2022/storage/storage.module.mjs +5 -5
  42. package/esm2022/vertexai-preview/vertexai.module.mjs +5 -5
  43. package/esm2022/zones.mjs +4 -4
  44. package/fesm2022/angular-fire-analytics.mjs +297 -410
  45. package/fesm2022/angular-fire-analytics.mjs.map +1 -7
  46. package/fesm2022/angular-fire-app-check.mjs +91 -162
  47. package/fesm2022/angular-fire-app-check.mjs.map +1 -7
  48. package/fesm2022/angular-fire-app.mjs +108 -181
  49. package/fesm2022/angular-fire-app.mjs.map +1 -7
  50. package/fesm2022/angular-fire-auth-guard.mjs +73 -83
  51. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -7
  52. package/fesm2022/angular-fire-auth.mjs +142 -421
  53. package/fesm2022/angular-fire-auth.mjs.map +1 -7
  54. package/fesm2022/angular-fire-compat-analytics.mjs +271 -262
  55. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -7
  56. package/fesm2022/angular-fire-compat-auth-guard.mjs +72 -83
  57. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -7
  58. package/fesm2022/angular-fire-compat-auth.mjs +214 -215
  59. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -7
  60. package/fesm2022/angular-fire-compat-database.mjs +378 -375
  61. package/fesm2022/angular-fire-compat-database.mjs.map +1 -7
  62. package/fesm2022/angular-fire-compat-firestore.mjs +677 -537
  63. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -7
  64. package/fesm2022/angular-fire-compat-functions.mjs +94 -98
  65. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -7
  66. package/fesm2022/angular-fire-compat-messaging.mjs +107 -107
  67. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -7
  68. package/fesm2022/angular-fire-compat-performance.mjs +152 -158
  69. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -7
  70. package/fesm2022/angular-fire-compat-remote-config.mjs +232 -216
  71. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -7
  72. package/fesm2022/angular-fire-compat-storage.mjs +231 -226
  73. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -7
  74. package/fesm2022/angular-fire-compat.mjs +153 -140
  75. package/fesm2022/angular-fire-compat.mjs.map +1 -7
  76. package/fesm2022/angular-fire-database.mjs +136 -376
  77. package/fesm2022/angular-fire-database.mjs.map +1 -7
  78. package/fesm2022/angular-fire-firestore-lite.mjs +139 -388
  79. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -7
  80. package/fesm2022/angular-fire-firestore.mjs +167 -526
  81. package/fesm2022/angular-fire-firestore.mjs.map +1 -7
  82. package/fesm2022/angular-fire-functions.mjs +93 -166
  83. package/fesm2022/angular-fire-functions.mjs.map +1 -7
  84. package/fesm2022/angular-fire-messaging.mjs +118 -196
  85. package/fesm2022/angular-fire-messaging.mjs.map +1 -7
  86. package/fesm2022/angular-fire-performance.mjs +104 -178
  87. package/fesm2022/angular-fire-performance.mjs.map +1 -7
  88. package/fesm2022/angular-fire-remote-config.mjs +132 -254
  89. package/fesm2022/angular-fire-remote-config.mjs.map +1 -7
  90. package/fesm2022/angular-fire-storage.mjs +105 -225
  91. package/fesm2022/angular-fire-storage.mjs.map +1 -7
  92. package/fesm2022/angular-fire-vertexai-preview.mjs +85 -146
  93. package/fesm2022/angular-fire-vertexai-preview.mjs.map +1 -7
  94. package/fesm2022/angular-fire.mjs +213 -183
  95. package/fesm2022/angular-fire.mjs.map +1 -7
  96. package/package.json +1 -1
@@ -1,436 +1,323 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from2, except, desc) => {
10
- if (from2 && typeof from2 === "object" || typeof from2 === "function") {
11
- for (let key of __getOwnPropNames(from2))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
-
19
- // angular-fire-analytics.mjs
20
- var angular_fire_analytics_exports = {};
21
- __export(angular_fire_analytics_exports, {
22
- Analytics: () => Analytics,
23
- AnalyticsInstances: () => AnalyticsInstances,
24
- AnalyticsModule: () => AnalyticsModule,
25
- ScreenTrackingService: () => ScreenTrackingService,
26
- UserTrackingService: () => UserTrackingService,
27
- analyticInstance$: () => analyticInstance$,
28
- getAnalytics: () => getAnalytics,
29
- getGoogleAnalyticsClientId: () => getGoogleAnalyticsClientId,
30
- initializeAnalytics: () => initializeAnalytics,
31
- isSupported: () => isSupported2,
32
- logEvent: () => logEvent,
33
- provideAnalytics: () => provideAnalytics,
34
- setAnalyticsCollectionEnabled: () => setAnalyticsCollectionEnabled,
35
- setConsent: () => setConsent,
36
- setCurrentScreen: () => setCurrentScreen,
37
- setDefaultEventParameters: () => setDefaultEventParameters,
38
- setUserId: () => setUserId,
39
- setUserProperties: () => setUserProperties,
40
- settings: () => settings,
41
- ɵscreenViewEvent: () => ɵscreenViewEvent
42
- });
1
+ import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵisSupportedError as _isSupportedError, ɵzoneWrap as _zoneWrap, VERSION, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, ɵAngularFireSchedulers as _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
+ import * as i0 from '@angular/core';
5
+ import { Injectable, Optional, InjectionToken, APP_INITIALIZER, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
6
+ import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
7
+ import { registerVersion } from 'firebase/app';
8
+ import { isSupported as isSupported$1, getAnalytics as getAnalytics$1, getGoogleAnalyticsClientId as getGoogleAnalyticsClientId$1, initializeAnalytics as initializeAnalytics$1, logEvent as logEvent$1, setAnalyticsCollectionEnabled as setAnalyticsCollectionEnabled$1, setConsent as setConsent$1, setCurrentScreen as setCurrentScreen$1, setDefaultEventParameters as setDefaultEventParameters$1, settings as settings$1, setUserId as setUserId$1, setUserProperties as setUserProperties$1 } from 'firebase/analytics';
9
+ export * from 'firebase/analytics';
10
+ import * as i2 from '@angular/platform-browser';
11
+ import * as i1$1 from '@angular/router';
12
+ import { ActivationEnd, ɵEmptyOutletComponent as _EmptyOutletComponent } from '@angular/router';
13
+ import * as i1 from '@angular/fire/auth';
14
+ import { authState } from '@angular/fire/auth';
43
15
 
44
- // public_api.mjs
45
- var public_api_exports = {};
46
- __export(public_api_exports, {
47
- Analytics: () => Analytics,
48
- AnalyticsInstances: () => AnalyticsInstances,
49
- AnalyticsModule: () => AnalyticsModule,
50
- ScreenTrackingService: () => ScreenTrackingService,
51
- UserTrackingService: () => UserTrackingService,
52
- analyticInstance$: () => analyticInstance$,
53
- getAnalytics: () => getAnalytics,
54
- getGoogleAnalyticsClientId: () => getGoogleAnalyticsClientId,
55
- initializeAnalytics: () => initializeAnalytics,
56
- isSupported: () => isSupported2,
57
- logEvent: () => logEvent,
58
- provideAnalytics: () => provideAnalytics,
59
- setAnalyticsCollectionEnabled: () => setAnalyticsCollectionEnabled,
60
- setConsent: () => setConsent,
61
- setCurrentScreen: () => setCurrentScreen,
62
- setDefaultEventParameters: () => setDefaultEventParameters,
63
- setUserId: () => setUserId,
64
- setUserProperties: () => setUserProperties,
65
- settings: () => settings,
66
- ɵscreenViewEvent: () => ɵscreenViewEvent
67
- });
68
-
69
- // analytics.mjs
70
- import { ɵgetAllInstancesOf } from "@angular/fire";
71
- import { from, timer } from "rxjs";
72
- import { concatMap, distinct } from "rxjs/operators";
73
- var Analytics = class {
74
- constructor(analytics) {
75
- return analytics;
76
- }
77
- };
78
- var ANALYTICS_PROVIDER_NAME = "analytics";
79
- var AnalyticsInstances = class {
80
- constructor() {
81
- return ɵgetAllInstancesOf(ANALYTICS_PROVIDER_NAME);
82
- }
83
- };
84
- var analyticInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(ANALYTICS_PROVIDER_NAME))), distinct());
16
+ class Analytics {
17
+ constructor(analytics) {
18
+ return analytics;
19
+ }
20
+ }
21
+ const ANALYTICS_PROVIDER_NAME = 'analytics';
22
+ class AnalyticsInstances {
23
+ constructor() {
24
+ return _getAllInstancesOf(ANALYTICS_PROVIDER_NAME);
25
+ }
26
+ }
27
+ const analyticInstance$ = timer(0, 300).pipe(concatMap(() => from(_getAllInstancesOf(ANALYTICS_PROVIDER_NAME))), distinct());
85
28
 
86
- // is-analytics-supported-factory.mjs
87
- import { ɵisSupportedError } from "@angular/fire";
88
- import { isSupported } from "firebase/analytics";
89
- var isAnalyticsSupportedValueSymbol = "__angularfire_symbol__analyticsIsSupportedValue";
90
- var isAnalyticsSupportedPromiseSymbol = "__angularfire_symbol__analyticsIsSupported";
91
- globalThis[isAnalyticsSupportedPromiseSymbol] ||= isSupported().then((it) => globalThis[isAnalyticsSupportedValueSymbol] = it).catch(() => globalThis[isAnalyticsSupportedValueSymbol] = false);
92
- var isAnalyticsSupportedFactory = {
93
- async: () => globalThis[isAnalyticsSupportedPromiseSymbol],
94
- sync: () => {
95
- const ret = globalThis[isAnalyticsSupportedValueSymbol];
96
- if (ret === void 0) {
97
- throw new Error(ɵisSupportedError("Analytics"));
29
+ const isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';
30
+ const isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';
31
+ globalThis[isAnalyticsSupportedPromiseSymbol] ||= isSupported$1().then(it => globalThis[isAnalyticsSupportedValueSymbol] = it).catch(() => globalThis[isAnalyticsSupportedValueSymbol] = false);
32
+ const isAnalyticsSupportedFactory = {
33
+ async: () => globalThis[isAnalyticsSupportedPromiseSymbol],
34
+ sync: () => {
35
+ const ret = globalThis[isAnalyticsSupportedValueSymbol];
36
+ if (ret === undefined) {
37
+ throw new Error(_isSupportedError('Analytics'));
38
+ }
39
+ return ret;
98
40
  }
99
- return ret;
100
- }
101
41
  };
102
42
 
103
- // firebase.mjs
104
- var firebase_exports = {};
105
- __export(firebase_exports, {
106
- getAnalytics: () => getAnalytics,
107
- getGoogleAnalyticsClientId: () => getGoogleAnalyticsClientId,
108
- initializeAnalytics: () => initializeAnalytics,
109
- isSupported: () => isSupported2,
110
- logEvent: () => logEvent,
111
- setAnalyticsCollectionEnabled: () => setAnalyticsCollectionEnabled,
112
- setConsent: () => setConsent,
113
- setCurrentScreen: () => setCurrentScreen,
114
- setDefaultEventParameters: () => setDefaultEventParameters,
115
- setUserId: () => setUserId,
116
- setUserProperties: () => setUserProperties,
117
- settings: () => settings
118
- });
119
-
120
- // overrides.mjs
121
- var isSupported2 = isAnalyticsSupportedFactory.async;
43
+ const isSupported = isAnalyticsSupportedFactory.async;
122
44
 
123
- // firebase.mjs
124
- __reExport(firebase_exports, analytics_star);
125
- import * as analytics_star from "firebase/analytics";
126
- import { ɵzoneWrap } from "@angular/fire";
127
- import { getAnalytics as _getAnalytics, getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId, initializeAnalytics as _initializeAnalytics, logEvent as _logEvent, setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled, setConsent as _setConsent, setCurrentScreen as _setCurrentScreen, setDefaultEventParameters as _setDefaultEventParameters, settings as _settings, setUserId as _setUserId, setUserProperties as _setUserProperties } from "firebase/analytics";
128
- var getAnalytics = ɵzoneWrap(_getAnalytics, true);
129
- var getGoogleAnalyticsClientId = ɵzoneWrap(_getGoogleAnalyticsClientId, true);
130
- var initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);
131
- var logEvent = ɵzoneWrap(_logEvent, true);
132
- var setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true);
133
- var setConsent = ɵzoneWrap(_setConsent, true);
134
- var setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true);
135
- var setDefaultEventParameters = ɵzoneWrap(_setDefaultEventParameters, true);
136
- var settings = ɵzoneWrap(_settings, true);
137
- var setUserId = ɵzoneWrap(_setUserId, true);
138
- var setUserProperties = ɵzoneWrap(_setUserProperties, true);
45
+ // DO NOT MODIFY, this file is autogenerated by tools/build.ts
46
+ const getAnalytics = _zoneWrap(getAnalytics$1, true);
47
+ const getGoogleAnalyticsClientId = _zoneWrap(getGoogleAnalyticsClientId$1, true);
48
+ const initializeAnalytics = _zoneWrap(initializeAnalytics$1, true);
49
+ const logEvent = _zoneWrap(logEvent$1, true);
50
+ const setAnalyticsCollectionEnabled = _zoneWrap(setAnalyticsCollectionEnabled$1, true);
51
+ const setConsent = _zoneWrap(setConsent$1, true);
52
+ const setCurrentScreen = _zoneWrap(setCurrentScreen$1, true);
53
+ const setDefaultEventParameters = _zoneWrap(setDefaultEventParameters$1, true);
54
+ const settings = _zoneWrap(settings$1, true);
55
+ const setUserId = _zoneWrap(setUserId$1, true);
56
+ const setUserProperties = _zoneWrap(setUserProperties$1, true);
139
57
 
140
- // user-tracking.service.mjs
141
- import { Injectable, Injector, NgZone } from "@angular/core";
142
- import { VERSION } from "@angular/fire";
143
- import { Auth, authState } from "@angular/fire/auth";
144
- import { registerVersion } from "firebase/app";
145
- import * as i0 from "@angular/core";
146
- import * as i1 from "@angular/fire/auth";
147
- var UserTrackingService = class _UserTrackingService {
148
- initialized;
149
- disposables = [];
150
- constructor(auth, zone, injector) {
151
- registerVersion("angularfire", VERSION.full, "user-tracking");
152
- let resolveInitialized;
153
- this.initialized = zone.runOutsideAngular(() => new Promise((resolve) => {
154
- resolveInitialized = resolve;
155
- }));
156
- isSupported2().then(() => {
157
- const analytics = injector.get(Analytics);
158
- if (analytics) {
159
- this.disposables = [
160
- // TODO add credential tracking back in
161
- authState(auth).subscribe((user) => {
162
- setUserId(analytics, user?.uid);
163
- resolveInitialized();
164
- })
165
- ];
166
- } else {
167
- resolveInitialized();
168
- }
169
- });
170
- }
171
- ngOnDestroy() {
172
- this.disposables.forEach((it) => it.unsubscribe());
173
- }
174
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: _UserTrackingService, deps: [{ token: i1.Auth }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
175
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: _UserTrackingService });
176
- };
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: UserTrackingService, decorators: [{
178
- type: Injectable
179
- }], ctorParameters: () => [{ type: i1.Auth }, { type: i0.NgZone }, { type: i0.Injector }] });
180
-
181
- // screen-tracking.service.mjs
182
- import { ComponentFactoryResolver, Injectable as Injectable2, Injector as Injector3, NgZone as NgZone3, Optional } from "@angular/core";
183
- import { VERSION as VERSION2 } from "@angular/fire";
184
- import { Title } from "@angular/platform-browser";
185
- import { ActivationEnd, Router, ɵEmptyOutletComponent } from "@angular/router";
186
- import { registerVersion as registerVersion2 } from "firebase/app";
187
- import { of } from "rxjs";
188
- import { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from "rxjs/operators";
189
- import * as i02 from "@angular/core";
190
- import * as i12 from "@angular/router";
191
- import * as i2 from "@angular/platform-browser";
192
- var FIREBASE_EVENT_ORIGIN_KEY = "firebase_event_origin";
193
- var FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = "firebase_previous_class";
194
- var FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = "firebase_previous_id";
195
- var FIREBASE_PREVIOUS_SCREEN_NAME_KEY = "firebase_previous_screen";
196
- var FIREBASE_SCREEN_CLASS_KEY = "firebase_screen_class";
197
- var FIREBASE_SCREEN_INSTANCE_ID_KEY = "firebase_screen_id";
198
- var FIREBASE_SCREEN_NAME_KEY = "firebase_screen";
199
- var OUTLET_KEY = "outlet";
200
- var PAGE_PATH_KEY = "page_path";
201
- var PAGE_TITLE_KEY = "page_title";
202
- var SCREEN_CLASS_KEY = "screen_class";
203
- var SCREEN_NAME_KEY = "screen_name";
204
- var SCREEN_VIEW_EVENT = "screen_view";
205
- var EVENT_ORIGIN_AUTO = "auto";
206
- var SCREEN_INSTANCE_DELIMITER = "#";
207
- var nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;
208
- var knownScreenInstanceIDs = {};
209
- var getScreenInstanceID = (params) => {
210
- const screenInstanceKey = [
211
- params[SCREEN_CLASS_KEY],
212
- params[OUTLET_KEY]
213
- ].join(SCREEN_INSTANCE_DELIMITER);
214
- if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {
215
- return knownScreenInstanceIDs[screenInstanceKey];
216
- } else {
217
- const ret = nextScreenInstanceID++;
218
- knownScreenInstanceIDs[screenInstanceKey] = ret;
219
- return ret;
220
- }
221
- };
222
- var ɵscreenViewEvent = (router, title, componentFactoryResolver) => {
223
- const activationEndEvents = router.events.pipe(filter((e) => e instanceof ActivationEnd));
224
- return activationEndEvents.pipe(switchMap((activationEnd) => {
225
- const urlTree = router.parseUrl(router.url.replace(/(?:\().+(?:\))/g, (a) => a.replace("://", ":///")));
226
- const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || "";
227
- const actualSnapshot = router.routerState.root.children.map((it) => it).find((it) => it.outlet === activationEnd.snapshot.outlet);
228
- if (!actualSnapshot) {
229
- return of(null);
58
+ class UserTrackingService {
59
+ initialized;
60
+ disposables = [];
61
+ constructor(auth, zone, injector) {
62
+ registerVersion('angularfire', VERSION.full, 'user-tracking');
63
+ let resolveInitialized;
64
+ this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));
65
+ // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI
66
+ // may not be done when services are initialized. Guard the functionality by first ensuring
67
+ // that the (global) promise has resolved, then get Analytics from the injector.
68
+ isSupported().then(() => {
69
+ const analytics = injector.get(Analytics);
70
+ if (analytics) {
71
+ this.disposables = [
72
+ // TODO add credential tracking back in
73
+ authState(auth).subscribe(user => {
74
+ setUserId(analytics, user?.uid);
75
+ resolveInitialized();
76
+ }),
77
+ ];
78
+ }
79
+ else {
80
+ resolveInitialized();
81
+ }
82
+ });
230
83
  }
231
- let actualDeep = actualSnapshot;
232
- while (actualDeep.firstChild) {
233
- actualDeep = actualDeep.firstChild;
84
+ ngOnDestroy() {
85
+ this.disposables.forEach(it => it.unsubscribe());
234
86
  }
235
- const screenName = actualDeep.pathFromRoot.map((s) => s.routeConfig?.path).filter((it) => it).join("/") || "/";
236
- const params = {
237
- [SCREEN_NAME_KEY]: screenName,
238
- [PAGE_PATH_KEY]: `/${pagePath}`,
239
- [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,
240
- [FIREBASE_SCREEN_NAME_KEY]: screenName,
241
- [OUTLET_KEY]: activationEnd.snapshot.outlet
242
- };
243
- if (title) {
244
- params[PAGE_TITLE_KEY] = title.getTitle();
245
- }
246
- let component = actualSnapshot.component;
247
- if (component) {
248
- if (component === ɵEmptyOutletComponent) {
249
- let deepSnapshot = activationEnd.snapshot;
250
- while (deepSnapshot.firstChild) {
251
- deepSnapshot = deepSnapshot.firstChild;
252
- }
253
- component = deepSnapshot.component;
254
- }
255
- } else {
256
- component = activationEnd.snapshot.component;
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.Auth }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
88
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: UserTrackingService });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: UserTrackingService, decorators: [{
91
+ type: Injectable
92
+ }], ctorParameters: () => [{ type: i1.Auth }, { type: i0.NgZone }, { type: i0.Injector }] });
93
+
94
+ const FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';
95
+ const FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';
96
+ const FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';
97
+ const FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';
98
+ const FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';
99
+ const FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';
100
+ const FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';
101
+ const OUTLET_KEY = 'outlet';
102
+ const PAGE_PATH_KEY = 'page_path';
103
+ const PAGE_TITLE_KEY = 'page_title';
104
+ const SCREEN_CLASS_KEY = 'screen_class';
105
+ const SCREEN_NAME_KEY = 'screen_name';
106
+ const SCREEN_VIEW_EVENT = 'screen_view';
107
+ const EVENT_ORIGIN_AUTO = 'auto';
108
+ const SCREEN_INSTANCE_DELIMITER = '#';
109
+ // this is an INT64 in iOS/Android but use INT32 cause javascript
110
+ let nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;
111
+ const knownScreenInstanceIDs = {};
112
+ const getScreenInstanceID = (params) => {
113
+ // unique the screen class against the outlet name
114
+ const screenInstanceKey = [
115
+ params[SCREEN_CLASS_KEY],
116
+ params[OUTLET_KEY]
117
+ ].join(SCREEN_INSTANCE_DELIMITER);
118
+ // eslint-disable-next-line no-prototype-builtins
119
+ if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {
120
+ return knownScreenInstanceIDs[screenInstanceKey];
257
121
  }
258
- if (typeof component === "string") {
259
- return of({ ...params, [SCREEN_CLASS_KEY]: component });
260
- } else if (component) {
261
- const componentFactory = componentFactoryResolver.resolveComponentFactory(component);
262
- return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });
122
+ else {
123
+ const ret = nextScreenInstanceID++;
124
+ knownScreenInstanceIDs[screenInstanceKey] = ret;
125
+ return ret;
263
126
  }
264
- return of(null);
265
- }), filter((it) => !!it), map((params) => ({
266
- [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],
267
- [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),
268
- ...params
269
- })), groupBy((it) => it[OUTLET_KEY]), mergeMap((it) => it.pipe(distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), startWith(void 0), pairwise(), map(([prior, current]) => prior ? {
270
- [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],
271
- [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],
272
- [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],
273
- ...current
274
- } : current))));
275
127
  };
276
- var ScreenTrackingService = class _ScreenTrackingService {
277
- disposable;
278
- constructor(router, title, componentFactoryResolver, zone, userTrackingService, injector) {
279
- registerVersion2("angularfire", VERSION2.full, "screen-tracking");
280
- isSupported2().then(() => {
281
- const analytics = injector.get(Analytics);
282
- if (!router || !analytics) {
283
- return;
284
- }
285
- zone.runOutsideAngular(() => {
286
- this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap(async (params) => {
287
- if (userTrackingService) {
288
- await userTrackingService.initialized;
289
- }
290
- return logEvent(analytics, SCREEN_VIEW_EVENT, params);
291
- })).subscribe();
292
- });
293
- });
294
- }
295
- ngOnDestroy() {
296
- if (this.disposable) {
297
- this.disposable.unsubscribe();
298
- }
299
- }
300
- static ɵfac = i02.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i02, type: _ScreenTrackingService, deps: [{ token: i12.Router, optional: true }, { token: i2.Title, optional: true }, { token: i02.ComponentFactoryResolver }, { token: i02.NgZone }, { token: UserTrackingService, optional: true }, { token: i02.Injector }], target: i02.ɵɵFactoryTarget.Injectable });
301
- static ɵprov = i02.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i02, type: _ScreenTrackingService });
128
+ const ɵscreenViewEvent = (router, title, componentFactoryResolver) => {
129
+ const activationEndEvents = router.events.pipe(filter(e => e instanceof ActivationEnd));
130
+ return activationEndEvents.pipe(switchMap(activationEnd => {
131
+ // router parseUrl is having trouble with outlets when they're empty
132
+ // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty
133
+ const urlTree = router.parseUrl(router.url.replace(/(?:\().+(?:\))/g, a => a.replace('://', ':///')));
134
+ const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';
135
+ const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);
136
+ if (!actualSnapshot) {
137
+ return of(null);
138
+ }
139
+ let actualDeep = actualSnapshot;
140
+ while (actualDeep.firstChild) {
141
+ actualDeep = actualDeep.firstChild;
142
+ }
143
+ const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';
144
+ const params = {
145
+ [SCREEN_NAME_KEY]: screenName,
146
+ [PAGE_PATH_KEY]: `/${pagePath}`,
147
+ [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,
148
+ [FIREBASE_SCREEN_NAME_KEY]: screenName,
149
+ [OUTLET_KEY]: activationEnd.snapshot.outlet
150
+ };
151
+ if (title) {
152
+ params[PAGE_TITLE_KEY] = title.getTitle();
153
+ }
154
+ let component = actualSnapshot.component;
155
+ if (component) {
156
+ if (component === _EmptyOutletComponent) {
157
+ let deepSnapshot = activationEnd.snapshot;
158
+ // TODO when might there be mutple children, different outlets? explore
159
+ while (deepSnapshot.firstChild) {
160
+ deepSnapshot = deepSnapshot.firstChild;
161
+ }
162
+ component = deepSnapshot.component;
163
+ }
164
+ }
165
+ else {
166
+ component = activationEnd.snapshot.component;
167
+ }
168
+ if (typeof component === 'string') {
169
+ return of({ ...params, [SCREEN_CLASS_KEY]: component });
170
+ }
171
+ else if (component) {
172
+ const componentFactory = componentFactoryResolver.resolveComponentFactory(component);
173
+ return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });
174
+ }
175
+ // lazy loads cause extra activations, ignore
176
+ return of(null);
177
+ }), filter(it => !!it), map(params => ({
178
+ [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],
179
+ [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),
180
+ ...params
181
+ })), 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 ? {
182
+ [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],
183
+ [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],
184
+ [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],
185
+ ...current
186
+ } : current))));
302
187
  };
303
- i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i02, type: ScreenTrackingService, decorators: [{
304
- type: Injectable2
305
- }], ctorParameters: () => [{ type: i12.Router, decorators: [{
306
- type: Optional
307
- }] }, { type: i2.Title, decorators: [{
308
- type: Optional
309
- }] }, { type: i02.ComponentFactoryResolver }, { type: i02.NgZone }, { type: UserTrackingService, decorators: [{
310
- type: Optional
311
- }] }, { type: i02.Injector }] });
188
+ class ScreenTrackingService {
189
+ disposable;
190
+ constructor(router, title, componentFactoryResolver, zone, userTrackingService, injector) {
191
+ registerVersion('angularfire', VERSION.full, 'screen-tracking');
192
+ // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI
193
+ // may not be done when services are initialized. Guard the functionality by first ensuring
194
+ // that the (global) promise has resolved, then get Analytics from the injector.
195
+ isSupported().then(() => {
196
+ const analytics = injector.get(Analytics);
197
+ if (!router || !analytics) {
198
+ return;
199
+ }
200
+ zone.runOutsideAngular(() => {
201
+ this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap(async (params) => {
202
+ if (userTrackingService) {
203
+ await userTrackingService.initialized;
204
+ }
205
+ return logEvent(analytics, SCREEN_VIEW_EVENT, params);
206
+ })).subscribe();
207
+ });
208
+ });
209
+ }
210
+ ngOnDestroy() {
211
+ if (this.disposable) {
212
+ this.disposable.unsubscribe();
213
+ }
214
+ }
215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1$1.Router, optional: true }, { token: i2.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: UserTrackingService, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
216
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService });
217
+ }
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService, decorators: [{
219
+ type: Injectable
220
+ }], ctorParameters: () => [{ type: i1$1.Router, decorators: [{
221
+ type: Optional
222
+ }] }, { type: i2.Title, decorators: [{
223
+ type: Optional
224
+ }] }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: UserTrackingService, decorators: [{
225
+ type: Optional
226
+ }] }, { type: i0.Injector }] });
312
227
 
313
- // analytics.module.mjs
314
- import { APP_INITIALIZER, InjectionToken, Injector as Injector5, NgModule, NgZone as NgZone5, Optional as Optional2, makeEnvironmentProviders } from "@angular/core";
315
- import { VERSION as VERSION3, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from "@angular/fire";
316
- import { FirebaseApp, FirebaseApps } from "@angular/fire/app";
317
- import { registerVersion as registerVersion3 } from "firebase/app";
318
- import * as i03 from "@angular/core";
319
- var PROVIDED_ANALYTICS_INSTANCES = new InjectionToken("angularfire2.analytics-instances");
228
+ const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken('angularfire2.analytics-instances');
320
229
  function defaultAnalyticsInstanceFactory(provided, defaultApp) {
321
- if (!isAnalyticsSupportedFactory.sync()) {
322
- return null;
323
- }
324
- const defaultAnalytics = ɵgetDefaultInstanceOf(ANALYTICS_PROVIDER_NAME, provided, defaultApp);
325
- return defaultAnalytics && new Analytics(defaultAnalytics);
326
- }
327
- function analyticsInstanceFactory(fn) {
328
- return (zone, injector) => {
329
230
  if (!isAnalyticsSupportedFactory.sync()) {
330
- return null;
231
+ return null;
331
232
  }
332
- const analytics = zone.runOutsideAngular(() => fn(injector));
333
- return new Analytics(analytics);
334
- };
233
+ const defaultAnalytics = _getDefaultInstanceOf(ANALYTICS_PROVIDER_NAME, provided, defaultApp);
234
+ return defaultAnalytics && new Analytics(defaultAnalytics);
335
235
  }
336
- var ANALYTICS_INSTANCES_PROVIDER = {
337
- provide: AnalyticsInstances,
338
- deps: [
339
- [new Optional2(), PROVIDED_ANALYTICS_INSTANCES]
340
- ]
236
+ function analyticsInstanceFactory(fn) {
237
+ return (zone, injector) => {
238
+ if (!isAnalyticsSupportedFactory.sync()) {
239
+ return null;
240
+ }
241
+ const analytics = zone.runOutsideAngular(() => fn(injector));
242
+ return new Analytics(analytics);
243
+ };
244
+ }
245
+ const ANALYTICS_INSTANCES_PROVIDER = {
246
+ provide: AnalyticsInstances,
247
+ deps: [
248
+ [new Optional(), PROVIDED_ANALYTICS_INSTANCES],
249
+ ]
341
250
  };
342
- var DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {
343
- provide: Analytics,
344
- useFactory: defaultAnalyticsInstanceFactory,
345
- deps: [
346
- [new Optional2(), PROVIDED_ANALYTICS_INSTANCES],
347
- FirebaseApp
348
- ]
251
+ const DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {
252
+ provide: Analytics,
253
+ useFactory: defaultAnalyticsInstanceFactory,
254
+ deps: [
255
+ [new Optional(), PROVIDED_ANALYTICS_INSTANCES],
256
+ FirebaseApp,
257
+ ]
349
258
  };
350
- var AnalyticsModule = class _AnalyticsModule {
351
- constructor(_screenTrackingService, _userTrackingService) {
352
- registerVersion3("angularfire", VERSION3.full, "analytics");
353
- }
354
- static ɵfac = i03.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i03, type: _AnalyticsModule, deps: [{ token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i03.ɵɵFactoryTarget.NgModule });
355
- static ɵmod = i03.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.3", ngImport: i03, type: _AnalyticsModule });
356
- static ɵinj = i03.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i03, type: _AnalyticsModule, providers: [
357
- DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
358
- ANALYTICS_INSTANCES_PROVIDER,
359
- {
360
- provide: APP_INITIALIZER,
361
- useValue: isAnalyticsSupportedFactory.async,
362
- multi: true
259
+ class AnalyticsModule {
260
+ constructor(_screenTrackingService, _userTrackingService) {
261
+ registerVersion('angularfire', VERSION.full, 'analytics');
363
262
  }
364
- ] });
365
- };
366
- i03.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i03, type: AnalyticsModule, decorators: [{
367
- type: NgModule,
368
- args: [{
369
- providers: [
370
- DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
371
- ANALYTICS_INSTANCES_PROVIDER,
372
- {
373
- provide: APP_INITIALIZER,
374
- useValue: isAnalyticsSupportedFactory.async,
375
- multi: true
376
- }
377
- ]
378
- }]
379
- }], ctorParameters: () => [{ type: ScreenTrackingService, decorators: [{
380
- type: Optional2
381
- }] }, { type: UserTrackingService, decorators: [{
382
- type: Optional2
383
- }] }] });
263
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule, deps: [{ token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
264
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule });
265
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule, providers: [
266
+ DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
267
+ ANALYTICS_INSTANCES_PROVIDER,
268
+ {
269
+ provide: APP_INITIALIZER,
270
+ useValue: isAnalyticsSupportedFactory.async,
271
+ multi: true,
272
+ }
273
+ ] });
274
+ }
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule, decorators: [{
276
+ type: NgModule,
277
+ args: [{
278
+ providers: [
279
+ DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
280
+ ANALYTICS_INSTANCES_PROVIDER,
281
+ {
282
+ provide: APP_INITIALIZER,
283
+ useValue: isAnalyticsSupportedFactory.async,
284
+ multi: true,
285
+ }
286
+ ]
287
+ }]
288
+ }], ctorParameters: () => [{ type: ScreenTrackingService, decorators: [{
289
+ type: Optional
290
+ }] }, { type: UserTrackingService, decorators: [{
291
+ type: Optional
292
+ }] }] });
384
293
  function provideAnalytics(fn, ...deps) {
385
- registerVersion3("angularfire", VERSION3.full, "analytics");
386
- return makeEnvironmentProviders([
387
- DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
388
- ANALYTICS_INSTANCES_PROVIDER,
389
- {
390
- provide: APP_INITIALIZER,
391
- useValue: isAnalyticsSupportedFactory.async,
392
- multi: true
393
- },
394
- {
395
- provide: PROVIDED_ANALYTICS_INSTANCES,
396
- useFactory: analyticsInstanceFactory(fn),
397
- multi: true,
398
- deps: [
399
- NgZone5,
400
- Injector5,
401
- ɵAngularFireSchedulers,
402
- FirebaseApps,
403
- ...deps
404
- ]
405
- }
406
- ]);
294
+ registerVersion('angularfire', VERSION.full, 'analytics');
295
+ return makeEnvironmentProviders([
296
+ DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
297
+ ANALYTICS_INSTANCES_PROVIDER,
298
+ {
299
+ provide: APP_INITIALIZER,
300
+ useValue: isAnalyticsSupportedFactory.async,
301
+ multi: true,
302
+ },
303
+ {
304
+ provide: PROVIDED_ANALYTICS_INSTANCES,
305
+ useFactory: analyticsInstanceFactory(fn),
306
+ multi: true,
307
+ deps: [
308
+ NgZone,
309
+ Injector,
310
+ _AngularFireSchedulers,
311
+ FirebaseApps,
312
+ ...deps,
313
+ ],
314
+ },
315
+ ]);
407
316
  }
408
317
 
409
- // public_api.mjs
410
- __reExport(public_api_exports, firebase_exports);
318
+ /**
319
+ * Generated bundle index. Do not edit.
320
+ */
411
321
 
412
- // angular-fire-analytics.mjs
413
- __reExport(angular_fire_analytics_exports, public_api_exports);
414
- export {
415
- Analytics,
416
- AnalyticsInstances,
417
- AnalyticsModule,
418
- ScreenTrackingService,
419
- UserTrackingService,
420
- analyticInstance$,
421
- getAnalytics,
422
- getGoogleAnalyticsClientId,
423
- initializeAnalytics,
424
- isSupported2 as isSupported,
425
- logEvent,
426
- provideAnalytics,
427
- setAnalyticsCollectionEnabled,
428
- setConsent,
429
- setCurrentScreen,
430
- setDefaultEventParameters,
431
- setUserId,
432
- setUserProperties,
433
- settings,
434
- ɵscreenViewEvent
435
- };
322
+ export { Analytics, AnalyticsInstances, AnalyticsModule, ScreenTrackingService, UserTrackingService, analyticInstance$, getAnalytics, getGoogleAnalyticsClientId, initializeAnalytics, isSupported, logEvent, provideAnalytics, setAnalyticsCollectionEnabled, setConsent, setCurrentScreen, setDefaultEventParameters, setUserId, setUserProperties, settings, ɵscreenViewEvent };
436
323
  //# sourceMappingURL=angular-fire-analytics.mjs.map