@angular/fire 7.6.1 → 16.0.0-canary.5793d6f

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 (515) hide show
  1. package/analytics/analytics.module.d.ts +2 -2
  2. package/analytics/is-analytics-supported-factory.d.ts +4 -0
  3. package/analytics/screen-tracking.service.d.ts +3 -3
  4. package/app-check/app-check.d.ts +0 -6
  5. package/app-check/app-check.module.d.ts +3 -4
  6. package/app-check/public_api.d.ts +2 -1
  7. package/auth/auth.module.d.ts +2 -2
  8. package/auth-guard/auth-guard.d.ts +6 -6
  9. package/compat/analytics/analytics.d.ts +1 -3
  10. package/compat/analytics/analytics.module.d.ts +1 -1
  11. package/compat/analytics/screen-tracking.service.d.ts +1 -1
  12. package/compat/analytics/user-tracking.service.d.ts +1 -1
  13. package/compat/auth/auth.d.ts +4 -4
  14. package/compat/auth-guard/auth-guard.d.ts +8 -6
  15. package/compat/database/database.d.ts +4 -4
  16. package/compat/database/interfaces.d.ts +14 -14
  17. package/compat/database/list/audit-trail.d.ts +1 -1
  18. package/compat/database/list/create-reference.d.ts +1 -1
  19. package/compat/database/list/data-operation.d.ts +1 -1
  20. package/compat/database/list/state-changes.d.ts +1 -1
  21. package/compat/database/object/create-reference.d.ts +1 -1
  22. package/compat/database/observable/fromRef.d.ts +1 -1
  23. package/compat/database/utils.d.ts +1 -1
  24. package/compat/firebase.app.module.d.ts +1 -1
  25. package/compat/firestore/collection/collection.d.ts +2 -2
  26. package/compat/firestore/collection-group/collection-group.d.ts +2 -2
  27. package/compat/firestore/document/document.d.ts +4 -4
  28. package/compat/firestore/firestore.d.ts +7 -7
  29. package/compat/firestore/interfaces.d.ts +19 -19
  30. package/compat/functions/functions.d.ts +3 -3
  31. package/compat/messaging/messaging.d.ts +2 -2
  32. package/compat/performance/performance.d.ts +2 -2
  33. package/compat/proxy.d.ts +8 -8
  34. package/compat/remote-config/interfaces.d.ts +1 -1
  35. package/compat/remote-config/remote-config.d.ts +15 -49
  36. package/compat/storage/interfaces.d.ts +8 -8
  37. package/compat/storage/observable/fromTask.d.ts +1 -2
  38. package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
  39. package/compat/storage/ref.d.ts +1 -1
  40. package/compat/storage/storage.d.ts +3 -3
  41. package/compat/storage/task.d.ts +1 -1
  42. package/core.d.ts +8 -12
  43. package/database/database.module.d.ts +2 -2
  44. package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +1 -1
  45. package/esm2022/analytics/analytics.module.mjs +94 -0
  46. package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
  47. package/esm2022/analytics/overrides.mjs +3 -0
  48. package/esm2022/analytics/screen-tracking.service.mjs +148 -0
  49. package/esm2022/analytics/user-tracking.service.mjs +44 -0
  50. package/{esm2015/app/app.js → esm2022/app/app.mjs} +1 -1
  51. package/esm2022/app/app.module.mjs +85 -0
  52. package/esm2022/app-check/app-check.mjs +10 -0
  53. package/esm2022/app-check/app-check.module.mjs +78 -0
  54. package/esm2022/app-check/public_api.mjs +5 -0
  55. package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +1 -1
  56. package/esm2022/auth/auth.module.mjs +71 -0
  57. package/esm2022/auth-guard/auth-guard.mjs +53 -0
  58. package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +7 -7
  59. package/esm2022/compat/analytics/analytics.mjs +160 -0
  60. package/esm2022/compat/analytics/analytics.module.mjs +35 -0
  61. package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
  62. package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
  63. package/esm2022/compat/auth/auth.mjs +161 -0
  64. package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +7 -7
  65. package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
  66. package/esm2022/compat/auth-guard/auth-guard.mjs +53 -0
  67. package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +7 -7
  68. package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +4 -3
  69. package/esm2022/compat/database/database.mjs +119 -0
  70. package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +7 -7
  71. package/esm2022/compat/database/interfaces.mjs +2 -0
  72. package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +3 -3
  73. package/esm2022/compat/database/list/changes.mjs +85 -0
  74. package/esm2022/compat/database/list/create-reference.mjs +44 -0
  75. package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +1 -1
  76. package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +1 -1
  77. package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +2 -2
  78. package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +2 -2
  79. package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +1 -1
  80. package/esm2022/compat/database/observable/fromRef.mjs +48 -0
  81. package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +1 -1
  82. package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +1 -1
  83. package/esm2022/compat/firebase.app.module.mjs +71 -0
  84. package/esm2022/compat/firestore/collection/changes.mjs +108 -0
  85. package/esm2022/compat/firestore/collection/collection.mjs +123 -0
  86. package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
  87. package/esm2022/compat/firestore/document/document.mjs +87 -0
  88. package/esm2022/compat/firestore/firestore.mjs +257 -0
  89. package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +7 -7
  90. package/esm2022/compat/firestore/interfaces.mjs +2 -0
  91. package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
  92. package/esm2022/compat/functions/functions.mjs +69 -0
  93. package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +7 -7
  94. package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
  95. package/esm2022/compat/messaging/messaging.mjs +81 -0
  96. package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +7 -7
  97. package/esm2022/compat/performance/performance.mjs +105 -0
  98. package/esm2022/compat/performance/performance.module.mjs +27 -0
  99. package/esm2022/compat/performance/performance.service.mjs +28 -0
  100. package/esm2022/compat/proxy.mjs +58 -0
  101. package/esm2022/compat/remote-config/remote-config.mjs +206 -0
  102. package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +7 -7
  103. package/esm2022/compat/storage/observable/fromTask.mjs +36 -0
  104. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
  105. package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +3 -3
  106. package/esm2022/compat/storage/storage.mjs +95 -0
  107. package/esm2022/compat/storage/storage.module.mjs +22 -0
  108. package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +2 -2
  109. package/esm2022/core.mjs +43 -0
  110. package/{esm2015/database/database.js → esm2022/database/database.mjs} +1 -1
  111. package/esm2022/database/database.module.mjs +74 -0
  112. package/esm2022/firestore/firebase.mjs +54 -0
  113. package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +1 -1
  114. package/esm2022/firestore/firestore.module.mjs +74 -0
  115. package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +1 -1
  116. package/esm2022/firestore/lite/lite.module.mjs +73 -0
  117. package/esm2022/firestore/rxfire.mjs +15 -0
  118. package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +1 -1
  119. package/esm2022/functions/functions.module.mjs +74 -0
  120. package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
  121. package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +1 -1
  122. package/esm2022/messaging/messaging.module.mjs +86 -0
  123. package/esm2022/messaging/overrides.mjs +3 -0
  124. package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +1 -1
  125. package/esm2022/performance/performance.module.mjs +81 -0
  126. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
  127. package/esm2022/remote-config/overrides.mjs +3 -0
  128. package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +1 -1
  129. package/esm2022/remote-config/remote-config.module.mjs +86 -0
  130. package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +1 -1
  131. package/esm2022/storage/storage.module.mjs +74 -0
  132. package/esm2022/zones.mjs +194 -0
  133. package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +64 -40
  134. package/fesm2022/angular-fire-analytics.mjs.map +1 -0
  135. package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +16 -24
  136. package/fesm2022/angular-fire-app-check.mjs.map +1 -0
  137. package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +10 -9
  138. package/fesm2022/angular-fire-app.mjs.map +1 -0
  139. package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +31 -27
  140. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
  141. package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +10 -11
  142. package/fesm2022/angular-fire-auth.mjs.map +1 -0
  143. package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +43 -41
  144. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
  145. package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +30 -26
  146. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
  147. package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +38 -16
  148. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
  149. package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +138 -132
  150. package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
  151. package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +119 -98
  152. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
  153. package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +13 -12
  154. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
  155. package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +25 -19
  156. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
  157. package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +29 -34
  158. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
  159. package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +35 -22
  160. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
  161. package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +30 -23
  162. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
  163. package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +25 -25
  164. package/fesm2022/angular-fire-compat.mjs.map +1 -0
  165. package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +11 -12
  166. package/fesm2022/angular-fire-database.mjs.map +1 -0
  167. package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +11 -12
  168. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
  169. package/{fesm2015/angular-fire-firestore.js → fesm2022/angular-fire-firestore.mjs} +17 -15
  170. package/fesm2022/angular-fire-firestore.mjs.map +1 -0
  171. package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +12 -13
  172. package/fesm2022/angular-fire-functions.mjs.map +1 -0
  173. package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
  174. package/fesm2022/angular-fire-messaging.mjs.map +1 -0
  175. package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +11 -11
  176. package/fesm2022/angular-fire-performance.mjs.map +1 -0
  177. package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
  178. package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
  179. package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +10 -11
  180. package/fesm2022/angular-fire-storage.mjs.map +1 -0
  181. package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +33 -58
  182. package/fesm2022/angular-fire.mjs.map +1 -0
  183. package/firestore/firebase.d.ts +2 -1
  184. package/firestore/firestore.module.d.ts +2 -2
  185. package/firestore/lite/lite.module.d.ts +2 -2
  186. package/firestore/rxfire.d.ts +3 -1
  187. package/functions/functions.module.d.ts +2 -2
  188. package/messaging/is-messaging-supported-factory.d.ts +4 -0
  189. package/messaging/messaging.module.d.ts +2 -2
  190. package/package.json +158 -7
  191. package/performance/performance.module.d.ts +2 -2
  192. package/publish.sh +1 -0
  193. package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
  194. package/remote-config/remote-config.module.d.ts +2 -2
  195. package/schematics/add/index.js +2 -2
  196. package/schematics/common.js +9 -5
  197. package/schematics/deploy/actions.js +69 -69
  198. package/schematics/deploy/builder.js +7 -7
  199. package/schematics/firebaseTools.js +9 -5
  200. package/schematics/setup/index.js +27 -27
  201. package/schematics/setup/prompts.js +22 -18
  202. package/schematics/update/index.js +1 -1
  203. package/schematics/update/v7/index.js +7 -7
  204. package/schematics/utils.js +34 -34
  205. package/storage/storage.module.d.ts +2 -2
  206. package/README.md +0 -216
  207. package/analytics/package.json +0 -11
  208. package/app/package.json +0 -11
  209. package/app-check/package.json +0 -11
  210. package/auth/package.json +0 -11
  211. package/auth-guard/package.json +0 -11
  212. package/bundles/angular-fire-analytics.umd.js +0 -673
  213. package/bundles/angular-fire-analytics.umd.js.map +0 -1
  214. package/bundles/angular-fire-app-check.umd.js +0 -465
  215. package/bundles/angular-fire-app-check.umd.js.map +0 -1
  216. package/bundles/angular-fire-app.umd.js +0 -477
  217. package/bundles/angular-fire-app.umd.js.map +0 -1
  218. package/bundles/angular-fire-auth-guard.umd.js +0 -109
  219. package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
  220. package/bundles/angular-fire-auth.umd.js +0 -557
  221. package/bundles/angular-fire-auth.umd.js.map +0 -1
  222. package/bundles/angular-fire-compat-analytics.umd.js +0 -672
  223. package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
  224. package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
  225. package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
  226. package/bundles/angular-fire-compat-auth.umd.js +0 -559
  227. package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
  228. package/bundles/angular-fire-compat-database.umd.js +0 -799
  229. package/bundles/angular-fire-compat-database.umd.js.map +0 -1
  230. package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
  231. package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
  232. package/bundles/angular-fire-compat-functions.umd.js +0 -443
  233. package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
  234. package/bundles/angular-fire-compat-messaging.umd.js +0 -465
  235. package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
  236. package/bundles/angular-fire-compat-performance.umd.js +0 -212
  237. package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
  238. package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
  239. package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
  240. package/bundles/angular-fire-compat-storage.umd.js +0 -598
  241. package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
  242. package/bundles/angular-fire-compat.umd.js +0 -535
  243. package/bundles/angular-fire-compat.umd.js.map +0 -1
  244. package/bundles/angular-fire-database.umd.js +0 -557
  245. package/bundles/angular-fire-database.umd.js.map +0 -1
  246. package/bundles/angular-fire-firestore-lite.umd.js +0 -531
  247. package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
  248. package/bundles/angular-fire-firestore.umd.js +0 -565
  249. package/bundles/angular-fire-firestore.umd.js.map +0 -1
  250. package/bundles/angular-fire-functions.umd.js +0 -461
  251. package/bundles/angular-fire-functions.umd.js.map +0 -1
  252. package/bundles/angular-fire-messaging.umd.js +0 -473
  253. package/bundles/angular-fire-messaging.umd.js.map +0 -1
  254. package/bundles/angular-fire-performance.umd.js +0 -473
  255. package/bundles/angular-fire-performance.umd.js.map +0 -1
  256. package/bundles/angular-fire-remote-config.umd.js +0 -499
  257. package/bundles/angular-fire-remote-config.umd.js.map +0 -1
  258. package/bundles/angular-fire-storage.umd.js +0 -485
  259. package/bundles/angular-fire-storage.umd.js.map +0 -1
  260. package/bundles/angular-fire.umd.js +0 -308
  261. package/bundles/angular-fire.umd.js.map +0 -1
  262. package/compat/analytics/package.json +0 -11
  263. package/compat/auth/package.json +0 -11
  264. package/compat/auth-guard/package.json +0 -11
  265. package/compat/database/package.json +0 -11
  266. package/compat/firestore/package.json +0 -11
  267. package/compat/functions/package.json +0 -11
  268. package/compat/messaging/package.json +0 -11
  269. package/compat/package.json +0 -11
  270. package/compat/performance/package.json +0 -11
  271. package/compat/remote-config/package.json +0 -11
  272. package/compat/storage/package.json +0 -11
  273. package/database/package.json +0 -11
  274. package/docs/analytics.md +0 -67
  275. package/docs/app-check.md +0 -53
  276. package/docs/auth.md +0 -165
  277. package/docs/compat/analytics/getting-started.md +0 -137
  278. package/docs/compat/auth/getting-started.md +0 -162
  279. package/docs/compat/auth/router-guards.md +0 -104
  280. package/docs/compat/emulators/emulators.md +0 -134
  281. package/docs/compat/firestore/collections.md +0 -326
  282. package/docs/compat/firestore/documents.md +0 -115
  283. package/docs/compat/firestore/offline-data.md +0 -39
  284. package/docs/compat/firestore/querying-collections.md +0 -204
  285. package/docs/compat/functions/functions.md +0 -166
  286. package/docs/compat/messaging/messaging.md +0 -232
  287. package/docs/compat/performance/getting-started.md +0 -132
  288. package/docs/compat/remote-config/getting-started.md +0 -134
  289. package/docs/compat/rtdb/lists.md +0 -257
  290. package/docs/compat/rtdb/objects.md +0 -182
  291. package/docs/compat/rtdb/querying-lists.md +0 -155
  292. package/docs/compat/storage/storage.md +0 -257
  293. package/docs/compat.md +0 -70
  294. package/docs/database.md +0 -175
  295. package/docs/deploy/getting-started.md +0 -204
  296. package/docs/firebase.json +0 -16
  297. package/docs/firestore.md +0 -148
  298. package/docs/functions.md +0 -52
  299. package/docs/images/analytics-illo_1x.png +0 -0
  300. package/docs/images/auth-illo_1x.png +0 -0
  301. package/docs/images/cloud-messaging-illo_1x.png +0 -0
  302. package/docs/images/database-illo_1x.png +0 -0
  303. package/docs/images/firestore-illo_1x.png +0 -0
  304. package/docs/images/functions-illo_1x.png +0 -0
  305. package/docs/images/hosting-illo_1x.png +0 -0
  306. package/docs/images/performance-illo_1x.png +0 -0
  307. package/docs/images/reCAPTCHA-logo@1x.png +0 -0
  308. package/docs/images/remote-config-illo_1x.png +0 -0
  309. package/docs/images/storage-illo_1x.png +0 -0
  310. package/docs/install-and-setup.md +0 -114
  311. package/docs/install-angular-cli-windows10.md +0 -82
  312. package/docs/messaging.md +0 -25
  313. package/docs/performance.md +0 -57
  314. package/docs/remote-config.md +0 -53
  315. package/docs/storage.md +0 -90
  316. package/docs/universal/cloud-functions.md +0 -75
  317. package/docs/universal/getting-started.md +0 -153
  318. package/docs/universal/prerendering.md +0 -72
  319. package/docs/version-4-upgrade.md +0 -119
  320. package/docs/version-5-upgrade.md +0 -82
  321. package/docs/version-6-upgrade.md +0 -16
  322. package/docs/version-7-upgrade.md +0 -298
  323. package/esm2015/analytics/analytics.module.js +0 -93
  324. package/esm2015/analytics/overrides.js +0 -3
  325. package/esm2015/analytics/screen-tracking.service.js +0 -139
  326. package/esm2015/analytics/user-tracking.service.js +0 -43
  327. package/esm2015/app/app.module.js +0 -84
  328. package/esm2015/app-check/app-check.js +0 -16
  329. package/esm2015/app-check/app-check.module.js +0 -81
  330. package/esm2015/app-check/public_api.js +0 -4
  331. package/esm2015/auth/auth.module.js +0 -71
  332. package/esm2015/auth-guard/auth-guard.js +0 -49
  333. package/esm2015/compat/analytics/analytics.js +0 -163
  334. package/esm2015/compat/analytics/analytics.module.js +0 -32
  335. package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
  336. package/esm2015/compat/analytics/user-tracking.service.js +0 -52
  337. package/esm2015/compat/auth/auth.js +0 -139
  338. package/esm2015/compat/auth-guard/auth-guard.js +0 -49
  339. package/esm2015/compat/database/database.js +0 -117
  340. package/esm2015/compat/database/interfaces.js +0 -2
  341. package/esm2015/compat/database/list/changes.js +0 -85
  342. package/esm2015/compat/database/list/create-reference.js +0 -41
  343. package/esm2015/compat/database/observable/fromRef.js +0 -47
  344. package/esm2015/compat/firebase.app.module.js +0 -69
  345. package/esm2015/compat/firestore/collection/changes.js +0 -107
  346. package/esm2015/compat/firestore/collection/collection.js +0 -117
  347. package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
  348. package/esm2015/compat/firestore/document/document.js +0 -82
  349. package/esm2015/compat/firestore/firestore.js +0 -254
  350. package/esm2015/compat/firestore/interfaces.js +0 -2
  351. package/esm2015/compat/firestore/observable/fromRef.js +0 -39
  352. package/esm2015/compat/functions/functions.js +0 -68
  353. package/esm2015/compat/messaging/messaging.js +0 -75
  354. package/esm2015/compat/performance/performance.js +0 -110
  355. package/esm2015/compat/performance/performance.module.js +0 -28
  356. package/esm2015/compat/performance/performance.service.js +0 -27
  357. package/esm2015/compat/proxy.js +0 -61
  358. package/esm2015/compat/remote-config/remote-config.js +0 -193
  359. package/esm2015/compat/storage/observable/fromTask.js +0 -34
  360. package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
  361. package/esm2015/compat/storage/storage.js +0 -94
  362. package/esm2015/compat/storage/storage.module.js +0 -22
  363. package/esm2015/core.js +0 -79
  364. package/esm2015/database/database.module.js +0 -74
  365. package/esm2015/firestore/firebase.js +0 -53
  366. package/esm2015/firestore/firestore.module.js +0 -74
  367. package/esm2015/firestore/lite/lite.module.js +0 -74
  368. package/esm2015/firestore/rxfire.js +0 -13
  369. package/esm2015/functions/functions.module.js +0 -74
  370. package/esm2015/messaging/messaging.module.js +0 -85
  371. package/esm2015/messaging/overrides.js +0 -3
  372. package/esm2015/performance/performance.module.js +0 -81
  373. package/esm2015/remote-config/overrides.js +0 -3
  374. package/esm2015/remote-config/remote-config.module.js +0 -85
  375. package/esm2015/storage/storage.module.js +0 -74
  376. package/esm2015/zones.js +0 -183
  377. package/fesm2015/angular-fire-analytics.js.map +0 -1
  378. package/fesm2015/angular-fire-app-check.js.map +0 -1
  379. package/fesm2015/angular-fire-app.js.map +0 -1
  380. package/fesm2015/angular-fire-auth-guard.js.map +0 -1
  381. package/fesm2015/angular-fire-auth.js.map +0 -1
  382. package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
  383. package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
  384. package/fesm2015/angular-fire-compat-auth.js.map +0 -1
  385. package/fesm2015/angular-fire-compat-database.js.map +0 -1
  386. package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
  387. package/fesm2015/angular-fire-compat-functions.js.map +0 -1
  388. package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
  389. package/fesm2015/angular-fire-compat-performance.js.map +0 -1
  390. package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
  391. package/fesm2015/angular-fire-compat-storage.js.map +0 -1
  392. package/fesm2015/angular-fire-compat.js.map +0 -1
  393. package/fesm2015/angular-fire-database.js.map +0 -1
  394. package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
  395. package/fesm2015/angular-fire-firestore.js.map +0 -1
  396. package/fesm2015/angular-fire-functions.js.map +0 -1
  397. package/fesm2015/angular-fire-messaging.js.map +0 -1
  398. package/fesm2015/angular-fire-performance.js.map +0 -1
  399. package/fesm2015/angular-fire-remote-config.js.map +0 -1
  400. package/fesm2015/angular-fire-storage.js.map +0 -1
  401. package/fesm2015/angular-fire.js.map +0 -1
  402. package/firestore/lite/package.json +0 -11
  403. package/firestore/package.json +0 -11
  404. package/firestore-protos.js +0 -4
  405. package/functions/package.json +0 -11
  406. package/messaging/package.json +0 -11
  407. package/performance/package.json +0 -11
  408. package/remote-config/package.json +0 -11
  409. package/schematics/add/schema.json +0 -16
  410. package/schematics/builders.json +0 -10
  411. package/schematics/collection.json +0 -15
  412. package/schematics/deploy/schema.json +0 -119
  413. package/schematics/migration.json +0 -15
  414. package/schematics/setup/schema.json +0 -16
  415. package/storage/package.json +0 -11
  416. /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
  417. /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
  418. /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
  419. /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
  420. /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
  421. /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
  422. /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
  423. /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
  424. /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
  425. /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
  426. /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
  427. /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
  428. /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
  429. /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
  430. /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
  431. /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
  432. /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
  433. /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
  434. /package/{esm2015/analytics/firebase.js → esm2022/analytics/firebase.mjs} +0 -0
  435. /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
  436. /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
  437. /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
  438. /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
  439. /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
  440. /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
  441. /package/{esm2015/app-check/firebase.js → esm2022/app-check/firebase.mjs} +0 -0
  442. /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
  443. /package/{esm2015/auth/firebase.js → esm2022/auth/firebase.mjs} +0 -0
  444. /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
  445. /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
  446. /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
  447. /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
  448. /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
  449. /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
  450. /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
  451. /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
  452. /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
  453. /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
  454. /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
  455. /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
  456. /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
  457. /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
  458. /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
  459. /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
  460. /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
  461. /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
  462. /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
  463. /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
  464. /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
  465. /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
  466. /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
  467. /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
  468. /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
  469. /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
  470. /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
  471. /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
  472. /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
  473. /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
  474. /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
  475. /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
  476. /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
  477. /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
  478. /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
  479. /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
  480. /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
  481. /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
  482. /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
  483. /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
  484. /package/{esm2015/firestore/lite/firebase.js → esm2022/firestore/lite/firebase.mjs} +0 -0
  485. /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
  486. /package/{esm2015/firestore/lite/rxfire.js → esm2022/firestore/lite/rxfire.mjs} +0 -0
  487. /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
  488. /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
  489. /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
  490. /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
  491. /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
  492. /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
  493. /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
  494. /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
  495. /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
  496. /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
  497. /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
  498. /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
  499. /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
  500. /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
  501. /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
  502. /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
  503. /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
  504. /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
  505. /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
  506. /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
  507. /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
  508. /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
  509. /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
  510. /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
  511. /package/{angular-fire.d.ts → index.d.ts} +0 -0
  512. /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
  513. /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
  514. /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
  515. /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
@@ -1,14 +1,12 @@
1
1
  import { InjectionToken, NgZone } from '@angular/core';
2
- import { MonoTypeOperatorFunction, Observable, OperatorFunction } from 'rxjs';
3
2
  import { ɵAngularFireSchedulers } from '@angular/fire';
4
3
  import { ɵPromiseProxy } from '@angular/fire/compat';
5
4
  import { FirebaseOptions } from 'firebase/app';
6
5
  import firebase from 'firebase/compat/app';
6
+ import { MonoTypeOperatorFunction, Observable, OperatorFunction } from 'rxjs';
7
7
  import { Settings } from './interfaces';
8
8
  import * as i0 from "@angular/core";
9
- export interface ConfigTemplate {
10
- [key: string]: string | number | boolean;
11
- }
9
+ export type ConfigTemplate = Record<string, string | number | boolean>;
12
10
  export declare const SETTINGS: InjectionToken<firebase.remoteConfig.Settings>;
13
11
  export declare const DEFAULTS: InjectionToken<ConfigTemplate>;
14
12
  export interface AngularFireRemoteConfig extends ɵPromiseProxy<firebase.remoteConfig.RemoteConfig> {
@@ -33,53 +31,21 @@ export declare class AngularFireRemoteConfig {
33
31
  private zone;
34
32
  readonly changes: Observable<Parameter>;
35
33
  readonly parameters: Observable<Parameter[]>;
36
- readonly numbers: Observable<{
37
- [key: string]: number | undefined;
38
- }> & {
39
- [key: string]: Observable<number>;
40
- };
41
- readonly booleans: Observable<{
42
- [key: string]: boolean | undefined;
43
- }> & {
44
- [key: string]: Observable<boolean>;
45
- };
46
- readonly strings: Observable<{
47
- [key: string]: string | undefined;
48
- }> & {
49
- [key: string]: Observable<string | undefined>;
50
- };
34
+ readonly numbers: Observable<Record<string, number | undefined>> & Record<string, Observable<number>>;
35
+ readonly booleans: Observable<Record<string, boolean | undefined>> & Record<string, Observable<boolean>>;
36
+ readonly strings: Observable<Record<string, string | undefined>> & Record<string, Observable<string | undefined>>;
51
37
  constructor(options: FirebaseOptions, name: string | null | undefined, settings: Settings | null, defaultConfig: ConfigTemplate | null, zone: NgZone, schedulers: ɵAngularFireSchedulers, platformId: Object);
52
38
  static ɵfac: i0.ɵɵFactoryDeclaration<AngularFireRemoteConfig, [null, { optional: true; }, { optional: true; }, { optional: true; }, null, null, null]>;
53
39
  static ɵprov: i0.ɵɵInjectableDeclaration<AngularFireRemoteConfig>;
54
40
  }
55
41
  export declare const budget: <T>(interval: number) => MonoTypeOperatorFunction<T>;
56
- export declare function scanToObject(): OperatorFunction<Parameter, {
57
- [key: string]: string | undefined;
58
- }>;
59
- export declare function scanToObject(to: 'numbers'): OperatorFunction<Parameter, {
60
- [key: string]: number | undefined;
61
- }>;
62
- export declare function scanToObject(to: 'booleans'): OperatorFunction<Parameter, {
63
- [key: string]: boolean | undefined;
64
- }>;
65
- export declare function scanToObject(to: 'strings'): OperatorFunction<Parameter, {
66
- [key: string]: string | undefined;
67
- }>;
68
- export declare function scanToObject<T extends ConfigTemplate>(template: T): OperatorFunction<Parameter, T & {
69
- [key: string]: string | undefined;
70
- }>;
71
- export declare function mapToObject(): OperatorFunction<Parameter[], {
72
- [key: string]: string | undefined;
73
- }>;
74
- export declare function mapToObject(to: 'numbers'): OperatorFunction<Parameter[], {
75
- [key: string]: number | undefined;
76
- }>;
77
- export declare function mapToObject(to: 'booleans'): OperatorFunction<Parameter[], {
78
- [key: string]: boolean | undefined;
79
- }>;
80
- export declare function mapToObject(to: 'strings'): OperatorFunction<Parameter[], {
81
- [key: string]: string | undefined;
82
- }>;
83
- export declare function mapToObject<T extends ConfigTemplate>(template: T): OperatorFunction<Parameter[], T & {
84
- [key: string]: string | undefined;
85
- }>;
42
+ export declare function scanToObject(): OperatorFunction<Parameter, Record<string, string | undefined>>;
43
+ export declare function scanToObject(to: 'numbers'): OperatorFunction<Parameter, Record<string, number | undefined>>;
44
+ export declare function scanToObject(to: 'booleans'): OperatorFunction<Parameter, Record<string, boolean | undefined>>;
45
+ export declare function scanToObject(to: 'strings'): OperatorFunction<Parameter, Record<string, string | undefined>>;
46
+ export declare function scanToObject<T extends ConfigTemplate>(template: T): OperatorFunction<Parameter, T & Record<string, string | undefined>>;
47
+ export declare function mapToObject(): OperatorFunction<Parameter[], Record<string, string | undefined>>;
48
+ export declare function mapToObject(to: 'numbers'): OperatorFunction<Parameter[], Record<string, number | undefined>>;
49
+ export declare function mapToObject(to: 'booleans'): OperatorFunction<Parameter[], Record<string, boolean | undefined>>;
50
+ export declare function mapToObject(to: 'strings'): OperatorFunction<Parameter[], Record<string, string | undefined>>;
51
+ export declare function mapToObject<T extends ConfigTemplate>(template: T): OperatorFunction<Parameter[], T & Record<string, string | undefined>>;
@@ -1,9 +1,9 @@
1
1
  import firebase from 'firebase/compat/app';
2
- export declare type UploadTask = firebase.storage.UploadTask;
3
- export declare type UploadTaskSnapshot = firebase.storage.UploadTaskSnapshot;
4
- export declare type UploadMetadata = firebase.storage.UploadMetadata;
5
- export declare type SettableMetadata = firebase.storage.SettableMetadata;
6
- export declare type Reference = firebase.storage.Reference;
7
- export declare type StringFormat = firebase.storage.StringFormat;
8
- export declare type ListResult = firebase.storage.ListResult;
9
- export declare type ListOptions = firebase.storage.ListOptions;
2
+ export type UploadTask = firebase.storage.UploadTask;
3
+ export type UploadTaskSnapshot = firebase.storage.UploadTaskSnapshot;
4
+ export type UploadMetadata = firebase.storage.UploadMetadata;
5
+ export type SettableMetadata = firebase.storage.SettableMetadata;
6
+ export type Reference = firebase.storage.Reference;
7
+ export type StringFormat = firebase.storage.StringFormat;
8
+ export type ListResult = firebase.storage.ListResult;
9
+ export type ListOptions = firebase.storage.ListOptions;
@@ -1,4 +1,3 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { UploadTask } from '../interfaces';
3
- import firebase from 'firebase/compat/app';
4
- export declare function fromTask(task: UploadTask): Observable<firebase.storage.UploadTaskSnapshot>;
3
+ export declare function fromTask(task: UploadTask): Observable<import("firebase/compat").default.storage.UploadTaskSnapshot>;
@@ -13,7 +13,7 @@ export declare class GetDownloadURLPipe implements PipeTransform, OnDestroy {
13
13
  transform(path: string): any;
14
14
  ngOnDestroy(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<GetDownloadURLPipe, [null, null, { optional: true; }]>;
16
- static ɵpipe: i0.ɵɵPipeDeclaration<GetDownloadURLPipe, "getDownloadURL">;
16
+ static ɵpipe: i0.ɵɵPipeDeclaration<GetDownloadURLPipe, "getDownloadURL", false>;
17
17
  }
18
18
  export declare class GetDownloadURLPipeModule {
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<GetDownloadURLPipeModule, never>;
@@ -1,6 +1,6 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { ListOptions, ListResult, Reference, SettableMetadata, UploadMetadata } from './interfaces';
2
3
  import { AngularFireUploadTask } from './task';
3
- import { Observable } from 'rxjs';
4
4
  export interface AngularFireStorageReference {
5
5
  getDownloadURL(): Observable<any>;
6
6
  getMetadata(): Observable<any>;
@@ -1,10 +1,10 @@
1
1
  import { InjectionToken, NgZone } from '@angular/core';
2
2
  import { ɵAngularFireSchedulers } from '@angular/fire';
3
+ import { AppCheckInstances } from '@angular/fire/app-check';
3
4
  import { FirebaseOptions } from 'firebase/app';
5
+ import firebase from 'firebase/compat/app';
4
6
  import { UploadMetadata } from './interfaces';
5
7
  import 'firebase/compat/storage';
6
- import firebase from 'firebase/compat/app';
7
- import { AppCheckInstances } from '@angular/fire/app-check';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare const BUCKET: InjectionToken<string>;
10
10
  export declare const MAX_UPLOAD_RETRY_TIME: InjectionToken<number>;
@@ -21,7 +21,7 @@ export declare const USE_EMULATOR: InjectionToken<[host: string, port: number, o
21
21
  */
22
22
  export declare class AngularFireStorage {
23
23
  readonly storage: firebase.storage.Storage;
24
- constructor(options: FirebaseOptions, name: string | null | undefined, storageBucket: string | null, platformId: Object, zone: NgZone, schedulers: ɵAngularFireSchedulers, maxUploadRetryTime: number | any, maxOperationRetryTime: number | any, _useEmulator: any, _appCheckInstances: AppCheckInstances);
24
+ constructor(options: FirebaseOptions, name: string | null | undefined, storageBucket: string | null, platformId: Object, zone: NgZone, schedulers: ɵAngularFireSchedulers, maxUploadRetryTime: any, maxOperationRetryTime: any, _useEmulator: any, _appCheckInstances: AppCheckInstances);
25
25
  ref(path: string): import("./ref").AngularFireStorageReference;
26
26
  refFromURL(path: string): import("./ref").AngularFireStorageReference;
27
27
  upload(path: string, data: any, metadata?: UploadMetadata): import("@angular/fire/compat/storage").AngularFireUploadTask;
@@ -1,5 +1,5 @@
1
- import { UploadTask, UploadTaskSnapshot } from './interfaces';
2
1
  import { Observable } from 'rxjs';
2
+ import { UploadTask, UploadTaskSnapshot } from './interfaces';
3
3
  export interface AngularFireUploadTask {
4
4
  task: UploadTask;
5
5
  snapshotChanges(): Observable<UploadTaskSnapshot | undefined>;
package/core.d.ts CHANGED
@@ -1,17 +1,13 @@
1
1
  import { Version } from '@angular/core';
2
2
  import { FirebaseApp } from 'firebase/app';
3
+ import type { AppCheck } from 'firebase/app-check';
3
4
  export declare const VERSION: Version;
4
- export declare const ɵisMessagingSupportedFactory: {
5
- async: () => any;
6
- sync: () => any;
7
- };
8
- export declare const ɵisRemoteConfigSupportedFactory: {
9
- async: () => any;
10
- sync: () => any;
11
- };
12
- export declare const ɵisAnalyticsSupportedFactory: {
13
- async: () => any;
14
- sync: () => any;
15
- };
5
+ export declare const ɵisSupportedError: (module: string) => string;
16
6
  export declare function ɵgetDefaultInstanceOf<T = unknown>(identifier: string, provided: T[] | undefined, defaultApp: FirebaseApp): T | undefined;
17
7
  export declare const ɵgetAllInstancesOf: <T = unknown>(identifier: string, app?: FirebaseApp) => T[];
8
+ export interface ɵAppCheckInstances extends Array<AppCheck> {
9
+ }
10
+ export declare class ɵAppCheckInstances {
11
+ constructor();
12
+ }
13
+ export declare const ɵAPP_CHECK_PROVIDER_NAME = "app-check";
@@ -1,7 +1,7 @@
1
- import { NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';
1
+ import { InjectionToken, Injector, ModuleWithProviders, NgZone } from '@angular/core';
2
+ import { FirebaseApp } from '@angular/fire/app';
2
3
  import { Database as FirebaseDatabase } from 'firebase/database';
3
4
  import { Database } from './database';
4
- import { FirebaseApp } from '@angular/fire/app';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const PROVIDED_DATABASE_INSTANCES: InjectionToken<Database[]>;
7
7
  export declare function defaultDatabaseInstanceFactory(provided: FirebaseDatabase[] | undefined, defaultApp: FirebaseApp): Database;
@@ -13,4 +13,4 @@ export class AnalyticsInstances {
13
13
  }
14
14
  }
15
15
  export const analyticInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(ANALYTICS_PROVIDER_NAME))), distinct());
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy9hbmFseXRpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNckQsTUFBTSxPQUFPLFNBQVM7SUFDcEIsWUFBWSxTQUE0QjtRQUN0QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUM7QUFLbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QjtRQUNFLE9BQU8sa0JBQWtCLENBQW9CLHVCQUF1QixDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2pELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQW9CLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUNyRixRQUFRLEVBQUUsQ0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5hbHl0aWNzIGFzIEZpcmViYXNlQW5hbHl0aWNzIH0gZnJvbSAnZmlyZWJhc2UvYW5hbHl0aWNzJztcbmltcG9ydCB7IMm1Z2V0QWxsSW5zdGFuY2VzT2YgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IGZyb20sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIGRpc3RpbmN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBzZWUgbm90ZXMgaW4gY29yZS9maXJlYmFzZS5hcHAubW9kdWxlLnRzIGZvciB3aHkgd2UncmUgYnVpbGRpbmcgdGhlIGNsYXNzIGxpa2UgdGhpc1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBbmFseXRpY3MgZXh0ZW5kcyBGaXJlYmFzZUFuYWx5dGljcyB7fVxuXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzIHtcbiAgY29uc3RydWN0b3IoYW5hbHl0aWNzOiBGaXJlYmFzZUFuYWx5dGljcykge1xuICAgIHJldHVybiBhbmFseXRpY3M7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFOQUxZVElDU19QUk9WSURFUl9OQU1FID0gJ2FuYWx5dGljcyc7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl0aWNzSW5zdGFuY2VzIGV4dGVuZHMgQXJyYXk8RmlyZWJhc2VBbmFseXRpY3M+IHt9XG5cbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NJbnN0YW5jZXMge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICByZXR1cm4gybVnZXRBbGxJbnN0YW5jZXNPZjxGaXJlYmFzZUFuYWx5dGljcz4oQU5BTFlUSUNTX1BST1ZJREVSX05BTUUpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBhbmFseXRpY0luc3RhbmNlJCA9IHRpbWVyKDAsIDMwMCkucGlwZShcbiAgY29uY2F0TWFwKCgpID0+IGZyb20oybVnZXRBbGxJbnN0YW5jZXNPZjxGaXJlYmFzZUFuYWx5dGljcz4oQU5BTFlUSUNTX1BST1ZJREVSX05BTUUpKSksXG4gIGRpc3RpbmN0KCksXG4pO1xuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy9hbmFseXRpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNckQsTUFBTSxPQUFPLFNBQVM7SUFDcEIsWUFBWSxTQUE0QjtRQUN0QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUM7QUFLbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QjtRQUNFLE9BQU8sa0JBQWtCLENBQW9CLHVCQUF1QixDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2pELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQW9CLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUNyRixRQUFRLEVBQUUsQ0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVnZXRBbGxJbnN0YW5jZXNPZiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQW5hbHl0aWNzIGFzIEZpcmViYXNlQW5hbHl0aWNzIH0gZnJvbSAnZmlyZWJhc2UvYW5hbHl0aWNzJztcbmltcG9ydCB7IGZyb20sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIGRpc3RpbmN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBzZWUgbm90ZXMgaW4gY29yZS9maXJlYmFzZS5hcHAubW9kdWxlLnRzIGZvciB3aHkgd2UncmUgYnVpbGRpbmcgdGhlIGNsYXNzIGxpa2UgdGhpc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl0aWNzIGV4dGVuZHMgRmlyZWJhc2VBbmFseXRpY3Mge31cblxuZXhwb3J0IGNsYXNzIEFuYWx5dGljcyB7XG4gIGNvbnN0cnVjdG9yKGFuYWx5dGljczogRmlyZWJhc2VBbmFseXRpY3MpIHtcbiAgICByZXR1cm4gYW5hbHl0aWNzO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSA9ICdhbmFseXRpY3MnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBbmFseXRpY3NJbnN0YW5jZXMgZXh0ZW5kcyBBcnJheTxGaXJlYmFzZUFuYWx5dGljcz4ge31cblxuZXhwb3J0IGNsYXNzIEFuYWx5dGljc0luc3RhbmNlcyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJldHVybiDJtWdldEFsbEluc3RhbmNlc09mPEZpcmViYXNlQW5hbHl0aWNzPihBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljSW5zdGFuY2UkID0gdGltZXIoMCwgMzAwKS5waXBlKFxuICBjb25jYXRNYXAoKCkgPT4gZnJvbSjJtWdldEFsbEluc3RhbmNlc09mPEZpcmViYXNlQW5hbHl0aWNzPihBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSkpKSxcbiAgZGlzdGluY3QoKSxcbik7XG4iXX0=
@@ -0,0 +1,94 @@
1
+ import { APP_INITIALIZER, InjectionToken, Injector, NgModule, NgZone, Optional } from '@angular/core';
2
+ import { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';
3
+ import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
4
+ import { registerVersion } from 'firebase/app';
5
+ import { ANALYTICS_PROVIDER_NAME, Analytics, AnalyticsInstances } from './analytics';
6
+ import { isAnalyticsSupportedFactory } from './is-analytics-supported-factory';
7
+ import { ScreenTrackingService } from './screen-tracking.service';
8
+ import { UserTrackingService } from './user-tracking.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./screen-tracking.service";
11
+ import * as i2 from "./user-tracking.service";
12
+ export const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken('angularfire2.analytics-instances');
13
+ export function defaultAnalyticsInstanceFactory(provided, defaultApp) {
14
+ if (!isAnalyticsSupportedFactory.sync()) {
15
+ return null;
16
+ }
17
+ const defaultAnalytics = ɵgetDefaultInstanceOf(ANALYTICS_PROVIDER_NAME, provided, defaultApp);
18
+ return defaultAnalytics && new Analytics(defaultAnalytics);
19
+ }
20
+ export function analyticsInstanceFactory(fn) {
21
+ return (zone, injector) => {
22
+ if (!isAnalyticsSupportedFactory.sync()) {
23
+ return null;
24
+ }
25
+ const analytics = zone.runOutsideAngular(() => fn(injector));
26
+ return new Analytics(analytics);
27
+ };
28
+ }
29
+ const ANALYTICS_INSTANCES_PROVIDER = {
30
+ provide: AnalyticsInstances,
31
+ deps: [
32
+ [new Optional(), PROVIDED_ANALYTICS_INSTANCES],
33
+ ]
34
+ };
35
+ const DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {
36
+ provide: Analytics,
37
+ useFactory: defaultAnalyticsInstanceFactory,
38
+ deps: [
39
+ [new Optional(), PROVIDED_ANALYTICS_INSTANCES],
40
+ FirebaseApp,
41
+ ]
42
+ };
43
+ export class AnalyticsModule {
44
+ constructor(_screenTrackingService, _userTrackingService) {
45
+ registerVersion('angularfire', VERSION.full, 'analytics');
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AnalyticsModule, deps: [{ token: i1.ScreenTrackingService, optional: true }, { token: i2.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
48
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AnalyticsModule });
49
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AnalyticsModule, providers: [
50
+ DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
51
+ ANALYTICS_INSTANCES_PROVIDER,
52
+ {
53
+ provide: APP_INITIALIZER,
54
+ useValue: isAnalyticsSupportedFactory.async,
55
+ multi: true,
56
+ }
57
+ ] });
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AnalyticsModule, decorators: [{
60
+ type: NgModule,
61
+ args: [{
62
+ providers: [
63
+ DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
64
+ ANALYTICS_INSTANCES_PROVIDER,
65
+ {
66
+ provide: APP_INITIALIZER,
67
+ useValue: isAnalyticsSupportedFactory.async,
68
+ multi: true,
69
+ }
70
+ ]
71
+ }]
72
+ }], ctorParameters: function () { return [{ type: i1.ScreenTrackingService, decorators: [{
73
+ type: Optional
74
+ }] }, { type: i2.UserTrackingService, decorators: [{
75
+ type: Optional
76
+ }] }]; } });
77
+ export function provideAnalytics(fn, ...deps) {
78
+ return {
79
+ ngModule: AnalyticsModule,
80
+ providers: [{
81
+ provide: PROVIDED_ANALYTICS_INSTANCES,
82
+ useFactory: analyticsInstanceFactory(fn),
83
+ multi: true,
84
+ deps: [
85
+ NgZone,
86
+ Injector,
87
+ ɵAngularFireSchedulers,
88
+ FirebaseApps,
89
+ ...deps,
90
+ ]
91
+ }]
92
+ };
93
+ }
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hbmFseXRpY3MvYW5hbHl0aWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFFOUQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQWMsa0NBQWtDLENBQUMsQ0FBQztBQUVoSCxNQUFNLFVBQVUsK0JBQStCLENBQUMsUUFBdUMsRUFBRSxVQUF1QjtJQUM5RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQztLQUFFO0lBQ3pELE1BQU0sZ0JBQWdCLEdBQUcscUJBQXFCLENBQW9CLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqSCxPQUFPLGdCQUFnQixJQUFJLElBQUksU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxFQUE2QztJQUNwRixPQUFPLENBQUMsSUFBWSxFQUFFLFFBQWtCLEVBQUUsRUFBRTtRQUMxQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztTQUFFO1FBQ3pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLDRCQUE0QixHQUFHO0lBQ25DLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsSUFBSSxFQUFFO1FBQ0osQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLDRCQUE0QixDQUFFO0tBQ2hEO0NBQ0YsQ0FBQztBQUVGLE1BQU0sbUNBQW1DLEdBQUc7SUFDMUMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsVUFBVSxFQUFFLCtCQUErQjtJQUMzQyxJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsNEJBQTRCLENBQUU7UUFDL0MsV0FBVztLQUNaO0NBQ0YsQ0FBQztBQWFGLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ2Msc0JBQTZDLEVBQzdDLG9CQUF5QztRQUVyRCxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUQsQ0FBQzt1R0FOVSxlQUFlO3dHQUFmLGVBQWU7d0dBQWYsZUFBZSxhQVZmO1lBQ1QsbUNBQW1DO1lBQ25DLDRCQUE0QjtZQUM1QjtnQkFDRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLDJCQUEyQixDQUFDLEtBQUs7Z0JBQzNDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7MkZBRVUsZUFBZTtrQkFYM0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1QsbUNBQW1DO3dCQUNuQyw0QkFBNEI7d0JBQzVCOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixRQUFRLEVBQUUsMkJBQTJCLENBQUMsS0FBSzs0QkFDM0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OzBCQUdJLFFBQVE7OzBCQUNSLFFBQVE7O0FBTWIsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQTZDLEVBQUUsR0FBRyxJQUFXO0lBQzVGLE9BQU87UUFDTCxRQUFRLEVBQUUsZUFBZTtRQUN6QixTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxVQUFVLEVBQUUsd0JBQXdCLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUU7b0JBQ0osTUFBTTtvQkFDTixRQUFRO29CQUNSLHNCQUFzQjtvQkFDdEIsWUFBWTtvQkFDWixHQUFHLElBQUk7aUJBQ1I7YUFDRixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE5nWm9uZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04sIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzLCDJtWdldERlZmF1bHRJbnN0YW5jZU9mIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VBcHBzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnO1xuaW1wb3J0IHsgQW5hbHl0aWNzIGFzIEZpcmViYXNlQW5hbHl0aWNzIH0gZnJvbSAnZmlyZWJhc2UvYW5hbHl0aWNzJztcbmltcG9ydCB7IHJlZ2lzdGVyVmVyc2lvbiB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSwgQW5hbHl0aWNzLCBBbmFseXRpY3NJbnN0YW5jZXMgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBpc0FuYWx5dGljc1N1cHBvcnRlZEZhY3RvcnkgfSBmcm9tICcuL2lzLWFuYWx5dGljcy1zdXBwb3J0ZWQtZmFjdG9yeSc7XG5pbXBvcnQgeyBTY3JlZW5UcmFja2luZ1NlcnZpY2UgfSBmcm9tICcuL3NjcmVlbi10cmFja2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJUcmFja2luZ1NlcnZpY2UgfSBmcm9tICcuL3VzZXItdHJhY2tpbmcuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBQUk9WSURFRF9BTkFMWVRJQ1NfSU5TVEFOQ0VTID0gbmV3IEluamVjdGlvblRva2VuPEFuYWx5dGljc1tdPignYW5ndWxhcmZpcmUyLmFuYWx5dGljcy1pbnN0YW5jZXMnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRBbmFseXRpY3NJbnN0YW5jZUZhY3RvcnkocHJvdmlkZWQ6IEZpcmViYXNlQW5hbHl0aWNzW118dW5kZWZpbmVkLCBkZWZhdWx0QXBwOiBGaXJlYmFzZUFwcCkge1xuICBpZiAoIWlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeS5zeW5jKCkpIHsgcmV0dXJuIG51bGw7IH1cbiAgY29uc3QgZGVmYXVsdEFuYWx5dGljcyA9IMm1Z2V0RGVmYXVsdEluc3RhbmNlT2Y8RmlyZWJhc2VBbmFseXRpY3M+KEFOQUxZVElDU19QUk9WSURFUl9OQU1FLCBwcm92aWRlZCwgZGVmYXVsdEFwcCk7XG4gIHJldHVybiBkZWZhdWx0QW5hbHl0aWNzICYmIG5ldyBBbmFseXRpY3MoZGVmYXVsdEFuYWx5dGljcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbmFseXRpY3NJbnN0YW5jZUZhY3RvcnkoZm46IChpbmplY3RvcjogSW5qZWN0b3IpID0+IEZpcmViYXNlQW5hbHl0aWNzKSB7XG4gIHJldHVybiAoem9uZTogTmdab25lLCBpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICBpZiAoIWlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeS5zeW5jKCkpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCBhbmFseXRpY3MgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKGluamVjdG9yKSk7XG4gICAgcmV0dXJuIG5ldyBBbmFseXRpY3MoYW5hbHl0aWNzKTtcbiAgfTtcbn1cblxuY29uc3QgQU5BTFlUSUNTX0lOU1RBTkNFU19QUk9WSURFUiA9IHtcbiAgcHJvdmlkZTogQW5hbHl0aWNzSW5zdGFuY2VzLFxuICBkZXBzOiBbXG4gICAgW25ldyBPcHRpb25hbCgpLCBQUk9WSURFRF9BTkFMWVRJQ1NfSU5TVEFOQ0VTIF0sXG4gIF1cbn07XG5cbmNvbnN0IERFRkFVTFRfQU5BTFlUSUNTX0lOU1RBTkNFX1BST1ZJREVSID0ge1xuICBwcm92aWRlOiBBbmFseXRpY3MsXG4gIHVzZUZhY3Rvcnk6IGRlZmF1bHRBbmFseXRpY3NJbnN0YW5jZUZhY3RvcnksXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIFBST1ZJREVEX0FOQUxZVElDU19JTlNUQU5DRVMgXSxcbiAgICBGaXJlYmFzZUFwcCxcbiAgXVxufTtcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgREVGQVVMVF9BTkFMWVRJQ1NfSU5TVEFOQ0VfUFJPVklERVIsXG4gICAgQU5BTFlUSUNTX0lOU1RBTkNFU19QUk9WSURFUixcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VWYWx1ZTogaXNBbmFseXRpY3NTdXBwb3J0ZWRGYWN0b3J5LmFzeW5jLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFuYWx5dGljc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIF9zY3JlZW5UcmFja2luZ1NlcnZpY2U6IFNjcmVlblRyYWNraW5nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBfdXNlclRyYWNraW5nU2VydmljZTogVXNlclRyYWNraW5nU2VydmljZSxcbiAgKSB7XG4gICAgcmVnaXN0ZXJWZXJzaW9uKCdhbmd1bGFyZmlyZScsIFZFUlNJT04uZnVsbCwgJ2FuYWx5dGljcycpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQW5hbHl0aWNzKGZuOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBGaXJlYmFzZUFuYWx5dGljcywgLi4uZGVwczogYW55W10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuYWx5dGljc01vZHVsZT4ge1xuICByZXR1cm4ge1xuICAgIG5nTW9kdWxlOiBBbmFseXRpY3NNb2R1bGUsXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgcHJvdmlkZTogUFJPVklERURfQU5BTFlUSUNTX0lOU1RBTkNFUyxcbiAgICAgIHVzZUZhY3Rvcnk6IGFuYWx5dGljc0luc3RhbmNlRmFjdG9yeShmbiksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgTmdab25lLFxuICAgICAgICBJbmplY3RvcixcbiAgICAgICAgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgICAgIEZpcmViYXNlQXBwcyxcbiAgICAgICAgLi4uZGVwcyxcbiAgICAgIF1cbiAgICB9XVxuICB9O1xufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { ɵisSupportedError } from '@angular/fire';
2
+ import { isSupported } from 'firebase/analytics';
3
+ const isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';
4
+ const isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';
5
+ globalThis[isAnalyticsSupportedPromiseSymbol] ||= isSupported().then(it => globalThis[isAnalyticsSupportedValueSymbol] = it).catch(() => globalThis[isAnalyticsSupportedValueSymbol] = false);
6
+ export const isAnalyticsSupportedFactory = {
7
+ async: () => globalThis[isAnalyticsSupportedPromiseSymbol],
8
+ sync: () => {
9
+ const ret = globalThis[isAnalyticsSupportedValueSymbol];
10
+ if (ret === undefined) {
11
+ throw new Error(ɵisSupportedError('Analytics'));
12
+ }
13
+ return ret;
14
+ }
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYW5hbHl0aWNzLXN1cHBvcnRlZC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy9pcy1hbmFseXRpY3Mtc3VwcG9ydGVkLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLCtCQUErQixHQUFHLGlEQUFpRCxDQUFDO0FBQzFGLE1BQU0saUNBQWlDLEdBQUcsNENBQTRDLENBQUM7QUFFdkYsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ3hFLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLEVBQUUsQ0FDakQsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQ1gsVUFBVSxDQUFDLCtCQUErQixDQUFDLEdBQUcsS0FBSyxDQUNwRCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQztJQUMxRCxJQUFJLEVBQUUsR0FBRyxFQUFFO1FBQ1QsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDeEQsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQUU7UUFDM0UsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1aXNTdXBwb3J0ZWRFcnJvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgaXNTdXBwb3J0ZWQgfSBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuXG5jb25zdCBpc0FuYWx5dGljc1N1cHBvcnRlZFZhbHVlU3ltYm9sID0gJ19fYW5ndWxhcmZpcmVfc3ltYm9sX19hbmFseXRpY3NJc1N1cHBvcnRlZFZhbHVlJztcbmNvbnN0IGlzQW5hbHl0aWNzU3VwcG9ydGVkUHJvbWlzZVN5bWJvbCA9ICdfX2FuZ3VsYXJmaXJlX3N5bWJvbF9fYW5hbHl0aWNzSXNTdXBwb3J0ZWQnO1xuXG5nbG9iYWxUaGlzW2lzQW5hbHl0aWNzU3VwcG9ydGVkUHJvbWlzZVN5bWJvbF0gfHw9IGlzU3VwcG9ydGVkKCkudGhlbihpdCA9PlxuICBnbG9iYWxUaGlzW2lzQW5hbHl0aWNzU3VwcG9ydGVkVmFsdWVTeW1ib2xdID0gaXRcbikuY2F0Y2goKCkgPT5cbiAgZ2xvYmFsVGhpc1tpc0FuYWx5dGljc1N1cHBvcnRlZFZhbHVlU3ltYm9sXSA9IGZhbHNlXG4pO1xuZXhwb3J0IGNvbnN0IGlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeSA9IHtcbiAgYXN5bmM6ICgpID0+IGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRQcm9taXNlU3ltYm9sXSxcbiAgc3luYzogKCkgPT4ge1xuICAgIGNvbnN0IHJldCA9IGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRWYWx1ZVN5bWJvbF07XG4gICAgaWYgKHJldCA9PT0gdW5kZWZpbmVkKSB7IHRocm93IG5ldyBFcnJvcijJtWlzU3VwcG9ydGVkRXJyb3IoJ0FuYWx5dGljcycpKTsgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cbn07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { isAnalyticsSupportedFactory } from './is-analytics-supported-factory';
2
+ export const isSupported = isAnalyticsSupportedFactory.async;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy9vdmVycmlkZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeSB9IGZyb20gJy4vaXMtYW5hbHl0aWNzLXN1cHBvcnRlZC1mYWN0b3J5JztcblxuZXhwb3J0IGNvbnN0IGlzU3VwcG9ydGVkID0gaXNBbmFseXRpY3NTdXBwb3J0ZWRGYWN0b3J5LmFzeW5jO1xuXG4iXX0=
@@ -0,0 +1,148 @@
1
+ import { ComponentFactoryResolver, Injectable, Injector, NgZone, Optional } from '@angular/core';
2
+ import { VERSION } from '@angular/fire';
3
+ import { Title } from '@angular/platform-browser';
4
+ import { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';
5
+ import { registerVersion } from 'firebase/app';
6
+ import { of } from 'rxjs';
7
+ import { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';
8
+ import { Analytics } from './analytics';
9
+ import { isSupported, logEvent } from './firebase';
10
+ import { UserTrackingService } from './user-tracking.service';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/router";
13
+ import * as i2 from "@angular/platform-browser";
14
+ import * as i3 from "./user-tracking.service";
15
+ const FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';
16
+ const FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';
17
+ const FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';
18
+ const FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';
19
+ const FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';
20
+ const FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';
21
+ const FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';
22
+ const OUTLET_KEY = 'outlet';
23
+ const PAGE_PATH_KEY = 'page_path';
24
+ const PAGE_TITLE_KEY = 'page_title';
25
+ const SCREEN_CLASS_KEY = 'screen_class';
26
+ const SCREEN_NAME_KEY = 'screen_name';
27
+ const SCREEN_VIEW_EVENT = 'screen_view';
28
+ const EVENT_ORIGIN_AUTO = 'auto';
29
+ const SCREEN_INSTANCE_DELIMITER = '#';
30
+ // this is an INT64 in iOS/Android but use INT32 cause javascript
31
+ let nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;
32
+ const knownScreenInstanceIDs = {};
33
+ const getScreenInstanceID = (params) => {
34
+ // unique the screen class against the outlet name
35
+ const screenInstanceKey = [
36
+ params[SCREEN_CLASS_KEY],
37
+ params[OUTLET_KEY]
38
+ ].join(SCREEN_INSTANCE_DELIMITER);
39
+ // eslint-disable-next-line no-prototype-builtins
40
+ if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {
41
+ return knownScreenInstanceIDs[screenInstanceKey];
42
+ }
43
+ else {
44
+ const ret = nextScreenInstanceID++;
45
+ knownScreenInstanceIDs[screenInstanceKey] = ret;
46
+ return ret;
47
+ }
48
+ };
49
+ export const ɵscreenViewEvent = (router, title, componentFactoryResolver) => {
50
+ const activationEndEvents = router.events.pipe(filter(e => e instanceof ActivationEnd));
51
+ return activationEndEvents.pipe(switchMap(activationEnd => {
52
+ // router parseUrl is having trouble with outlets when they're empty
53
+ // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty
54
+ const urlTree = router.parseUrl(router.url.replace(/(?:\().+(?:\))/g, a => a.replace('://', ':///')));
55
+ const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';
56
+ const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);
57
+ if (!actualSnapshot) {
58
+ return of(null);
59
+ }
60
+ let actualDeep = actualSnapshot;
61
+ while (actualDeep.firstChild) {
62
+ actualDeep = actualDeep.firstChild;
63
+ }
64
+ const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';
65
+ const params = {
66
+ [SCREEN_NAME_KEY]: screenName,
67
+ [PAGE_PATH_KEY]: `/${pagePath}`,
68
+ [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,
69
+ [FIREBASE_SCREEN_NAME_KEY]: screenName,
70
+ [OUTLET_KEY]: activationEnd.snapshot.outlet
71
+ };
72
+ if (title) {
73
+ params[PAGE_TITLE_KEY] = title.getTitle();
74
+ }
75
+ let component = actualSnapshot.component;
76
+ if (component) {
77
+ if (component === ɵEmptyOutletComponent) {
78
+ let deepSnapshot = activationEnd.snapshot;
79
+ // TODO when might there be mutple children, different outlets? explore
80
+ while (deepSnapshot.firstChild) {
81
+ deepSnapshot = deepSnapshot.firstChild;
82
+ }
83
+ component = deepSnapshot.component;
84
+ }
85
+ }
86
+ else {
87
+ component = activationEnd.snapshot.component;
88
+ }
89
+ if (typeof component === 'string') {
90
+ return of({ ...params, [SCREEN_CLASS_KEY]: component });
91
+ }
92
+ else if (component) {
93
+ const componentFactory = componentFactoryResolver.resolveComponentFactory(component);
94
+ return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });
95
+ }
96
+ // lazy loads cause extra activations, ignore
97
+ return of(null);
98
+ }), filter(it => !!it), map(params => ({
99
+ [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],
100
+ [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),
101
+ ...params
102
+ })), 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 ? {
103
+ [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],
104
+ [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],
105
+ [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],
106
+ ...current
107
+ } : current))));
108
+ };
109
+ export class ScreenTrackingService {
110
+ disposable;
111
+ constructor(router, title, componentFactoryResolver, zone, userTrackingService, injector) {
112
+ registerVersion('angularfire', VERSION.full, 'screen-tracking');
113
+ // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI
114
+ // may not be done when services are initialized. Guard the functionality by first ensuring
115
+ // that the (global) promise has resolved, then get Analytics from the injector.
116
+ isSupported().then(() => {
117
+ const analytics = injector.get(Analytics);
118
+ if (!router || !analytics) {
119
+ return;
120
+ }
121
+ zone.runOutsideAngular(() => {
122
+ this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap(async (params) => {
123
+ if (userTrackingService) {
124
+ await userTrackingService.initialized;
125
+ }
126
+ return logEvent(analytics, SCREEN_VIEW_EVENT, params);
127
+ })).subscribe();
128
+ });
129
+ });
130
+ }
131
+ ngOnDestroy() {
132
+ if (this.disposable) {
133
+ this.disposable.unsubscribe();
134
+ }
135
+ }
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1.Router, optional: true }, { token: i2.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: i3.UserTrackingService, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
137
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService });
138
+ }
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService, decorators: [{
140
+ type: Injectable
141
+ }], ctorParameters: function () { return [{ type: i1.Router, decorators: [{
142
+ type: Optional
143
+ }] }, { type: i2.Title, decorators: [{
144
+ type: Optional
145
+ }] }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: i3.UserTrackingService, decorators: [{
146
+ type: Optional
147
+ }] }, { type: i0.Injector }]; } });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXRyYWNraW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYW5hbHl0aWNzL3NjcmVlbi10cmFja2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBNEIsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUU5RCxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDO0FBQzFELE1BQU0sa0NBQWtDLEdBQUcseUJBQXlCLENBQUM7QUFDckUsTUFBTSx3Q0FBd0MsR0FBRyxzQkFBc0IsQ0FBQztBQUN4RSxNQUFNLGlDQUFpQyxHQUFHLDBCQUEwQixDQUFDO0FBQ3JFLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQUM7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QUFTLEVBQUUsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7dUdBbENVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFNTixRQUFROzswQkFDUixRQUFROzswQkFHUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aXZhdGlvbkVuZCwgUm91dGVyLCDJtUVtcHR5T3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHJlZ2lzdGVyVmVyc2lvbiB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBncm91cEJ5LCBtYXAsIG1lcmdlTWFwLCBwYWlyd2lzZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbmFseXRpY3MgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBpc1N1cHBvcnRlZCwgbG9nRXZlbnQgfSBmcm9tICcuL2ZpcmViYXNlJztcbmltcG9ydCB7IFVzZXJUcmFja2luZ1NlcnZpY2UgfSBmcm9tICcuL3VzZXItdHJhY2tpbmcuc2VydmljZSc7XG5cbmNvbnN0IEZJUkVCQVNFX0VWRU5UX09SSUdJTl9LRVkgPSAnZmlyZWJhc2VfZXZlbnRfb3JpZ2luJztcbmNvbnN0IEZJUkVCQVNFX1BSRVZJT1VTX1NDUkVFTl9DTEFTU19LRVkgPSAnZmlyZWJhc2VfcHJldmlvdXNfY2xhc3MnO1xuY29uc3QgRklSRUJBU0VfUFJFVklPVVNfU0NSRUVOX0lOU1RBTkNFX0lEX0tFWSA9ICdmaXJlYmFzZV9wcmV2aW91c19pZCc7XG5jb25zdCBGSVJFQkFTRV9QUkVWSU9VU19TQ1JFRU5fTkFNRV9LRVkgPSAnZmlyZWJhc2VfcHJldmlvdXNfc2NyZWVuJztcbmNvbnN0IEZJUkVCQVNFX1NDUkVFTl9DTEFTU19LRVkgPSAnZmlyZWJhc2Vfc2NyZWVuX2NsYXNzJztcbmNvbnN0IEZJUkVCQVNFX1NDUkVFTl9JTlNUQU5DRV9JRF9LRVkgPSAnZmlyZWJhc2Vfc2NyZWVuX2lkJztcbmNvbnN0IEZJUkVCQVNFX1NDUkVFTl9OQU1FX0tFWSA9ICdmaXJlYmFzZV9zY3JlZW4nO1xuY29uc3QgT1VUTEVUX0tFWSA9ICdvdXRsZXQnO1xuY29uc3QgUEFHRV9QQVRIX0tFWSA9ICdwYWdlX3BhdGgnO1xuY29uc3QgUEFHRV9USVRMRV9LRVkgPSAncGFnZV90aXRsZSc7XG5jb25zdCBTQ1JFRU5fQ0xBU1NfS0VZID0gJ3NjcmVlbl9jbGFzcyc7XG5jb25zdCBTQ1JFRU5fTkFNRV9LRVkgPSAnc2NyZWVuX25hbWUnO1xuY29uc3QgU0NSRUVOX1ZJRVdfRVZFTlQgPSAnc2NyZWVuX3ZpZXcnO1xuY29uc3QgRVZFTlRfT1JJR0lOX0FVVE8gPSAnYXV0byc7XG5jb25zdCBTQ1JFRU5fSU5TVEFOQ0VfREVMSU1JVEVSID0gJyMnO1xuXG4vLyB0aGlzIGlzIGFuIElOVDY0IGluIGlPUy9BbmRyb2lkIGJ1dCB1c2UgSU5UMzIgY2F1c2UgamF2YXNjcmlwdFxubGV0IG5leHRTY3JlZW5JbnN0YW5jZUlEID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDIgKiogMzIgLSAxKSkgLSAyICoqIDMxO1xuXG5jb25zdCBrbm93blNjcmVlbkluc3RhbmNlSURzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XG5cbmNvbnN0IGdldFNjcmVlbkluc3RhbmNlSUQgPSAocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB7XG4gIC8vIHVuaXF1ZSB0aGUgc2NyZWVuIGNsYXNzIGFnYWluc3QgdGhlIG91dGxldCBuYW1lXG4gIGNvbnN0IHNjcmVlbkluc3RhbmNlS2V5ID0gW1xuICAgIHBhcmFtc1tTQ1JFRU5fQ0xBU1NfS0VZXSxcbiAgICBwYXJhbXNbT1VUTEVUX0tFWV1cbiAgXS5qb2luKFNDUkVFTl9JTlNUQU5DRV9ERUxJTUlURVIpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gIGlmIChrbm93blNjcmVlbkluc3RhbmNlSURzLmhhc093blByb3BlcnR5KHNjcmVlbkluc3RhbmNlS2V5KSkge1xuICAgIHJldHVybiBrbm93blNjcmVlbkluc3RhbmNlSURzW3NjcmVlbkluc3RhbmNlS2V5XTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZXQgPSBuZXh0U2NyZWVuSW5zdGFuY2VJRCsrO1xuICAgIGtub3duU2NyZWVuSW5zdGFuY2VJRHNbc2NyZWVuSW5zdGFuY2VLZXldID0gcmV0O1xuICAgIHJldHVybiByZXQ7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCDJtXNjcmVlblZpZXdFdmVudCA9IChcbiAgcm91dGVyOiBSb3V0ZXIsXG4gIHRpdGxlOiBUaXRsZXxudWxsLFxuICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbik6IE9ic2VydmFibGU8e1xuICBbU0NSRUVOX05BTUVfS0VZXTogc3RyaW5nLFxuICBbUEFHRV9QQVRIX0tFWV06IHN0cmluZyxcbiAgW0ZJUkVCQVNFX0VWRU5UX09SSUdJTl9LRVldOiAnYXV0bycsXG4gIFtGSVJFQkFTRV9TQ1JFRU5fTkFNRV9LRVldOiBzdHJpbmcsXG4gIFtPVVRMRVRfS0VZXTogc3RyaW5nLFxuICBbUEFHRV9USVRMRV9LRVldPzogc3RyaW5nLFxuICBbU0NSRUVOX0NMQVNTX0tFWV06IHN0cmluZyxcbiAgW0ZJUkVCQVNFX1NDUkVFTl9DTEFTU19LRVldOiBzdHJpbmcsXG4gIFtGSVJFQkFTRV9TQ1JFRU5fSU5TVEFOQ0VfSURfS0VZXTogbnVtYmVyLFxuICBbRklSRUJBU0VfUFJFVklPVVNfU0NSRUVOX0NMQVNTX0tFWV06IHN0cmluZyxcbiAgW0ZJUkVCQVNFX1BSRVZJT1VTX1NDUkVFTl9OQU1FX0tFWV06IHN0cmluZyxcbiAgW0ZJUkVCQVNFX1BSRVZJT1VTX1NDUkVFTl9JTlNUQU5DRV9JRF9LRVldOiBudW1iZXIsXG59PiA9PiB7XG4gIGNvbnN0IGFjdGl2YXRpb25FbmRFdmVudHMgPSByb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyPEFjdGl2YXRpb25FbmQ+KGUgPT4gZSBpbnN0YW5jZW9mIEFjdGl2YXRpb25FbmQpKTtcbiAgcmV0dXJuIGFjdGl2YXRpb25FbmRFdmVudHMucGlwZShcbiAgICBzd2l0Y2hNYXA8QWN0aXZhdGlvbkVuZCwgT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBhbnk+fG51bGw+PihhY3RpdmF0aW9uRW5kID0+IHtcbiAgICAgIC8vIHJvdXRlciBwYXJzZVVybCBpcyBoYXZpbmcgdHJvdWJsZSB3aXRoIG91dGxldHMgd2hlbiB0aGV5J3JlIGVtcHR5XG4gICAgICAvLyBlLmcsIC9hc2RmLzEoYm9iOi8vc2FsbHk6YXNkZiksIHNvIHB1dCBhbm90aGVyIHNsYXNoIGluIHdoZW4gZW1wdHlcbiAgICAgIGNvbnN0IHVybFRyZWUgPSByb3V0ZXIucGFyc2VVcmwocm91dGVyLnVybC5yZXBsYWNlKC8oPzpcXCgpLisoPzpcXCkpL2csIGEgPT4gYS5yZXBsYWNlKCc6Ly8nLCAnOi8vLycpKSk7XG4gICAgICBjb25zdCBwYWdlUGF0aCA9IHVybFRyZWUucm9vdC5jaGlsZHJlblthY3RpdmF0aW9uRW5kLnNuYXBzaG90Lm91dGxldF0/LnRvU3RyaW5nKCkgfHwgJyc7XG4gICAgICBjb25zdCBhY3R1YWxTbmFwc2hvdCA9IHJvdXRlci5yb3V0ZXJTdGF0ZS5yb290LmNoaWxkcmVuLm1hcChpdCA9PiBpdCkuZmluZChpdCA9PiBpdC5vdXRsZXQgPT09IGFjdGl2YXRpb25FbmQuc25hcHNob3Qub3V0bGV0KTtcblxuICAgICAgaWYgKCFhY3R1YWxTbmFwc2hvdCkge1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9XG5cbiAgICAgIGxldCBhY3R1YWxEZWVwID0gYWN0dWFsU25hcHNob3Q7XG4gICAgICB3aGlsZSAoYWN0dWFsRGVlcC5maXJzdENoaWxkKSB7XG4gICAgICAgIGFjdHVhbERlZXAgPSBhY3R1YWxEZWVwLmZpcnN0Q2hpbGQ7XG4gICAgICB9XG4gICAgICBjb25zdCBzY3JlZW5OYW1lID0gYWN0dWFsRGVlcC5wYXRoRnJvbVJvb3QubWFwKHMgPT4gcy5yb3V0ZUNvbmZpZz8ucGF0aCkuZmlsdGVyKGl0ID0+IGl0KS5qb2luKCcvJykgfHwgJy8nO1xuXG4gICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgIFtTQ1JFRU5fTkFNRV9LRVldOiBzY3JlZW5OYW1lLFxuICAgICAgICBbUEFHRV9QQVRIX0tFWV06IGAvJHtwYWdlUGF0aH1gLFxuICAgICAgICBbRklSRUJBU0VfRVZFTlRfT1JJR0lOX0tFWV06IEVWRU5UX09SSUdJTl9BVVRPLFxuICAgICAgICBbRklSRUJBU0VfU0NSRUVOX05BTUVfS0VZXTogc2NyZWVuTmFtZSxcbiAgICAgICAgW09VVExFVF9LRVldOiBhY3RpdmF0aW9uRW5kLnNuYXBzaG90Lm91dGxldFxuICAgICAgfTtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBwYXJhbXNbUEFHRV9USVRMRV9LRVldID0gdGl0bGUuZ2V0VGl0bGUoKTtcbiAgICAgIH1cblxuICAgICAgbGV0IGNvbXBvbmVudCA9IGFjdHVhbFNuYXBzaG90LmNvbXBvbmVudDtcbiAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgaWYgKGNvbXBvbmVudCA9PT0gybVFbXB0eU91dGxldENvbXBvbmVudCkge1xuICAgICAgICAgIGxldCBkZWVwU25hcHNob3QgPSBhY3RpdmF0aW9uRW5kLnNuYXBzaG90O1xuICAgICAgICAgIC8vIFRPRE8gd2hlbiBtaWdodCB0aGVyZSBiZSBtdXRwbGUgY2hpbGRyZW4sIGRpZmZlcmVudCBvdXRsZXRzPyBleHBsb3JlXG4gICAgICAgICAgd2hpbGUgKGRlZXBTbmFwc2hvdC5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICBkZWVwU25hcHNob3QgPSBkZWVwU25hcHNob3QuZmlyc3RDaGlsZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29tcG9uZW50ID0gZGVlcFNuYXBzaG90LmNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50ID0gYWN0aXZhdGlvbkVuZC5zbmFwc2hvdC5jb21wb25lbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29tcG9uZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gb2YoeyAuLi5wYXJhbXMsIFtTQ1JFRU5fQ0xBU1NfS0VZXTogY29tcG9uZW50IH0pO1xuICAgICAgfSBlbHNlIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xuICAgICAgICByZXR1cm4gb2YoeyAuLi5wYXJhbXMsIFtTQ1JFRU5fQ0xBU1NfS0VZXTogY29tcG9uZW50RmFjdG9yeS5zZWxlY3RvciB9KTtcbiAgICAgIH1cbiAgICAgIC8vIGxhenkgbG9hZHMgY2F1c2UgZXh0cmEgYWN0aXZhdGlvbnMsIGlnbm9yZVxuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH0pLFxuICAgIGZpbHRlcihpdCA9PiAhIWl0KSxcbiAgICBtYXAocGFyYW1zID0+ICh7XG4gICAgICBbRklSRUJBU0VfU0NSRUVOX0NMQVNTX0tFWV06IHBhcmFtc1tTQ1JFRU5fQ0xBU1NfS0VZXSxcbiAgICAgIFtGSVJFQkFTRV9TQ1JFRU5fSU5TVEFOQ0VfSURfS0VZXTogZ2V0U2NyZWVuSW5zdGFuY2VJRChwYXJhbXMpLFxuICAgICAgLi4ucGFyYW1zXG4gICAgfSkpLFxuICAgIGdyb3VwQnkoaXQgPT4gaXRbT1VUTEVUX0tFWV0pLFxuICAgIG1lcmdlTWFwKGl0ID0+IGl0LnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gSlNPTi5zdHJpbmdpZnkoYSkgPT09IEpTT04uc3RyaW5naWZ5KGIpKSxcbiAgICAgIHN0YXJ0V2l0aDxhbnksIGFueT4odW5kZWZpbmVkKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtwcmlvciwgY3VycmVudF0pID0+XG4gICAgICAgIHByaW9yID8ge1xuICAgICAgICAgIFtGSVJFQkFTRV9QUkVWSU9VU19TQ1JFRU5fQ0xBU1NfS0VZXTogcHJpb3JbU0NSRUVOX0NMQVNTX0tFWV0sXG4gICAgICAgICAgW0ZJUkVCQVNFX1BSRVZJT1VTX1NDUkVFTl9OQU1FX0tFWV06IHByaW9yW1NDUkVFTl9OQU1FX0tFWV0sXG4gICAgICAgICAgW0ZJUkVCQVNFX1BSRVZJT1VTX1NDUkVFTl9JTlNUQU5DRV9JRF9LRVldOiBwcmlvcltGSVJFQkFTRV9TQ1JFRU5fSU5TVEFOQ0VfSURfS0VZXSxcbiAgICAgICAgICAuLi5jdXJyZW50XG4gICAgICAgIH0gOiBjdXJyZW50XG4gICAgICApLFxuICAgICkpXG4gICk7XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2NyZWVuVHJhY2tpbmdTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIGRpc3Bvc2FibGU6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSByb3V0ZXI6IFJvdXRlcixcbiAgICBAT3B0aW9uYWwoKSB0aXRsZTogVGl0bGUsXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgem9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpIHVzZXJUcmFja2luZ1NlcnZpY2U6IFVzZXJUcmFja2luZ1NlcnZpY2UsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICByZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnc2NyZWVuLXRyYWNraW5nJyk7XG4gICAgLy8gVGhlIEFQUF9JTklUSUFMSVpFUiB0aGF0IGlzIG1ha2luZyBpc1N1cHBvcnRlZCgpIHN5bmMgZm9yIHRoZSBzYWtlIG9mIGNvbnZlbmllbnQgRElcbiAgICAvLyBtYXkgbm90IGJlIGRvbmUgd2hlbiBzZXJ2aWNlcyBhcmUgaW5pdGlhbGl6ZWQuIEd1YXJkIHRoZSBmdW5jdGlvbmFsaXR5IGJ5IGZpcnN0IGVuc3VyaW5nXG4gICAgLy8gdGhhdCB0aGUgKGdsb2JhbCkgcHJvbWlzZSBoYXMgcmVzb2x2ZWQsIHRoZW4gZ2V0IEFuYWx5dGljcyBmcm9tIHRoZSBpbmplY3Rvci5cbiAgICBpc1N1cHBvcnRlZCgpLnRoZW4oKCkgPT4ge1xuICAgICAgY29uc3QgYW5hbHl0aWNzID0gaW5qZWN0b3IuZ2V0KEFuYWx5dGljcyk7XG4gICAgICBpZiAoIXJvdXRlciB8fCAhYW5hbHl0aWNzKSB7IHJldHVybjsgfVxuICAgICAgem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcG9zYWJsZSA9IMm1c2NyZWVuVmlld0V2ZW50KHJvdXRlciwgdGl0bGUsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoYXN5bmMgcGFyYW1zID0+IHtcbiAgICAgICAgICAgIGlmICh1c2VyVHJhY2tpbmdTZXJ2aWNlKSB7IGF3YWl0IHVzZXJUcmFja2luZ1NlcnZpY2UuaW5pdGlhbGl6ZWQ7IH1cbiAgICAgICAgICAgIHJldHVybiBsb2dFdmVudChhbmFseXRpY3MsIFNDUkVFTl9WSUVXX0VWRU5ULCBwYXJhbXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgICkuc3Vic2NyaWJlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmRpc3Bvc2FibGUpIHtcbiAgICAgIHRoaXMuZGlzcG9zYWJsZS51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Injectable, Injector, NgZone } from '@angular/core';
2
+ import { VERSION } from '@angular/fire';
3
+ import { Auth, authState } from '@angular/fire/auth';
4
+ import { registerVersion } from 'firebase/app';
5
+ import { Analytics } from './analytics';
6
+ import { isSupported, setUserId } from './firebase';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/fire/auth";
9
+ export class UserTrackingService {
10
+ initialized;
11
+ disposables = [];
12
+ constructor(auth, zone, injector) {
13
+ registerVersion('angularfire', VERSION.full, 'user-tracking');
14
+ let resolveInitialized;
15
+ this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));
16
+ // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI
17
+ // may not be done when services are initialized. Guard the functionality by first ensuring
18
+ // that the (global) promise has resolved, then get Analytics from the injector.
19
+ isSupported().then(() => {
20
+ const analytics = injector.get(Analytics);
21
+ if (analytics) {
22
+ this.disposables = [
23
+ // TODO add credential tracking back in
24
+ authState(auth).subscribe(user => {
25
+ setUserId(analytics, user?.uid);
26
+ resolveInitialized();
27
+ }),
28
+ ];
29
+ }
30
+ else {
31
+ resolveInitialized();
32
+ }
33
+ });
34
+ }
35
+ ngOnDestroy() {
36
+ this.disposables.forEach(it => it.unsubscribe());
37
+ }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.Auth }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService });
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: function () { return [{ type: i1.Auth }, { type: i0.NgZone }, { type: i0.Injector }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci10cmFja2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy91c2VyLXRyYWNraW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQUdwRCxNQUFNLE9BQU8sbUJBQW1CO0lBRWQsV0FBVyxDQUFnQjtJQUNuQyxXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxZQUNFLElBQVUsRUFDVixJQUFZLEVBQ1osUUFBa0I7UUFFbEIsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzlELElBQUksa0JBQThCLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNHLHNGQUFzRjtRQUN0RiwyRkFBMkY7UUFDM0YsZ0ZBQWdGO1FBQ2hGLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdEIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxQyxJQUFJLFNBQVMsRUFBRTtnQkFDYixJQUFJLENBQUMsV0FBVyxHQUFHO29CQUNqQix1Q0FBdUM7b0JBQ3ZDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQy9CLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUNoQyxrQkFBa0IsRUFBRSxDQUFDO29CQUN2QixDQUFDLENBQUM7aUJBQ0gsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGtCQUFrQixFQUFFLENBQUM7YUFDdEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO3VHQWxDVSxtQkFBbUI7MkdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQXV0aCwgYXV0aFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IHJlZ2lzdGVyVmVyc2lvbiB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuYWx5dGljcyB9IGZyb20gJy4vYW5hbHl0aWNzJztcbmltcG9ydCB7IGlzU3VwcG9ydGVkLCBzZXRVc2VySWQgfSBmcm9tICcuL2ZpcmViYXNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJUcmFja2luZ1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyByZWFkb25seSBpbml0aWFsaXplZDogUHJvbWlzZTx2b2lkPjtcbiAgcHJpdmF0ZSBkaXNwb3NhYmxlczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhdXRoOiBBdXRoLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICd1c2VyLXRyYWNraW5nJyk7XG4gICAgbGV0IHJlc29sdmVJbml0aWFsaXplZDogKCkgPT4gdm9pZDtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsgcmVzb2x2ZUluaXRpYWxpemVkID0gcmVzb2x2ZTsgfSkpO1xuICAgIC8vIFRoZSBBUFBfSU5JVElBTElaRVIgdGhhdCBpcyBtYWtpbmcgaXNTdXBwb3J0ZWQoKSBzeW5jIGZvciB0aGUgc2FrZSBvZiBjb252ZW5pZW50IERJXG4gICAgLy8gbWF5IG5vdCBiZSBkb25lIHdoZW4gc2VydmljZXMgYXJlIGluaXRpYWxpemVkLiBHdWFyZCB0aGUgZnVuY3Rpb25hbGl0eSBieSBmaXJzdCBlbnN1cmluZ1xuICAgIC8vIHRoYXQgdGhlIChnbG9iYWwpIHByb21pc2UgaGFzIHJlc29sdmVkLCB0aGVuIGdldCBBbmFseXRpY3MgZnJvbSB0aGUgaW5qZWN0b3IuXG4gICAgaXNTdXBwb3J0ZWQoKS50aGVuKCgpID0+IHtcbiAgICAgIGNvbnN0IGFuYWx5dGljcyA9IGluamVjdG9yLmdldChBbmFseXRpY3MpO1xuICAgICAgaWYgKGFuYWx5dGljcykge1xuICAgICAgICB0aGlzLmRpc3Bvc2FibGVzID0gW1xuICAgICAgICAgIC8vIFRPRE8gYWRkIGNyZWRlbnRpYWwgdHJhY2tpbmcgYmFjayBpblxuICAgICAgICAgIGF1dGhTdGF0ZShhdXRoKS5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgICAgICBzZXRVc2VySWQoYW5hbHl0aWNzLCB1c2VyPy51aWQpO1xuICAgICAgICAgICAgcmVzb2x2ZUluaXRpYWxpemVkKCk7XG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlSW5pdGlhbGl6ZWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGlzcG9zYWJsZXMuZm9yRWFjaChpdCA9PiBpdC51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIl19
@@ -12,4 +12,4 @@ export class FirebaseApps {
12
12
  }
13
13
  }
14
14
  export const firebaseApp$ = timer(0, 300).pipe(concatMap(() => from(getApps())), distinct());
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCckQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBWSxHQUFpQjtRQUMzQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRjtBQUlELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCO1FBQ0UsT0FBTyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzVDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUNoQyxRQUFRLEVBQUUsQ0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VBcHAgYXMgSUZpcmViYXNlQXBwLCBnZXRBcHBzIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IGZyb20sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIGRpc3RpbmN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBOZWVkIHRvIHR1cm4gdGhlIEZpcmViYXNlQXBwIGludGVyZmFjZSBleHBvcnRlZCBieSBmaXJlYmFzZS9hcHAgaW50byBhIGNsYXNzXG4vLyBhcyB0eXBlcyBkb24ndCB3b3JrIGluIEFuZ3VsYXIgREkuIFdlIHdhbnQgZGV2ZWxvcGVycyB0byBiZSBhYmxlIHRvIGluamVjdCBGaXJlYmFzZUFwcCBsaWtlIHNvXG4vLyAgIGNvbnN0cnVjdG9yKGFwcDogRmlyZWJhc2VBcHApXG4vLyB0aGUgY2xlYW5lc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyB0aGF0IEkgZm91bmQgaXMgdG8gZXhwb3J0IGEgbmV3IGludGVyZmFjZSBhbmQgY2xhc3Ncbi8vIHRoZSBpbnRlcmZhY2UganVzdCBleHRlbmRzIHRoZSBpbnRlcmZhY2UgeW91IHdhbnQgdG8gdHVybiBpbnRvIHRoZSBjbGFzcy4gVGhpcyBpbmZvcm1zIHR5ZXBzY3JpcHRcbi8vIHRoYXQgdGhlIGNsYXNzIGhhcyBhbGwgdGhlIHNhbWUgbWV0aG9kcy9wcm9wZXJ0aWVzIGFzIHRoZSBpbnRlcmZhY2UgeW91IHdhbnQgdG8gZXh0ZW5kIHdpdGhvdXRcbi8vIGJyZWFraW5nIGlmIEZpcmViYXNlIGFkZHMvcmVtb3ZlcyBBUElzIGluIGZ1dHVyZSByZWxlYXNlcy4gVGhpcyB3YXMgYSBiaWcgcHJvYmxlbSBmb3IgQGFuZ3VsYXIvZmlyZVxuLy8gYmFjayB3aGVuIHdlIGNvbnN0cnVjdGVkIG91ciBvd24gY2xhc3MuIFRoZW4gaW4gdGhlIFwibmV3IGNsYXNzXCIgd2UganVzdCByZXR1cm4gdGhlIEZpcmViYXNlQXBwIGluIHRoZVxuLy8gY29uc3RydWN0b3IsIHRoaXMgYWxzbyBoYXMgdGhlIGFkZGVkIGJlbmVmaXQgb2YgRmlyZWJhc2UgbWV0aG9kcyB0YWtpbmcgb3VyIERJIGNsYXNzIHdpdGhvdXRcbi8vIGNhc3RpbmcuIEUuZyxcbi8vICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEZpcmViYXNlQXBwKSB7IH1cbi8vICAgbmdPbkRlc3Ryb3koKSB7IGRlbGV0ZUFwcCh0aGlzLmFwcCk7IH1cbi8vXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIEZpcmViYXNlQXBwIGV4dGVuZHMgSUZpcmViYXNlQXBwIHt9XG5cbmV4cG9ydCBjbGFzcyBGaXJlYmFzZUFwcCB7XG4gIGNvbnN0cnVjdG9yKGFwcDogSUZpcmViYXNlQXBwKSB7XG4gICAgcmV0dXJuIGFwcDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpcmViYXNlQXBwcyBleHRlbmRzIEFycmF5PElGaXJlYmFzZUFwcD4ge31cblxuZXhwb3J0IGNsYXNzIEZpcmViYXNlQXBwcyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJldHVybiBnZXRBcHBzKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGZpcmViYXNlQXBwJCA9IHRpbWVyKDAsIDMwMCkucGlwZShcbiAgY29uY2F0TWFwKCgpID0+IGZyb20oZ2V0QXBwcygpKSksXG4gIGRpc3RpbmN0KCksXG4pO1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCckQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBWSxHQUFpQjtRQUMzQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRjtBQUtELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCO1FBQ0UsT0FBTyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzVDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUNoQyxRQUFRLEVBQUUsQ0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VBcHAgYXMgSUZpcmViYXNlQXBwLCBnZXRBcHBzIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IGZyb20sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIGRpc3RpbmN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBOZWVkIHRvIHR1cm4gdGhlIEZpcmViYXNlQXBwIGludGVyZmFjZSBleHBvcnRlZCBieSBmaXJlYmFzZS9hcHAgaW50byBhIGNsYXNzXG4vLyBhcyB0eXBlcyBkb24ndCB3b3JrIGluIEFuZ3VsYXIgREkuIFdlIHdhbnQgZGV2ZWxvcGVycyB0byBiZSBhYmxlIHRvIGluamVjdCBGaXJlYmFzZUFwcCBsaWtlIHNvXG4vLyAgIGNvbnN0cnVjdG9yKGFwcDogRmlyZWJhc2VBcHApXG4vLyB0aGUgY2xlYW5lc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyB0aGF0IEkgZm91bmQgaXMgdG8gZXhwb3J0IGEgbmV3IGludGVyZmFjZSBhbmQgY2xhc3Ncbi8vIHRoZSBpbnRlcmZhY2UganVzdCBleHRlbmRzIHRoZSBpbnRlcmZhY2UgeW91IHdhbnQgdG8gdHVybiBpbnRvIHRoZSBjbGFzcy4gVGhpcyBpbmZvcm1zIHR5ZXBzY3JpcHRcbi8vIHRoYXQgdGhlIGNsYXNzIGhhcyBhbGwgdGhlIHNhbWUgbWV0aG9kcy9wcm9wZXJ0aWVzIGFzIHRoZSBpbnRlcmZhY2UgeW91IHdhbnQgdG8gZXh0ZW5kIHdpdGhvdXRcbi8vIGJyZWFraW5nIGlmIEZpcmViYXNlIGFkZHMvcmVtb3ZlcyBBUElzIGluIGZ1dHVyZSByZWxlYXNlcy4gVGhpcyB3YXMgYSBiaWcgcHJvYmxlbSBmb3IgQGFuZ3VsYXIvZmlyZVxuLy8gYmFjayB3aGVuIHdlIGNvbnN0cnVjdGVkIG91ciBvd24gY2xhc3MuIFRoZW4gaW4gdGhlIFwibmV3IGNsYXNzXCIgd2UganVzdCByZXR1cm4gdGhlIEZpcmViYXNlQXBwIGluIHRoZVxuLy8gY29uc3RydWN0b3IsIHRoaXMgYWxzbyBoYXMgdGhlIGFkZGVkIGJlbmVmaXQgb2YgRmlyZWJhc2UgbWV0aG9kcyB0YWtpbmcgb3VyIERJIGNsYXNzIHdpdGhvdXRcbi8vIGNhc3RpbmcuIEUuZyxcbi8vICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEZpcmViYXNlQXBwKSB7IH1cbi8vICAgbmdPbkRlc3Ryb3koKSB7IGRlbGV0ZUFwcCh0aGlzLmFwcCk7IH1cbi8vXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBGaXJlYmFzZUFwcCBleHRlbmRzIElGaXJlYmFzZUFwcCB7fVxuXG5leHBvcnQgY2xhc3MgRmlyZWJhc2VBcHAge1xuICBjb25zdHJ1Y3RvcihhcHA6IElGaXJlYmFzZUFwcCkge1xuICAgIHJldHVybiBhcHA7XG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgRmlyZWJhc2VBcHBzIGV4dGVuZHMgQXJyYXk8SUZpcmViYXNlQXBwPiB7fVxuXG5leHBvcnQgY2xhc3MgRmlyZWJhc2VBcHBzIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgcmV0dXJuIGdldEFwcHMoKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZmlyZWJhc2VBcHAkID0gdGltZXIoMCwgMzAwKS5waXBlKFxuICBjb25jYXRNYXAoKCkgPT4gZnJvbShnZXRBcHBzKCkpKSxcbiAgZGlzdGluY3QoKSxcbik7XG4iXX0=