@angular/fire 7.6.1 → 16.0.0-canary.e04cd7f

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 (455) hide show
  1. package/analytics/is-analytics-supported-factory.d.ts +4 -0
  2. package/auth-guard/auth-guard.d.ts +4 -4
  3. package/compat/auth/auth.d.ts +1 -1
  4. package/compat/auth-guard/auth-guard.d.ts +6 -4
  5. package/compat/database/interfaces.d.ts +12 -12
  6. package/compat/firestore/interfaces.d.ts +17 -17
  7. package/compat/proxy.d.ts +8 -8
  8. package/compat/remote-config/interfaces.d.ts +1 -1
  9. package/compat/storage/interfaces.d.ts +8 -8
  10. package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
  11. package/core.d.ts +1 -12
  12. package/esm2022/analytics/analytics.module.mjs +94 -0
  13. package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
  14. package/esm2022/analytics/overrides.mjs +3 -0
  15. package/esm2022/analytics/screen-tracking.service.mjs +147 -0
  16. package/esm2022/analytics/user-tracking.service.mjs +44 -0
  17. package/esm2022/app/app.module.mjs +84 -0
  18. package/esm2022/app-check/app-check.module.mjs +80 -0
  19. package/{esm2015/auth/auth.module.js → esm2022/auth/auth.module.mjs} +8 -8
  20. package/esm2022/auth-guard/auth-guard.mjs +51 -0
  21. package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +5 -5
  22. package/esm2022/compat/analytics/analytics.mjs +161 -0
  23. package/{esm2015/compat/analytics/analytics.module.js → esm2022/compat/analytics/analytics.module.mjs} +5 -5
  24. package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
  25. package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
  26. package/esm2022/compat/auth/auth.mjs +161 -0
  27. package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +5 -5
  28. package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
  29. package/esm2022/compat/auth-guard/auth-guard.mjs +51 -0
  30. package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +5 -5
  31. package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +3 -3
  32. package/esm2022/compat/database/database.mjs +119 -0
  33. package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +5 -5
  34. package/esm2022/compat/database/list/create-reference.mjs +44 -0
  35. package/{esm2015/compat/firebase.app.module.js → esm2022/compat/firebase.app.module.mjs} +11 -11
  36. package/esm2022/compat/firestore/collection/changes.mjs +108 -0
  37. package/esm2022/compat/firestore/collection/collection.mjs +123 -0
  38. package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
  39. package/esm2022/compat/firestore/document/document.mjs +87 -0
  40. package/esm2022/compat/firestore/firestore.mjs +257 -0
  41. package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +5 -5
  42. package/esm2022/compat/firestore/interfaces.mjs +2 -0
  43. package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
  44. package/esm2022/compat/functions/functions.mjs +69 -0
  45. package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +5 -5
  46. package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
  47. package/esm2022/compat/messaging/messaging.mjs +80 -0
  48. package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +5 -5
  49. package/{esm2015/compat/performance/performance.js → esm2022/compat/performance/performance.mjs} +7 -6
  50. package/{esm2015/compat/performance/performance.module.js → esm2022/compat/performance/performance.module.mjs} +5 -5
  51. package/esm2022/compat/performance/performance.service.mjs +27 -0
  52. package/esm2022/compat/proxy.mjs +59 -0
  53. package/esm2022/compat/remote-config/remote-config.mjs +207 -0
  54. package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +5 -5
  55. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
  56. package/esm2022/compat/storage/storage.mjs +95 -0
  57. package/{esm2015/compat/storage/storage.module.js → esm2022/compat/storage/storage.module.mjs} +5 -5
  58. package/esm2022/core.mjs +37 -0
  59. package/{esm2015/database/database.module.js → esm2022/database/database.module.mjs} +8 -8
  60. package/{esm2015/firestore/firestore.module.js → esm2022/firestore/firestore.module.mjs} +8 -8
  61. package/{esm2015/firestore/lite/lite.module.js → esm2022/firestore/lite/lite.module.mjs} +8 -8
  62. package/esm2022/firestore/rxfire.mjs +15 -0
  63. package/{esm2015/functions/functions.module.js → esm2022/functions/functions.module.mjs} +8 -8
  64. package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
  65. package/esm2022/messaging/messaging.module.mjs +86 -0
  66. package/esm2022/messaging/overrides.mjs +3 -0
  67. package/{esm2015/performance/performance.module.js → esm2022/performance/performance.module.mjs} +8 -8
  68. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
  69. package/esm2022/remote-config/overrides.mjs +3 -0
  70. package/esm2022/remote-config/remote-config.module.mjs +86 -0
  71. package/{esm2015/storage/storage.module.js → esm2022/storage/storage.module.mjs} +8 -8
  72. package/esm2022/zones.mjs +196 -0
  73. package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +61 -38
  74. package/fesm2022/angular-fire-analytics.mjs.map +1 -0
  75. package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +9 -10
  76. package/fesm2022/angular-fire-app-check.mjs.map +1 -0
  77. package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +8 -8
  78. package/fesm2022/angular-fire-app.mjs.map +1 -0
  79. package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +25 -23
  80. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
  81. package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +8 -8
  82. package/fesm2022/angular-fire-auth.mjs.map +1 -0
  83. package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +28 -28
  84. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
  85. package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +25 -23
  86. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
  87. package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +32 -10
  88. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
  89. package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +17 -12
  90. package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
  91. package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +37 -16
  92. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
  93. package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +10 -9
  94. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
  95. package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +20 -15
  96. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
  97. package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +16 -15
  98. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
  99. package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +33 -19
  100. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
  101. package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +23 -18
  102. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
  103. package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +15 -17
  104. package/fesm2022/angular-fire-compat.mjs.map +1 -0
  105. package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +8 -8
  106. package/fesm2022/angular-fire-database.mjs.map +1 -0
  107. package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +8 -8
  108. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
  109. package/{fesm2015/angular-fire-firestore.js → fesm2022/angular-fire-firestore.mjs} +12 -10
  110. package/fesm2022/angular-fire-firestore.mjs.map +1 -0
  111. package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +8 -8
  112. package/fesm2022/angular-fire-functions.mjs.map +1 -0
  113. package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
  114. package/fesm2022/angular-fire-messaging.mjs.map +1 -0
  115. package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +8 -8
  116. package/fesm2022/angular-fire-performance.mjs.map +1 -0
  117. package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
  118. package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
  119. package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +8 -8
  120. package/fesm2022/angular-fire-storage.mjs.map +1 -0
  121. package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +23 -52
  122. package/fesm2022/angular-fire.mjs.map +1 -0
  123. package/firestore/rxfire.d.ts +3 -1
  124. package/messaging/is-messaging-supported-factory.d.ts +4 -0
  125. package/package.json +158 -7
  126. package/publish.sh +1 -0
  127. package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
  128. package/schematics/add/index.js +1 -1
  129. package/schematics/common.js +8 -4
  130. package/schematics/deploy/actions.js +59 -59
  131. package/schematics/deploy/builder.js +5 -5
  132. package/schematics/firebaseTools.js +9 -5
  133. package/schematics/setup/index.js +24 -23
  134. package/schematics/setup/prompts.js +20 -15
  135. package/schematics/update/v7/index.js +5 -5
  136. package/schematics/utils.js +30 -30
  137. package/README.md +0 -216
  138. package/analytics/package.json +0 -11
  139. package/app/package.json +0 -11
  140. package/app-check/package.json +0 -11
  141. package/auth/package.json +0 -11
  142. package/auth-guard/package.json +0 -11
  143. package/bundles/angular-fire-analytics.umd.js +0 -673
  144. package/bundles/angular-fire-analytics.umd.js.map +0 -1
  145. package/bundles/angular-fire-app-check.umd.js +0 -465
  146. package/bundles/angular-fire-app-check.umd.js.map +0 -1
  147. package/bundles/angular-fire-app.umd.js +0 -477
  148. package/bundles/angular-fire-app.umd.js.map +0 -1
  149. package/bundles/angular-fire-auth-guard.umd.js +0 -109
  150. package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
  151. package/bundles/angular-fire-auth.umd.js +0 -557
  152. package/bundles/angular-fire-auth.umd.js.map +0 -1
  153. package/bundles/angular-fire-compat-analytics.umd.js +0 -672
  154. package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
  155. package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
  156. package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
  157. package/bundles/angular-fire-compat-auth.umd.js +0 -559
  158. package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
  159. package/bundles/angular-fire-compat-database.umd.js +0 -799
  160. package/bundles/angular-fire-compat-database.umd.js.map +0 -1
  161. package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
  162. package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
  163. package/bundles/angular-fire-compat-functions.umd.js +0 -443
  164. package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
  165. package/bundles/angular-fire-compat-messaging.umd.js +0 -465
  166. package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
  167. package/bundles/angular-fire-compat-performance.umd.js +0 -212
  168. package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
  169. package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
  170. package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
  171. package/bundles/angular-fire-compat-storage.umd.js +0 -598
  172. package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
  173. package/bundles/angular-fire-compat.umd.js +0 -535
  174. package/bundles/angular-fire-compat.umd.js.map +0 -1
  175. package/bundles/angular-fire-database.umd.js +0 -557
  176. package/bundles/angular-fire-database.umd.js.map +0 -1
  177. package/bundles/angular-fire-firestore-lite.umd.js +0 -531
  178. package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
  179. package/bundles/angular-fire-firestore.umd.js +0 -565
  180. package/bundles/angular-fire-firestore.umd.js.map +0 -1
  181. package/bundles/angular-fire-functions.umd.js +0 -461
  182. package/bundles/angular-fire-functions.umd.js.map +0 -1
  183. package/bundles/angular-fire-messaging.umd.js +0 -473
  184. package/bundles/angular-fire-messaging.umd.js.map +0 -1
  185. package/bundles/angular-fire-performance.umd.js +0 -473
  186. package/bundles/angular-fire-performance.umd.js.map +0 -1
  187. package/bundles/angular-fire-remote-config.umd.js +0 -499
  188. package/bundles/angular-fire-remote-config.umd.js.map +0 -1
  189. package/bundles/angular-fire-storage.umd.js +0 -485
  190. package/bundles/angular-fire-storage.umd.js.map +0 -1
  191. package/bundles/angular-fire.umd.js +0 -308
  192. package/bundles/angular-fire.umd.js.map +0 -1
  193. package/compat/analytics/package.json +0 -11
  194. package/compat/auth/package.json +0 -11
  195. package/compat/auth-guard/package.json +0 -11
  196. package/compat/database/package.json +0 -11
  197. package/compat/firestore/package.json +0 -11
  198. package/compat/functions/package.json +0 -11
  199. package/compat/messaging/package.json +0 -11
  200. package/compat/package.json +0 -11
  201. package/compat/performance/package.json +0 -11
  202. package/compat/remote-config/package.json +0 -11
  203. package/compat/storage/package.json +0 -11
  204. package/database/package.json +0 -11
  205. package/docs/analytics.md +0 -67
  206. package/docs/app-check.md +0 -53
  207. package/docs/auth.md +0 -165
  208. package/docs/compat/analytics/getting-started.md +0 -137
  209. package/docs/compat/auth/getting-started.md +0 -162
  210. package/docs/compat/auth/router-guards.md +0 -104
  211. package/docs/compat/emulators/emulators.md +0 -134
  212. package/docs/compat/firestore/collections.md +0 -326
  213. package/docs/compat/firestore/documents.md +0 -115
  214. package/docs/compat/firestore/offline-data.md +0 -39
  215. package/docs/compat/firestore/querying-collections.md +0 -204
  216. package/docs/compat/functions/functions.md +0 -166
  217. package/docs/compat/messaging/messaging.md +0 -232
  218. package/docs/compat/performance/getting-started.md +0 -132
  219. package/docs/compat/remote-config/getting-started.md +0 -134
  220. package/docs/compat/rtdb/lists.md +0 -257
  221. package/docs/compat/rtdb/objects.md +0 -182
  222. package/docs/compat/rtdb/querying-lists.md +0 -155
  223. package/docs/compat/storage/storage.md +0 -257
  224. package/docs/compat.md +0 -70
  225. package/docs/database.md +0 -175
  226. package/docs/deploy/getting-started.md +0 -204
  227. package/docs/firebase.json +0 -16
  228. package/docs/firestore.md +0 -148
  229. package/docs/functions.md +0 -52
  230. package/docs/images/analytics-illo_1x.png +0 -0
  231. package/docs/images/auth-illo_1x.png +0 -0
  232. package/docs/images/cloud-messaging-illo_1x.png +0 -0
  233. package/docs/images/database-illo_1x.png +0 -0
  234. package/docs/images/firestore-illo_1x.png +0 -0
  235. package/docs/images/functions-illo_1x.png +0 -0
  236. package/docs/images/hosting-illo_1x.png +0 -0
  237. package/docs/images/performance-illo_1x.png +0 -0
  238. package/docs/images/reCAPTCHA-logo@1x.png +0 -0
  239. package/docs/images/remote-config-illo_1x.png +0 -0
  240. package/docs/images/storage-illo_1x.png +0 -0
  241. package/docs/install-and-setup.md +0 -114
  242. package/docs/install-angular-cli-windows10.md +0 -82
  243. package/docs/messaging.md +0 -25
  244. package/docs/performance.md +0 -57
  245. package/docs/remote-config.md +0 -53
  246. package/docs/storage.md +0 -90
  247. package/docs/universal/cloud-functions.md +0 -75
  248. package/docs/universal/getting-started.md +0 -153
  249. package/docs/universal/prerendering.md +0 -72
  250. package/docs/version-4-upgrade.md +0 -119
  251. package/docs/version-5-upgrade.md +0 -82
  252. package/docs/version-6-upgrade.md +0 -16
  253. package/docs/version-7-upgrade.md +0 -298
  254. package/esm2015/analytics/analytics.module.js +0 -93
  255. package/esm2015/analytics/overrides.js +0 -3
  256. package/esm2015/analytics/screen-tracking.service.js +0 -139
  257. package/esm2015/analytics/user-tracking.service.js +0 -43
  258. package/esm2015/app/app.module.js +0 -84
  259. package/esm2015/app-check/app-check.module.js +0 -81
  260. package/esm2015/auth-guard/auth-guard.js +0 -49
  261. package/esm2015/compat/analytics/analytics.js +0 -163
  262. package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
  263. package/esm2015/compat/analytics/user-tracking.service.js +0 -52
  264. package/esm2015/compat/auth/auth.js +0 -139
  265. package/esm2015/compat/auth-guard/auth-guard.js +0 -49
  266. package/esm2015/compat/database/database.js +0 -117
  267. package/esm2015/compat/database/list/create-reference.js +0 -41
  268. package/esm2015/compat/firestore/collection/changes.js +0 -107
  269. package/esm2015/compat/firestore/collection/collection.js +0 -117
  270. package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
  271. package/esm2015/compat/firestore/document/document.js +0 -82
  272. package/esm2015/compat/firestore/firestore.js +0 -254
  273. package/esm2015/compat/firestore/interfaces.js +0 -2
  274. package/esm2015/compat/firestore/observable/fromRef.js +0 -39
  275. package/esm2015/compat/functions/functions.js +0 -68
  276. package/esm2015/compat/messaging/messaging.js +0 -75
  277. package/esm2015/compat/performance/performance.service.js +0 -27
  278. package/esm2015/compat/proxy.js +0 -61
  279. package/esm2015/compat/remote-config/remote-config.js +0 -193
  280. package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
  281. package/esm2015/compat/storage/storage.js +0 -94
  282. package/esm2015/core.js +0 -79
  283. package/esm2015/firestore/rxfire.js +0 -13
  284. package/esm2015/messaging/messaging.module.js +0 -85
  285. package/esm2015/messaging/overrides.js +0 -3
  286. package/esm2015/remote-config/overrides.js +0 -3
  287. package/esm2015/remote-config/remote-config.module.js +0 -85
  288. package/esm2015/zones.js +0 -183
  289. package/fesm2015/angular-fire-analytics.js.map +0 -1
  290. package/fesm2015/angular-fire-app-check.js.map +0 -1
  291. package/fesm2015/angular-fire-app.js.map +0 -1
  292. package/fesm2015/angular-fire-auth-guard.js.map +0 -1
  293. package/fesm2015/angular-fire-auth.js.map +0 -1
  294. package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
  295. package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
  296. package/fesm2015/angular-fire-compat-auth.js.map +0 -1
  297. package/fesm2015/angular-fire-compat-database.js.map +0 -1
  298. package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
  299. package/fesm2015/angular-fire-compat-functions.js.map +0 -1
  300. package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
  301. package/fesm2015/angular-fire-compat-performance.js.map +0 -1
  302. package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
  303. package/fesm2015/angular-fire-compat-storage.js.map +0 -1
  304. package/fesm2015/angular-fire-compat.js.map +0 -1
  305. package/fesm2015/angular-fire-database.js.map +0 -1
  306. package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
  307. package/fesm2015/angular-fire-firestore.js.map +0 -1
  308. package/fesm2015/angular-fire-functions.js.map +0 -1
  309. package/fesm2015/angular-fire-messaging.js.map +0 -1
  310. package/fesm2015/angular-fire-performance.js.map +0 -1
  311. package/fesm2015/angular-fire-remote-config.js.map +0 -1
  312. package/fesm2015/angular-fire-storage.js.map +0 -1
  313. package/fesm2015/angular-fire.js.map +0 -1
  314. package/firestore/lite/package.json +0 -11
  315. package/firestore/package.json +0 -11
  316. package/firestore-protos.js +0 -4
  317. package/functions/package.json +0 -11
  318. package/messaging/package.json +0 -11
  319. package/performance/package.json +0 -11
  320. package/remote-config/package.json +0 -11
  321. package/schematics/add/schema.json +0 -16
  322. package/schematics/builders.json +0 -10
  323. package/schematics/collection.json +0 -15
  324. package/schematics/deploy/schema.json +0 -119
  325. package/schematics/migration.json +0 -15
  326. package/schematics/setup/schema.json +0 -16
  327. package/storage/package.json +0 -11
  328. /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
  329. /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
  330. /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
  331. /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
  332. /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
  333. /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
  334. /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
  335. /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
  336. /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
  337. /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
  338. /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
  339. /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
  340. /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
  341. /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
  342. /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
  343. /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
  344. /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
  345. /package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +0 -0
  346. /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
  347. /package/{esm2015/analytics/firebase.js → esm2022/analytics/firebase.mjs} +0 -0
  348. /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
  349. /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
  350. /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
  351. /package/{esm2015/app/app.js → esm2022/app/app.mjs} +0 -0
  352. /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
  353. /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
  354. /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
  355. /package/{esm2015/app-check/app-check.js → esm2022/app-check/app-check.mjs} +0 -0
  356. /package/{esm2015/app-check/firebase.js → esm2022/app-check/firebase.mjs} +0 -0
  357. /package/{esm2015/app-check/public_api.js → esm2022/app-check/public_api.mjs} +0 -0
  358. /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
  359. /package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +0 -0
  360. /package/{esm2015/auth/firebase.js → esm2022/auth/firebase.mjs} +0 -0
  361. /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
  362. /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
  363. /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
  364. /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
  365. /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
  366. /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
  367. /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
  368. /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
  369. /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
  370. /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
  371. /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
  372. /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
  373. /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
  374. /package/{esm2015/compat/database/interfaces.js → esm2022/compat/database/interfaces.mjs} +0 -0
  375. /package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +0 -0
  376. /package/{esm2015/compat/database/list/changes.js → esm2022/compat/database/list/changes.mjs} +0 -0
  377. /package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +0 -0
  378. /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
  379. /package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +0 -0
  380. /package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +0 -0
  381. /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
  382. /package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +0 -0
  383. /package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +0 -0
  384. /package/{esm2015/compat/database/observable/fromRef.js → esm2022/compat/database/observable/fromRef.mjs} +0 -0
  385. /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
  386. /package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +0 -0
  387. /package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +0 -0
  388. /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
  389. /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
  390. /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
  391. /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
  392. /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
  393. /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
  394. /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
  395. /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
  396. /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
  397. /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
  398. /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
  399. /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
  400. /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
  401. /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
  402. /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
  403. /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
  404. /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
  405. /package/{esm2015/compat/storage/observable/fromTask.js → esm2022/compat/storage/observable/fromTask.mjs} +0 -0
  406. /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
  407. /package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +0 -0
  408. /package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +0 -0
  409. /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
  410. /package/{esm2015/database/database.js → esm2022/database/database.mjs} +0 -0
  411. /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
  412. /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
  413. /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
  414. /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
  415. /package/{esm2015/firestore/firebase.js → esm2022/firestore/firebase.mjs} +0 -0
  416. /package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +0 -0
  417. /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
  418. /package/{esm2015/firestore/lite/firebase.js → esm2022/firestore/lite/firebase.mjs} +0 -0
  419. /package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +0 -0
  420. /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
  421. /package/{esm2015/firestore/lite/rxfire.js → esm2022/firestore/lite/rxfire.mjs} +0 -0
  422. /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
  423. /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
  424. /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
  425. /package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +0 -0
  426. /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
  427. /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
  428. /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
  429. /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
  430. /package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +0 -0
  431. /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
  432. /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
  433. /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
  434. /package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +0 -0
  435. /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
  436. /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
  437. /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
  438. /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
  439. /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
  440. /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
  441. /package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +0 -0
  442. /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
  443. /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
  444. /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
  445. /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
  446. /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
  447. /package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +0 -0
  448. /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
  449. /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
  450. /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
  451. /package/{angular-fire.d.ts → index.d.ts} +0 -0
  452. /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
  453. /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
  454. /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
  455. /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
@@ -1,4 +1,3 @@
1
- import { __awaiter } from 'tslib';
2
1
  import * as i0 from '@angular/core';
3
2
  import { InjectionToken, PLATFORM_ID, Injectable, Optional, Inject, NgModule } from '@angular/core';
4
3
  import { of, EMPTY } from 'rxjs';
@@ -39,10 +38,15 @@ const GTAG_FUNCTION_NAME = 'gtag'; // TODO rename these
39
38
  const DATA_LAYER_NAME = 'dataLayer';
40
39
  const SEND_TO_KEY = 'send_to';
41
40
  class AngularFireAnalytics {
41
+ measurementId;
42
+ analyticsInitialized = new Promise(() => { });
43
+ async updateConfig(config) {
44
+ await this.analyticsInitialized;
45
+ window[GTAG_FUNCTION_NAME](GTAG_CONFIG_COMMAND, this.measurementId, { ...config, update: true });
46
+ }
42
47
  constructor(app, analyticsCollectionEnabled, providedAppVersion, providedAppName, debugModeEnabled, providedConfig,
43
48
  // tslint:disable-next-line:ban-types
44
49
  platformId, zone, schedulers) {
45
- this.analyticsInitialized = new Promise(() => { });
46
50
  if (isPlatformBrowser(platformId)) {
47
51
  window[DATA_LAYER_NAME] = window[DATA_LAYER_NAME] || [];
48
52
  // It turns out we can't rely on the measurementId in the Firebase config JSON
@@ -131,16 +135,10 @@ class AngularFireAnalytics {
131
135
  }), shareReplay({ bufferSize: 1, refCount: false }));
132
136
  return ɵlazySDKProxy(this, analytics, zone);
133
137
  }
134
- updateConfig(config) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- yield this.analyticsInitialized;
137
- window[GTAG_FUNCTION_NAME](GTAG_CONFIG_COMMAND, this.measurementId, Object.assign(Object.assign({}, config), { update: true }));
138
- });
139
- }
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalytics, deps: [{ token: i1.FirebaseApp }, { token: COLLECTION_ENABLED, optional: true }, { token: APP_VERSION, optional: true }, { token: APP_NAME, optional: true }, { token: DEBUG_MODE, optional: true }, { token: CONFIG, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i2.ɵAngularFireSchedulers }], target: i0.ɵɵFactoryTarget.Injectable });
139
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalytics, providedIn: 'any' });
140
140
  }
141
- AngularFireAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalytics, deps: [{ token: i1.FirebaseApp }, { token: COLLECTION_ENABLED, optional: true }, { token: APP_VERSION, optional: true }, { token: APP_NAME, optional: true }, { token: DEBUG_MODE, optional: true }, { token: CONFIG, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i2.ɵAngularFireSchedulers }], target: i0.ɵɵFactoryTarget.Injectable });
142
- AngularFireAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalytics, providedIn: 'any' });
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalytics, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalytics, decorators: [{
144
142
  type: Injectable,
145
143
  args: [{
146
144
  providedIn: 'any'
@@ -177,18 +175,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
177
175
  ɵapplyMixins(AngularFireAnalytics, [proxyPolyfillCompat]);
178
176
 
179
177
  class UserTrackingService {
178
+ initialized;
179
+ disposables = [];
180
180
  // TODO a user properties injector
181
181
  constructor(analytics,
182
182
  // tslint:disable-next-line:ban-types
183
183
  platformId, auth, zone) {
184
- this.disposables = [];
185
184
  firebase.registerVersion('angularfire', VERSION.full, 'compat-user-tracking');
186
185
  if (!isPlatformServer(platformId)) {
187
186
  let resolveInitialized;
188
187
  this.initialized = zone.runOutsideAngular(() => new Promise(resolve => resolveInitialized = resolve));
189
188
  this.disposables = [
190
189
  auth.authState.subscribe(user => {
191
- analytics.setUserId(user === null || user === void 0 ? void 0 : user.uid);
190
+ analytics.setUserId(user?.uid);
192
191
  resolveInitialized();
193
192
  }),
194
193
  auth.credential.subscribe(credential => {
@@ -209,10 +208,10 @@ class UserTrackingService {
209
208
  ngOnDestroy() {
210
209
  this.disposables.forEach(it => it.unsubscribe());
211
210
  }
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService, deps: [{ token: AngularFireAnalytics }, { token: PLATFORM_ID }, { token: i2$1.AngularFireAuth }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
212
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService });
212
213
  }
213
- UserTrackingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService, deps: [{ token: AngularFireAnalytics }, { token: PLATFORM_ID }, { token: i2$1.AngularFireAuth }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
214
- UserTrackingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService });
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService, decorators: [{
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: UserTrackingService, decorators: [{
216
215
  type: Injectable
217
216
  }], ctorParameters: function () { return [{ type: AngularFireAnalytics }, { type: Object, decorators: [{
218
217
  type: Inject,
@@ -221,18 +220,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
221
220
 
222
221
  const SCREEN_VIEW_EVENT = 'screen_view';
223
222
  class ScreenTrackingService {
223
+ disposable;
224
224
  constructor(analytics, router, title, componentFactoryResolver, zone, userTrackingService) {
225
225
  firebase.registerVersion('angularfire', VERSION.full, 'compat-screen-tracking');
226
226
  if (!router || !analytics) {
227
227
  return this;
228
228
  }
229
229
  zone.runOutsideAngular(() => {
230
- this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap((params) => __awaiter(this, void 0, void 0, function* () {
230
+ this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap(async (params) => {
231
231
  if (userTrackingService) {
232
- yield userTrackingService.initialized;
232
+ await userTrackingService.initialized;
233
233
  }
234
- return yield analytics.logEvent(SCREEN_VIEW_EVENT, params);
235
- }))).subscribe();
234
+ return await analytics.logEvent(SCREEN_VIEW_EVENT, params);
235
+ })).subscribe();
236
236
  });
237
237
  }
238
238
  ngOnDestroy() {
@@ -240,10 +240,10 @@ class ScreenTrackingService {
240
240
  this.disposable.unsubscribe();
241
241
  }
242
242
  }
243
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService, deps: [{ token: AngularFireAnalytics }, { token: i2$2.Router, optional: true }, { token: i3.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
244
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService });
243
245
  }
244
- ScreenTrackingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService, deps: [{ token: AngularFireAnalytics }, { token: i2$2.Router, optional: true }, { token: i3.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
245
- ScreenTrackingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService });
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ScreenTrackingService, decorators: [{
247
247
  type: Injectable
248
248
  }], ctorParameters: function () { return [{ type: AngularFireAnalytics }, { type: i2$2.Router, decorators: [{
249
249
  type: Optional
@@ -260,11 +260,11 @@ class AngularFireAnalyticsModule {
260
260
  // tslint:disable-next-line:no-unused-expression
261
261
  analytics.app.then(() => { });
262
262
  }
263
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule, deps: [{ token: AngularFireAnalytics }, { token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
264
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule });
265
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule, providers: [AngularFireAnalytics] });
263
266
  }
264
- AngularFireAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, deps: [{ token: AngularFireAnalytics }, { token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
265
- AngularFireAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule });
266
- AngularFireAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, providers: [AngularFireAnalytics] });
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, decorators: [{
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAnalyticsModule, decorators: [{
268
268
  type: NgModule,
269
269
  args: [{
270
270
  providers: [AngularFireAnalytics]
@@ -280,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
280
280
  */
281
281
 
282
282
  export { APP_NAME, APP_VERSION, AngularFireAnalytics, AngularFireAnalyticsModule, COLLECTION_ENABLED, CONFIG, DEBUG_MODE, ScreenTrackingService, UserTrackingService };
283
- //# sourceMappingURL=angular-fire-compat-analytics.js.map
283
+ //# sourceMappingURL=angular-fire-compat-analytics.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fire-compat-analytics.mjs","sources":["../../../src/compat/analytics/base.ts","../../../src/compat/analytics/analytics.ts","../../../src/compat/analytics/user-tracking.service.ts","../../../src/compat/analytics/screen-tracking.service.ts","../../../src/compat/analytics/analytics.module.ts","../../../src/compat/analytics/angular-fire-compat-analytics.ts"],"sourcesContent":["// DO NOT MODIFY, this file is autogenerated by tools/build.ts\n// Export a null object with the same keys as firebase/compat/analytics, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n app: null,\n logEvent: null,\n setCurrentScreen: null,\n setUserId: null,\n setUserProperties: null,\n setAnalyticsCollectionEnabled: null,\n};\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { EMPTY, of } from 'rxjs';\nimport { isPlatformBrowser } from '@angular/common';\nimport { map, shareReplay, switchMap, observeOn } from 'rxjs/operators';\nimport { ɵAngularFireSchedulers } from '@angular/fire';\nimport { ɵlazySDKProxy, ɵPromiseProxy, ɵapplyMixins, ɵcacheInstance } from '@angular/fire/compat';\nimport { FirebaseApp } from '@angular/fire/compat';\nimport firebase from 'firebase/compat/app';\nimport { proxyPolyfillCompat } from './base';\nimport { isSupported } from 'firebase/analytics';\n\nexport interface Config {\n [key: string]: any;\n}\n\nexport const COLLECTION_ENABLED = new InjectionToken<boolean>('angularfire2.analytics.analyticsCollectionEnabled');\nexport const APP_VERSION = new InjectionToken<string>('angularfire2.analytics.appVersion');\nexport const APP_NAME = new InjectionToken<string>('angularfire2.analytics.appName');\nexport const DEBUG_MODE = new InjectionToken<boolean>('angularfire2.analytics.debugMode');\nexport const CONFIG = new InjectionToken<Config>('angularfire2.analytics.config');\n\nconst APP_NAME_KEY = 'app_name';\nconst APP_VERSION_KEY = 'app_version';\nconst DEBUG_MODE_KEY = 'debug_mode';\nconst GTAG_CONFIG_COMMAND = 'config';\nconst GTAG_FUNCTION_NAME = 'gtag'; // TODO rename these\nconst DATA_LAYER_NAME = 'dataLayer';\nconst SEND_TO_KEY = 'send_to';\n\nexport interface AngularFireAnalytics extends ɵPromiseProxy<firebase.analytics.Analytics> {\n}\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireAnalytics {\n\n private measurementId: string;\n private analyticsInitialized: Promise<void> = new Promise(() => {});\n\n async updateConfig(config: Config) {\n await this.analyticsInitialized;\n window[GTAG_FUNCTION_NAME](GTAG_CONFIG_COMMAND, this.measurementId, { ...config, update: true });\n }\n\n constructor(\n app: FirebaseApp,\n @Optional() @Inject(COLLECTION_ENABLED) analyticsCollectionEnabled: boolean | null,\n @Optional() @Inject(APP_VERSION) providedAppVersion: string | null,\n @Optional() @Inject(APP_NAME) providedAppName: string | null,\n @Optional() @Inject(DEBUG_MODE) debugModeEnabled: boolean | null,\n @Optional() @Inject(CONFIG) providedConfig: Config | null,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n schedulers: ɵAngularFireSchedulers,\n ) {\n\n if (isPlatformBrowser(platformId)) {\n\n window[DATA_LAYER_NAME] = window[DATA_LAYER_NAME] || [];\n\n // It turns out we can't rely on the measurementId in the Firebase config JSON\n // this identifier is not stable. firebase/analytics does a call to get a fresh value\n // falling back on the one in the config. Rather than do that ourselves we should listen\n // on our gtag function for a analytics config command\n // e.g, ['config', measurementId, { origin: 'firebase', firebase_id }]\n const parseMeasurementId = (...args: any[]) => {\n if (args[0] === 'config' && args[2].origin === 'firebase') {\n this.measurementId = args[1];\n return true;\n } else {\n return false;\n }\n };\n\n const patchGtag = (fn?: (...args: any[]) => void) => {\n window[GTAG_FUNCTION_NAME] = (...args: any[]) => {\n if (fn) {\n fn(...args);\n }\n // Inject app_name and app_version into events\n // TODO(jamesdaniels): I'm doing this as documented but it's still not\n // showing up in the console. Investigate. Guessing it's just part of the\n // whole GA4 transition mess.\n if (args[0] === 'event' && args[2][SEND_TO_KEY] === this.measurementId) {\n if (providedAppName) {\n args[2][APP_NAME_KEY] = providedAppName;\n }\n if (providedAppVersion) {\n args[2][APP_VERSION_KEY] = providedAppVersion;\n }\n }\n if (debugModeEnabled && typeof console !== 'undefined') {\n // tslint:disable-next-line:no-console\n console.info(...args);\n }\n /**\n * According to the gtag documentation, this function that defines a custom data layer cannot be\n * an arrow function because 'arguments' is not an array. It is actually an object that behaves\n * like an array and contains more information then just indexes. Transforming this into arrow function\n * caused issue #2505 where analytics no longer sent any data.\n */\n // tslint:disable-next-line: only-arrow-functions\n (function(..._args: any[]) {\n window[DATA_LAYER_NAME].push(arguments);\n })(...args);\n };\n };\n\n // Unclear if we still need to but I was running into config/events I passed\n // to gtag before ['js' timestamp] weren't getting parsed, so let's make a promise\n // that resolves when firebase/analytics has configured gtag.js that we wait on\n // before sending anything\n const firebaseAnalyticsAlreadyInitialized = window[DATA_LAYER_NAME].some(parseMeasurementId);\n if (firebaseAnalyticsAlreadyInitialized) {\n this.analyticsInitialized = Promise.resolve();\n patchGtag();\n } else {\n this.analyticsInitialized = new Promise(resolve => {\n patchGtag((...args) => {\n if (parseMeasurementId(...args)) {\n resolve();\n }\n });\n });\n }\n\n if (providedConfig) {\n this.updateConfig(providedConfig);\n }\n if (debugModeEnabled) {\n this.updateConfig({ [DEBUG_MODE_KEY]: 1 });\n }\n\n } else {\n\n this.analyticsInitialized = Promise.resolve();\n\n }\n\n const analytics = of(undefined).pipe(\n observeOn(schedulers.outsideAngular),\n switchMap(isSupported),\n switchMap(supported => supported ? zone.runOutsideAngular(() => import('firebase/compat/analytics')) : EMPTY),\n map(() => {\n return ɵcacheInstance(`analytics`, 'AngularFireAnalytics', app.name, () => {\n const analytics = app.analytics();\n if (analyticsCollectionEnabled === false) {\n analytics.setAnalyticsCollectionEnabled(false);\n }\n return analytics;\n }, [app, analyticsCollectionEnabled, providedConfig, debugModeEnabled]);\n }),\n shareReplay({ bufferSize: 1, refCount: false })\n );\n\n return ɵlazySDKProxy(this, analytics, zone);\n\n }\n\n}\n\nɵapplyMixins(AngularFireAnalytics, [proxyPolyfillCompat]);\n","import { isPlatformServer } from '@angular/common';\nimport { Inject, Injectable, NgZone, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { AngularFireAnalytics } from './analytics';\nimport { AngularFireAuth } from '@angular/fire/compat/auth';\nimport { Subscription } from 'rxjs';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@Injectable()\nexport class UserTrackingService implements OnDestroy {\n\n initialized: Promise<void>;\n private disposables: Array<Subscription> = [];\n\n // TODO a user properties injector\n constructor(\n analytics: AngularFireAnalytics,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n auth: AngularFireAuth,\n zone: NgZone,\n ) {\n firebase.registerVersion('angularfire', VERSION.full, 'compat-user-tracking');\n if (!isPlatformServer(platformId)) {\n let resolveInitialized;\n this.initialized = zone.runOutsideAngular(() => new Promise(resolve => resolveInitialized = resolve));\n this.disposables = [\n auth.authState.subscribe(user => {\n analytics.setUserId(user?.uid);\n resolveInitialized();\n }),\n auth.credential.subscribe(credential => {\n if (credential) {\n const method = credential.user.isAnonymous ? 'anonymous' : credential.additionalUserInfo.providerId;\n if (credential.additionalUserInfo.isNewUser) {\n analytics.logEvent('sign_up', { method });\n }\n analytics.logEvent('login', { method });\n }\n })\n ];\n } else {\n this.initialized = Promise.resolve();\n }\n\n }\n\n ngOnDestroy() {\n this.disposables.forEach(it => it.unsubscribe());\n }\n}\n","import { ComponentFactoryResolver, Injectable, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { AngularFireAnalytics } from './analytics';\nimport { Title } from '@angular/platform-browser';\nimport { UserTrackingService } from './user-tracking.service';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\nimport { ɵscreenViewEvent } from '@angular/fire/analytics';\n\nconst SCREEN_VIEW_EVENT = 'screen_view';\n\n@Injectable()\nexport class ScreenTrackingService implements OnDestroy {\n\n private disposable: Subscription | undefined;\n\n constructor(\n analytics: AngularFireAnalytics,\n @Optional() router: Router,\n @Optional() title: Title,\n componentFactoryResolver: ComponentFactoryResolver,\n zone: NgZone,\n @Optional() userTrackingService: UserTrackingService,\n ) {\n firebase.registerVersion('angularfire', VERSION.full, 'compat-screen-tracking');\n if (!router || !analytics) { return this; }\n zone.runOutsideAngular(() => {\n this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(\n switchMap(async params => {\n if (userTrackingService) {\n await userTrackingService.initialized;\n }\n return await analytics.logEvent(SCREEN_VIEW_EVENT, params);\n })\n ).subscribe();\n });\n }\n\n ngOnDestroy() {\n if (this.disposable) {\n this.disposable.unsubscribe();\n }\n }\n\n}\n","import { NgModule, Optional } from '@angular/core';\nimport { ScreenTrackingService } from './screen-tracking.service';\nimport { AngularFireAnalytics } from './analytics';\nimport { UserTrackingService } from './user-tracking.service';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireAnalytics ]\n})\nexport class AngularFireAnalyticsModule {\n constructor(\n analytics: AngularFireAnalytics,\n @Optional() screenTracking: ScreenTrackingService,\n @Optional() userTracking: UserTrackingService,\n ) {\n firebase.registerVersion('angularfire', VERSION.full, 'analytics-compat');\n // calling anything on analytics will eagerly load the SDK\n // tslint:disable-next-line:no-unused-expression\n analytics.app.then(() => {});\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i1.AngularFireAnalytics","i4.UserTrackingService","i2.ScreenTrackingService","i3.UserTrackingService"],"mappings":"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"}
@@ -9,29 +9,31 @@ import { VERSION } from '@angular/fire';
9
9
 
10
10
  const loggedIn = map(user => !!user);
11
11
  class AngularFireAuthGuard {
12
+ router;
13
+ auth;
12
14
  constructor(router, auth) {
13
15
  this.router = router;
14
16
  this.auth = auth;
15
- this.canActivate = (next, state) => {
16
- const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
17
- return this.auth.user.pipe(take(1), authPipeFactory(next, state), map(can => {
18
- if (typeof can === 'boolean') {
19
- return can;
20
- }
21
- else if (Array.isArray(can)) {
22
- return this.router.createUrlTree(can);
23
- }
24
- else {
25
- // TODO(EdricChan03): Add tests
26
- return this.router.parseUrl(can);
27
- }
28
- }));
29
- };
30
17
  }
18
+ canActivate = (next, state) => {
19
+ const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
20
+ return this.auth.user.pipe(take(1), authPipeFactory(next, state), map(can => {
21
+ if (typeof can === 'boolean') {
22
+ return can;
23
+ }
24
+ else if (Array.isArray(can)) {
25
+ return this.router.createUrlTree(can);
26
+ }
27
+ else {
28
+ // TODO(EdricChan03): Add tests
29
+ return this.router.parseUrl(can);
30
+ }
31
+ }));
32
+ };
33
+ 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 });
34
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuard, providedIn: 'any' });
31
35
  }
32
- AngularFireAuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuard, deps: [{ token: i1.Router }, { token: i2.AngularFireAuth }], target: i0.ɵɵFactoryTarget.Injectable });
33
- AngularFireAuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuard, providedIn: 'any' });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuard, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuard, decorators: [{
35
37
  type: Injectable,
36
38
  args: [{
37
39
  providedIn: 'any'
@@ -52,11 +54,11 @@ class AngularFireAuthGuardModule {
52
54
  constructor() {
53
55
  firebase.registerVersion('angularfire', VERSION.full, 'auth-guard-compat');
54
56
  }
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
58
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule });
59
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule, providers: [AngularFireAuthGuard] });
55
60
  }
56
- AngularFireAuthGuardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- AngularFireAuthGuardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule });
58
- AngularFireAuthGuardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule, providers: [AngularFireAuthGuard] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthGuardModule, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthGuardModule, decorators: [{
60
62
  type: NgModule,
61
63
  args: [{
62
64
  providers: [AngularFireAuthGuard]
@@ -68,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
68
70
  */
69
71
 
70
72
  export { AngularFireAuthGuard, AngularFireAuthGuardModule, canActivate, customClaims, emailVerified, hasCustomClaim, idTokenResult, isNotAnonymous, loggedIn, redirectLoggedInTo, redirectUnauthorizedTo };
71
- //# sourceMappingURL=angular-fire-compat-auth-guard.js.map
73
+ //# sourceMappingURL=angular-fire-compat-auth-guard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fire-compat-auth-guard.mjs","sources":["../../../src/compat/auth-guard/auth-guard.ts","../../../src/compat/auth-guard/auth-guard.module.ts","../../../src/compat/auth-guard/angular-fire-compat-auth-guard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable, of, pipe, UnaryFunction } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport firebase from 'firebase/compat/app';\nimport { AngularFireAuth } from '@angular/fire/compat/auth';\n\nexport type AuthPipeGenerator = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => AuthPipe;\nexport type AuthPipe = UnaryFunction<Observable<firebase.User|null>, Observable<boolean|string|any[]>>;\n\nexport const loggedIn: AuthPipe = map(user => !!user);\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireAuthGuard implements CanActivate {\n\n constructor(private router: Router, private auth: AngularFireAuth) {}\n\n canActivate = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const authPipeFactory = next.data.authGuardPipe as AuthPipeGenerator || (() => loggedIn);\n return this.auth.user.pipe(\n take(1),\n authPipeFactory(next, state),\n map(can => {\n if (typeof can === 'boolean') {\n return can;\n } else if (Array.isArray(can)) {\n return this.router.createUrlTree(can);\n } else {\n // TODO(EdricChan03): Add tests\n return this.router.parseUrl(can);\n }\n })\n );\n }\n\n}\n\nexport const canActivate = (pipe: AuthPipeGenerator) => ({\n canActivate: [ AngularFireAuthGuard ], data: { authGuardPipe: pipe }\n});\n\n\nexport const isNotAnonymous: AuthPipe = map(user => !!user && !user.isAnonymous);\nexport const idTokenResult = switchMap((user: firebase.User|null) => user ? user.getIdTokenResult() : of(null));\nexport const emailVerified: AuthPipe = map(user => !!user && user.emailVerified);\nexport const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));\nexport const hasCustomClaim: (claim: string) => AuthPipe =\n (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));\nexport const redirectUnauthorizedTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));\nexport const redirectLoggedInTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));\n","import { NgModule } from '@angular/core';\nimport { AngularFireAuthGuard } from './auth-guard';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireAuthGuard ]\n})\nexport class AngularFireAuthGuardModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'auth-guard-compat');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
-
1
+ import 'firebase/compat/auth';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, NgModule } from '@angular/core';
4
4
  import { Subject, of, Observable, from, merge } from 'rxjs';
@@ -78,6 +78,28 @@ const ɵauthFactory = (app, zone, useEmulator, tenantId, languageCode, useDevice
78
78
  return auth;
79
79
  }, [useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence]);
80
80
  class AngularFireAuth {
81
+ /**
82
+ * Observable of authentication state; as of Firebase 4.0 this is only triggered via sign-in/out
83
+ */
84
+ authState;
85
+ /**
86
+ * Observable of the currently signed-in user's JWT token used to identify the user to a Firebase service (or null).
87
+ */
88
+ idToken;
89
+ /**
90
+ * Observable of the currently signed-in user (or null).
91
+ */
92
+ user;
93
+ /**
94
+ * Observable of the currently signed-in user's IdTokenResult object which contains the ID token JWT string and other
95
+ * helper properties for getting different data associated with the token as well as all the decoded payload claims
96
+ * (or null).
97
+ */
98
+ idTokenResult;
99
+ /**
100
+ * Observable of the currently signed-in user's credential, or null
101
+ */
102
+ credential;
81
103
  constructor(options, name,
82
104
  // tslint:disable-next-line:ban-types
83
105
  platformId, zone, schedulers, useEmulator, // can't use the tuple here
@@ -108,7 +130,7 @@ class AngularFireAuth {
108
130
  this.authState.pipe(filter(it => !it))).pipe(
109
131
  // handle the { user: { } } when a user is already logged in, rather have null
110
132
  // TODO handle the type corcersion better
111
- map(credential => (credential === null || credential === void 0 ? void 0 : credential.user) ? credential : null), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
133
+ map(credential => credential?.user ? credential : null), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
112
134
  }
113
135
  return ɵlazySDKProxy(this, auth, zone, { spy: {
114
136
  apply: (name, _, val) => {
@@ -122,10 +144,10 @@ class AngularFireAuth {
122
144
  }
123
145
  } });
124
146
  }
147
+ 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 });
148
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, providedIn: 'any' });
125
149
  }
126
- AngularFireAuth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.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 });
127
- AngularFireAuth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuth, providedIn: 'any' });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuth, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, decorators: [{
129
151
  type: Injectable,
130
152
  args: [{
131
153
  providedIn: 'any'
@@ -180,11 +202,11 @@ class AngularFireAuthModule {
180
202
  constructor() {
181
203
  firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');
182
204
  }
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
206
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule });
207
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });
183
208
  }
184
- AngularFireAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
185
- AngularFireAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule });
186
- AngularFireAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAuthModule, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, decorators: [{
188
210
  type: NgModule,
189
211
  args: [{
190
212
  providers: [AngularFireAuth]
@@ -196,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
196
218
  */
197
219
 
198
220
  export { AngularFireAuth, AngularFireAuthModule, LANGUAGE_CODE, PERSISTENCE, SETTINGS, TENANT_ID, USE_DEVICE_LANGUAGE, USE_EMULATOR, ɵauthFactory };
199
- //# sourceMappingURL=angular-fire-compat-auth.js.map
221
+ //# sourceMappingURL=angular-fire-compat-auth.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fire-compat-auth.mjs","sources":["../../../src/compat/auth/base.ts","../../../src/compat/auth/auth.ts","../../../src/compat/auth/auth.module.ts","../../../src/compat/auth/angular-fire-compat-auth.ts"],"sourcesContent":["// DO NOT MODIFY, this file is autogenerated by tools/build.ts\n// Export a null object with the same keys as firebase/compat/auth, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n name: null,\n config: null,\n emulatorConfig: null,\n app: null,\n applyActionCode: null,\n checkActionCode: null,\n confirmPasswordReset: null,\n createUserWithEmailAndPassword: null,\n currentUser: null,\n fetchSignInMethodsForEmail: null,\n isSignInWithEmailLink: null,\n getRedirectResult: null,\n languageCode: null,\n settings: null,\n onAuthStateChanged: null,\n onIdTokenChanged: null,\n sendSignInLinkToEmail: null,\n sendPasswordResetEmail: null,\n setPersistence: null,\n signInAndRetrieveDataWithCredential: null,\n signInAnonymously: null,\n signInWithCredential: null,\n signInWithCustomToken: null,\n signInWithEmailAndPassword: null,\n signInWithPhoneNumber: null,\n signInWithEmailLink: null,\n signInWithPopup: null,\n signInWithRedirect: null,\n signOut: null,\n tenantId: null,\n updateCurrentUser: null,\n useDeviceLanguage: null,\n useEmulator: null,\n verifyPasswordResetCode: null,\n};\n","import { Injectable, Inject, Optional, NgZone, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport { Observable, of, from, merge, Subject } from 'rxjs';\nimport { switchMap, map, observeOn, shareReplay, first, filter, switchMapTo, subscribeOn } from 'rxjs/operators';\nimport { ɵAngularFireSchedulers, keepUnstableUntilFirst } from '@angular/fire';\nimport { ɵlazySDKProxy, ɵPromiseProxy, ɵapplyMixins } from '@angular/fire/compat';\nimport { ɵfirebaseAppFactory, FIREBASE_OPTIONS, FIREBASE_APP_NAME, FirebaseApp, ɵcacheInstance } from '@angular/fire/compat';\nimport { FirebaseOptions } from 'firebase/app';\nimport firebase from 'firebase/compat/app';\nimport { isPlatformServer } from '@angular/common';\nimport { proxyPolyfillCompat } from './base';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport interface AngularFireAuth extends ɵPromiseProxy<firebase.auth.Auth> {}\n\ntype UseEmulatorArguments = Parameters<firebase.auth.Auth['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.auth.use-emulator');\n\nexport const SETTINGS = new InjectionToken<firebase.auth.AuthSettings>('angularfire2.auth.settings');\nexport const TENANT_ID = new InjectionToken<string>('angularfire2.auth.tenant-id');\nexport const LANGUAGE_CODE = new InjectionToken<string>('angularfire2.auth.langugage-code');\nexport const USE_DEVICE_LANGUAGE = new InjectionToken<boolean>('angularfire2.auth.use-device-language');\nexport const PERSISTENCE = new InjectionToken<string>('angularfire.auth.persistence');\n\nexport const ɵauthFactory = (\n app: FirebaseApp, zone: NgZone, useEmulator: UseEmulatorArguments|null,\n tenantId: string, languageCode: string|null, useDeviceLanguage: boolean|null,\n settings: firebase.auth.AuthSettings|null, persistence: string|null,\n) => ɵcacheInstance(`${app.name}.auth`, 'AngularFireAuth', app.name, () => {\n const auth = zone.runOutsideAngular(() => app.auth());\n if (useEmulator) {\n auth.useEmulator(...useEmulator);\n }\n if (tenantId) {\n auth.tenantId = tenantId;\n }\n auth.languageCode = languageCode;\n if (useDeviceLanguage) {\n auth.useDeviceLanguage();\n }\n if (settings) {\n for (const [k, v] of Object.entries(settings)) {\n auth.settings[k] = v;\n }\n }\n if (persistence) {\n auth.setPersistence(persistence);\n }\n return auth;\n}, [useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence]);\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireAuth {\n\n /**\n * Observable of authentication state; as of Firebase 4.0 this is only triggered via sign-in/out\n */\n public readonly authState: Observable<firebase.User|null>;\n\n /**\n * Observable of the currently signed-in user's JWT token used to identify the user to a Firebase service (or null).\n */\n public readonly idToken: Observable<string|null>;\n\n /**\n * Observable of the currently signed-in user (or null).\n */\n public readonly user: Observable<firebase.User|null>;\n\n /**\n * Observable of the currently signed-in user's IdTokenResult object which contains the ID token JWT string and other\n * helper properties for getting different data associated with the token as well as all the decoded payload claims\n * (or null).\n */\n public readonly idTokenResult: Observable<firebase.auth.IdTokenResult|null>;\n\n /**\n * Observable of the currently signed-in user's credential, or null\n */\n public readonly credential: Observable<Required<firebase.auth.UserCredential>|null>;\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string|null|undefined,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(USE_EMULATOR) useEmulator: any, // can't use the tuple here\n @Optional() @Inject(SETTINGS) settings: any, // can't use firebase.auth.AuthSettings here\n @Optional() @Inject(TENANT_ID) tenantId: string | null,\n @Optional() @Inject(LANGUAGE_CODE) languageCode: string | null,\n @Optional() @Inject(USE_DEVICE_LANGUAGE) useDeviceLanguage: boolean | null,\n @Optional() @Inject(PERSISTENCE) persistence: string | null,\n @Optional() _appCheckInstances: AppCheckInstances,\n ) {\n const logins = new Subject<Required<firebase.auth.UserCredential>>();\n\n const auth = of(undefined).pipe(\n observeOn(schedulers.outsideAngular),\n switchMap(() => zone.runOutsideAngular(() => import('firebase/compat/auth'))),\n map(() => ɵfirebaseAppFactory(options, zone, name)),\n map(app => ɵauthFactory(app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence)),\n shareReplay({ bufferSize: 1, refCount: false }),\n );\n\n if (isPlatformServer(platformId)) {\n\n this.authState = this.user = this.idToken = this.idTokenResult = this.credential = of(null);\n\n } else {\n\n // HACK, as we're exporting auth.Auth, rather than auth, developers importing firebase.auth\n // (e.g, `import { auth } from 'firebase/compat/app'`) are getting an undefined auth object unexpectedly\n // as we're completely lazy. Let's eagerly load the Auth SDK here.\n // There could potentially be race conditions still... but this greatly decreases the odds while\n // we reevaluate the API.\n const _ = auth.pipe(first()).subscribe();\n\n const redirectResult = auth.pipe(\n switchMap(auth => auth.getRedirectResult().then(it => it, () => null)),\n keepUnstableUntilFirst,\n shareReplay({ bufferSize: 1, refCount: false }),\n );\n\n const authStateChanged = auth.pipe(\n switchMap(auth => new Observable<firebase.User|null>(sub =>\n ({ unsubscribe: zone.runOutsideAngular(() => auth.onAuthStateChanged(\n next => sub.next(next),\n err => sub.error(err),\n () => sub.complete()\n ))})\n )),\n );\n\n const idTokenChanged = auth.pipe(\n switchMap(auth => new Observable<firebase.User|null>(sub =>\n ({ unsubscribe: zone.runOutsideAngular(() => auth.onIdTokenChanged(\n next => sub.next(next),\n err => sub.error(err),\n () => sub.complete()\n ))})\n ))\n );\n\n this.authState = redirectResult.pipe(\n switchMapTo(authStateChanged),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n this.user = redirectResult.pipe(\n switchMapTo(idTokenChanged),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n this.idToken = this.user.pipe(\n switchMap(user => user ? from(user.getIdToken()) : of(null))\n );\n\n this.idTokenResult = this.user.pipe(\n switchMap(user => user ? from(user.getIdTokenResult()) : of(null))\n );\n\n this.credential = merge(\n redirectResult,\n logins,\n // pipe in null authState to make credential zipable, just a weird devexp if\n // authState and user go null to still have a credential\n this.authState.pipe(filter(it => !it))\n ).pipe(\n // handle the { user: { } } when a user is already logged in, rather have null\n // TODO handle the type corcersion better\n map(credential => credential?.user ? credential as Required<firebase.auth.UserCredential> : null),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n }\n\n return ɵlazySDKProxy(this, auth, zone, { spy: {\n apply: (name, _, val) => {\n // If they call a signIn or createUser function listen into the promise\n // this will give us the user credential, push onto the logins Subject\n // to be consumed in .credential\n if (name.startsWith('signIn') || name.startsWith('createUser')) {\n // TODO fix the types, the trouble is UserCredential has everything optional\n val.then((user: firebase.auth.UserCredential) => logins.next(user as any));\n }\n }\n }});\n\n }\n\n}\n\nɵapplyMixins(AngularFireAuth, [proxyPolyfillCompat]);\n","import { NgModule } from '@angular/core';\nimport { AngularFireAuth } from './auth';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireAuth ]\n})\nexport class AngularFireAuthModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, NgModule } from '@angular/core';
3
- import { asyncScheduler, Observable, of, merge } from 'rxjs';
3
+ import { Observable, asyncScheduler, of, merge } from 'rxjs';
4
4
  import { map, share, switchMap, scan, distinctUntilChanged, withLatestFrom, skipWhile } from 'rxjs/operators';
5
5
  import * as i1 from '@angular/fire';
6
6
  import { keepUnstableUntilFirst, VERSION } from '@angular/fire';
@@ -283,9 +283,12 @@ function createListReference(query, afDatabase) {
283
283
  const snapshotChanges$ = snapshotChanges(query, events, outsideAngularScheduler);
284
284
  return snapshotChanges$.pipe(map(actions => actions.map(a => {
285
285
  if (options && options.idField) {
286
- return Object.assign(Object.assign({}, a.payload.val()), {
287
- [options.idField]: a.key
288
- });
286
+ return {
287
+ ...a.payload.val(),
288
+ ...{
289
+ [options.idField]: a.key
290
+ }
291
+ };
289
292
  }
290
293
  else {
291
294
  return a.payload.val();
@@ -320,6 +323,8 @@ function createObjectReference(query, afDatabase) {
320
323
  const URL = new InjectionToken('angularfire2.realtimeDatabaseURL');
321
324
  const USE_EMULATOR = new InjectionToken('angularfire2.database.use-emulator');
322
325
  class AngularFireDatabase {
326
+ schedulers;
327
+ database;
323
328
  constructor(options, name, databaseURL,
324
329
  // tslint:disable-next-line:ban-types
325
330
  platformId, zone, schedulers, _useEmulator, // tuple isn't working here
@@ -355,10 +360,10 @@ class AngularFireDatabase {
355
360
  const ref = this.schedulers.ngZone.runOutsideAngular(() => this.database.ref());
356
361
  return ref.push().key;
357
362
  }
363
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabase, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: URL, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_EMULATOR$1, 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: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
364
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabase, providedIn: 'any' });
358
365
  }
359
- AngularFireDatabase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabase, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: URL, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_EMULATOR$1, 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: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
360
- AngularFireDatabase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabase, providedIn: 'any' });
361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabase, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabase, decorators: [{
362
367
  type: Injectable,
363
368
  args: [{
364
369
  providedIn: 'any'
@@ -424,11 +429,11 @@ class AngularFireDatabaseModule {
424
429
  constructor() {
425
430
  firebase.registerVersion('angularfire', VERSION.full, 'rtdb-compat');
426
431
  }
432
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
433
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule });
434
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule, providers: [AngularFireDatabase] });
427
435
  }
428
- AngularFireDatabaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
429
- AngularFireDatabaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule });
430
- AngularFireDatabaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule, providers: [AngularFireDatabase] });
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule, decorators: [{
436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule, decorators: [{
432
437
  type: NgModule,
433
438
  args: [{
434
439
  providers: [AngularFireDatabase]
@@ -440,4 +445,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
440
445
  */
441
446
 
442
447
  export { AngularFireDatabase, AngularFireDatabaseModule, URL, USE_EMULATOR, auditTrail, createListReference, fromRef, listChanges, snapshotChanges, stateChanges };
443
- //# sourceMappingURL=angular-fire-compat-database.js.map
448
+ //# sourceMappingURL=angular-fire-compat-database.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fire-compat-database.mjs","sources":["../../../src/compat/database/utils.ts","../../../src/compat/database/observable/fromRef.ts","../../../src/compat/database/list/changes.ts","../../../src/compat/database/list/utils.ts","../../../src/compat/database/list/snapshot-changes.ts","../../../src/compat/database/list/state-changes.ts","../../../src/compat/database/list/audit-trail.ts","../../../src/compat/database/list/data-operation.ts","../../../src/compat/database/list/remove.ts","../../../src/compat/database/list/create-reference.ts","../../../src/compat/database/object/snapshot-changes.ts","../../../src/compat/database/object/create-reference.ts","../../../src/compat/database/database.ts","../../../src/compat/database/database.module.ts","../../../src/compat/database/angular-fire-compat-database.ts"],"sourcesContent":["import { DatabaseReference, FirebaseOperation, FirebaseOperationCases, PathReference } from './interfaces';\nimport firebase from 'firebase/compat/app';\n\nexport function isString(value: any): boolean {\n return typeof value === 'string';\n}\n\nexport function isFirebaseDataSnapshot(value: any): boolean {\n return typeof value.exportVal === 'function';\n}\n\nexport function isNil(obj: any): boolean {\n return obj === undefined || obj === null;\n}\n\nexport function isFirebaseRef(value: any): boolean {\n return typeof value.set === 'function';\n}\n\n/**\n * Returns a database reference given a Firebase App and an\n * absolute or relative path.\n * @param database - Firebase Database\n * @param pathRef - Database path, relative or absolute\n */\nexport function getRef(database: firebase.database.Database, pathRef: PathReference): DatabaseReference {\n // if a db ref was passed in, just return it\n return isFirebaseRef(pathRef) ? pathRef as DatabaseReference\n : database.ref(pathRef as string);\n}\n\nexport function checkOperationCases(item: FirebaseOperation, cases: FirebaseOperationCases): Promise<void> {\n if (isString(item)) {\n return cases.stringCase();\n } else if (isFirebaseRef(item)) {\n return cases.firebaseCase();\n } else if (isFirebaseDataSnapshot(item)) {\n return cases.snapshotCase();\n }\n throw new Error(`Expects a string, snapshot, or reference. Got: ${typeof item}`);\n}\n","import { AngularFireAction, DatabaseQuery, DatabaseSnapshot, ListenEvent } from '../interfaces';\nimport { asyncScheduler, Observable, SchedulerLike } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\n\ninterface SnapshotPrevKey<T> {\n snapshot: DatabaseSnapshot<T>;\n prevKey: string | null | undefined;\n}\n\n/**\n * Create an observable from a Database Reference or Database Query.\n * @param ref Database Reference\n * @param event Listen event type ('value', 'added', 'changed', 'removed', 'moved')\n * @param listenType 'on' or 'once'\n * @param scheduler - Rxjs scheduler\n */\nexport function fromRef<T>(ref: DatabaseQuery,\n event: ListenEvent,\n listenType = 'on',\n scheduler: SchedulerLike = asyncScheduler\n): Observable<AngularFireAction<DatabaseSnapshot<T>>> {\n return new Observable<SnapshotPrevKey<T>>(subscriber => {\n let fn: any | null = null;\n fn = ref[listenType](event, (snapshot, prevKey) => {\n scheduler.schedule(() => {\n subscriber.next({ snapshot, prevKey });\n });\n if (listenType === 'once') {\n scheduler.schedule(() => subscriber.complete());\n }\n }, err => {\n scheduler.schedule(() => subscriber.error(err));\n });\n\n if (listenType === 'on') {\n return {\n unsubscribe() {\n if (fn != null) {\n ref.off(event, fn);\n }\n }\n };\n } else {\n return {\n unsubscribe() {\n }\n };\n }\n }).pipe(\n map(payload => {\n const { snapshot, prevKey } = payload;\n let key: string | null = null;\n if (snapshot.exists()) {\n key = snapshot.key;\n }\n return { type: event, payload: snapshot, prevKey, key };\n }),\n share()\n );\n}\n","import { fromRef } from '../observable/fromRef';\nimport { merge, Observable, of, SchedulerLike } from 'rxjs';\n\nimport { ChildEvent, DatabaseQuery, SnapshotAction } from '../interfaces';\nimport { isNil } from '../utils';\n\nimport { distinctUntilChanged, scan, switchMap } from 'rxjs/operators';\n\nexport function listChanges<T = any>(ref: DatabaseQuery, events: ChildEvent[], scheduler?: SchedulerLike): Observable<SnapshotAction<T>[]> {\n return fromRef(ref, 'value', 'once', scheduler).pipe(\n switchMap(snapshotAction => {\n const childEvent$ = [of(snapshotAction)];\n events.forEach(event => childEvent$.push(fromRef(ref, event, 'on', scheduler)));\n return merge(...childEvent$).pipe(scan(buildView, []));\n }),\n distinctUntilChanged()\n );\n}\n\nfunction positionFor<T>(changes: SnapshotAction<T>[], key) {\n const len = changes.length;\n for (let i = 0; i < len; i++) {\n if (changes[i].payload.key === key) {\n return i;\n }\n }\n return -1;\n}\n\nfunction positionAfter<T>(changes: SnapshotAction<T>[], prevKey?: string) {\n if (isNil(prevKey)) {\n return 0;\n } else {\n const i = positionFor(changes, prevKey);\n if (i === -1) {\n return changes.length;\n } else {\n return i + 1;\n }\n }\n}\n\nfunction buildView(current, action) {\n const { payload, prevKey, key } = action;\n const currentKeyPosition = positionFor(current, key);\n const afterPreviousKeyPosition = positionAfter(current, prevKey);\n switch (action.type) {\n case 'value':\n if (action.payload && action.payload.exists()) {\n let prevKey = null;\n action.payload.forEach(payload => {\n const action = { payload, type: 'value', prevKey, key: payload.key };\n prevKey = payload.key;\n current = [...current, action];\n return false;\n });\n }\n return current;\n case 'child_added':\n if (currentKeyPosition > -1) {\n // check that the previouskey is what we expect, else reorder\n const previous = current[currentKeyPosition - 1];\n if ((previous && previous.key || null) !== prevKey) {\n current = current.filter(x => x.payload.key !== payload.key);\n current.splice(afterPreviousKeyPosition, 0, action);\n }\n } else if (prevKey == null) {\n return [action, ...current];\n } else {\n current = current.slice();\n current.splice(afterPreviousKeyPosition, 0, action);\n }\n return current;\n case 'child_removed':\n return current.filter(x => x.payload.key !== payload.key);\n case 'child_changed':\n return current.map(x => x.payload.key === key ? action : x);\n case 'child_moved':\n if (currentKeyPosition > -1) {\n const data = current.splice(currentKeyPosition, 1)[0];\n current = current.slice();\n current.splice(afterPreviousKeyPosition, 0, data);\n return current;\n }\n return current;\n // default will also remove null results\n default:\n return current;\n }\n}\n","import { isNil } from '../utils';\n\nexport function validateEventsArray(events?: any[]) {\n if (isNil(events) || events.length === 0) {\n events = ['child_added', 'child_removed', 'child_changed', 'child_moved'];\n }\n return events;\n}\n","import { Observable, SchedulerLike } from 'rxjs';\nimport { listChanges } from './changes';\nimport { ChildEvent, DatabaseQuery, SnapshotAction } from '../interfaces';\nimport { validateEventsArray } from './utils';\n\nexport function snapshotChanges<T>(\n query: DatabaseQuery,\n events?: ChildEvent[],\n scheduler?: SchedulerLike\n): Observable<SnapshotAction<T>[]> {\n events = validateEventsArray(events);\n return listChanges<T>(query, events, scheduler);\n}\n","import { ChildEvent, DatabaseQuery } from '../interfaces';\nimport { fromRef } from '../observable/fromRef';\nimport { validateEventsArray } from './utils';\nimport { merge, SchedulerLike } from 'rxjs';\n\nexport function stateChanges<T>(query: DatabaseQuery, events?: ChildEvent[], scheduler?: SchedulerLike) {\n events = validateEventsArray(events);\n const childEvent$ = events.map(event => fromRef<T>(query, event, 'on', scheduler));\n return merge(...childEvent$);\n}\n","import { AngularFireAction, ChildEvent, DatabaseQuery, DataSnapshot, SnapshotAction } from '../interfaces';\nimport { stateChanges } from './state-changes';\nimport { Observable, SchedulerLike } from 'rxjs';\nimport { fromRef } from '../observable/fromRef';\n\nimport { map, scan, skipWhile, withLatestFrom } from 'rxjs/operators';\n\nexport function auditTrail<T>(query: DatabaseQuery, events?: ChildEvent[], scheduler?: SchedulerLike): Observable<SnapshotAction<T>[]> {\n const auditTrail$ = stateChanges<T>(query, events)\n .pipe(\n scan((current, action) => [...current, action], [])\n );\n return waitForLoaded<T>(query, auditTrail$, scheduler);\n}\n\ninterface LoadedMetadata {\n data: AngularFireAction<DataSnapshot>;\n lastKeyToLoad: any;\n}\n\nfunction loadedData<T>(query: DatabaseQuery, scheduler?: SchedulerLike): Observable<LoadedMetadata> {\n // Create an observable of loaded values to retrieve the\n // known dataset. This will allow us to know what key to\n // emit the \"whole\" array at when listening for child events.\n return fromRef<T>(query, 'value', 'on', scheduler)\n .pipe(\n map(data => {\n // Store the last key in the data set\n let lastKeyToLoad;\n // Loop through loaded dataset to find the last key\n data.payload.forEach(child => {\n lastKeyToLoad = child.key; return false;\n });\n // return data set and the current last key loaded\n return { data, lastKeyToLoad };\n })\n );\n}\n\nfunction waitForLoaded<T>(query: DatabaseQuery, action$: Observable<SnapshotAction<T>[]>, scheduler?: SchedulerLike) {\n const loaded$ = loadedData<T>(query, scheduler);\n return loaded$\n .pipe(\n withLatestFrom(action$),\n // Get the latest values from the \"loaded\" and \"child\" datasets\n // We can use both datasets to form an array of the latest values.\n map(([loaded, actions]) => {\n // Store the last key in the data set\n const lastKeyToLoad = loaded.lastKeyToLoad;\n // Store all child keys loaded at this point\n const loadedKeys = actions.map(snap => snap.key);\n return { actions, lastKeyToLoad, loadedKeys };\n }),\n // This is the magical part, only emit when the last load key\n // in the dataset has been loaded by a child event. At this point\n // we can assume the dataset is \"whole\".\n skipWhile(meta => meta.loadedKeys.indexOf(meta.lastKeyToLoad) === -1),\n // Pluck off the meta data because the user only cares\n // to iterate through the snapshots\n map(meta => meta.actions)\n );\n}\n","import { DatabaseReference, DatabaseSnapshot, FirebaseOperation } from '../interfaces';\nimport { checkOperationCases } from '../utils';\n\nexport function createDataOperationMethod<T>(ref: DatabaseReference, operation: string) {\n return function dataOperation<T>(item: FirebaseOperation, value: T) {\n return checkOperationCases(item, {\n stringCase: () => ref.child(item as string)[operation](value),\n firebaseCase: () => (item as DatabaseReference)[operation](value),\n snapshotCase: () => (item as DatabaseSnapshot<T>).ref[operation](value)\n });\n };\n}\n","import { DatabaseReference, DatabaseSnapshot, FirebaseOperation } from '../interfaces';\nimport { checkOperationCases } from '../utils';\n\n// TODO(davideast): Find out why TS thinks this returns firebase.Primise\n// instead of Promise.\nexport function createRemoveMethod<T>(ref: DatabaseReference) {\n return function remove(item?: FirebaseOperation): any {\n if (!item) { return ref.remove(); }\n return checkOperationCases(item, {\n stringCase: () => ref.child(item as string).remove(),\n firebaseCase: () => (item as DatabaseReference).remove(),\n snapshotCase: () => (item as DatabaseSnapshot<T>).ref.remove()\n });\n };\n}\n","import { AngularFireList, ChildEvent, DatabaseQuery } from '../interfaces';\nimport { snapshotChanges } from './snapshot-changes';\nimport { stateChanges } from './state-changes';\nimport { auditTrail } from './audit-trail';\nimport { createDataOperationMethod } from './data-operation';\nimport { createRemoveMethod } from './remove';\nimport { AngularFireDatabase } from '../database';\nimport type { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { keepUnstableUntilFirst } from '@angular/fire';\n\nexport function createListReference<T= any>(query: DatabaseQuery, afDatabase: AngularFireDatabase): AngularFireList<T> {\n const outsideAngularScheduler = afDatabase.schedulers.outsideAngular;\n const refInZone = afDatabase.schedulers.ngZone.run(() => query.ref);\n return {\n query,\n update: createDataOperationMethod<Partial<T>>(refInZone, 'update'),\n set: createDataOperationMethod<T>(refInZone, 'set'),\n push: (data: T) => refInZone.push(data),\n remove: createRemoveMethod(refInZone),\n snapshotChanges(events?: ChildEvent[]) {\n return snapshotChanges<T>(query, events, outsideAngularScheduler).pipe(keepUnstableUntilFirst);\n },\n stateChanges(events?: ChildEvent[]) {\n return stateChanges<T>(query, events, outsideAngularScheduler).pipe(keepUnstableUntilFirst);\n },\n auditTrail(events?: ChildEvent[]) {\n return auditTrail<T>(query, events, outsideAngularScheduler).pipe(keepUnstableUntilFirst);\n },\n valueChanges<K extends string>(events?: ChildEvent[], options?: {idField?: K}): Observable<(T & { [x: string]: string; })[]> {\n const snapshotChanges$ = snapshotChanges<T>(query, events, outsideAngularScheduler);\n return snapshotChanges$.pipe(\n map(actions => actions.map(a => {\n if (options && options.idField) {\n return {\n ...a.payload.val() as T,\n ...{\n [options.idField]: a.key\n }\n };\n } else {\n return a.payload.val() as T & { [x: string]: string; }\n }\n })),\n keepUnstableUntilFirst\n );\n }\n };\n}\n","import { Observable, SchedulerLike } from 'rxjs';\nimport { fromRef } from '../observable/fromRef';\nimport { DatabaseQuery, SnapshotAction } from '../interfaces';\n\nexport function createObjectSnapshotChanges<T>(query: DatabaseQuery, scheduler?: SchedulerLike) {\n return function snapshotChanges(): Observable<SnapshotAction<T>> {\n return fromRef(query, 'value', 'on', scheduler);\n };\n}\n","import { map } from 'rxjs/operators';\nimport { AngularFireObject, DatabaseQuery } from '../interfaces';\nimport { createObjectSnapshotChanges } from './snapshot-changes';\nimport { AngularFireDatabase } from '../database';\nimport { keepUnstableUntilFirst } from '@angular/fire';\n\nexport function createObjectReference<T= any>(query: DatabaseQuery, afDatabase: AngularFireDatabase): AngularFireObject<T> {\n return {\n query,\n snapshotChanges<T>() {\n return createObjectSnapshotChanges<T>(query, afDatabase.schedulers.outsideAngular)().pipe(\n keepUnstableUntilFirst\n );\n },\n update(data: Partial<T>) { return query.ref.update(data as any) as Promise<void>; },\n set(data: T) { return query.ref.set(data) as Promise<void>; },\n remove() { return query.ref.remove() as Promise<void>; },\n valueChanges<T>() {\n const snapshotChanges$ = createObjectSnapshotChanges(query, afDatabase.schedulers.outsideAngular)();\n return snapshotChanges$.pipe(\n keepUnstableUntilFirst,\n map(action => action.payload.exists() ? action.payload.val() as T : null)\n );\n },\n };\n}\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { AngularFireList, AngularFireObject, DatabaseQuery, PathReference, QueryFn } from './interfaces';\nimport { getRef } from './utils';\nimport { createListReference } from './list/create-reference';\nimport { createObjectReference } from './object/create-reference';\nimport { ɵAngularFireSchedulers } from '@angular/fire';\nimport { FirebaseOptions } from 'firebase/app';\nimport { ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';\nimport 'firebase/compat/auth';\nimport 'firebase/compat/database';\nimport {\n AngularFireAuth,\n USE_EMULATOR as USE_AUTH_EMULATOR,\n SETTINGS as AUTH_SETTINGS,\n TENANT_ID,\n LANGUAGE_CODE,\n USE_DEVICE_LANGUAGE,\n PERSISTENCE,\n ɵauthFactory,\n} from '@angular/fire/compat/auth';\nimport firebase from 'firebase/compat/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const URL = new InjectionToken<string>('angularfire2.realtimeDatabaseURL');\n\ntype UseEmulatorArguments = Parameters<firebase.database.Database['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.database.use-emulator');\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireDatabase {\n public readonly database: firebase.database.Database;\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string | null | undefined,\n @Optional() @Inject(URL) databaseURL: string | null,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n public schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(USE_EMULATOR) _useEmulator: any, // tuple isn't working here\n @Optional() auth: AngularFireAuth,\n @Optional() @Inject(USE_AUTH_EMULATOR) useAuthEmulator: any,\n @Optional() @Inject(AUTH_SETTINGS) authSettings: any, // can't use firebase.auth.AuthSettings here\n @Optional() @Inject(TENANT_ID) tenantId: string | null,\n @Optional() @Inject(LANGUAGE_CODE) languageCode: string | null,\n @Optional() @Inject(USE_DEVICE_LANGUAGE) useDeviceLanguage: boolean | null,\n @Optional() @Inject(PERSISTENCE) persistence: string | null,\n @Optional() _appCheckInstances: AppCheckInstances,\n ) {\n\n const useEmulator: UseEmulatorArguments | null = _useEmulator;\n const app = ɵfirebaseAppFactory(options, zone, name);\n\n if (auth) {\n ɵauthFactory(app, zone, useAuthEmulator, tenantId, languageCode, useDeviceLanguage, authSettings, persistence);\n }\n\n this.database = ɵcacheInstance(`${app.name}.database.${databaseURL}`, 'AngularFireDatabase', app.name, () => {\n const database = zone.runOutsideAngular(() => app.database(databaseURL || undefined));\n if (useEmulator) {\n database.useEmulator(...useEmulator);\n }\n return database;\n }, [useEmulator]);\n }\n\n list<T>(pathOrRef: PathReference, queryFn?: QueryFn): AngularFireList<T> {\n const ref = this.schedulers.ngZone.runOutsideAngular(() => getRef(this.database, pathOrRef));\n let query: DatabaseQuery = ref;\n if (queryFn) {\n query = queryFn(ref);\n }\n return createListReference<T>(query, this);\n }\n\n object<T>(pathOrRef: PathReference): AngularFireObject<T> {\n const ref = this.schedulers.ngZone.runOutsideAngular(() => getRef(this.database, pathOrRef));\n return createObjectReference<T>(ref, this);\n }\n\n createPushId() {\n const ref = this.schedulers.ngZone.runOutsideAngular(() => this.database.ref());\n return ref.push().key;\n }\n\n}\n\nexport {\n PathReference,\n DatabaseSnapshot,\n ChildEvent,\n ListenEvent,\n QueryFn,\n AngularFireList,\n AngularFireObject,\n AngularFireAction,\n Action,\n SnapshotAction\n} from './interfaces';\n","import { NgModule } from '@angular/core';\nimport { AngularFireDatabase } from './database';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireDatabase ]\n})\nexport class AngularFireDatabaseModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'rtdb-compat');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["USE_AUTH_EMULATOR","AUTH_SETTINGS"],"mappings":"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"}