@angular/fire 7.6.1 → 16.0.0-canary.596e208

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 (466) hide show
  1. package/analytics/is-analytics-supported-factory.d.ts +4 -0
  2. package/app-check/app-check.d.ts +0 -6
  3. package/app-check/app-check.module.d.ts +0 -1
  4. package/app-check/public_api.d.ts +2 -1
  5. package/auth-guard/auth-guard.d.ts +4 -4
  6. package/compat/auth/auth.d.ts +1 -1
  7. package/compat/auth-guard/auth-guard.d.ts +6 -4
  8. package/compat/database/interfaces.d.ts +12 -12
  9. package/compat/firestore/interfaces.d.ts +17 -17
  10. package/compat/proxy.d.ts +8 -8
  11. package/compat/remote-config/interfaces.d.ts +1 -1
  12. package/compat/storage/interfaces.d.ts +8 -8
  13. package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
  14. package/core.d.ts +8 -12
  15. package/esm2022/analytics/analytics.module.mjs +94 -0
  16. package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
  17. package/esm2022/analytics/overrides.mjs +3 -0
  18. package/esm2022/analytics/screen-tracking.service.mjs +147 -0
  19. package/esm2022/analytics/user-tracking.service.mjs +44 -0
  20. package/esm2022/app/app.module.mjs +84 -0
  21. package/esm2022/app-check/app-check.mjs +10 -0
  22. package/esm2022/app-check/app-check.module.mjs +79 -0
  23. package/esm2022/app-check/public_api.mjs +5 -0
  24. package/esm2022/auth/auth.module.mjs +71 -0
  25. package/esm2022/auth-guard/auth-guard.mjs +51 -0
  26. package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +5 -5
  27. package/esm2022/compat/analytics/analytics.mjs +161 -0
  28. package/{esm2015/compat/analytics/analytics.module.js → esm2022/compat/analytics/analytics.module.mjs} +5 -5
  29. package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
  30. package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
  31. package/esm2022/compat/auth/auth.mjs +161 -0
  32. package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +5 -5
  33. package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
  34. package/esm2022/compat/auth-guard/auth-guard.mjs +51 -0
  35. package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +5 -5
  36. package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +3 -3
  37. package/esm2022/compat/database/database.mjs +119 -0
  38. package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +5 -5
  39. package/esm2022/compat/database/list/create-reference.mjs +44 -0
  40. package/{esm2015/compat/firebase.app.module.js → esm2022/compat/firebase.app.module.mjs} +11 -11
  41. package/esm2022/compat/firestore/collection/changes.mjs +108 -0
  42. package/esm2022/compat/firestore/collection/collection.mjs +123 -0
  43. package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
  44. package/esm2022/compat/firestore/document/document.mjs +87 -0
  45. package/esm2022/compat/firestore/firestore.mjs +257 -0
  46. package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +5 -5
  47. package/esm2022/compat/firestore/interfaces.mjs +2 -0
  48. package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
  49. package/esm2022/compat/functions/functions.mjs +69 -0
  50. package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +5 -5
  51. package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
  52. package/esm2022/compat/messaging/messaging.mjs +80 -0
  53. package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +5 -5
  54. package/{esm2015/compat/performance/performance.js → esm2022/compat/performance/performance.mjs} +7 -6
  55. package/{esm2015/compat/performance/performance.module.js → esm2022/compat/performance/performance.module.mjs} +5 -5
  56. package/esm2022/compat/performance/performance.service.mjs +27 -0
  57. package/esm2022/compat/proxy.mjs +59 -0
  58. package/esm2022/compat/remote-config/remote-config.mjs +207 -0
  59. package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +5 -5
  60. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
  61. package/esm2022/compat/storage/storage.mjs +95 -0
  62. package/{esm2015/compat/storage/storage.module.js → esm2022/compat/storage/storage.module.mjs} +5 -5
  63. package/esm2022/core.mjs +45 -0
  64. package/esm2022/database/database.module.mjs +74 -0
  65. package/esm2022/firestore/firestore.module.mjs +74 -0
  66. package/esm2022/firestore/lite/lite.module.mjs +73 -0
  67. package/esm2022/firestore/rxfire.mjs +15 -0
  68. package/esm2022/functions/functions.module.mjs +74 -0
  69. package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
  70. package/esm2022/messaging/messaging.module.mjs +86 -0
  71. package/esm2022/messaging/overrides.mjs +3 -0
  72. package/{esm2015/performance/performance.module.js → esm2022/performance/performance.module.mjs} +8 -8
  73. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
  74. package/esm2022/remote-config/overrides.mjs +3 -0
  75. package/esm2022/remote-config/remote-config.module.mjs +86 -0
  76. package/esm2022/storage/storage.module.mjs +74 -0
  77. package/esm2022/zones.mjs +196 -0
  78. package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +61 -38
  79. package/fesm2022/angular-fire-analytics.mjs.map +1 -0
  80. package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +15 -22
  81. package/fesm2022/angular-fire-app-check.mjs.map +1 -0
  82. package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +8 -8
  83. package/fesm2022/angular-fire-app.mjs.map +1 -0
  84. package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +25 -23
  85. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
  86. package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +10 -11
  87. package/fesm2022/angular-fire-auth.mjs.map +1 -0
  88. package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +28 -28
  89. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
  90. package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +25 -23
  91. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
  92. package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +32 -10
  93. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
  94. package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +17 -12
  95. package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
  96. package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +37 -16
  97. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
  98. package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +10 -9
  99. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
  100. package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +20 -15
  101. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
  102. package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +16 -15
  103. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
  104. package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +33 -19
  105. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
  106. package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +23 -18
  107. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
  108. package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +15 -17
  109. package/fesm2022/angular-fire-compat.mjs.map +1 -0
  110. package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +10 -11
  111. package/fesm2022/angular-fire-database.mjs.map +1 -0
  112. package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +10 -11
  113. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
  114. package/{fesm2015/angular-fire-firestore.js → fesm2022/angular-fire-firestore.mjs} +14 -13
  115. package/fesm2022/angular-fire-firestore.mjs.map +1 -0
  116. package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +10 -11
  117. package/fesm2022/angular-fire-functions.mjs.map +1 -0
  118. package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
  119. package/fesm2022/angular-fire-messaging.mjs.map +1 -0
  120. package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +8 -8
  121. package/fesm2022/angular-fire-performance.mjs.map +1 -0
  122. package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
  123. package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
  124. package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +10 -11
  125. package/fesm2022/angular-fire-storage.mjs.map +1 -0
  126. package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +31 -52
  127. package/fesm2022/angular-fire.mjs.map +1 -0
  128. package/firestore/rxfire.d.ts +3 -1
  129. package/messaging/is-messaging-supported-factory.d.ts +4 -0
  130. package/package.json +158 -7
  131. package/publish.sh +1 -0
  132. package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
  133. package/schematics/add/index.js +1 -1
  134. package/schematics/common.js +8 -4
  135. package/schematics/deploy/actions.js +59 -59
  136. package/schematics/deploy/builder.js +5 -5
  137. package/schematics/firebaseTools.js +9 -5
  138. package/schematics/setup/index.js +24 -23
  139. package/schematics/setup/prompts.js +20 -15
  140. package/schematics/update/v7/index.js +5 -5
  141. package/schematics/utils.js +30 -30
  142. package/README.md +0 -216
  143. package/analytics/package.json +0 -11
  144. package/app/package.json +0 -11
  145. package/app-check/package.json +0 -11
  146. package/auth/package.json +0 -11
  147. package/auth-guard/package.json +0 -11
  148. package/bundles/angular-fire-analytics.umd.js +0 -673
  149. package/bundles/angular-fire-analytics.umd.js.map +0 -1
  150. package/bundles/angular-fire-app-check.umd.js +0 -465
  151. package/bundles/angular-fire-app-check.umd.js.map +0 -1
  152. package/bundles/angular-fire-app.umd.js +0 -477
  153. package/bundles/angular-fire-app.umd.js.map +0 -1
  154. package/bundles/angular-fire-auth-guard.umd.js +0 -109
  155. package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
  156. package/bundles/angular-fire-auth.umd.js +0 -557
  157. package/bundles/angular-fire-auth.umd.js.map +0 -1
  158. package/bundles/angular-fire-compat-analytics.umd.js +0 -672
  159. package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
  160. package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
  161. package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
  162. package/bundles/angular-fire-compat-auth.umd.js +0 -559
  163. package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
  164. package/bundles/angular-fire-compat-database.umd.js +0 -799
  165. package/bundles/angular-fire-compat-database.umd.js.map +0 -1
  166. package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
  167. package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
  168. package/bundles/angular-fire-compat-functions.umd.js +0 -443
  169. package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
  170. package/bundles/angular-fire-compat-messaging.umd.js +0 -465
  171. package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
  172. package/bundles/angular-fire-compat-performance.umd.js +0 -212
  173. package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
  174. package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
  175. package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
  176. package/bundles/angular-fire-compat-storage.umd.js +0 -598
  177. package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
  178. package/bundles/angular-fire-compat.umd.js +0 -535
  179. package/bundles/angular-fire-compat.umd.js.map +0 -1
  180. package/bundles/angular-fire-database.umd.js +0 -557
  181. package/bundles/angular-fire-database.umd.js.map +0 -1
  182. package/bundles/angular-fire-firestore-lite.umd.js +0 -531
  183. package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
  184. package/bundles/angular-fire-firestore.umd.js +0 -565
  185. package/bundles/angular-fire-firestore.umd.js.map +0 -1
  186. package/bundles/angular-fire-functions.umd.js +0 -461
  187. package/bundles/angular-fire-functions.umd.js.map +0 -1
  188. package/bundles/angular-fire-messaging.umd.js +0 -473
  189. package/bundles/angular-fire-messaging.umd.js.map +0 -1
  190. package/bundles/angular-fire-performance.umd.js +0 -473
  191. package/bundles/angular-fire-performance.umd.js.map +0 -1
  192. package/bundles/angular-fire-remote-config.umd.js +0 -499
  193. package/bundles/angular-fire-remote-config.umd.js.map +0 -1
  194. package/bundles/angular-fire-storage.umd.js +0 -485
  195. package/bundles/angular-fire-storage.umd.js.map +0 -1
  196. package/bundles/angular-fire.umd.js +0 -308
  197. package/bundles/angular-fire.umd.js.map +0 -1
  198. package/compat/analytics/package.json +0 -11
  199. package/compat/auth/package.json +0 -11
  200. package/compat/auth-guard/package.json +0 -11
  201. package/compat/database/package.json +0 -11
  202. package/compat/firestore/package.json +0 -11
  203. package/compat/functions/package.json +0 -11
  204. package/compat/messaging/package.json +0 -11
  205. package/compat/package.json +0 -11
  206. package/compat/performance/package.json +0 -11
  207. package/compat/remote-config/package.json +0 -11
  208. package/compat/storage/package.json +0 -11
  209. package/database/package.json +0 -11
  210. package/docs/analytics.md +0 -67
  211. package/docs/app-check.md +0 -53
  212. package/docs/auth.md +0 -165
  213. package/docs/compat/analytics/getting-started.md +0 -137
  214. package/docs/compat/auth/getting-started.md +0 -162
  215. package/docs/compat/auth/router-guards.md +0 -104
  216. package/docs/compat/emulators/emulators.md +0 -134
  217. package/docs/compat/firestore/collections.md +0 -326
  218. package/docs/compat/firestore/documents.md +0 -115
  219. package/docs/compat/firestore/offline-data.md +0 -39
  220. package/docs/compat/firestore/querying-collections.md +0 -204
  221. package/docs/compat/functions/functions.md +0 -166
  222. package/docs/compat/messaging/messaging.md +0 -232
  223. package/docs/compat/performance/getting-started.md +0 -132
  224. package/docs/compat/remote-config/getting-started.md +0 -134
  225. package/docs/compat/rtdb/lists.md +0 -257
  226. package/docs/compat/rtdb/objects.md +0 -182
  227. package/docs/compat/rtdb/querying-lists.md +0 -155
  228. package/docs/compat/storage/storage.md +0 -257
  229. package/docs/compat.md +0 -70
  230. package/docs/database.md +0 -175
  231. package/docs/deploy/getting-started.md +0 -204
  232. package/docs/firebase.json +0 -16
  233. package/docs/firestore.md +0 -148
  234. package/docs/functions.md +0 -52
  235. package/docs/images/analytics-illo_1x.png +0 -0
  236. package/docs/images/auth-illo_1x.png +0 -0
  237. package/docs/images/cloud-messaging-illo_1x.png +0 -0
  238. package/docs/images/database-illo_1x.png +0 -0
  239. package/docs/images/firestore-illo_1x.png +0 -0
  240. package/docs/images/functions-illo_1x.png +0 -0
  241. package/docs/images/hosting-illo_1x.png +0 -0
  242. package/docs/images/performance-illo_1x.png +0 -0
  243. package/docs/images/reCAPTCHA-logo@1x.png +0 -0
  244. package/docs/images/remote-config-illo_1x.png +0 -0
  245. package/docs/images/storage-illo_1x.png +0 -0
  246. package/docs/install-and-setup.md +0 -114
  247. package/docs/install-angular-cli-windows10.md +0 -82
  248. package/docs/messaging.md +0 -25
  249. package/docs/performance.md +0 -57
  250. package/docs/remote-config.md +0 -53
  251. package/docs/storage.md +0 -90
  252. package/docs/universal/cloud-functions.md +0 -75
  253. package/docs/universal/getting-started.md +0 -153
  254. package/docs/universal/prerendering.md +0 -72
  255. package/docs/version-4-upgrade.md +0 -119
  256. package/docs/version-5-upgrade.md +0 -82
  257. package/docs/version-6-upgrade.md +0 -16
  258. package/docs/version-7-upgrade.md +0 -298
  259. package/esm2015/analytics/analytics.module.js +0 -93
  260. package/esm2015/analytics/overrides.js +0 -3
  261. package/esm2015/analytics/screen-tracking.service.js +0 -139
  262. package/esm2015/analytics/user-tracking.service.js +0 -43
  263. package/esm2015/app/app.module.js +0 -84
  264. package/esm2015/app-check/app-check.js +0 -16
  265. package/esm2015/app-check/app-check.module.js +0 -81
  266. package/esm2015/app-check/public_api.js +0 -4
  267. package/esm2015/auth/auth.module.js +0 -71
  268. package/esm2015/auth-guard/auth-guard.js +0 -49
  269. package/esm2015/compat/analytics/analytics.js +0 -163
  270. package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
  271. package/esm2015/compat/analytics/user-tracking.service.js +0 -52
  272. package/esm2015/compat/auth/auth.js +0 -139
  273. package/esm2015/compat/auth-guard/auth-guard.js +0 -49
  274. package/esm2015/compat/database/database.js +0 -117
  275. package/esm2015/compat/database/list/create-reference.js +0 -41
  276. package/esm2015/compat/firestore/collection/changes.js +0 -107
  277. package/esm2015/compat/firestore/collection/collection.js +0 -117
  278. package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
  279. package/esm2015/compat/firestore/document/document.js +0 -82
  280. package/esm2015/compat/firestore/firestore.js +0 -254
  281. package/esm2015/compat/firestore/interfaces.js +0 -2
  282. package/esm2015/compat/firestore/observable/fromRef.js +0 -39
  283. package/esm2015/compat/functions/functions.js +0 -68
  284. package/esm2015/compat/messaging/messaging.js +0 -75
  285. package/esm2015/compat/performance/performance.service.js +0 -27
  286. package/esm2015/compat/proxy.js +0 -61
  287. package/esm2015/compat/remote-config/remote-config.js +0 -193
  288. package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
  289. package/esm2015/compat/storage/storage.js +0 -94
  290. package/esm2015/core.js +0 -79
  291. package/esm2015/database/database.module.js +0 -74
  292. package/esm2015/firestore/firestore.module.js +0 -74
  293. package/esm2015/firestore/lite/lite.module.js +0 -74
  294. package/esm2015/firestore/rxfire.js +0 -13
  295. package/esm2015/functions/functions.module.js +0 -74
  296. package/esm2015/messaging/messaging.module.js +0 -85
  297. package/esm2015/messaging/overrides.js +0 -3
  298. package/esm2015/remote-config/overrides.js +0 -3
  299. package/esm2015/remote-config/remote-config.module.js +0 -85
  300. package/esm2015/storage/storage.module.js +0 -74
  301. package/esm2015/zones.js +0 -183
  302. package/fesm2015/angular-fire-analytics.js.map +0 -1
  303. package/fesm2015/angular-fire-app-check.js.map +0 -1
  304. package/fesm2015/angular-fire-app.js.map +0 -1
  305. package/fesm2015/angular-fire-auth-guard.js.map +0 -1
  306. package/fesm2015/angular-fire-auth.js.map +0 -1
  307. package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
  308. package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
  309. package/fesm2015/angular-fire-compat-auth.js.map +0 -1
  310. package/fesm2015/angular-fire-compat-database.js.map +0 -1
  311. package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
  312. package/fesm2015/angular-fire-compat-functions.js.map +0 -1
  313. package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
  314. package/fesm2015/angular-fire-compat-performance.js.map +0 -1
  315. package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
  316. package/fesm2015/angular-fire-compat-storage.js.map +0 -1
  317. package/fesm2015/angular-fire-compat.js.map +0 -1
  318. package/fesm2015/angular-fire-database.js.map +0 -1
  319. package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
  320. package/fesm2015/angular-fire-firestore.js.map +0 -1
  321. package/fesm2015/angular-fire-functions.js.map +0 -1
  322. package/fesm2015/angular-fire-messaging.js.map +0 -1
  323. package/fesm2015/angular-fire-performance.js.map +0 -1
  324. package/fesm2015/angular-fire-remote-config.js.map +0 -1
  325. package/fesm2015/angular-fire-storage.js.map +0 -1
  326. package/fesm2015/angular-fire.js.map +0 -1
  327. package/firestore/lite/package.json +0 -11
  328. package/firestore/package.json +0 -11
  329. package/firestore-protos.js +0 -4
  330. package/functions/package.json +0 -11
  331. package/messaging/package.json +0 -11
  332. package/performance/package.json +0 -11
  333. package/remote-config/package.json +0 -11
  334. package/schematics/add/schema.json +0 -16
  335. package/schematics/builders.json +0 -10
  336. package/schematics/collection.json +0 -15
  337. package/schematics/deploy/schema.json +0 -119
  338. package/schematics/migration.json +0 -15
  339. package/schematics/setup/schema.json +0 -16
  340. package/storage/package.json +0 -11
  341. /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
  342. /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
  343. /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
  344. /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
  345. /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
  346. /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
  347. /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
  348. /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
  349. /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
  350. /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
  351. /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
  352. /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
  353. /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
  354. /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
  355. /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
  356. /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
  357. /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
  358. /package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +0 -0
  359. /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
  360. /package/{esm2015/analytics/firebase.js → esm2022/analytics/firebase.mjs} +0 -0
  361. /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
  362. /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
  363. /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
  364. /package/{esm2015/app/app.js → esm2022/app/app.mjs} +0 -0
  365. /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
  366. /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
  367. /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
  368. /package/{esm2015/app-check/firebase.js → esm2022/app-check/firebase.mjs} +0 -0
  369. /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
  370. /package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +0 -0
  371. /package/{esm2015/auth/firebase.js → esm2022/auth/firebase.mjs} +0 -0
  372. /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
  373. /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
  374. /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
  375. /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
  376. /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
  377. /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
  378. /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
  379. /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
  380. /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
  381. /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
  382. /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
  383. /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
  384. /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
  385. /package/{esm2015/compat/database/interfaces.js → esm2022/compat/database/interfaces.mjs} +0 -0
  386. /package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +0 -0
  387. /package/{esm2015/compat/database/list/changes.js → esm2022/compat/database/list/changes.mjs} +0 -0
  388. /package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +0 -0
  389. /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
  390. /package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +0 -0
  391. /package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +0 -0
  392. /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
  393. /package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +0 -0
  394. /package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +0 -0
  395. /package/{esm2015/compat/database/observable/fromRef.js → esm2022/compat/database/observable/fromRef.mjs} +0 -0
  396. /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
  397. /package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +0 -0
  398. /package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +0 -0
  399. /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
  400. /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
  401. /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
  402. /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
  403. /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
  404. /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
  405. /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
  406. /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
  407. /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
  408. /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
  409. /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
  410. /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
  411. /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
  412. /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
  413. /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
  414. /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
  415. /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
  416. /package/{esm2015/compat/storage/observable/fromTask.js → esm2022/compat/storage/observable/fromTask.mjs} +0 -0
  417. /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
  418. /package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +0 -0
  419. /package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +0 -0
  420. /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
  421. /package/{esm2015/database/database.js → esm2022/database/database.mjs} +0 -0
  422. /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
  423. /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
  424. /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
  425. /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
  426. /package/{esm2015/firestore/firebase.js → esm2022/firestore/firebase.mjs} +0 -0
  427. /package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +0 -0
  428. /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
  429. /package/{esm2015/firestore/lite/firebase.js → esm2022/firestore/lite/firebase.mjs} +0 -0
  430. /package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +0 -0
  431. /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
  432. /package/{esm2015/firestore/lite/rxfire.js → esm2022/firestore/lite/rxfire.mjs} +0 -0
  433. /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
  434. /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
  435. /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
  436. /package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +0 -0
  437. /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
  438. /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
  439. /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
  440. /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
  441. /package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +0 -0
  442. /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
  443. /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
  444. /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
  445. /package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +0 -0
  446. /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
  447. /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
  448. /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
  449. /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
  450. /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
  451. /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
  452. /package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +0 -0
  453. /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
  454. /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
  455. /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
  456. /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
  457. /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
  458. /package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +0 -0
  459. /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
  460. /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
  461. /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
  462. /package/{angular-fire.d.ts → index.d.ts} +0 -0
  463. /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
  464. /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
  465. /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
  466. /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
@@ -15,11 +15,11 @@ export class AngularFireAnalyticsModule {
15
15
  // tslint:disable-next-line:no-unused-expression
16
16
  analytics.app.then(() => { });
17
17
  }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule, deps: [{ token: i1.AngularFireAnalytics }, { token: i2.ScreenTrackingService, optional: true }, { token: i3.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
19
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule });
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule, providers: [AngularFireAnalytics] });
18
21
  }
19
- AngularFireAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, deps: [{ token: i1.AngularFireAnalytics }, { token: i2.ScreenTrackingService, optional: true }, { token: i3.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
20
- AngularFireAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule });
21
- AngularFireAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, providers: [AngularFireAnalytics] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  providers: [AngularFireAnalytics]
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
29
29
  }] }, { type: i3.UserTrackingService, decorators: [{
30
30
  type: Optional
31
31
  }] }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYW5hbHl0aWNzL2FuYWx5dGljcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBS3hDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDRSxTQUErQixFQUNuQixjQUFxQyxFQUNyQyxZQUFpQztRQUU3QyxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDMUUsMERBQTBEO1FBQzFELGdEQUFnRDtRQUNoRCxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDOzt1SEFWVSwwQkFBMEI7d0hBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGFBRjFCLENBQUUsb0JBQW9CLENBQUU7MkZBRXhCLDBCQUEwQjtrQkFIdEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBRTtpQkFDcEM7OzBCQUlJLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjcmVlblRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vc2NyZWVuLXRyYWNraW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBbmFseXRpY3MgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBVc2VyVHJhY2tpbmdTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLXRyYWNraW5nLnNlcnZpY2UnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVBbmFseXRpY3MgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUFuYWx5dGljc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGFuYWx5dGljczogQW5ndWxhckZpcmVBbmFseXRpY3MsXG4gICAgQE9wdGlvbmFsKCkgc2NyZWVuVHJhY2tpbmc6IFNjcmVlblRyYWNraW5nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB1c2VyVHJhY2tpbmc6IFVzZXJUcmFja2luZ1NlcnZpY2UsXG4gICkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhbmFseXRpY3MtY29tcGF0Jyk7XG4gICAgLy8gY2FsbGluZyBhbnl0aGluZyBvbiBhbmFseXRpY3Mgd2lsbCBlYWdlcmx5IGxvYWQgdGhlIFNES1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAgIGFuYWx5dGljcy5hcHAudGhlbigoKSA9PiB7fSk7XG4gIH1cbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYW5hbHl0aWNzL2FuYWx5dGljcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBS3hDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDRSxTQUErQixFQUNuQixjQUFxQyxFQUNyQyxZQUFpQztRQUU3QyxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDMUUsMERBQTBEO1FBQzFELGdEQUFnRDtRQUNoRCxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO3VHQVZVLDBCQUEwQjt3R0FBMUIsMEJBQTBCO3dHQUExQiwwQkFBMEIsYUFGMUIsQ0FBRSxvQkFBb0IsQ0FBRTs7MkZBRXhCLDBCQUEwQjtrQkFIdEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBRTtpQkFDcEM7OzBCQUlJLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjcmVlblRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vc2NyZWVuLXRyYWNraW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBbmFseXRpY3MgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBVc2VyVHJhY2tpbmdTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLXRyYWNraW5nLnNlcnZpY2UnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVBbmFseXRpY3MgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUFuYWx5dGljc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGFuYWx5dGljczogQW5ndWxhckZpcmVBbmFseXRpY3MsXG4gICAgQE9wdGlvbmFsKCkgc2NyZWVuVHJhY2tpbmc6IFNjcmVlblRyYWNraW5nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB1c2VyVHJhY2tpbmc6IFVzZXJUcmFja2luZ1NlcnZpY2UsXG4gICkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhbmFseXRpY3MtY29tcGF0Jyk7XG4gICAgLy8gY2FsbGluZyBhbnl0aGluZyBvbiBhbmFseXRpY3Mgd2lsbCBlYWdlcmx5IGxvYWQgdGhlIFNES1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAgIGFuYWx5dGljcy5hcHAudGhlbigoKSA9PiB7fSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { ComponentFactoryResolver, Injectable, NgZone, Optional } from '@angular/core';
2
+ import { switchMap } from 'rxjs/operators';
3
+ import { Router } from '@angular/router';
4
+ import { AngularFireAnalytics } from './analytics';
5
+ import { Title } from '@angular/platform-browser';
6
+ import { UserTrackingService } from './user-tracking.service';
7
+ import firebase from 'firebase/compat/app';
8
+ import { VERSION } from '@angular/fire';
9
+ import { ɵscreenViewEvent } from '@angular/fire/analytics';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./analytics";
12
+ import * as i2 from "@angular/router";
13
+ import * as i3 from "@angular/platform-browser";
14
+ import * as i4 from "./user-tracking.service";
15
+ const SCREEN_VIEW_EVENT = 'screen_view';
16
+ export class ScreenTrackingService {
17
+ disposable;
18
+ constructor(analytics, router, title, componentFactoryResolver, zone, userTrackingService) {
19
+ firebase.registerVersion('angularfire', VERSION.full, 'compat-screen-tracking');
20
+ if (!router || !analytics) {
21
+ return this;
22
+ }
23
+ zone.runOutsideAngular(() => {
24
+ this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap(async (params) => {
25
+ if (userTrackingService) {
26
+ await userTrackingService.initialized;
27
+ }
28
+ return await analytics.logEvent(SCREEN_VIEW_EVENT, params);
29
+ })).subscribe();
30
+ });
31
+ }
32
+ ngOnDestroy() {
33
+ if (this.disposable) {
34
+ this.disposable.unsubscribe();
35
+ }
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1.AngularFireAnalytics }, { token: i2.Router, optional: true }, { token: i3.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: i4.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService, decorators: [{
41
+ type: Injectable
42
+ }], ctorParameters: function () { return [{ type: i1.AngularFireAnalytics }, { type: i2.Router, decorators: [{
43
+ type: Optional
44
+ }] }, { type: i3.Title, decorators: [{
45
+ type: Optional
46
+ }] }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: i4.UserTrackingService, decorators: [{
47
+ type: Optional
48
+ }] }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXRyYWNraW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2FuYWx5dGljcy9zY3JlZW4tdHJhY2tpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUUzRCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQztBQUd4QyxNQUFNLE9BQU8scUJBQXFCO0lBRXhCLFVBQVUsQ0FBMkI7SUFFN0MsWUFDRSxTQUErQixFQUNuQixNQUFjLEVBQ2QsS0FBWSxFQUN4Qix3QkFBa0QsRUFDbEQsSUFBWSxFQUNBLG1CQUF3QztRQUVwRCxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQzVFLFNBQVMsQ0FBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLEVBQUU7Z0JBQ3ZCLElBQUksbUJBQW1CLEVBQUU7b0JBQ3ZCLE1BQU0sbUJBQW1CLENBQUMsV0FBVyxDQUFDO2lCQUN2QztnQkFDRCxPQUFPLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FDTCxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7dUdBOUJVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFPTixRQUFROzswQkFDUixRQUFROzswQkFHUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQW5hbHl0aWNzIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFVzZXJUcmFja2luZ1NlcnZpY2UgfSBmcm9tICcuL3VzZXItdHJhY2tpbmcuc2VydmljZSc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyDJtXNjcmVlblZpZXdFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYW5hbHl0aWNzJztcblxuY29uc3QgU0NSRUVOX1ZJRVdfRVZFTlQgPSAnc2NyZWVuX3ZpZXcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2NyZWVuVHJhY2tpbmdTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIGRpc3Bvc2FibGU6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3M6IEFuZ3VsYXJGaXJlQW5hbHl0aWNzLFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcjogUm91dGVyLFxuICAgIEBPcHRpb25hbCgpIHRpdGxlOiBUaXRsZSxcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKCkgdXNlclRyYWNraW5nU2VydmljZTogVXNlclRyYWNraW5nU2VydmljZSxcbiAgKSB7XG4gICAgZmlyZWJhc2UucmVnaXN0ZXJWZXJzaW9uKCdhbmd1bGFyZmlyZScsIFZFUlNJT04uZnVsbCwgJ2NvbXBhdC1zY3JlZW4tdHJhY2tpbmcnKTtcbiAgICBpZiAoIXJvdXRlciB8fCAhYW5hbHl0aWNzKSB7IHJldHVybiB0aGlzOyB9XG4gICAgem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmRpc3Bvc2FibGUgPSDJtXNjcmVlblZpZXdFdmVudChyb3V0ZXIsIHRpdGxlLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKGFzeW5jIHBhcmFtcyA9PiB7XG4gICAgICAgICAgICBpZiAodXNlclRyYWNraW5nU2VydmljZSkge1xuICAgICAgICAgICAgICBhd2FpdCB1c2VyVHJhY2tpbmdTZXJ2aWNlLmluaXRpYWxpemVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGFuYWx5dGljcy5sb2dFdmVudChTQ1JFRU5fVklFV19FVkVOVCwgcGFyYW1zKTtcbiAgICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmRpc3Bvc2FibGUpIHtcbiAgICAgIHRoaXMuZGlzcG9zYWJsZS51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { isPlatformServer } from '@angular/common';
2
+ import { Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
3
+ import { AngularFireAnalytics } from './analytics';
4
+ import { AngularFireAuth } from '@angular/fire/compat/auth';
5
+ import firebase from 'firebase/compat/app';
6
+ import { VERSION } from '@angular/fire';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./analytics";
9
+ import * as i2 from "@angular/fire/compat/auth";
10
+ export class UserTrackingService {
11
+ initialized;
12
+ disposables = [];
13
+ // TODO a user properties injector
14
+ constructor(analytics,
15
+ // tslint:disable-next-line:ban-types
16
+ platformId, auth, zone) {
17
+ firebase.registerVersion('angularfire', VERSION.full, 'compat-user-tracking');
18
+ if (!isPlatformServer(platformId)) {
19
+ let resolveInitialized;
20
+ this.initialized = zone.runOutsideAngular(() => new Promise(resolve => resolveInitialized = resolve));
21
+ this.disposables = [
22
+ auth.authState.subscribe(user => {
23
+ analytics.setUserId(user?.uid);
24
+ resolveInitialized();
25
+ }),
26
+ auth.credential.subscribe(credential => {
27
+ if (credential) {
28
+ const method = credential.user.isAnonymous ? 'anonymous' : credential.additionalUserInfo.providerId;
29
+ if (credential.additionalUserInfo.isNewUser) {
30
+ analytics.logEvent('sign_up', { method });
31
+ }
32
+ analytics.logEvent('login', { method });
33
+ }
34
+ })
35
+ ];
36
+ }
37
+ else {
38
+ this.initialized = Promise.resolve();
39
+ }
40
+ }
41
+ ngOnDestroy() {
42
+ this.disposables.forEach(it => it.unsubscribe());
43
+ }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.AngularFireAnalytics }, { token: PLATFORM_ID }, { token: i2.AngularFireAuth }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService, decorators: [{
48
+ type: Injectable
49
+ }], ctorParameters: function () { return [{ type: i1.AngularFireAnalytics }, { type: Object, decorators: [{
50
+ type: Inject,
51
+ args: [PLATFORM_ID]
52
+ }] }, { type: i2.AngularFireAuth }, { type: i0.NgZone }]; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci10cmFja2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9hbmFseXRpY3MvdXNlci10cmFja2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBR3hDLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsV0FBVyxDQUFnQjtJQUNuQixXQUFXLEdBQXdCLEVBQUUsQ0FBQztJQUU5QyxrQ0FBa0M7SUFDbEMsWUFDRSxTQUErQjtJQUMvQixxQ0FBcUM7SUFDaEIsVUFBa0IsRUFDdkMsSUFBcUIsRUFDckIsSUFBWTtRQUVaLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakMsSUFBSSxrQkFBa0IsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEcsSUFBSSxDQUFDLFdBQVcsR0FBRztnQkFDZixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDOUIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQy9CLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQztnQkFDRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDckMsSUFBSSxVQUFVLEVBQUU7d0JBQ2QsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQzt3QkFDcEcsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFOzRCQUMzQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7eUJBQzNDO3dCQUNELFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztxQkFDekM7Z0JBQ0gsQ0FBQyxDQUFDO2FBQ0wsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN0QztJQUVILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO3VHQXhDVSxtQkFBbUIsc0RBU3BCLFdBQVc7MkdBVFYsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzswQkFVTixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZUFuYWx5dGljcyB9IGZyb20gJy4vYW5hbHl0aWNzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQXV0aCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvY29tcGF0L2F1dGgnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyVHJhY2tpbmdTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBpbml0aWFsaXplZDogUHJvbWlzZTx2b2lkPjtcbiAgcHJpdmF0ZSBkaXNwb3NhYmxlczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gIC8vIFRPRE8gYSB1c2VyIHByb3BlcnRpZXMgaW5qZWN0b3JcbiAgY29uc3RydWN0b3IoXG4gICAgYW5hbHl0aWNzOiBBbmd1bGFyRmlyZUFuYWx5dGljcyxcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIGF1dGg6IEFuZ3VsYXJGaXJlQXV0aCxcbiAgICB6b25lOiBOZ1pvbmUsXG4gICkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdjb21wYXQtdXNlci10cmFja2luZycpO1xuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgbGV0IHJlc29sdmVJbml0aWFsaXplZDtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZUluaXRpYWxpemVkID0gcmVzb2x2ZSkpO1xuICAgICAgdGhpcy5kaXNwb3NhYmxlcyA9IFtcbiAgICAgICAgICBhdXRoLmF1dGhTdGF0ZS5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgICAgICBhbmFseXRpY3Muc2V0VXNlcklkKHVzZXI/LnVpZCk7XG4gICAgICAgICAgICByZXNvbHZlSW5pdGlhbGl6ZWQoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBhdXRoLmNyZWRlbnRpYWwuc3Vic2NyaWJlKGNyZWRlbnRpYWwgPT4ge1xuICAgICAgICAgICAgaWYgKGNyZWRlbnRpYWwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0aG9kID0gY3JlZGVudGlhbC51c2VyLmlzQW5vbnltb3VzID8gJ2Fub255bW91cycgOiBjcmVkZW50aWFsLmFkZGl0aW9uYWxVc2VySW5mby5wcm92aWRlcklkO1xuICAgICAgICAgICAgICBpZiAoY3JlZGVudGlhbC5hZGRpdGlvbmFsVXNlckluZm8uaXNOZXdVc2VyKSB7XG4gICAgICAgICAgICAgICAgYW5hbHl0aWNzLmxvZ0V2ZW50KCdzaWduX3VwJywgeyBtZXRob2QgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYW5hbHl0aWNzLmxvZ0V2ZW50KCdsb2dpbicsIHsgbWV0aG9kIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVkID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRpc3Bvc2FibGVzLmZvckVhY2goaXQgPT4gaXQudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,161 @@
1
+ import { Injectable, Inject, Optional, NgZone, PLATFORM_ID, InjectionToken } from '@angular/core';
2
+ import { Observable, of, from, merge, Subject } from 'rxjs';
3
+ import { switchMap, map, observeOn, shareReplay, first, filter, switchMapTo, subscribeOn } from 'rxjs/operators';
4
+ import { ɵAngularFireSchedulers, keepUnstableUntilFirst } from '@angular/fire';
5
+ import { ɵlazySDKProxy, ɵapplyMixins } from '@angular/fire/compat';
6
+ import { ɵfirebaseAppFactory, FIREBASE_OPTIONS, FIREBASE_APP_NAME, ɵcacheInstance } from '@angular/fire/compat';
7
+ import { isPlatformServer } from '@angular/common';
8
+ import { proxyPolyfillCompat } from './base';
9
+ import { AppCheckInstances } from '@angular/fire/app-check';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/fire";
12
+ import * as i2 from "@angular/fire/app-check";
13
+ export const USE_EMULATOR = new InjectionToken('angularfire2.auth.use-emulator');
14
+ export const SETTINGS = new InjectionToken('angularfire2.auth.settings');
15
+ export const TENANT_ID = new InjectionToken('angularfire2.auth.tenant-id');
16
+ export const LANGUAGE_CODE = new InjectionToken('angularfire2.auth.langugage-code');
17
+ export const USE_DEVICE_LANGUAGE = new InjectionToken('angularfire2.auth.use-device-language');
18
+ export const PERSISTENCE = new InjectionToken('angularfire.auth.persistence');
19
+ export const ɵauthFactory = (app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence) => ɵcacheInstance(`${app.name}.auth`, 'AngularFireAuth', app.name, () => {
20
+ const auth = zone.runOutsideAngular(() => app.auth());
21
+ if (useEmulator) {
22
+ auth.useEmulator(...useEmulator);
23
+ }
24
+ if (tenantId) {
25
+ auth.tenantId = tenantId;
26
+ }
27
+ auth.languageCode = languageCode;
28
+ if (useDeviceLanguage) {
29
+ auth.useDeviceLanguage();
30
+ }
31
+ if (settings) {
32
+ for (const [k, v] of Object.entries(settings)) {
33
+ auth.settings[k] = v;
34
+ }
35
+ }
36
+ if (persistence) {
37
+ auth.setPersistence(persistence);
38
+ }
39
+ return auth;
40
+ }, [useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence]);
41
+ export class AngularFireAuth {
42
+ /**
43
+ * Observable of authentication state; as of Firebase 4.0 this is only triggered via sign-in/out
44
+ */
45
+ authState;
46
+ /**
47
+ * Observable of the currently signed-in user's JWT token used to identify the user to a Firebase service (or null).
48
+ */
49
+ idToken;
50
+ /**
51
+ * Observable of the currently signed-in user (or null).
52
+ */
53
+ user;
54
+ /**
55
+ * Observable of the currently signed-in user's IdTokenResult object which contains the ID token JWT string and other
56
+ * helper properties for getting different data associated with the token as well as all the decoded payload claims
57
+ * (or null).
58
+ */
59
+ idTokenResult;
60
+ /**
61
+ * Observable of the currently signed-in user's credential, or null
62
+ */
63
+ credential;
64
+ constructor(options, name,
65
+ // tslint:disable-next-line:ban-types
66
+ platformId, zone, schedulers, useEmulator, // can't use the tuple here
67
+ settings, // can't use firebase.auth.AuthSettings here
68
+ tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {
69
+ const logins = new Subject();
70
+ const auth = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap(() => zone.runOutsideAngular(() => import('firebase/compat/auth'))), map(() => ɵfirebaseAppFactory(options, zone, name)), map(app => ɵauthFactory(app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence)), shareReplay({ bufferSize: 1, refCount: false }));
71
+ if (isPlatformServer(platformId)) {
72
+ this.authState = this.user = this.idToken = this.idTokenResult = this.credential = of(null);
73
+ }
74
+ else {
75
+ // HACK, as we're exporting auth.Auth, rather than auth, developers importing firebase.auth
76
+ // (e.g, `import { auth } from 'firebase/compat/app'`) are getting an undefined auth object unexpectedly
77
+ // as we're completely lazy. Let's eagerly load the Auth SDK here.
78
+ // There could potentially be race conditions still... but this greatly decreases the odds while
79
+ // we reevaluate the API.
80
+ const _ = auth.pipe(first()).subscribe();
81
+ const redirectResult = auth.pipe(switchMap(auth => auth.getRedirectResult().then(it => it, () => null)), keepUnstableUntilFirst, shareReplay({ bufferSize: 1, refCount: false }));
82
+ const authStateChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onAuthStateChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));
83
+ const idTokenChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onIdTokenChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));
84
+ this.authState = redirectResult.pipe(switchMapTo(authStateChanged), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
85
+ this.user = redirectResult.pipe(switchMapTo(idTokenChanged), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
86
+ this.idToken = this.user.pipe(switchMap(user => user ? from(user.getIdToken()) : of(null)));
87
+ this.idTokenResult = this.user.pipe(switchMap(user => user ? from(user.getIdTokenResult()) : of(null)));
88
+ this.credential = merge(redirectResult, logins,
89
+ // pipe in null authState to make credential zipable, just a weird devexp if
90
+ // authState and user go null to still have a credential
91
+ this.authState.pipe(filter(it => !it))).pipe(
92
+ // handle the { user: { } } when a user is already logged in, rather have null
93
+ // TODO handle the type corcersion better
94
+ map(credential => credential?.user ? credential : null), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
95
+ }
96
+ return ɵlazySDKProxy(this, auth, zone, { spy: {
97
+ apply: (name, _, val) => {
98
+ // If they call a signIn or createUser function listen into the promise
99
+ // this will give us the user credential, push onto the logins Subject
100
+ // to be consumed in .credential
101
+ if (name.startsWith('signIn') || name.startsWith('createUser')) {
102
+ // TODO fix the types, the trouble is UserCredential has everything optional
103
+ val.then((user) => logins.next(user));
104
+ }
105
+ }
106
+ } });
107
+ }
108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
109
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, providedIn: 'any' });
110
+ }
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, decorators: [{
112
+ type: Injectable,
113
+ args: [{
114
+ providedIn: 'any'
115
+ }]
116
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
117
+ type: Inject,
118
+ args: [FIREBASE_OPTIONS]
119
+ }] }, { type: undefined, decorators: [{
120
+ type: Optional
121
+ }, {
122
+ type: Inject,
123
+ args: [FIREBASE_APP_NAME]
124
+ }] }, { type: Object, decorators: [{
125
+ type: Inject,
126
+ args: [PLATFORM_ID]
127
+ }] }, { type: i0.NgZone }, { type: i1.ɵAngularFireSchedulers }, { type: undefined, decorators: [{
128
+ type: Optional
129
+ }, {
130
+ type: Inject,
131
+ args: [USE_EMULATOR]
132
+ }] }, { type: undefined, decorators: [{
133
+ type: Optional
134
+ }, {
135
+ type: Inject,
136
+ args: [SETTINGS]
137
+ }] }, { type: undefined, decorators: [{
138
+ type: Optional
139
+ }, {
140
+ type: Inject,
141
+ args: [TENANT_ID]
142
+ }] }, { type: undefined, decorators: [{
143
+ type: Optional
144
+ }, {
145
+ type: Inject,
146
+ args: [LANGUAGE_CODE]
147
+ }] }, { type: undefined, decorators: [{
148
+ type: Optional
149
+ }, {
150
+ type: Inject,
151
+ args: [USE_DEVICE_LANGUAGE]
152
+ }] }, { type: undefined, decorators: [{
153
+ type: Optional
154
+ }, {
155
+ type: Inject,
156
+ args: [PERSISTENCE]
157
+ }] }, { type: i2.AppCheckInstances, decorators: [{
158
+ type: Optional
159
+ }] }]; } });
160
+ ɵapplyMixins(AngularFireAuth, [proxyPolyfillCompat]);
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFpQixZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQWUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHN0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBSzVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBdUIsZ0NBQWdDLENBQUMsQ0FBQztBQUV2RyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQTZCLDRCQUE0QixDQUFDLENBQUM7QUFDckcsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxD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LCBQTEFURk9STV9JRCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmcm9tLCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCBtYXAsIG9ic2VydmVPbiwgc2hhcmVSZXBsYXksIGZpcnN0LCBmaWx0ZXIsIHN3aXRjaE1hcFRvLCBzdWJzY3JpYmVPbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzLCBrZWVwVW5zdGFibGVVbnRpbEZpcnN0IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyDJtWxhenlTREtQcm94eSwgybVQcm9taXNlUHJveHksIMm1YXBwbHlNaXhpbnMgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyDJtWZpcmViYXNlQXBwRmFjdG9yeSwgRklSRUJBU0VfT1BUSU9OUywgRklSRUJBU0VfQVBQX05BTUUsIEZpcmViYXNlQXBwLCDJtWNhY2hlSW5zdGFuY2UgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBwcm94eVBvbHlmaWxsQ29tcGF0IH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEFwcENoZWNrSW5zdGFuY2VzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAtY2hlY2snO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJGaXJlQXV0aCBleHRlbmRzIMm1UHJvbWlzZVByb3h5PGZpcmViYXNlLmF1dGguQXV0aD4ge31cblxudHlwZSBVc2VFbXVsYXRvckFyZ3VtZW50cyA9IFBhcmFtZXRlcnM8ZmlyZWJhc2UuYXV0aC5BdXRoWyd1c2VFbXVsYXRvciddPjtcbmV4cG9ydCBjb25zdCBVU0VfRU1VTEFUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlRW11bGF0b3JBcmd1bWVudHM+KCdhbmd1bGFyZmlyZTIuYXV0aC51c2UtZW11bGF0b3InKTtcblxuZXhwb3J0IGNvbnN0IFNFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPGZpcmViYXNlLmF1dGguQXV0aFNldHRpbmdzPignYW5ndWxhcmZpcmUyLmF1dGguc2V0dGluZ3MnKTtcbmV4cG9ydCBjb25zdCBURU5BTlRfSUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmF1dGgudGVuYW50LWlkJyk7XG5leHBvcnQgY29uc3QgTEFOR1VBR0VfQ09ERSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZTIuYXV0aC5sYW5ndWdhZ2UtY29kZScpO1xuZXhwb3J0IGNvbnN0IFVTRV9ERVZJQ0VfTEFOR1VBR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2FuZ3VsYXJmaXJlMi5hdXRoLnVzZS1kZXZpY2UtbGFuZ3VhZ2UnKTtcbmV4cG9ydCBjb25zdCBQRVJTSVNURU5DRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZS5hdXRoLnBlcnNpc3RlbmNlJyk7XG5cbmV4cG9ydCBjb25zdCDJtWF1dGhGYWN0b3J5ID0gKFxuICBhcHA6IEZpcmViYXNlQXBwLCB6b25lOiBOZ1pvbmUsIHVzZUVtdWxhdG9yOiBVc2VFbXVsYXRvckFyZ3VtZW50c3xudWxsLFxuICB0ZW5hbnRJZDogc3RyaW5nLCBsYW5ndWFnZUNvZGU6IHN0cmluZ3xudWxsLCB1c2VEZXZpY2VMYW5ndWFnZTogYm9vbGVhbnxudWxsLFxuICBzZXR0aW5nczogZmlyZWJhc2UuYXV0aC5BdXRoU2V0dGluZ3N8bnVsbCwgcGVyc2lzdGVuY2U6IHN0cmluZ3xudWxsLFxuKSA9PiDJtWNhY2hlSW5zdGFuY2UoYCR7YXBwLm5hbWV9LmF1dGhgLCAnQW5ndWxhckZpcmVBdXRoJywgYXBwLm5hbWUsICgpID0+IHtcbiAgY29uc3QgYXV0aCA9IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gYXBwLmF1dGgoKSk7XG4gIGlmICh1c2VFbXVsYXRvcikge1xuICAgIGF1dGgudXNlRW11bGF0b3IoLi4udXNlRW11bGF0b3IpO1xuICB9XG4gIGlmICh0ZW5hbnRJZCkge1xuICAgIGF1dGgudGVuYW50SWQgPSB0ZW5hbnRJZDtcbiAgfVxuICBhdXRoLmxhbmd1YWdlQ29kZSA9IGxhbmd1YWdlQ29kZTtcbiAgaWYgKHVzZURldmljZUxhbmd1YWdlKSB7XG4gICAgYXV0aC51c2VEZXZpY2VMYW5ndWFnZSgpO1xuICB9XG4gIGlmIChzZXR0aW5ncykge1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHNldHRpbmdzKSkge1xuICAgICAgYXV0aC5zZXR0aW5nc1trXSA9IHY7XG4gICAgfVxuICB9XG4gIGlmIChwZXJzaXN0ZW5jZSkge1xuICAgIGF1dGguc2V0UGVyc2lzdGVuY2UocGVyc2lzdGVuY2UpO1xuICB9XG4gIHJldHVybiBhdXRoO1xufSwgW3VzZUVtdWxhdG9yLCB0ZW5hbnRJZCwgbGFuZ3VhZ2VDb2RlLCB1c2VEZXZpY2VMYW5ndWFnZSwgc2V0dGluZ3MsIHBlcnNpc3RlbmNlXSk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueSdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVBdXRoIHtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiBhdXRoZW50aWNhdGlvbiBzdGF0ZTsgYXMgb2YgRmlyZWJhc2UgNC4wIHRoaXMgaXMgb25seSB0cmlnZ2VyZWQgdmlhIHNpZ24taW4vb3V0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXV0aFN0YXRlOiBPYnNlcnZhYmxlPGZpcmViYXNlLlVzZXJ8bnVsbD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGN1cnJlbnRseSBzaWduZWQtaW4gdXNlcidzIEpXVCB0b2tlbiB1c2VkIHRvIGlkZW50aWZ5IHRoZSB1c2VyIHRvIGEgRmlyZWJhc2Ugc2VydmljZSAob3IgbnVsbCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWRUb2tlbjogT2JzZXJ2YWJsZTxzdHJpbmd8bnVsbD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGN1cnJlbnRseSBzaWduZWQtaW4gdXNlciAob3IgbnVsbCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlcjogT2JzZXJ2YWJsZTxmaXJlYmFzZS5Vc2VyfG51bGw+O1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBjdXJyZW50bHkgc2lnbmVkLWluIHVzZXIncyBJZFRva2VuUmVzdWx0IG9iamVjdCB3aGljaCBjb250YWlucyB0aGUgSUQgdG9rZW4gSldUIHN0cmluZyBhbmQgb3RoZXJcbiAgICogaGVscGVyIHByb3BlcnRpZXMgZm9yIGdldHRpbmcgZGlmZmVyZW50IGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSB0b2tlbiBhcyB3ZWxsIGFzIGFsbCB0aGUgZGVjb2RlZCBwYXlsb2FkIGNsYWltc1xuICAgKiAob3IgbnVsbCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWRUb2tlblJlc3VsdDogT2JzZXJ2YWJsZTxmaXJlYmFzZS5hdXRoLklkVG9rZW5SZXN1bHR8bnVsbD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGN1cnJlbnRseSBzaWduZWQtaW4gdXNlcidzIGNyZWRlbnRpYWwsIG9yIG51bGxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsOiBPYnNlcnZhYmxlPFJlcXVpcmVkPGZpcmViYXNlLmF1dGguVXNlckNyZWRlbnRpYWw+fG51bGw+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRklSRUJBU0VfT1BUSU9OUykgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRklSRUJBU0VfQVBQX05BTUUpIG5hbWU6IHN0cmluZ3xudWxsfHVuZGVmaW5lZCxcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBzY2hlZHVsZXJzOiDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFVTRV9FTVVMQVRPUikgdXNlRW11bGF0b3I6IGFueSwgLy8gY2FuJ3QgdXNlIHRoZSB0dXBsZSBoZXJlXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChTRVRUSU5HUykgc2V0dGluZ3M6IGFueSwgLy8gY2FuJ3QgdXNlIGZpcmViYXNlLmF1dGguQXV0aFNldHRpbmdzIGhlcmVcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRFTkFOVF9JRCkgdGVuYW50SWQ6IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChMQU5HVUFHRV9DT0RFKSBsYW5ndWFnZUNvZGU6IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChVU0VfREVWSUNFX0xBTkdVQUdFKSB1c2VEZXZpY2VMYW5ndWFnZTogYm9vbGVhbiB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQRVJTSVNURU5DRSkgcGVyc2lzdGVuY2U6IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgX2FwcENoZWNrSW5zdGFuY2VzOiBBcHBDaGVja0luc3RhbmNlcyxcbiAgKSB7XG4gICAgY29uc3QgbG9naW5zID0gbmV3IFN1YmplY3Q8UmVxdWlyZWQ8ZmlyZWJhc2UuYXV0aC5Vc2VyQ3JlZGVudGlhbD4+KCk7XG5cbiAgICBjb25zdCBhdXRoID0gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gaW1wb3J0KCdmaXJlYmFzZS9jb21wYXQvYXV0aCcpKSksXG4gICAgICBtYXAoKCkgPT4gybVmaXJlYmFzZUFwcEZhY3Rvcnkob3B0aW9ucywgem9uZSwgbmFtZSkpLFxuICAgICAgbWFwKGFwcCA9PiDJtWF1dGhGYWN0b3J5KGFwcCwgem9uZSwgdXNlRW11bGF0b3IsIHRlbmFudElkLCBsYW5ndWFnZUNvZGUsIHVzZURldmljZUxhbmd1YWdlLCBzZXR0aW5ncywgcGVyc2lzdGVuY2UpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IGZhbHNlIH0pLFxuICAgICk7XG5cbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuXG4gICAgICB0aGlzLmF1dGhTdGF0ZSA9IHRoaXMudXNlciA9IHRoaXMuaWRUb2tlbiA9IHRoaXMuaWRUb2tlblJlc3VsdCA9IHRoaXMuY3JlZGVudGlhbCA9IG9mKG51bGwpO1xuXG4gICAgfSBlbHNlIHtcblxuICAgICAgLy8gSEFDSywgYXMgd2UncmUgZXhwb3J0aW5nIGF1dGguQXV0aCwgcmF0aGVyIHRoYW4gYXV0aCwgZGV2ZWxvcGVycyBpbXBvcnRpbmcgZmlyZWJhc2UuYXV0aFxuICAgICAgLy8gICAgICAgKGUuZywgYGltcG9ydCB7IGF1dGggfSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJ2ApIGFyZSBnZXR0aW5nIGFuIHVuZGVmaW5lZCBhdXRoIG9iamVjdCB1bmV4cGVjdGVkbHlcbiAgICAgIC8vICAgICAgIGFzIHdlJ3JlIGNvbXBsZXRlbHkgbGF6eS4gTGV0J3MgZWFnZXJseSBsb2FkIHRoZSBBdXRoIFNESyBoZXJlLlxuICAgICAgLy8gICAgICAgVGhlcmUgY291bGQgcG90ZW50aWFsbHkgYmUgcmFjZSBjb25kaXRpb25zIHN0aWxsLi4uIGJ1dCB0aGlzIGdyZWF0bHkgZGVjcmVhc2VzIHRoZSBvZGRzIHdoaWxlXG4gICAgICAvLyAgICAgICB3ZSByZWV2YWx1YXRlIHRoZSBBUEkuXG4gICAgICBjb25zdCBfID0gYXV0aC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgpO1xuXG4gICAgICBjb25zdCByZWRpcmVjdFJlc3VsdCA9IGF1dGgucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGF1dGggPT4gYXV0aC5nZXRSZWRpcmVjdFJlc3VsdCgpLnRoZW4oaXQgPT4gaXQsICgpID0+IG51bGwpKSxcbiAgICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdCxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSksXG4gICAgICApO1xuXG4gICAgICBjb25zdCBhdXRoU3RhdGVDaGFuZ2VkID0gYXV0aC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXV0aCA9PiBuZXcgT2JzZXJ2YWJsZTxmaXJlYmFzZS5Vc2VyfG51bGw+KHN1YiA9PlxuICAgICAgICAgICh7IHVuc3Vic2NyaWJlOiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGF1dGgub25BdXRoU3RhdGVDaGFuZ2VkKFxuICAgICAgICAgICAgbmV4dCA9PiBzdWIubmV4dChuZXh0KSxcbiAgICAgICAgICAgIGVyciA9PiBzdWIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICgpID0+IHN1Yi5jb21wbGV0ZSgpXG4gICAgICAgICAgKSl9KVxuICAgICAgICApKSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGlkVG9rZW5DaGFuZ2VkID0gYXV0aC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXV0aCA9PiBuZXcgT2JzZXJ2YWJsZTxmaXJlYmFzZS5Vc2VyfG51bGw+KHN1YiA9PlxuICAgICAgICAgICh7IHVuc3Vic2NyaWJlOiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGF1dGgub25JZFRva2VuQ2hhbmdlZChcbiAgICAgICAgICAgIG5leHQgPT4gc3ViLm5leHQobmV4dCksXG4gICAgICAgICAgICBlcnIgPT4gc3ViLmVycm9yKGVyciksXG4gICAgICAgICAgICAoKSA9PiBzdWIuY29tcGxldGUoKVxuICAgICAgICAgICkpfSlcbiAgICAgICAgKSlcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuYXV0aFN0YXRlID0gcmVkaXJlY3RSZXN1bHQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwVG8oYXV0aFN0YXRlQ2hhbmdlZCksXG4gICAgICAgIHN1YnNjcmliZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMudXNlciA9IHJlZGlyZWN0UmVzdWx0LnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcFRvKGlkVG9rZW5DaGFuZ2VkKSxcbiAgICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLmluc2lkZUFuZ3VsYXIpLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5pZFRva2VuID0gdGhpcy51c2VyLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh1c2VyID0+IHVzZXIgPyBmcm9tKHVzZXIuZ2V0SWRUb2tlbigpKSA6IG9mKG51bGwpKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5pZFRva2VuUmVzdWx0ID0gdGhpcy51c2VyLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh1c2VyID0+IHVzZXIgPyBmcm9tKHVzZXIuZ2V0SWRUb2tlblJlc3VsdCgpKSA6IG9mKG51bGwpKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5jcmVkZW50aWFsID0gbWVyZ2UoXG4gICAgICAgIHJlZGlyZWN0UmVzdWx0LFxuICAgICAgICBsb2dpbnMsXG4gICAgICAgIC8vIHBpcGUgaW4gbnVsbCBhdXRoU3RhdGUgdG8gbWFrZSBjcmVkZW50aWFsIHppcGFibGUsIGp1c3QgYSB3ZWlyZCBkZXZleHAgaWZcbiAgICAgICAgLy8gYXV0aFN0YXRlIGFuZCB1c2VyIGdvIG51bGwgdG8gc3RpbGwgaGF2ZSBhIGNyZWRlbnRpYWxcbiAgICAgICAgdGhpcy5hdXRoU3RhdGUucGlwZShmaWx0ZXIoaXQgPT4gIWl0KSlcbiAgICAgICkucGlwZShcbiAgICAgICAgLy8gaGFuZGxlIHRoZSB7IHVzZXI6IHsgfSB9IHdoZW4gYSB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluLCByYXRoZXIgaGF2ZSBudWxsXG4gICAgICAgIC8vIFRPRE8gaGFuZGxlIHRoZSB0eXBlIGNvcmNlcnNpb24gYmV0dGVyXG4gICAgICAgIG1hcChjcmVkZW50aWFsID0+IGNyZWRlbnRpYWw/LnVzZXIgPyBjcmVkZW50aWFsIGFzIFJlcXVpcmVkPGZpcmViYXNlLmF1dGguVXNlckNyZWRlbnRpYWw+IDogbnVsbCksXG4gICAgICAgIHN1YnNjcmliZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKSxcbiAgICAgICk7XG5cbiAgICB9XG5cbiAgICByZXR1cm4gybVsYXp5U0RLUHJveHkodGhpcywgYXV0aCwgem9uZSwgeyBzcHk6IHtcbiAgICAgIGFwcGx5OiAobmFtZSwgXywgdmFsKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXkgY2FsbCBhIHNpZ25JbiBvciBjcmVhdGVVc2VyIGZ1bmN0aW9uIGxpc3RlbiBpbnRvIHRoZSBwcm9taXNlXG4gICAgICAgIC8vIHRoaXMgd2lsbCBnaXZlIHVzIHRoZSB1c2VyIGNyZWRlbnRpYWwsIHB1c2ggb250byB0aGUgbG9naW5zIFN1YmplY3RcbiAgICAgICAgLy8gdG8gYmUgY29uc3VtZWQgaW4gLmNyZWRlbnRpYWxcbiAgICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgnc2lnbkluJykgfHwgbmFtZS5zdGFydHNXaXRoKCdjcmVhdGVVc2VyJykpIHtcbiAgICAgICAgICAvLyBUT0RPIGZpeCB0aGUgdHlwZXMsIHRoZSB0cm91YmxlIGlzIFVzZXJDcmVkZW50aWFsIGhhcyBldmVyeXRoaW5nIG9wdGlvbmFsXG4gICAgICAgICAgdmFsLnRoZW4oKHVzZXI6IGZpcmViYXNlLmF1dGguVXNlckNyZWRlbnRpYWwpID0+IGxvZ2lucy5uZXh0KHVzZXIgYXMgYW55KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9fSk7XG5cbiAgfVxuXG59XG5cbsm1YXBwbHlNaXhpbnMoQW5ndWxhckZpcmVBdXRoLCBbcHJveHlQb2x5ZmlsbENvbXBhdF0pO1xuIl19
@@ -7,14 +7,14 @@ export class AngularFireAuthModule {
7
7
  constructor() {
8
8
  firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');
9
9
  }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule });
12
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });
10
13
  }
11
- AngularFireAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- AngularFireAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule });
13
- AngularFireAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  providers: [AngularFireAuth]
18
18
  }]
19
19
  }], ctorParameters: function () { return []; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2F1dGgvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pDLE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3hDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7UUFDRSxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O2tIQUhVLHFCQUFxQjttSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsYUFGckIsQ0FBRSxlQUFlLENBQUU7MkZBRW5CLHFCQUFxQjtrQkFIakMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxlQUFlLENBQUU7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQXV0aCB9IGZyb20gJy4vYXV0aCc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogWyBBbmd1bGFyRmlyZUF1dGggXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUF1dGhNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmaXJlYmFzZS5yZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnYXV0aC1jb21wYXQnKTtcbiAgfVxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2F1dGgvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pDLE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3hDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7UUFDRSxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7dUdBSFUscUJBQXFCO3dHQUFyQixxQkFBcUI7d0dBQXJCLHFCQUFxQixhQUZyQixDQUFFLGVBQWUsQ0FBRTs7MkZBRW5CLHFCQUFxQjtrQkFIakMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxlQUFlLENBQUU7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQXV0aCB9IGZyb20gJy4vYXV0aCc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogWyBBbmd1bGFyRmlyZUF1dGggXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUF1dGhNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmaXJlYmFzZS5yZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnYXV0aC1jb21wYXQnKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
-
1
+ import 'firebase/compat/auth'; // removed in build process when not UMD
2
2
  export * from './auth';
3
3
  export * from './auth.module';
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyx3Q0FBd0M7QUFFdkUsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCAnZmlyZWJhc2UvY29tcGF0L2F1dGgnOyAvLyByZW1vdmVkIGluIGJ1aWxkIHByb2Nlc3Mgd2hlbiBub3QgVU1EXG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { of, pipe } from 'rxjs';
4
+ import { map, switchMap, take } from 'rxjs/operators';
5
+ import { AngularFireAuth } from '@angular/fire/compat/auth';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "@angular/fire/compat/auth";
9
+ export const loggedIn = map(user => !!user);
10
+ export class AngularFireAuthGuard {
11
+ router;
12
+ auth;
13
+ constructor(router, auth) {
14
+ this.router = router;
15
+ this.auth = auth;
16
+ }
17
+ canActivate = (next, state) => {
18
+ const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
19
+ return this.auth.user.pipe(take(1), authPipeFactory(next, state), map(can => {
20
+ if (typeof can === 'boolean') {
21
+ return can;
22
+ }
23
+ else if (Array.isArray(can)) {
24
+ return this.router.createUrlTree(can);
25
+ }
26
+ else {
27
+ // TODO(EdricChan03): Add tests
28
+ return this.router.parseUrl(can);
29
+ }
30
+ }));
31
+ };
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuard, deps: [{ token: i1.Router }, { token: i2.AngularFireAuth }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuard, providedIn: 'any' });
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuard, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'any'
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AngularFireAuth }]; } });
41
+ export const canActivate = (pipe) => ({
42
+ canActivate: [AngularFireAuthGuard], data: { authGuardPipe: pipe }
43
+ });
44
+ export const isNotAnonymous = map(user => !!user && !user.isAnonymous);
45
+ export const idTokenResult = switchMap((user) => user ? user.getIdTokenResult() : of(null));
46
+ export const emailVerified = map(user => !!user && user.emailVerified);
47
+ export const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));
48
+ export const hasCustomClaim = (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));
49
+ export const redirectUnauthorizedTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));
50
+ export const redirectLoggedInTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC1ndWFyZC9hdXRoLWd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QyxNQUFNLEVBQXVCLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUs1RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBS3RELE1BQU0sT0FBTyxvQkFBb0I7SUFFWDtJQUF3QjtJQUE1QyxZQUFvQixNQUFjLEVBQVUsSUFBcUI7UUFBN0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFNBQUksR0FBSixJQUFJLENBQWlCO0lBQUcsQ0FBQztJQUVyRSxXQUFXLEdBQUcsQ0FBQyxJQUE0QixFQUFFLEtBQTBCLEVBQUUsRUFBRTtRQUN6RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWtDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNSLElBQUksT0FBTyxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUM1QixPQUFPLEdBQUcsQ0FBQzthQUNaO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QztpQkFBTTtnQkFDTCwrQkFBK0I7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFBO3VHQXBCVSxvQkFBb0I7MkdBQXBCLG9CQUFvQixjQUZuQixLQUFLOzsyRkFFTixvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOztBQXlCRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxDQUFFLG9CQUFvQixDQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRTtDQUNyRSxDQUFDLENBQUM7QUFHSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsSUFBd0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQ3pCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUNqQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FDN0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgcGlwZSwgVW5hcnlGdW5jdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZUF1dGggfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdC9hdXRoJztcblxuZXhwb3J0IHR5cGUgQXV0aFBpcGVHZW5lcmF0b3IgPSAobmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IEF1dGhQaXBlO1xuZXhwb3J0IHR5cGUgQXV0aFBpcGUgPSBVbmFyeUZ1bmN0aW9uPE9ic2VydmFibGU8ZmlyZWJhc2UuVXNlcnxudWxsPiwgT2JzZXJ2YWJsZTxib29sZWFufHN0cmluZ3xhbnlbXT4+O1xuXG5leHBvcnQgY29uc3QgbG9nZ2VkSW46IEF1dGhQaXBlID0gbWFwKHVzZXIgPT4gISF1c2VyKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUF1dGhHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGF1dGg6IEFuZ3VsYXJGaXJlQXV0aCkge31cblxuICBjYW5BY3RpdmF0ZSA9IChuZXh0OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkgPT4ge1xuICAgIGNvbnN0IGF1dGhQaXBlRmFjdG9yeSA9IG5leHQuZGF0YS5hdXRoR3VhcmRQaXBlIGFzIEF1dGhQaXBlR2VuZXJhdG9yIHx8ICgoKSA9PiBsb2dnZWRJbik7XG4gICAgcmV0dXJuIHRoaXMuYXV0aC51c2VyLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgYXV0aFBpcGVGYWN0b3J5KG5leHQsIHN0YXRlKSxcbiAgICAgIG1hcChjYW4gPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGNhbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbjtcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNhbikpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShjYW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRPRE8oRWRyaWNDaGFuMDMpOiBBZGQgdGVzdHNcbiAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIucGFyc2VVcmwoY2FuKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IGNhbkFjdGl2YXRlID0gKHBpcGU6IEF1dGhQaXBlR2VuZXJhdG9yKSA9PiAoe1xuICBjYW5BY3RpdmF0ZTogWyBBbmd1bGFyRmlyZUF1dGhHdWFyZCBdLCBkYXRhOiB7IGF1dGhHdWFyZFBpcGU6IHBpcGUgfVxufSk7XG5cblxuZXhwb3J0IGNvbnN0IGlzTm90QW5vbnltb3VzOiBBdXRoUGlwZSA9IG1hcCh1c2VyID0+ICEhdXNlciAmJiAhdXNlci5pc0Fub255bW91cyk7XG5leHBvcnQgY29uc3QgaWRUb2tlblJlc3VsdCA9IHN3aXRjaE1hcCgodXNlcjogZmlyZWJhc2UuVXNlcnxudWxsKSA9PiB1c2VyID8gdXNlci5nZXRJZFRva2VuUmVzdWx0KCkgOiBvZihudWxsKSk7XG5leHBvcnQgY29uc3QgZW1haWxWZXJpZmllZDogQXV0aFBpcGUgPSBtYXAodXNlciA9PiAhIXVzZXIgJiYgdXNlci5lbWFpbFZlcmlmaWVkKTtcbmV4cG9ydCBjb25zdCBjdXN0b21DbGFpbXMgPSBwaXBlKGlkVG9rZW5SZXN1bHQsIG1hcChpZFRva2VuUmVzdWx0ID0+IGlkVG9rZW5SZXN1bHQgPyBpZFRva2VuUmVzdWx0LmNsYWltcyA6IFtdKSk7XG5leHBvcnQgY29uc3QgaGFzQ3VzdG9tQ2xhaW06IChjbGFpbTogc3RyaW5nKSA9PiBBdXRoUGlwZSA9XG4gIChjbGFpbSkgPT4gcGlwZShjdXN0b21DbGFpbXMsIG1hcChjbGFpbXMgPT4gIGNsYWltcy5oYXNPd25Qcm9wZXJ0eShjbGFpbSkpKTtcbmV4cG9ydCBjb25zdCByZWRpcmVjdFVuYXV0aG9yaXplZFRvOiAocmVkaXJlY3Q6IHN0cmluZ3xhbnlbXSkgPT4gQXV0aFBpcGUgPVxuICAocmVkaXJlY3QpID0+IHBpcGUobG9nZ2VkSW4sIG1hcChsb2dnZWRJbiA9PiBsb2dnZWRJbiB8fCByZWRpcmVjdCkpO1xuZXhwb3J0IGNvbnN0IHJlZGlyZWN0TG9nZ2VkSW5UbzogKHJlZGlyZWN0OiBzdHJpbmd8YW55W10pID0+IEF1dGhQaXBlID1cbiAgKHJlZGlyZWN0KSA9PiBwaXBlKGxvZ2dlZEluLCBtYXAobG9nZ2VkSW4gPT4gbG9nZ2VkSW4gJiYgcmVkaXJlY3QgfHwgdHJ1ZSkpO1xuIl19
@@ -7,14 +7,14 @@ export class AngularFireAuthGuardModule {
7
7
  constructor() {
8
8
  firebase.registerVersion('angularfire', VERSION.full, 'auth-guard-compat');
9
9
  }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule });
12
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule, providers: [AngularFireAuthGuard] });
10
13
  }
11
- AngularFireAuthGuardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- AngularFireAuthGuardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule });
13
- AngularFireAuthGuardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule, providers: [AngularFireAuthGuard] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  providers: [AngularFireAuthGuard]
18
18
  }]
19
19
  }], ctorParameters: function () { return []; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2F1dGgtZ3VhcmQvYXV0aC1ndWFyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQztRQUNFLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUM3RSxDQUFDOzt1SEFIVSwwQkFBMEI7d0hBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGFBRjFCLENBQUUsb0JBQW9CLENBQUU7MkZBRXhCLDBCQUEwQjtrQkFIdEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBRTtpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBdXRoR3VhcmQgfSBmcm9tICcuL2F1dGgtZ3VhcmQnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVBdXRoR3VhcmQgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUF1dGhHdWFyZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhdXRoLWd1YXJkLWNvbXBhdCcpO1xuICB9XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2F1dGgtZ3VhcmQvYXV0aC1ndWFyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQztRQUNFLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUM3RSxDQUFDO3VHQUhVLDBCQUEwQjt3R0FBMUIsMEJBQTBCO3dHQUExQiwwQkFBMEIsYUFGMUIsQ0FBRSxvQkFBb0IsQ0FBRTs7MkZBRXhCLDBCQUEwQjtrQkFIdEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBRTtpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBdXRoR3VhcmQgfSBmcm9tICcuL2F1dGgtZ3VhcmQnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVBdXRoR3VhcmQgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUF1dGhHdWFyZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhdXRoLWd1YXJkLWNvbXBhdCcpO1xuICB9XG59XG4iXX0=
@@ -22,11 +22,11 @@ function matchDep(a, b) {
22
22
  return a === b;
23
23
  }
24
24
  }
25
- const IS_HMR = !!module.hot;
25
+ const IS_HMR = typeof module !== 'undefined' && !!module.hot;
26
26
  const log = (level, ...args) => {
27
27
  if (isDevMode() && typeof console !== 'undefined') {
28
28
  console[level](...args);
29
29
  }
30
30
  };
31
- globalThis.ɵAngularfireInstanceCache || (globalThis.ɵAngularfireInstanceCache = []);
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcGF0L2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLGNBQWMsQ0FBSSxRQUFhLEVBQUUsVUFBa0IsRUFBRSxPQUFlLEVBQUUsRUFBVyxFQUFFLElBQVM7SUFDMUcsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEgsSUFBSSxRQUFRLEVBQUU7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtZQUMvQixHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsVUFBVSxtQ0FBbUMsT0FBTyx5Q0FBeUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0TCxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztTQUMxQztRQUNELE9BQU8sUUFBUSxDQUFDO0tBQ2pCO1NBQU07UUFDTCxNQUFNLFdBQVcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUN6QixVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sV0FBVyxDQUFDO0tBQ3BCO0FBQ0gsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLENBQU0sRUFBRSxDQUFNO0lBQzlCLElBQUk7UUFDRixPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQjtBQUNILENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUUsTUFBYyxDQUFDLEdBQUcsQ0FBQztBQUVyQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQWtDLEVBQUUsR0FBRyxJQUFTLEVBQUUsRUFBRTtJQUMvRCxJQUFJLFNBQVMsRUFBRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRTtRQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztLQUN6QjtBQUNILENBQUMsQ0FBQztBQUVGLFVBQVUsQ0FBQyx5QkFBeUIsS0FBcEMsVUFBVSxDQUFDLHlCQUF5QixHQUFLLEVBQUUsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gybVjYWNoZUluc3RhbmNlPFQ+KGNhY2hlS2V5OiBhbnksIG1vZHVsZU5hbWU6IHN0cmluZywgYXBwTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gVCwgZGVwczogYW55KTogVCB7XG4gIGNvbnN0IFssIGluc3RhbmNlLCBjYWNoZWREZXBzXSA9IGdsb2JhbFRoaXMuybVBbmd1bGFyZmlyZUluc3RhbmNlQ2FjaGUuZmluZCgoaXQ6IGFueSkgPT4gaXRbMF0gPT09IGNhY2hlS2V5KSB8fCBbXTtcbiAgaWYgKGluc3RhbmNlKSB7XG4gICAgaWYgKCFtYXRjaERlcChkZXBzLCBjYWNoZWREZXBzKSkge1xuICAgICAgbG9nKCdlcnJvcicsIGAke21vZHVsZU5hbWV9IHdhcyBhbHJlYWR5IGluaXRpYWxpemVkIG9uIHRoZSAke2FwcE5hbWV9IEZpcmViYXNlIEFwcCB3aXRoIGRpZmZlcmVudCBzZXR0aW5ncy4ke0lTX0hNUiA/ICcgWW91IG1heSBuZWVkIHRvIHJlbG9hZCBhcyBGaXJlYmFzZSBpcyBub3QgSE1SIGF3YXJlLicgOiAnJ31gKTtcbiAgICAgIGxvZygnd2FybicsIHtpczogZGVwcywgd2FzOiBjYWNoZWREZXBzfSk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBuZXdJbnN0YW5jZSA9IGZuKCk7XG4gICAgZ2xvYmFsVGhpcy7JtUFuZ3VsYXJmaXJlSW5zdGFuY2VDYWNoZS5wdXNoKFtjYWNoZUtleSwgbmV3SW5zdGFuY2UsIGRlcHNdKTtcbiAgICByZXR1cm4gbmV3SW5zdGFuY2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF0Y2hEZXAoYTogYW55LCBiOiBhbnkpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYS50b1N0cmluZygpID09PSBiLnRvU3RyaW5nKCk7XG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gYSA9PT0gYjtcbiAgfVxufVxuXG5jb25zdCBJU19ITVIgPSAhIShtb2R1bGUgYXMgYW55KS5ob3Q7XG5cbmNvbnN0IGxvZyA9IChsZXZlbDogJ2xvZyd8J2Vycm9yJ3wnaW5mbyd8J3dhcm4nLCAuLi5hcmdzOiBhbnkpID0+IHtcbiAgaWYgKGlzRGV2TW9kZSgpICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnNvbGVbbGV2ZWxdKC4uLmFyZ3MpO1xuICB9XG59O1xuXG5nbG9iYWxUaGlzLsm1QW5ndWxhcmZpcmVJbnN0YW5jZUNhY2hlIHx8PSBbXTtcbiJdfQ==
31
+ globalThis.ɵAngularfireInstanceCache ||= [];
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcGF0L2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLGNBQWMsQ0FBSSxRQUFhLEVBQUUsVUFBa0IsRUFBRSxPQUFlLEVBQUUsRUFBVyxFQUFFLElBQVM7SUFDMUcsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEgsSUFBSSxRQUFRLEVBQUU7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtZQUMvQixHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsVUFBVSxtQ0FBbUMsT0FBTyx5Q0FBeUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0TCxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztTQUMxQztRQUNELE9BQU8sUUFBUSxDQUFDO0tBQ2pCO1NBQU07UUFDTCxNQUFNLFdBQVcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUN6QixVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sV0FBVyxDQUFDO0tBQ3BCO0FBQ0gsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLENBQU0sRUFBRSxDQUFNO0lBQzlCLElBQUk7UUFDRixPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQjtBQUNILENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxDQUFFLE1BQWMsQ0FBQyxHQUFHLENBQUM7QUFFdEUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFrQyxFQUFFLEdBQUcsSUFBUyxFQUFFLEVBQUU7SUFDL0QsSUFBSSxTQUFTLEVBQUUsSUFBSSxPQUFPLE9BQU8sS0FBSyxXQUFXLEVBQUU7UUFDakQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDekI7QUFDSCxDQUFDLENBQUM7QUFFRixVQUFVLENBQUMseUJBQXlCLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiDJtWNhY2hlSW5zdGFuY2U8VD4oY2FjaGVLZXk6IGFueSwgbW9kdWxlTmFtZTogc3RyaW5nLCBhcHBOYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiBULCBkZXBzOiBhbnkpOiBUIHtcbiAgY29uc3QgWywgaW5zdGFuY2UsIGNhY2hlZERlcHNdID0gZ2xvYmFsVGhpcy7JtUFuZ3VsYXJmaXJlSW5zdGFuY2VDYWNoZS5maW5kKChpdDogYW55KSA9PiBpdFswXSA9PT0gY2FjaGVLZXkpIHx8IFtdO1xuICBpZiAoaW5zdGFuY2UpIHtcbiAgICBpZiAoIW1hdGNoRGVwKGRlcHMsIGNhY2hlZERlcHMpKSB7XG4gICAgICBsb2coJ2Vycm9yJywgYCR7bW9kdWxlTmFtZX0gd2FzIGFscmVhZHkgaW5pdGlhbGl6ZWQgb24gdGhlICR7YXBwTmFtZX0gRmlyZWJhc2UgQXBwIHdpdGggZGlmZmVyZW50IHNldHRpbmdzLiR7SVNfSE1SID8gJyBZb3UgbWF5IG5lZWQgdG8gcmVsb2FkIGFzIEZpcmViYXNlIGlzIG5vdCBITVIgYXdhcmUuJyA6ICcnfWApO1xuICAgICAgbG9nKCd3YXJuJywge2lzOiBkZXBzLCB3YXM6IGNhY2hlZERlcHN9KTtcbiAgICB9XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5ld0luc3RhbmNlID0gZm4oKTtcbiAgICBnbG9iYWxUaGlzLsm1QW5ndWxhcmZpcmVJbnN0YW5jZUNhY2hlLnB1c2goW2NhY2hlS2V5LCBuZXdJbnN0YW5jZSwgZGVwc10pO1xuICAgIHJldHVybiBuZXdJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaERlcChhOiBhbnksIGI6IGFueSkge1xuICB0cnkge1xuICAgIHJldHVybiBhLnRvU3RyaW5nKCkgPT09IGIudG9TdHJpbmcoKTtcbiAgfSBjYXRjaCAoXykge1xuICAgIHJldHVybiBhID09PSBiO1xuICB9XG59XG5cbmNvbnN0IElTX0hNUiA9IHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmICEhKG1vZHVsZSBhcyBhbnkpLmhvdDtcblxuY29uc3QgbG9nID0gKGxldmVsOiAnbG9nJ3wnZXJyb3InfCdpbmZvJ3wnd2FybicsIC4uLmFyZ3M6IGFueSkgPT4ge1xuICBpZiAoaXNEZXZNb2RlKCkgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc29sZVtsZXZlbF0oLi4uYXJncyk7XG4gIH1cbn07XG5cbmdsb2JhbFRoaXMuybVBbmd1bGFyZmlyZUluc3RhbmNlQ2FjaGUgfHw9IFtdO1xuIl19