@angular/fire 18.0.1 → 19.0.0-canary.45ccd39

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 (283) hide show
  1. package/README.md +2 -2
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +3 -3
  4. package/analytics/screen-tracking.service.d.ts +1 -1
  5. package/auth/rxfire.d.ts +2 -2
  6. package/compat/database/database.d.ts +1 -1
  7. package/compat/firestore/firestore.d.ts +1 -1
  8. package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
  9. package/compat/storage/storage.d.ts +1 -1
  10. package/compat/storage/storage.module.d.ts +1 -1
  11. package/data-connect/data-connect.d.ts +9 -0
  12. package/data-connect/data-connect.module.d.ts +13 -0
  13. package/data-connect/firebase.d.ts +12 -0
  14. package/{vertexai-preview → data-connect}/index.d.ts +1 -1
  15. package/data-connect/package.json +3 -0
  16. package/data-connect/public_api.d.ts +3 -0
  17. package/database/rxfire.d.ts +4 -4
  18. package/docs/install-and-setup.md +10 -5
  19. package/docs/vertexai.md +3 -3
  20. package/fesm2022/angular-fire-analytics.mjs +25 -52
  21. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  22. package/fesm2022/angular-fire-app-check.mjs +4 -4
  23. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  24. package/fesm2022/angular-fire-app.mjs +4 -4
  25. package/fesm2022/angular-fire-app.mjs.map +1 -1
  26. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  27. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  28. package/fesm2022/angular-fire-auth.mjs +7 -7
  29. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  30. package/fesm2022/angular-fire-compat-analytics.mjs +15 -15
  31. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  32. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  33. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  34. package/fesm2022/angular-fire-compat-auth.mjs +10 -9
  35. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  36. package/fesm2022/angular-fire-compat-database.mjs +20 -19
  37. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  38. package/fesm2022/angular-fire-compat-firestore.mjs +25 -24
  39. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  40. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  41. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  42. package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
  43. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  44. package/fesm2022/angular-fire-compat-performance.mjs +10 -10
  45. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  46. package/fesm2022/angular-fire-compat-remote-config.mjs +10 -9
  47. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  48. package/fesm2022/angular-fire-compat-storage.mjs +20 -18
  49. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  50. package/fesm2022/angular-fire-compat.mjs +4 -4
  51. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  52. package/fesm2022/angular-fire-data-connect.mjs +100 -0
  53. package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
  54. package/fesm2022/angular-fire-database.mjs +8 -8
  55. package/fesm2022/angular-fire-database.mjs.map +1 -1
  56. package/fesm2022/angular-fire-firestore-lite.mjs +11 -10
  57. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  58. package/fesm2022/angular-fire-firestore.mjs +14 -13
  59. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  60. package/fesm2022/angular-fire-functions.mjs +4 -4
  61. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  62. package/fesm2022/angular-fire-messaging.mjs +15 -42
  63. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  64. package/fesm2022/angular-fire-performance.mjs +6 -6
  65. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  66. package/fesm2022/angular-fire-remote-config.mjs +20 -47
  67. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  68. package/fesm2022/angular-fire-storage.mjs +4 -4
  69. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  70. package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +8 -8
  71. package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
  72. package/fesm2022/angular-fire.mjs +101 -105
  73. package/fesm2022/angular-fire.mjs.map +1 -1
  74. package/firestore/firebase.d.ts +2 -1
  75. package/firestore/lite/firebase.d.ts +2 -1
  76. package/firestore/lite/rxfire.d.ts +4 -4
  77. package/firestore/rxfire.d.ts +7 -7
  78. package/messaging/firebase.d.ts +2 -2
  79. package/messaging/messaging.module.d.ts +2 -2
  80. package/package.json +21 -76
  81. package/performance/rxfire.d.ts +2 -2
  82. package/publish.sh +1 -0
  83. package/remote-config/firebase.d.ts +2 -2
  84. package/remote-config/remote-config.module.d.ts +2 -2
  85. package/remote-config/rxfire.d.ts +5 -5
  86. package/schematics/add/index.js +1 -13
  87. package/schematics/deploy/actions.js +138 -394
  88. package/schematics/deploy/builder.js +139 -61
  89. package/schematics/setup/index.js +94 -64
  90. package/schematics/update/index.js +1 -7
  91. package/schematics/update/v7/index.js +1 -67
  92. package/schematics/versions.json +2 -3
  93. package/vertexai/firebase.d.ts +4 -0
  94. package/vertexai/index.d.ts +5 -0
  95. package/vertexai/package.json +3 -0
  96. package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
  97. package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
  98. package/zones.d.ts +1 -11
  99. package/analytics/is-analytics-supported-factory.d.ts +0 -4
  100. package/analytics/overrides.d.ts +0 -1
  101. package/esm2022/analytics/analytics.mjs +0 -16
  102. package/esm2022/analytics/analytics.module.mjs +0 -101
  103. package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
  104. package/esm2022/analytics/firebase.mjs +0 -17
  105. package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
  106. package/esm2022/analytics/overrides.mjs +0 -3
  107. package/esm2022/analytics/public_api.mjs +0 -6
  108. package/esm2022/analytics/screen-tracking.service.mjs +0 -148
  109. package/esm2022/analytics/user-tracking.service.mjs +0 -44
  110. package/esm2022/angular-fire.mjs +0 -5
  111. package/esm2022/app/angular-fire-app.mjs +0 -5
  112. package/esm2022/app/app.mjs +0 -15
  113. package/esm2022/app/app.module.mjs +0 -91
  114. package/esm2022/app/firebase.mjs +0 -13
  115. package/esm2022/app/public_api.mjs +0 -4
  116. package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
  117. package/esm2022/app-check/app-check.mjs +0 -10
  118. package/esm2022/app-check/app-check.module.mjs +0 -80
  119. package/esm2022/app-check/firebase.mjs +0 -10
  120. package/esm2022/app-check/public_api.mjs +0 -5
  121. package/esm2022/auth/angular-fire-auth.mjs +0 -5
  122. package/esm2022/auth/auth.mjs +0 -16
  123. package/esm2022/auth/auth.module.mjs +0 -73
  124. package/esm2022/auth/firebase.mjs +0 -59
  125. package/esm2022/auth/public_api.mjs +0 -5
  126. package/esm2022/auth/rxfire.mjs +0 -7
  127. package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
  128. package/esm2022/auth-guard/auth-guard.mjs +0 -53
  129. package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
  130. package/esm2022/auth-guard/public_api.mjs +0 -3
  131. package/esm2022/compat/analytics/analytics.mjs +0 -160
  132. package/esm2022/compat/analytics/analytics.module.mjs +0 -35
  133. package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
  134. package/esm2022/compat/analytics/base.mjs +0 -11
  135. package/esm2022/compat/analytics/public_api.mjs +0 -5
  136. package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
  137. package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
  138. package/esm2022/compat/angular-fire-compat.mjs +0 -5
  139. package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
  140. package/esm2022/compat/auth/auth.mjs +0 -161
  141. package/esm2022/compat/auth/auth.module.mjs +0 -20
  142. package/esm2022/compat/auth/base.mjs +0 -39
  143. package/esm2022/compat/auth/public_api.mjs +0 -4
  144. package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
  145. package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
  146. package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
  147. package/esm2022/compat/auth-guard/public_api.mjs +0 -3
  148. package/esm2022/compat/cache.mjs +0 -33
  149. package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
  150. package/esm2022/compat/database/database.mjs +0 -119
  151. package/esm2022/compat/database/database.module.mjs +0 -20
  152. package/esm2022/compat/database/interfaces.mjs +0 -2
  153. package/esm2022/compat/database/list/audit-trail.mjs +0 -47
  154. package/esm2022/compat/database/list/changes.mjs +0 -85
  155. package/esm2022/compat/database/list/create-reference.mjs +0 -44
  156. package/esm2022/compat/database/list/data-operation.mjs +0 -11
  157. package/esm2022/compat/database/list/remove.mjs +0 -16
  158. package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
  159. package/esm2022/compat/database/list/state-changes.mjs +0 -9
  160. package/esm2022/compat/database/list/utils.mjs +0 -8
  161. package/esm2022/compat/database/object/create-reference.mjs +0 -19
  162. package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
  163. package/esm2022/compat/database/observable/fromRef.mjs +0 -48
  164. package/esm2022/compat/database/public_api.mjs +0 -9
  165. package/esm2022/compat/database/utils.mjs +0 -36
  166. package/esm2022/compat/firebase.app.mjs +0 -6
  167. package/esm2022/compat/firebase.app.module.mjs +0 -71
  168. package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
  169. package/esm2022/compat/firestore/collection/changes.mjs +0 -108
  170. package/esm2022/compat/firestore/collection/collection.mjs +0 -123
  171. package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
  172. package/esm2022/compat/firestore/document/document.mjs +0 -87
  173. package/esm2022/compat/firestore/firestore.mjs +0 -257
  174. package/esm2022/compat/firestore/firestore.module.mjs +0 -32
  175. package/esm2022/compat/firestore/interfaces.mjs +0 -2
  176. package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
  177. package/esm2022/compat/firestore/public_api.mjs +0 -9
  178. package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
  179. package/esm2022/compat/functions/base.mjs +0 -8
  180. package/esm2022/compat/functions/functions.mjs +0 -69
  181. package/esm2022/compat/functions/functions.module.mjs +0 -20
  182. package/esm2022/compat/functions/public_api.mjs +0 -4
  183. package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
  184. package/esm2022/compat/messaging/base.mjs +0 -9
  185. package/esm2022/compat/messaging/messaging.mjs +0 -81
  186. package/esm2022/compat/messaging/messaging.module.mjs +0 -20
  187. package/esm2022/compat/messaging/public_api.mjs +0 -3
  188. package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
  189. package/esm2022/compat/performance/base.mjs +0 -9
  190. package/esm2022/compat/performance/performance.mjs +0 -105
  191. package/esm2022/compat/performance/performance.module.mjs +0 -27
  192. package/esm2022/compat/performance/performance.service.mjs +0 -28
  193. package/esm2022/compat/performance/public_api.mjs +0 -4
  194. package/esm2022/compat/proxy.mjs +0 -58
  195. package/esm2022/compat/public_api.mjs +0 -5
  196. package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
  197. package/esm2022/compat/remote-config/base.mjs +0 -20
  198. package/esm2022/compat/remote-config/interfaces.mjs +0 -2
  199. package/esm2022/compat/remote-config/public_api.mjs +0 -3
  200. package/esm2022/compat/remote-config/remote-config.mjs +0 -206
  201. package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
  202. package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
  203. package/esm2022/compat/storage/interfaces.mjs +0 -2
  204. package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
  205. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
  206. package/esm2022/compat/storage/public_api.mjs +0 -7
  207. package/esm2022/compat/storage/ref.mjs +0 -28
  208. package/esm2022/compat/storage/storage.mjs +0 -95
  209. package/esm2022/compat/storage/storage.module.mjs +0 -22
  210. package/esm2022/compat/storage/task.mjs +0 -21
  211. package/esm2022/core.mjs +0 -43
  212. package/esm2022/database/angular-fire-database.mjs +0 -5
  213. package/esm2022/database/database.mjs +0 -16
  214. package/esm2022/database/database.module.mjs +0 -76
  215. package/esm2022/database/firebase.mjs +0 -44
  216. package/esm2022/database/public_api.mjs +0 -5
  217. package/esm2022/database/rxfire.mjs +0 -13
  218. package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
  219. package/esm2022/firestore/firebase.mjs +0 -73
  220. package/esm2022/firestore/firestore.mjs +0 -16
  221. package/esm2022/firestore/firestore.module.mjs +0 -76
  222. package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
  223. package/esm2022/firestore/lite/firebase.mjs +0 -48
  224. package/esm2022/firestore/lite/lite.mjs +0 -16
  225. package/esm2022/firestore/lite/lite.module.mjs +0 -75
  226. package/esm2022/firestore/lite/public_api.mjs +0 -5
  227. package/esm2022/firestore/lite/rxfire.mjs +0 -12
  228. package/esm2022/firestore/public_api.mjs +0 -5
  229. package/esm2022/firestore/rxfire.mjs +0 -15
  230. package/esm2022/functions/angular-fire-functions.mjs +0 -5
  231. package/esm2022/functions/firebase.mjs +0 -9
  232. package/esm2022/functions/functions.mjs +0 -16
  233. package/esm2022/functions/functions.module.mjs +0 -76
  234. package/esm2022/functions/public_api.mjs +0 -5
  235. package/esm2022/functions/rxfire.mjs +0 -5
  236. package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
  237. package/esm2022/messaging/firebase.mjs +0 -10
  238. package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
  239. package/esm2022/messaging/messaging.mjs +0 -16
  240. package/esm2022/messaging/messaging.module.mjs +0 -93
  241. package/esm2022/messaging/overrides.mjs +0 -3
  242. package/esm2022/messaging/public_api.mjs +0 -4
  243. package/esm2022/performance/angular-fire-performance.mjs +0 -5
  244. package/esm2022/performance/firebase.mjs +0 -8
  245. package/esm2022/performance/performance.mjs +0 -16
  246. package/esm2022/performance/performance.module.mjs +0 -83
  247. package/esm2022/performance/public_api.mjs +0 -5
  248. package/esm2022/performance/rxfire.mjs +0 -8
  249. package/esm2022/public_api.mjs +0 -3
  250. package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
  251. package/esm2022/remote-config/firebase.mjs +0 -17
  252. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
  253. package/esm2022/remote-config/overrides.mjs +0 -3
  254. package/esm2022/remote-config/public_api.mjs +0 -5
  255. package/esm2022/remote-config/remote-config.mjs +0 -16
  256. package/esm2022/remote-config/remote-config.module.mjs +0 -93
  257. package/esm2022/remote-config/rxfire.mjs +0 -9
  258. package/esm2022/storage/angular-fire-storage.mjs +0 -5
  259. package/esm2022/storage/firebase.mjs +0 -20
  260. package/esm2022/storage/public_api.mjs +0 -5
  261. package/esm2022/storage/rxfire.mjs +0 -6
  262. package/esm2022/storage/storage.mjs +0 -16
  263. package/esm2022/storage/storage.module.mjs +0 -76
  264. package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
  265. package/esm2022/vertexai-preview/firebase.mjs +0 -7
  266. package/esm2022/vertexai-preview/public_api.mjs +0 -4
  267. package/esm2022/vertexai-preview/vertexai.mjs +0 -16
  268. package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
  269. package/esm2022/zones.mjs +0 -194
  270. package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
  271. package/messaging/is-messaging-supported-factory.d.ts +0 -4
  272. package/messaging/overrides.d.ts +0 -1
  273. package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
  274. package/remote-config/overrides.d.ts +0 -1
  275. package/schematics/common.js +0 -81
  276. package/schematics/deploy/functions-templates.js +0 -57
  277. package/schematics/firebaseTools.js +0 -78
  278. package/schematics/interfaces.js +0 -16
  279. package/schematics/setup/prompts.js +0 -195
  280. package/schematics/utils.js +0 -189
  281. package/vertexai-preview/firebase.d.ts +0 -4
  282. package/vertexai-preview/package.json +0 -3
  283. /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
package/README.md CHANGED
@@ -193,9 +193,9 @@ import { } from '@angular/fire/app-check';
193
193
  <tr>
194
194
  <td>
195
195
 
196
- #### [Vertex AI](docs/vertexai.md#vertex-ai-preview)
196
+ #### [Vertex AI](docs/vertexai.md#vertex-ai)
197
197
  ```ts
198
- import { } from '@angular/fire/vertexai-preview';
198
+ import { } from '@angular/fire/vertexai';
199
199
  ```
200
200
  </td>
201
201
 
@@ -6,8 +6,8 @@ import { ScreenTrackingService } from './screen-tracking.service';
6
6
  import { UserTrackingService } from './user-tracking.service';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const PROVIDED_ANALYTICS_INSTANCES: InjectionToken<Analytics[]>;
9
- export declare function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[] | undefined, defaultApp: FirebaseApp): Analytics;
10
- export declare function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics): (zone: NgZone, injector: Injector) => Analytics;
9
+ export declare function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[] | undefined, defaultApp: FirebaseApp, platformId: object): Analytics;
10
+ export declare function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics): (zone: NgZone, injector: Injector, platformId: object) => Analytics;
11
11
  export declare class AnalyticsModule {
12
12
  constructor(_screenTrackingService: ScreenTrackingService, _userTrackingService: UserTrackingService);
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsModule, [{ optional: true; }, { optional: true; }]>;
@@ -1,14 +1,14 @@
1
1
  export * from 'firebase/analytics';
2
- 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';
3
- export { isSupported } from './overrides';
2
+ import { getAnalytics as _getAnalytics, getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId, initializeAnalytics as _initializeAnalytics, isSupported as _isSupported, logEvent as _logEvent, setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled, setConsent as _setConsent, setCurrentScreen as _setCurrentScreen, setDefaultEventParameters as _setDefaultEventParameters, setUserId as _setUserId, setUserProperties as _setUserProperties, settings as _settings } from 'firebase/analytics';
4
3
  export declare const getAnalytics: typeof _getAnalytics;
5
4
  export declare const getGoogleAnalyticsClientId: typeof _getGoogleAnalyticsClientId;
6
5
  export declare const initializeAnalytics: typeof _initializeAnalytics;
6
+ export declare const isSupported: typeof _isSupported;
7
7
  export declare const logEvent: typeof _logEvent;
8
8
  export declare const setAnalyticsCollectionEnabled: typeof _setAnalyticsCollectionEnabled;
9
9
  export declare const setConsent: typeof _setConsent;
10
10
  export declare const setCurrentScreen: typeof _setCurrentScreen;
11
11
  export declare const setDefaultEventParameters: typeof _setDefaultEventParameters;
12
- export declare const settings: typeof _settings;
13
12
  export declare const setUserId: typeof _setUserId;
14
13
  export declare const setUserProperties: typeof _setUserProperties;
14
+ export declare const settings: typeof _settings;
@@ -19,7 +19,7 @@ declare const SCREEN_NAME_KEY = "screen_name";
19
19
  export declare const ɵscreenViewEvent: (router: Router, title: Title | null, componentFactoryResolver: ComponentFactoryResolver) => Observable<{
20
20
  [SCREEN_NAME_KEY]: string;
21
21
  [PAGE_PATH_KEY]: string;
22
- [FIREBASE_EVENT_ORIGIN_KEY]: 'auto';
22
+ [FIREBASE_EVENT_ORIGIN_KEY]: "auto";
23
23
  [FIREBASE_SCREEN_NAME_KEY]: string;
24
24
  [OUTLET_KEY]: string;
25
25
  [PAGE_TITLE_KEY]?: string;
package/auth/rxfire.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { authState as _authState, user as _user, idToken as _idToken } from 'rxfire/auth';
1
+ import { authState as _authState, idToken as _idToken, user as _user } from 'rxfire/auth';
2
2
  export declare const authState: typeof _authState;
3
- export declare const user: typeof _user;
4
3
  export declare const idToken: typeof _idToken;
4
+ export declare const user: typeof _user;
@@ -10,7 +10,7 @@ import 'firebase/compat/database';
10
10
  import * as i0 from "@angular/core";
11
11
  export declare const URL: InjectionToken<string>;
12
12
  export declare const USE_EMULATOR: InjectionToken<[host: string, port: number, options?: {
13
- mockUserToken?: string | firebase.EmulatorMockTokenOptions;
13
+ mockUserToken?: firebase.database.EmulatorMockTokenOptions | string;
14
14
  }]>;
15
15
  export declare class AngularFireDatabase {
16
16
  schedulers: ɵAngularFireSchedulers;
@@ -19,7 +19,7 @@ export declare const ENABLE_PERSISTENCE: InjectionToken<boolean>;
19
19
  export declare const PERSISTENCE_SETTINGS: InjectionToken<firebase.firestore.PersistenceSettings>;
20
20
  export declare const SETTINGS: InjectionToken<firebase.firestore.Settings>;
21
21
  export declare const USE_EMULATOR: InjectionToken<[host: string, port: number, options?: {
22
- mockUserToken?: string | firebase.EmulatorMockTokenOptions;
22
+ mockUserToken?: firebase.firestore.EmulatorMockTokenOptions | string;
23
23
  }]>;
24
24
  /**
25
25
  * A utility methods for associating a collection reference with
@@ -12,10 +12,10 @@ export declare class GetDownloadURLPipe implements PipeTransform, OnDestroy {
12
12
  transform(path: string): any;
13
13
  ngOnDestroy(): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<GetDownloadURLPipe, [null, null, { optional: true; }]>;
15
- static ɵpipe: i0.ɵɵPipeDeclaration<GetDownloadURLPipe, "getDownloadURL", false>;
15
+ static ɵpipe: i0.ɵɵPipeDeclaration<GetDownloadURLPipe, "getDownloadURL", true>;
16
16
  }
17
17
  export declare class GetDownloadURLPipeModule {
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<GetDownloadURLPipeModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<GetDownloadURLPipeModule, [typeof GetDownloadURLPipe], never, [typeof GetDownloadURLPipe]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<GetDownloadURLPipeModule, never, [typeof GetDownloadURLPipe], [typeof GetDownloadURLPipe]>;
20
20
  static ɵinj: i0.ɵɵInjectorDeclaration<GetDownloadURLPipeModule>;
21
21
  }
@@ -10,7 +10,7 @@ export declare const BUCKET: InjectionToken<string>;
10
10
  export declare const MAX_UPLOAD_RETRY_TIME: InjectionToken<number>;
11
11
  export declare const MAX_OPERATION_RETRY_TIME: InjectionToken<number>;
12
12
  export declare const USE_EMULATOR: InjectionToken<[host: string, port: number, options?: {
13
- mockUserToken?: string | firebase.EmulatorMockTokenOptions;
13
+ mockUserToken?: firebase.EmulatorMockTokenOptions | string;
14
14
  }]>;
15
15
  /**
16
16
  * AngularFireStorage Service
@@ -3,6 +3,6 @@ import * as i1 from "./pipes/storageUrl.pipe";
3
3
  export declare class AngularFireStorageModule {
4
4
  constructor();
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularFireStorageModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFireStorageModule, never, never, [typeof i1.GetDownloadURLPipeModule]>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFireStorageModule, never, [typeof i1.GetDownloadURLPipeModule], [typeof i1.GetDownloadURLPipeModule]>;
7
7
  static ɵinj: i0.ɵɵInjectorDeclaration<AngularFireStorageModule>;
8
8
  }
@@ -0,0 +1,9 @@
1
+ import { DataConnect } from 'firebase/data-connect';
2
+ export { DataConnect };
3
+ export declare const DATA_CONNECT_PROVIDER_NAME = "data-connect";
4
+ export interface DataConnectInstances extends Array<DataConnect> {
5
+ }
6
+ export declare class DataConnectInstances {
7
+ constructor();
8
+ }
9
+ export declare const dataConnectInstance$: import("rxjs").Observable<DataConnect>;
@@ -0,0 +1,13 @@
1
+ import { EnvironmentProviders, Injector, NgZone } from '@angular/core';
2
+ import { FirebaseApp } from '@angular/fire/app';
3
+ import { DataConnect } from './data-connect';
4
+ import * as i0 from "@angular/core";
5
+ export declare function defaultDataConnectInstanceFactory(provided: DataConnect[] | undefined, defaultApp: FirebaseApp): DataConnect;
6
+ export declare function dataConnectInstanceFactory(fn: (injector: Injector) => DataConnect): (zone: NgZone, injector: Injector) => DataConnect;
7
+ export declare class DataConnectModule {
8
+ constructor();
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataConnectModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DataConnectModule, never, never, never>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<DataConnectModule>;
12
+ }
13
+ export declare function provideDataConnect(fn: (injector: Injector) => DataConnect, ...deps: any[]): EnvironmentProviders;
@@ -0,0 +1,12 @@
1
+ export * from 'firebase/data-connect';
2
+ import { connectDataConnectEmulator as _connectDataConnectEmulator, executeMutation as _executeMutation, executeQuery as _executeQuery, getDataConnect as _getDataConnect, mutationRef as _mutationRef, queryRef as _queryRef, setLogLevel as _setLogLevel, subscribe as _subscribe, terminate as _terminate, toQueryRef as _toQueryRef } from 'firebase/data-connect';
3
+ export declare const connectDataConnectEmulator: typeof _connectDataConnectEmulator;
4
+ export declare const executeMutation: typeof _executeMutation;
5
+ export declare const executeQuery: typeof _executeQuery;
6
+ export declare const getDataConnect: typeof _getDataConnect;
7
+ export declare const mutationRef: typeof _mutationRef;
8
+ export declare const queryRef: typeof _queryRef;
9
+ export declare const setLogLevel: typeof _setLogLevel;
10
+ export declare const subscribe: typeof _subscribe;
11
+ export declare const terminate: typeof _terminate;
12
+ export declare const toQueryRef: typeof _toQueryRef;
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- /// <amd-module name="@angular/fire/vertexai-preview" />
4
+ /// <amd-module name="@angular/fire/data-connect" />
5
5
  export * from './public_api';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/angular-fire-data-connect.mjs"
3
+ }
@@ -0,0 +1,3 @@
1
+ export { DataConnectInstances, DataConnect, dataConnectInstance$ } from './data-connect';
2
+ export { provideDataConnect, DataConnectModule } from './data-connect.module';
3
+ export * from './firebase';
@@ -1,10 +1,10 @@
1
- import { fromRef as _fromRef, stateChanges as _stateChanges, list as _list, listVal as _listVal, auditTrail as _auditTrail, object as _object, objectVal as _objectVal, changeToData as _changeToData } from 'rxfire/database';
1
+ import { auditTrail as _auditTrail, changeToData as _changeToData, fromRef as _fromRef, list as _list, listVal as _listVal, object as _object, objectVal as _objectVal, stateChanges as _stateChanges } from 'rxfire/database';
2
2
  export { ListenEvent, ListenerMethods } from 'rxfire/database';
3
+ export declare const auditTrail: typeof _auditTrail;
4
+ export declare const changeToData: typeof _changeToData;
3
5
  export declare const fromRef: typeof _fromRef;
4
- export declare const stateChanges: typeof _stateChanges;
5
6
  export declare const list: typeof _list;
6
7
  export declare const listVal: typeof _listVal;
7
- export declare const auditTrail: typeof _auditTrail;
8
8
  export declare const object: typeof _object;
9
9
  export declare const objectVal: typeof _objectVal;
10
- export declare const changeToData: typeof _changeToData;
10
+ export declare const stateChanges: typeof _stateChanges;
@@ -42,12 +42,14 @@ Open `/src/app/app.component.ts`, and make the following changes to :
42
42
 
43
43
  ```ts
44
44
  import { Component, inject } from '@angular/core';
45
+ import { AsyncPipe } from '@angular/common';
45
46
  import { Firestore } from '@angular/fire/firestore';
46
47
 
47
48
  @Component({
48
49
  selector: 'app-root',
49
50
  templateUrl: 'app.component.html',
50
- styleUrls: ['app.component.css']
51
+ styleUrls: ['app.component.css'],
52
+ imports: [AsyncPipe],
51
53
  })
52
54
  export class AppComponent {
53
55
  firestore: Firestore = inject(Firestore);
@@ -64,11 +66,14 @@ In `/src/app/app.component.ts`:
64
66
 
65
67
  ```ts
66
68
  import { Component, inject } from '@angular/core';
67
- import { Firestore, collection, collectionData } from '@angular/fire/firestore';
69
+ import { AsyncPipe } from '@angular/common';
68
70
  import { Observable } from 'rxjs';
71
+ import { Firestore, collection, collectionData } from '@angular/fire/firestore';
69
72
 
70
73
  @Component({
71
74
  selector: 'app-root',
75
+ standalone: true,
76
+ imports: [AsyncPipe],
72
77
  templateUrl: 'app.component.html',
73
78
  styleUrls: ['app.component.css']
74
79
  })
@@ -87,9 +92,9 @@ Open `/src/app/app.component.html`:
87
92
 
88
93
  ```html
89
94
  <ul>
90
- <li class="text" *ngFor="let item of items$ | async">
91
- {{item.name}}
92
- </li>
95
+ @for (item of items$ | async; track item) {
96
+ <li>{{ item.name }}</li>
97
+ }
93
98
  </ul>
94
99
  ```
95
100
 
package/docs/vertexai.md CHANGED
@@ -35,7 +35,7 @@ Next inject `VertexAI` into your component:
35
35
 
36
36
  ```typescript
37
37
  import { Component, inject } from '@angular/core';
38
- import { VertexAI } from '@angular/fire/vertexai-preview';
38
+ import { VertexAI } from '@angular/fire/vertexai';
39
39
 
40
40
  @Component({ ... })
41
41
  export class MyComponent {
@@ -48,6 +48,6 @@ export class MyComponent {
48
48
 
49
49
  AngularFire wraps the Firebase JS SDK to ensure proper functionality in Angular, while providing the same API.
50
50
 
51
- Update the imports from `import { ... } from 'firebase/vertexai-preview'` to `import { ... } from '@angular/fire/vertexai-preview'` and follow the official documentation.
51
+ Update the imports from `import { ... } from 'firebase/vertexai'` to `import { ... } from '@angular/fire/vertexai'` and follow the official documentation.
52
52
 
53
- [Getting Started](https://firebase.google.com/docs/vertex-ai/get-started?platform=web) | [API Reference](https://firebase.google.com/docs/reference/js/vertexai-preview)
53
+ [Getting Started](https://firebase.google.com/docs/vertex-ai/get-started?platform=web) | [API Reference](https://firebase.google.com/docs/reference/js/vertexai)
@@ -1,15 +1,16 @@
1
- import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵisSupportedError as _isSupportedError, ɵzoneWrap as _zoneWrap, VERSION, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, ɵAngularFireSchedulers as _AngularFireSchedulers } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵzoneWrap as _zoneWrap, VERSION, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, ɵAngularFireSchedulers as _AngularFireSchedulers } from '@angular/fire';
2
2
  import { timer, from, of } from 'rxjs';
3
3
  import { concatMap, distinct, filter, switchMap, map, groupBy, mergeMap, distinctUntilChanged, startWith, pairwise } from 'rxjs/operators';
4
+ import { isPlatformBrowser } from '@angular/common';
4
5
  import * as i0 from '@angular/core';
5
- import { Injectable, Optional, InjectionToken, APP_INITIALIZER, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
6
+ import { Injectable, Optional, InjectionToken, PLATFORM_ID, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
6
7
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
7
8
  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
9
  import * as i2 from '@angular/platform-browser';
11
10
  import * as i1$1 from '@angular/router';
12
11
  import { ActivationEnd, ɵEmptyOutletComponent as _EmptyOutletComponent } from '@angular/router';
12
+ import { getAnalytics as getAnalytics$1, getGoogleAnalyticsClientId as getGoogleAnalyticsClientId$1, initializeAnalytics as initializeAnalytics$1, isSupported as isSupported$1, logEvent as logEvent$1, setAnalyticsCollectionEnabled as setAnalyticsCollectionEnabled$1, setConsent as setConsent$1, setCurrentScreen as setCurrentScreen$1, setDefaultEventParameters as setDefaultEventParameters$1, setUserId as setUserId$1, setUserProperties as setUserProperties$1, settings as settings$1 } from 'firebase/analytics';
13
+ export * from 'firebase/analytics';
13
14
  import * as i1 from '@angular/fire/auth';
14
15
  import { authState } from '@angular/fire/auth';
15
16
 
@@ -26,34 +27,19 @@ class AnalyticsInstances {
26
27
  }
27
28
  const analyticInstance$ = timer(0, 300).pipe(concatMap(() => from(_getAllInstancesOf(ANALYTICS_PROVIDER_NAME))), distinct());
28
29
 
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;
40
- }
41
- };
42
-
43
- const isSupported = isAnalyticsSupportedFactory.async;
44
-
45
30
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
46
31
  const getAnalytics = _zoneWrap(getAnalytics$1, true);
47
32
  const getGoogleAnalyticsClientId = _zoneWrap(getGoogleAnalyticsClientId$1, true);
48
33
  const initializeAnalytics = _zoneWrap(initializeAnalytics$1, true);
34
+ const isSupported = _zoneWrap(isSupported$1, true);
49
35
  const logEvent = _zoneWrap(logEvent$1, true);
50
36
  const setAnalyticsCollectionEnabled = _zoneWrap(setAnalyticsCollectionEnabled$1, true);
51
37
  const setConsent = _zoneWrap(setConsent$1, true);
52
38
  const setCurrentScreen = _zoneWrap(setCurrentScreen$1, true);
53
39
  const setDefaultEventParameters = _zoneWrap(setDefaultEventParameters$1, true);
54
- const settings = _zoneWrap(settings$1, true);
55
40
  const setUserId = _zoneWrap(setUserId$1, true);
56
41
  const setUserProperties = _zoneWrap(setUserProperties$1, true);
42
+ const settings = _zoneWrap(settings$1, true);
57
43
 
58
44
  class UserTrackingService {
59
45
  initialized;
@@ -84,10 +70,10 @@ class UserTrackingService {
84
70
  ngOnDestroy() {
85
71
  this.disposables.forEach(it => it.unsubscribe());
86
72
  }
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 });
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.Auth }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
74
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: UserTrackingService });
89
75
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: UserTrackingService, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: UserTrackingService, decorators: [{
91
77
  type: Injectable
92
78
  }], ctorParameters: () => [{ type: i1.Auth }, { type: i0.NgZone }, { type: i0.Injector }] });
93
79
 
@@ -212,10 +198,10 @@ class ScreenTrackingService {
212
198
  this.disposable.unsubscribe();
213
199
  }
214
200
  }
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 });
201
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.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 });
202
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ScreenTrackingService });
217
203
  }
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService, decorators: [{
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ScreenTrackingService, decorators: [{
219
205
  type: Injectable
220
206
  }], ctorParameters: () => [{ type: i1$1.Router, decorators: [{
221
207
  type: Optional
@@ -226,16 +212,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
226
212
  }] }, { type: i0.Injector }] });
227
213
 
228
214
  const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken('angularfire2.analytics-instances');
229
- function defaultAnalyticsInstanceFactory(provided, defaultApp) {
230
- if (!isAnalyticsSupportedFactory.sync()) {
215
+ function defaultAnalyticsInstanceFactory(provided, defaultApp, platformId) {
216
+ if (!isPlatformBrowser(platformId)) {
231
217
  return null;
232
218
  }
233
219
  const defaultAnalytics = _getDefaultInstanceOf(ANALYTICS_PROVIDER_NAME, provided, defaultApp);
234
220
  return defaultAnalytics && new Analytics(defaultAnalytics);
235
221
  }
236
222
  function analyticsInstanceFactory(fn) {
237
- return (zone, injector) => {
238
- if (!isAnalyticsSupportedFactory.sync()) {
223
+ return (zone, injector, platformId) => {
224
+ if (!isPlatformBrowser(platformId)) {
239
225
  return null;
240
226
  }
241
227
  const analytics = zone.runOutsideAngular(() => fn(injector));
@@ -254,35 +240,26 @@ const DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {
254
240
  deps: [
255
241
  [new Optional(), PROVIDED_ANALYTICS_INSTANCES],
256
242
  FirebaseApp,
243
+ PLATFORM_ID,
257
244
  ]
258
245
  };
259
246
  class AnalyticsModule {
260
247
  constructor(_screenTrackingService, _userTrackingService) {
261
248
  registerVersion('angularfire', VERSION.full, 'analytics');
262
249
  }
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: [
250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AnalyticsModule, deps: [{ token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
251
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: AnalyticsModule });
252
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AnalyticsModule, providers: [
266
253
  DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
267
- ANALYTICS_INSTANCES_PROVIDER,
268
- {
269
- provide: APP_INITIALIZER,
270
- useValue: isAnalyticsSupportedFactory.async,
271
- multi: true,
272
- }
254
+ ANALYTICS_INSTANCES_PROVIDER
273
255
  ] });
274
256
  }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule, decorators: [{
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AnalyticsModule, decorators: [{
276
258
  type: NgModule,
277
259
  args: [{
278
260
  providers: [
279
261
  DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
280
- ANALYTICS_INSTANCES_PROVIDER,
281
- {
282
- provide: APP_INITIALIZER,
283
- useValue: isAnalyticsSupportedFactory.async,
284
- multi: true,
285
- }
262
+ ANALYTICS_INSTANCES_PROVIDER
286
263
  ]
287
264
  }]
288
265
  }], ctorParameters: () => [{ type: ScreenTrackingService, decorators: [{
@@ -295,11 +272,6 @@ function provideAnalytics(fn, ...deps) {
295
272
  return makeEnvironmentProviders([
296
273
  DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
297
274
  ANALYTICS_INSTANCES_PROVIDER,
298
- {
299
- provide: APP_INITIALIZER,
300
- useValue: isAnalyticsSupportedFactory.async,
301
- multi: true,
302
- },
303
275
  {
304
276
  provide: PROVIDED_ANALYTICS_INSTANCES,
305
277
  useFactory: analyticsInstanceFactory(fn),
@@ -307,6 +279,7 @@ function provideAnalytics(fn, ...deps) {
307
279
  deps: [
308
280
  NgZone,
309
281
  Injector,
282
+ PLATFORM_ID,
310
283
  _AngularFireSchedulers,
311
284
  FirebaseApps,
312
285
  ...deps,
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-analytics.mjs","sources":["../../../src/analytics/analytics.ts","../../../src/analytics/is-analytics-supported-factory.ts","../../../src/analytics/overrides.ts","../../../src/analytics/firebase.ts","../../../src/analytics/user-tracking.service.ts","../../../src/analytics/screen-tracking.service.ts","../../../src/analytics/analytics.module.ts","../../../src/analytics/angular-fire-analytics.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Analytics as FirebaseAnalytics } from 'firebase/analytics';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface Analytics extends FirebaseAnalytics {}\n\nexport class Analytics {\n constructor(analytics: FirebaseAnalytics) {\n return analytics;\n }\n}\n\nexport const ANALYTICS_PROVIDER_NAME = 'analytics';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnalyticsInstances extends Array<FirebaseAnalytics> {}\n\nexport class AnalyticsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME);\n }\n}\n\nexport const analyticInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME))),\n distinct(),\n);\n","import { ɵisSupportedError } from '@angular/fire';\nimport { isSupported } from 'firebase/analytics';\n\nconst isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';\nconst isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';\n\nglobalThis[isAnalyticsSupportedPromiseSymbol] ||= isSupported().then(it =>\n globalThis[isAnalyticsSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isAnalyticsSupportedValueSymbol] = false\n);\nexport const isAnalyticsSupportedFactory = {\n async: () => globalThis[isAnalyticsSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isAnalyticsSupportedValueSymbol];\n if (ret === undefined) { throw new Error(ɵisSupportedError('Analytics')); }\n return ret;\n }\n};\n","import { isAnalyticsSupportedFactory } from './is-analytics-supported-factory';\n\nexport const isSupported = isAnalyticsSupportedFactory.async;\n\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/analytics';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAnalytics as _getAnalytics,\n getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId,\n initializeAnalytics as _initializeAnalytics,\n logEvent as _logEvent,\n setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled,\n setConsent as _setConsent,\n setCurrentScreen as _setCurrentScreen,\n setDefaultEventParameters as _setDefaultEventParameters,\n settings as _settings,\n setUserId as _setUserId,\n setUserProperties as _setUserProperties\n} from 'firebase/analytics';\n\nexport {\n isSupported\n} from './overrides';\n\nexport const getAnalytics = ɵzoneWrap(_getAnalytics, true);\nexport const getGoogleAnalyticsClientId = ɵzoneWrap(_getGoogleAnalyticsClientId, true);\nexport const initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);\nexport const logEvent = ɵzoneWrap(_logEvent, true);\nexport const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true);\nexport const setConsent = ɵzoneWrap(_setConsent, true);\nexport const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true);\nexport const setDefaultEventParameters = ɵzoneWrap(_setDefaultEventParameters, true);\nexport const settings = ɵzoneWrap(_settings, true);\nexport const setUserId = ɵzoneWrap(_setUserId, true);\nexport const setUserProperties = ɵzoneWrap(_setUserProperties, true);\n","import { Injectable, Injector, NgZone, OnDestroy } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Auth, authState } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { Subscription } from 'rxjs';\nimport { Analytics } from './analytics';\nimport { isSupported, setUserId } from './firebase';\n\n@Injectable()\nexport class UserTrackingService implements OnDestroy {\n\n public readonly initialized: Promise<void>;\n private disposables: Subscription[] = [];\n\n constructor(\n auth: Auth,\n zone: NgZone,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'user-tracking');\n let resolveInitialized: () => void;\n this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (analytics) {\n this.disposables = [\n // TODO add credential tracking back in\n authState(auth).subscribe(user => {\n setUserId(analytics, user?.uid);\n resolveInitialized();\n }),\n ];\n } else {\n resolveInitialized();\n }\n });\n }\n\n ngOnDestroy() {\n this.disposables.forEach(it => it.unsubscribe());\n }\n}\n","import { ComponentFactoryResolver, Injectable, Injector, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Title } from '@angular/platform-browser';\nimport { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';\nimport { registerVersion } from 'firebase/app';\nimport { Observable, Subscription, of } from 'rxjs';\nimport { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';\nimport { Analytics } from './analytics';\nimport { isSupported, logEvent } from './firebase';\nimport { UserTrackingService } from './user-tracking.service';\n\nconst FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';\nconst FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';\nconst FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';\nconst FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';\nconst FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';\nconst FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';\nconst FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';\nconst OUTLET_KEY = 'outlet';\nconst PAGE_PATH_KEY = 'page_path';\nconst PAGE_TITLE_KEY = 'page_title';\nconst SCREEN_CLASS_KEY = 'screen_class';\nconst SCREEN_NAME_KEY = 'screen_name';\nconst SCREEN_VIEW_EVENT = 'screen_view';\nconst EVENT_ORIGIN_AUTO = 'auto';\nconst SCREEN_INSTANCE_DELIMITER = '#';\n\n// this is an INT64 in iOS/Android but use INT32 cause javascript\nlet nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;\n\nconst knownScreenInstanceIDs: Record<string, number> = {};\n\nconst getScreenInstanceID = (params: Record<string, any>) => {\n // unique the screen class against the outlet name\n const screenInstanceKey = [\n params[SCREEN_CLASS_KEY],\n params[OUTLET_KEY]\n ].join(SCREEN_INSTANCE_DELIMITER);\n // eslint-disable-next-line no-prototype-builtins\n if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {\n return knownScreenInstanceIDs[screenInstanceKey];\n } else {\n const ret = nextScreenInstanceID++;\n knownScreenInstanceIDs[screenInstanceKey] = ret;\n return ret;\n }\n};\n\nexport const ɵscreenViewEvent = (\n router: Router,\n title: Title|null,\n componentFactoryResolver: ComponentFactoryResolver,\n): Observable<{\n [SCREEN_NAME_KEY]: string,\n [PAGE_PATH_KEY]: string,\n [FIREBASE_EVENT_ORIGIN_KEY]: 'auto',\n [FIREBASE_SCREEN_NAME_KEY]: string,\n [OUTLET_KEY]: string,\n [PAGE_TITLE_KEY]?: string,\n [SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: number,\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: number,\n}> => {\n const activationEndEvents = router.events.pipe(filter<ActivationEnd>(e => e instanceof ActivationEnd));\n return activationEndEvents.pipe(\n switchMap<ActivationEnd, Observable<Record<string, any>|null>>(activationEnd => {\n // router parseUrl is having trouble with outlets when they're empty\n // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty\n const urlTree = router.parseUrl(router.url.replace(/(?:\\().+(?:\\))/g, a => a.replace('://', ':///')));\n const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';\n const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);\n\n if (!actualSnapshot) {\n return of(null);\n }\n\n let actualDeep = actualSnapshot;\n while (actualDeep.firstChild) {\n actualDeep = actualDeep.firstChild;\n }\n const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';\n\n const params = {\n [SCREEN_NAME_KEY]: screenName,\n [PAGE_PATH_KEY]: `/${pagePath}`,\n [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,\n [FIREBASE_SCREEN_NAME_KEY]: screenName,\n [OUTLET_KEY]: activationEnd.snapshot.outlet\n };\n if (title) {\n params[PAGE_TITLE_KEY] = title.getTitle();\n }\n\n let component = actualSnapshot.component;\n if (component) {\n if (component === ɵEmptyOutletComponent) {\n let deepSnapshot = activationEnd.snapshot;\n // TODO when might there be mutple children, different outlets? explore\n while (deepSnapshot.firstChild) {\n deepSnapshot = deepSnapshot.firstChild;\n }\n component = deepSnapshot.component;\n }\n } else {\n component = activationEnd.snapshot.component;\n }\n\n if (typeof component === 'string') {\n return of({ ...params, [SCREEN_CLASS_KEY]: component });\n } else if (component) {\n const componentFactory = componentFactoryResolver.resolveComponentFactory(component);\n return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });\n }\n // lazy loads cause extra activations, ignore\n return of(null);\n }),\n filter(it => !!it),\n map(params => ({\n [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),\n ...params\n })),\n groupBy(it => it[OUTLET_KEY]),\n mergeMap(it => it.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n startWith<any, any>(undefined),\n pairwise(),\n map(([prior, current]) =>\n prior ? {\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],\n ...current\n } : current\n ),\n ))\n );\n};\n\n@Injectable()\nexport class ScreenTrackingService implements OnDestroy {\n\n private disposable: Subscription | undefined;\n\n constructor(\n @Optional() router: Router,\n @Optional() title: Title,\n componentFactoryResolver: ComponentFactoryResolver,\n zone: NgZone,\n @Optional() userTrackingService: UserTrackingService,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'screen-tracking');\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (!router || !analytics) { return; }\n zone.runOutsideAngular(() => {\n this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(\n switchMap(async params => {\n if (userTrackingService) { await userTrackingService.initialized; }\n return logEvent(analytics, SCREEN_VIEW_EVENT, params);\n })\n ).subscribe();\n });\n });\n }\n\n ngOnDestroy() {\n if (this.disposable) {\n this.disposable.unsubscribe();\n }\n }\n\n}\n","import {\n APP_INITIALIZER,\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { Analytics as FirebaseAnalytics } from 'firebase/analytics';\nimport { registerVersion } from 'firebase/app';\nimport { ANALYTICS_PROVIDER_NAME, Analytics, AnalyticsInstances } from './analytics';\nimport { isAnalyticsSupportedFactory } from './is-analytics-supported-factory';\nimport { ScreenTrackingService } from './screen-tracking.service';\nimport { UserTrackingService } from './user-tracking.service';\n\nexport const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken<Analytics[]>('angularfire2.analytics-instances');\n\nexport function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp) {\n if (!isAnalyticsSupportedFactory.sync()) { return null; }\n const defaultAnalytics = ɵgetDefaultInstanceOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME, provided, defaultApp);\n return defaultAnalytics && new Analytics(defaultAnalytics);\n}\n\nexport function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics) {\n return (zone: NgZone, injector: Injector) => {\n if (!isAnalyticsSupportedFactory.sync()) { return null; }\n const analytics = zone.runOutsideAngular(() => fn(injector));\n return new Analytics(analytics);\n };\n}\n\nconst ANALYTICS_INSTANCES_PROVIDER = {\n provide: AnalyticsInstances,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {\n provide: Analytics,\n useFactory: defaultAnalyticsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: isAnalyticsSupportedFactory.async,\n multi: true,\n }\n ]\n})\nexport class AnalyticsModule {\n constructor(\n @Optional() _screenTrackingService: ScreenTrackingService,\n @Optional() _userTrackingService: UserTrackingService,\n ) {\n registerVersion('angularfire', VERSION.full, 'analytics');\n }\n}\n\nexport function provideAnalytics(fn: (injector: Injector) => FirebaseAnalytics, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'analytics');\n\n return makeEnvironmentProviders([\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: isAnalyticsSupportedFactory.async,\n multi: true,\n },\n {\n provide: PROVIDED_ANALYTICS_INSTANCES,\n useFactory: analyticsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","isSupported","ɵisSupportedError","ɵzoneWrap","_getAnalytics","_getGoogleAnalyticsClientId","_initializeAnalytics","_logEvent","_setAnalyticsCollectionEnabled","_setConsent","_setCurrentScreen","_setDefaultEventParameters","_settings","_setUserId","_setUserProperties","ɵEmptyOutletComponent","i1","i3.UserTrackingService","ɵgetDefaultInstanceOf","i1.ScreenTrackingService","i2.UserTrackingService","ɵAngularFireSchedulers"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-analytics.mjs","sources":["../../../src/analytics/analytics.ts","../../../src/analytics/firebase.ts","../../../src/analytics/user-tracking.service.ts","../../../src/analytics/screen-tracking.service.ts","../../../src/analytics/analytics.module.ts","../../../src/analytics/angular-fire-analytics.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Analytics as FirebaseAnalytics } from 'firebase/analytics';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface Analytics extends FirebaseAnalytics {}\n\nexport class Analytics {\n constructor(analytics: FirebaseAnalytics) {\n return analytics;\n }\n}\n\nexport const ANALYTICS_PROVIDER_NAME = 'analytics';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnalyticsInstances extends Array<FirebaseAnalytics> {}\n\nexport class AnalyticsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME);\n }\n}\n\nexport const analyticInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME))),\n distinct(),\n);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/analytics';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAnalytics as _getAnalytics,\n getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId,\n initializeAnalytics as _initializeAnalytics,\n isSupported as _isSupported,\n logEvent as _logEvent,\n setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled,\n setConsent as _setConsent,\n setCurrentScreen as _setCurrentScreen,\n setDefaultEventParameters as _setDefaultEventParameters,\n setUserId as _setUserId,\n setUserProperties as _setUserProperties,\n settings as _settings\n} from 'firebase/analytics';\n\nexport const getAnalytics = ɵzoneWrap(_getAnalytics, true);\nexport const getGoogleAnalyticsClientId = ɵzoneWrap(_getGoogleAnalyticsClientId, true);\nexport const initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);\nexport const isSupported = ɵzoneWrap(_isSupported, true);\nexport const logEvent = ɵzoneWrap(_logEvent, true);\nexport const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true);\nexport const setConsent = ɵzoneWrap(_setConsent, true);\nexport const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true);\nexport const setDefaultEventParameters = ɵzoneWrap(_setDefaultEventParameters, true);\nexport const setUserId = ɵzoneWrap(_setUserId, true);\nexport const setUserProperties = ɵzoneWrap(_setUserProperties, true);\nexport const settings = ɵzoneWrap(_settings, true);\n","import { Injectable, Injector, NgZone, OnDestroy } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Auth, authState } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { Subscription } from 'rxjs';\nimport { Analytics } from './analytics';\nimport { isSupported, setUserId } from './firebase';\n\n@Injectable()\nexport class UserTrackingService implements OnDestroy {\n\n public readonly initialized: Promise<void>;\n private disposables: Subscription[] = [];\n\n constructor(\n auth: Auth,\n zone: NgZone,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'user-tracking');\n let resolveInitialized: () => void;\n this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (analytics) {\n this.disposables = [\n // TODO add credential tracking back in\n authState(auth).subscribe(user => {\n setUserId(analytics, user?.uid);\n resolveInitialized();\n }),\n ];\n } else {\n resolveInitialized();\n }\n });\n }\n\n ngOnDestroy() {\n this.disposables.forEach(it => it.unsubscribe());\n }\n}\n","import { ComponentFactoryResolver, Injectable, Injector, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Title } from '@angular/platform-browser';\nimport { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';\nimport { registerVersion } from 'firebase/app';\nimport { Observable, Subscription, of } from 'rxjs';\nimport { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';\nimport { Analytics } from './analytics';\nimport { isSupported, logEvent } from './firebase';\nimport { UserTrackingService } from './user-tracking.service';\n\nconst FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';\nconst FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';\nconst FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';\nconst FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';\nconst FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';\nconst FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';\nconst FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';\nconst OUTLET_KEY = 'outlet';\nconst PAGE_PATH_KEY = 'page_path';\nconst PAGE_TITLE_KEY = 'page_title';\nconst SCREEN_CLASS_KEY = 'screen_class';\nconst SCREEN_NAME_KEY = 'screen_name';\nconst SCREEN_VIEW_EVENT = 'screen_view';\nconst EVENT_ORIGIN_AUTO = 'auto';\nconst SCREEN_INSTANCE_DELIMITER = '#';\n\n// this is an INT64 in iOS/Android but use INT32 cause javascript\nlet nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;\n\nconst knownScreenInstanceIDs: Record<string, number> = {};\n\nconst getScreenInstanceID = (params: Record<string, any>) => {\n // unique the screen class against the outlet name\n const screenInstanceKey = [\n params[SCREEN_CLASS_KEY],\n params[OUTLET_KEY]\n ].join(SCREEN_INSTANCE_DELIMITER);\n // eslint-disable-next-line no-prototype-builtins\n if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {\n return knownScreenInstanceIDs[screenInstanceKey];\n } else {\n const ret = nextScreenInstanceID++;\n knownScreenInstanceIDs[screenInstanceKey] = ret;\n return ret;\n }\n};\n\nexport const ɵscreenViewEvent = (\n router: Router,\n title: Title|null,\n componentFactoryResolver: ComponentFactoryResolver,\n): Observable<{\n [SCREEN_NAME_KEY]: string,\n [PAGE_PATH_KEY]: string,\n [FIREBASE_EVENT_ORIGIN_KEY]: 'auto',\n [FIREBASE_SCREEN_NAME_KEY]: string,\n [OUTLET_KEY]: string,\n [PAGE_TITLE_KEY]?: string,\n [SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: number,\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: number,\n}> => {\n const activationEndEvents = router.events.pipe(filter<ActivationEnd>(e => e instanceof ActivationEnd));\n return activationEndEvents.pipe(\n switchMap<ActivationEnd, Observable<Record<string, any>|null>>(activationEnd => {\n // router parseUrl is having trouble with outlets when they're empty\n // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty\n const urlTree = router.parseUrl(router.url.replace(/(?:\\().+(?:\\))/g, a => a.replace('://', ':///')));\n const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';\n const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);\n\n if (!actualSnapshot) {\n return of(null);\n }\n\n let actualDeep = actualSnapshot;\n while (actualDeep.firstChild) {\n actualDeep = actualDeep.firstChild;\n }\n const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';\n\n const params = {\n [SCREEN_NAME_KEY]: screenName,\n [PAGE_PATH_KEY]: `/${pagePath}`,\n [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,\n [FIREBASE_SCREEN_NAME_KEY]: screenName,\n [OUTLET_KEY]: activationEnd.snapshot.outlet\n };\n if (title) {\n params[PAGE_TITLE_KEY] = title.getTitle();\n }\n\n let component = actualSnapshot.component;\n if (component) {\n if (component === ɵEmptyOutletComponent) {\n let deepSnapshot = activationEnd.snapshot;\n // TODO when might there be mutple children, different outlets? explore\n while (deepSnapshot.firstChild) {\n deepSnapshot = deepSnapshot.firstChild;\n }\n component = deepSnapshot.component;\n }\n } else {\n component = activationEnd.snapshot.component;\n }\n\n if (typeof component === 'string') {\n return of({ ...params, [SCREEN_CLASS_KEY]: component });\n } else if (component) {\n const componentFactory = componentFactoryResolver.resolveComponentFactory(component);\n return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });\n }\n // lazy loads cause extra activations, ignore\n return of(null);\n }),\n filter(it => !!it),\n map(params => ({\n [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),\n ...params\n })),\n groupBy(it => it[OUTLET_KEY]),\n mergeMap(it => it.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n startWith<any, any>(undefined),\n pairwise(),\n map(([prior, current]) =>\n prior ? {\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],\n ...current\n } : current\n ),\n ))\n );\n};\n\n@Injectable()\nexport class ScreenTrackingService implements OnDestroy {\n\n private disposable: Subscription | undefined;\n\n constructor(\n @Optional() router: Router,\n @Optional() title: Title,\n componentFactoryResolver: ComponentFactoryResolver,\n zone: NgZone,\n @Optional() userTrackingService: UserTrackingService,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'screen-tracking');\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (!router || !analytics) { return; }\n zone.runOutsideAngular(() => {\n this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(\n switchMap(async params => {\n if (userTrackingService) { await userTrackingService.initialized; }\n return logEvent(analytics, SCREEN_VIEW_EVENT, params);\n })\n ).subscribe();\n });\n });\n }\n\n ngOnDestroy() {\n if (this.disposable) {\n this.disposable.unsubscribe();\n }\n }\n\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { Analytics as FirebaseAnalytics } from 'firebase/analytics';\nimport { registerVersion } from 'firebase/app';\nimport { ANALYTICS_PROVIDER_NAME, Analytics, AnalyticsInstances } from './analytics';\nimport { ScreenTrackingService } from './screen-tracking.service';\nimport { UserTrackingService } from './user-tracking.service';\n\nexport const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken<Analytics[]>('angularfire2.analytics-instances');\n\nexport function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp, platformId: object) {\n if (!isPlatformBrowser(platformId)) { return null; }\n const defaultAnalytics = ɵgetDefaultInstanceOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME, provided, defaultApp);\n return defaultAnalytics && new Analytics(defaultAnalytics);\n}\n\nexport function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics) {\n return (zone: NgZone, injector: Injector, platformId: object) => {\n if (!isPlatformBrowser(platformId)) { return null; }\n const analytics = zone.runOutsideAngular(() => fn(injector));\n return new Analytics(analytics);\n };\n}\n\nconst ANALYTICS_INSTANCES_PROVIDER = {\n provide: AnalyticsInstances,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {\n provide: Analytics,\n useFactory: defaultAnalyticsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER\n ]\n})\nexport class AnalyticsModule {\n constructor(\n @Optional() _screenTrackingService: ScreenTrackingService,\n @Optional() _userTrackingService: UserTrackingService,\n ) {\n registerVersion('angularfire', VERSION.full, 'analytics');\n }\n}\n\nexport function provideAnalytics(fn: (injector: Injector) => FirebaseAnalytics, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'analytics');\n\n return makeEnvironmentProviders([\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_ANALYTICS_INSTANCES,\n useFactory: analyticsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵzoneWrap","_getAnalytics","_getGoogleAnalyticsClientId","_initializeAnalytics","_isSupported","_logEvent","_setAnalyticsCollectionEnabled","_setConsent","_setCurrentScreen","_setDefaultEventParameters","_setUserId","_setUserProperties","_settings","ɵEmptyOutletComponent","i1","i3.UserTrackingService","ɵgetDefaultInstanceOf","i1.ScreenTrackingService","i2.UserTrackingService","ɵAngularFireSchedulers"],"mappings":"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"}
@@ -53,14 +53,14 @@ class AppCheckModule {
53
53
  constructor() {
54
54
  registerVersion('angularfire', VERSION.full, 'app-check');
55
55
  }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AppCheckModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AppCheckModule });
58
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AppCheckModule, providers: [
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AppCheckModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: AppCheckModule });
58
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AppCheckModule, providers: [
59
59
  DEFAULT_APP_CHECK_INSTANCE_PROVIDER,
60
60
  APP_CHECK_INSTANCES_PROVIDER,
61
61
  ] });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AppCheckModule, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AppCheckModule, decorators: [{
64
64
  type: NgModule,
65
65
  args: [{
66
66
  providers: [