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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/analytics/analytics.module.d.ts +2 -2
  2. package/analytics/is-analytics-supported-factory.d.ts +4 -0
  3. package/analytics/screen-tracking.service.d.ts +3 -3
  4. package/app-check/app-check.d.ts +0 -6
  5. package/app-check/app-check.module.d.ts +3 -4
  6. package/app-check/public_api.d.ts +2 -1
  7. package/auth/auth.module.d.ts +2 -2
  8. package/auth-guard/auth-guard.d.ts +6 -6
  9. package/compat/analytics/analytics.d.ts +1 -3
  10. package/compat/analytics/analytics.module.d.ts +1 -1
  11. package/compat/analytics/screen-tracking.service.d.ts +1 -1
  12. package/compat/analytics/user-tracking.service.d.ts +1 -1
  13. package/compat/auth/auth.d.ts +4 -4
  14. package/compat/auth-guard/auth-guard.d.ts +8 -6
  15. package/compat/database/database.d.ts +4 -4
  16. package/compat/database/interfaces.d.ts +14 -14
  17. package/compat/database/list/audit-trail.d.ts +1 -1
  18. package/compat/database/list/create-reference.d.ts +1 -1
  19. package/compat/database/list/data-operation.d.ts +1 -1
  20. package/compat/database/list/state-changes.d.ts +1 -1
  21. package/compat/database/object/create-reference.d.ts +1 -1
  22. package/compat/database/observable/fromRef.d.ts +1 -1
  23. package/compat/database/utils.d.ts +1 -1
  24. package/compat/firebase.app.module.d.ts +1 -1
  25. package/compat/firestore/collection/collection.d.ts +2 -2
  26. package/compat/firestore/collection-group/collection-group.d.ts +2 -2
  27. package/compat/firestore/document/document.d.ts +4 -4
  28. package/compat/firestore/firestore.d.ts +7 -7
  29. package/compat/firestore/interfaces.d.ts +19 -19
  30. package/compat/functions/functions.d.ts +3 -3
  31. package/compat/messaging/messaging.d.ts +2 -2
  32. package/compat/performance/performance.d.ts +2 -2
  33. package/compat/proxy.d.ts +8 -8
  34. package/compat/remote-config/interfaces.d.ts +1 -1
  35. package/compat/remote-config/remote-config.d.ts +15 -49
  36. package/compat/storage/interfaces.d.ts +8 -8
  37. package/compat/storage/observable/fromTask.d.ts +1 -2
  38. package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
  39. package/compat/storage/ref.d.ts +1 -1
  40. package/compat/storage/storage.d.ts +3 -3
  41. package/compat/storage/task.d.ts +1 -1
  42. package/core.d.ts +8 -12
  43. package/database/database.module.d.ts +2 -2
  44. package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +1 -1
  45. package/esm2022/analytics/analytics.module.mjs +94 -0
  46. package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
  47. package/esm2022/analytics/overrides.mjs +3 -0
  48. package/esm2022/analytics/screen-tracking.service.mjs +148 -0
  49. package/esm2022/analytics/user-tracking.service.mjs +44 -0
  50. package/{esm2015/app/app.js → esm2022/app/app.mjs} +1 -1
  51. package/esm2022/app/app.module.mjs +85 -0
  52. package/esm2022/app-check/app-check.mjs +10 -0
  53. package/esm2022/app-check/app-check.module.mjs +78 -0
  54. package/esm2022/app-check/public_api.mjs +5 -0
  55. package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +1 -1
  56. package/esm2022/auth/auth.module.mjs +71 -0
  57. package/esm2022/auth-guard/auth-guard.mjs +53 -0
  58. package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +7 -7
  59. package/esm2022/compat/analytics/analytics.mjs +160 -0
  60. package/esm2022/compat/analytics/analytics.module.mjs +35 -0
  61. package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
  62. package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
  63. package/esm2022/compat/auth/auth.mjs +161 -0
  64. package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +7 -7
  65. package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
  66. package/esm2022/compat/auth-guard/auth-guard.mjs +53 -0
  67. package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +7 -7
  68. package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +4 -3
  69. package/esm2022/compat/database/database.mjs +119 -0
  70. package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +7 -7
  71. package/esm2022/compat/database/interfaces.mjs +2 -0
  72. package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +3 -3
  73. package/esm2022/compat/database/list/changes.mjs +85 -0
  74. package/esm2022/compat/database/list/create-reference.mjs +44 -0
  75. package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +1 -1
  76. package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +1 -1
  77. package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +2 -2
  78. package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +2 -2
  79. package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +1 -1
  80. package/esm2022/compat/database/observable/fromRef.mjs +48 -0
  81. package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +1 -1
  82. package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +1 -1
  83. package/esm2022/compat/firebase.app.module.mjs +71 -0
  84. package/esm2022/compat/firestore/collection/changes.mjs +108 -0
  85. package/esm2022/compat/firestore/collection/collection.mjs +123 -0
  86. package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
  87. package/esm2022/compat/firestore/document/document.mjs +87 -0
  88. package/esm2022/compat/firestore/firestore.mjs +257 -0
  89. package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +7 -7
  90. package/esm2022/compat/firestore/interfaces.mjs +2 -0
  91. package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
  92. package/esm2022/compat/functions/functions.mjs +69 -0
  93. package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +7 -7
  94. package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
  95. package/esm2022/compat/messaging/messaging.mjs +81 -0
  96. package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +7 -7
  97. package/esm2022/compat/performance/performance.mjs +105 -0
  98. package/esm2022/compat/performance/performance.module.mjs +27 -0
  99. package/esm2022/compat/performance/performance.service.mjs +28 -0
  100. package/esm2022/compat/proxy.mjs +58 -0
  101. package/esm2022/compat/remote-config/remote-config.mjs +206 -0
  102. package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +7 -7
  103. package/esm2022/compat/storage/observable/fromTask.mjs +36 -0
  104. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
  105. package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +3 -3
  106. package/esm2022/compat/storage/storage.mjs +95 -0
  107. package/esm2022/compat/storage/storage.module.mjs +22 -0
  108. package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +2 -2
  109. package/esm2022/core.mjs +43 -0
  110. package/{esm2015/database/database.js → esm2022/database/database.mjs} +1 -1
  111. package/esm2022/database/database.module.mjs +74 -0
  112. package/esm2022/firestore/firebase.mjs +54 -0
  113. package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +1 -1
  114. package/esm2022/firestore/firestore.module.mjs +74 -0
  115. package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +1 -1
  116. package/esm2022/firestore/lite/lite.module.mjs +73 -0
  117. package/esm2022/firestore/rxfire.mjs +15 -0
  118. package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +1 -1
  119. package/esm2022/functions/functions.module.mjs +74 -0
  120. package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
  121. package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +1 -1
  122. package/esm2022/messaging/messaging.module.mjs +86 -0
  123. package/esm2022/messaging/overrides.mjs +3 -0
  124. package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +1 -1
  125. package/esm2022/performance/performance.module.mjs +81 -0
  126. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
  127. package/esm2022/remote-config/overrides.mjs +3 -0
  128. package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +1 -1
  129. package/esm2022/remote-config/remote-config.module.mjs +86 -0
  130. package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +1 -1
  131. package/esm2022/storage/storage.module.mjs +74 -0
  132. package/esm2022/zones.mjs +194 -0
  133. package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +64 -40
  134. package/fesm2022/angular-fire-analytics.mjs.map +1 -0
  135. package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +16 -24
  136. package/fesm2022/angular-fire-app-check.mjs.map +1 -0
  137. package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +10 -9
  138. package/fesm2022/angular-fire-app.mjs.map +1 -0
  139. package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +31 -27
  140. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
  141. package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +10 -11
  142. package/fesm2022/angular-fire-auth.mjs.map +1 -0
  143. package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +43 -41
  144. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
  145. package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +30 -26
  146. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
  147. package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +38 -16
  148. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
  149. package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +138 -132
  150. package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
  151. package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +119 -98
  152. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
  153. package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +13 -12
  154. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
  155. package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +25 -19
  156. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
  157. package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +29 -34
  158. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
  159. package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +35 -22
  160. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
  161. package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +30 -23
  162. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
  163. package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +25 -25
  164. package/fesm2022/angular-fire-compat.mjs.map +1 -0
  165. package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +11 -12
  166. package/fesm2022/angular-fire-database.mjs.map +1 -0
  167. package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +11 -12
  168. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
  169. package/{fesm2015/angular-fire-firestore.js → fesm2022/angular-fire-firestore.mjs} +17 -15
  170. package/fesm2022/angular-fire-firestore.mjs.map +1 -0
  171. package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +12 -13
  172. package/fesm2022/angular-fire-functions.mjs.map +1 -0
  173. package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
  174. package/fesm2022/angular-fire-messaging.mjs.map +1 -0
  175. package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +11 -11
  176. package/fesm2022/angular-fire-performance.mjs.map +1 -0
  177. package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
  178. package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
  179. package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +10 -11
  180. package/fesm2022/angular-fire-storage.mjs.map +1 -0
  181. package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +33 -58
  182. package/fesm2022/angular-fire.mjs.map +1 -0
  183. package/firestore/firebase.d.ts +2 -1
  184. package/firestore/firestore.module.d.ts +2 -2
  185. package/firestore/lite/lite.module.d.ts +2 -2
  186. package/firestore/rxfire.d.ts +3 -1
  187. package/functions/functions.module.d.ts +2 -2
  188. package/messaging/is-messaging-supported-factory.d.ts +4 -0
  189. package/messaging/messaging.module.d.ts +2 -2
  190. package/package.json +158 -7
  191. package/performance/performance.module.d.ts +2 -2
  192. package/publish.sh +1 -0
  193. package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
  194. package/remote-config/remote-config.module.d.ts +2 -2
  195. package/schematics/add/index.js +2 -2
  196. package/schematics/common.js +9 -5
  197. package/schematics/deploy/actions.js +69 -69
  198. package/schematics/deploy/builder.js +7 -7
  199. package/schematics/firebaseTools.js +9 -5
  200. package/schematics/setup/index.js +27 -27
  201. package/schematics/setup/prompts.js +22 -18
  202. package/schematics/update/index.js +1 -1
  203. package/schematics/update/v7/index.js +7 -7
  204. package/schematics/utils.js +34 -34
  205. package/storage/storage.module.d.ts +2 -2
  206. package/README.md +0 -216
  207. package/analytics/package.json +0 -11
  208. package/app/package.json +0 -11
  209. package/app-check/package.json +0 -11
  210. package/auth/package.json +0 -11
  211. package/auth-guard/package.json +0 -11
  212. package/bundles/angular-fire-analytics.umd.js +0 -673
  213. package/bundles/angular-fire-analytics.umd.js.map +0 -1
  214. package/bundles/angular-fire-app-check.umd.js +0 -465
  215. package/bundles/angular-fire-app-check.umd.js.map +0 -1
  216. package/bundles/angular-fire-app.umd.js +0 -477
  217. package/bundles/angular-fire-app.umd.js.map +0 -1
  218. package/bundles/angular-fire-auth-guard.umd.js +0 -109
  219. package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
  220. package/bundles/angular-fire-auth.umd.js +0 -557
  221. package/bundles/angular-fire-auth.umd.js.map +0 -1
  222. package/bundles/angular-fire-compat-analytics.umd.js +0 -672
  223. package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
  224. package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
  225. package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
  226. package/bundles/angular-fire-compat-auth.umd.js +0 -559
  227. package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
  228. package/bundles/angular-fire-compat-database.umd.js +0 -799
  229. package/bundles/angular-fire-compat-database.umd.js.map +0 -1
  230. package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
  231. package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
  232. package/bundles/angular-fire-compat-functions.umd.js +0 -443
  233. package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
  234. package/bundles/angular-fire-compat-messaging.umd.js +0 -465
  235. package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
  236. package/bundles/angular-fire-compat-performance.umd.js +0 -212
  237. package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
  238. package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
  239. package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
  240. package/bundles/angular-fire-compat-storage.umd.js +0 -598
  241. package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
  242. package/bundles/angular-fire-compat.umd.js +0 -535
  243. package/bundles/angular-fire-compat.umd.js.map +0 -1
  244. package/bundles/angular-fire-database.umd.js +0 -557
  245. package/bundles/angular-fire-database.umd.js.map +0 -1
  246. package/bundles/angular-fire-firestore-lite.umd.js +0 -531
  247. package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
  248. package/bundles/angular-fire-firestore.umd.js +0 -565
  249. package/bundles/angular-fire-firestore.umd.js.map +0 -1
  250. package/bundles/angular-fire-functions.umd.js +0 -461
  251. package/bundles/angular-fire-functions.umd.js.map +0 -1
  252. package/bundles/angular-fire-messaging.umd.js +0 -473
  253. package/bundles/angular-fire-messaging.umd.js.map +0 -1
  254. package/bundles/angular-fire-performance.umd.js +0 -473
  255. package/bundles/angular-fire-performance.umd.js.map +0 -1
  256. package/bundles/angular-fire-remote-config.umd.js +0 -499
  257. package/bundles/angular-fire-remote-config.umd.js.map +0 -1
  258. package/bundles/angular-fire-storage.umd.js +0 -485
  259. package/bundles/angular-fire-storage.umd.js.map +0 -1
  260. package/bundles/angular-fire.umd.js +0 -308
  261. package/bundles/angular-fire.umd.js.map +0 -1
  262. package/compat/analytics/package.json +0 -11
  263. package/compat/auth/package.json +0 -11
  264. package/compat/auth-guard/package.json +0 -11
  265. package/compat/database/package.json +0 -11
  266. package/compat/firestore/package.json +0 -11
  267. package/compat/functions/package.json +0 -11
  268. package/compat/messaging/package.json +0 -11
  269. package/compat/package.json +0 -11
  270. package/compat/performance/package.json +0 -11
  271. package/compat/remote-config/package.json +0 -11
  272. package/compat/storage/package.json +0 -11
  273. package/database/package.json +0 -11
  274. package/docs/analytics.md +0 -67
  275. package/docs/app-check.md +0 -53
  276. package/docs/auth.md +0 -165
  277. package/docs/compat/analytics/getting-started.md +0 -137
  278. package/docs/compat/auth/getting-started.md +0 -162
  279. package/docs/compat/auth/router-guards.md +0 -104
  280. package/docs/compat/emulators/emulators.md +0 -134
  281. package/docs/compat/firestore/collections.md +0 -326
  282. package/docs/compat/firestore/documents.md +0 -115
  283. package/docs/compat/firestore/offline-data.md +0 -39
  284. package/docs/compat/firestore/querying-collections.md +0 -204
  285. package/docs/compat/functions/functions.md +0 -166
  286. package/docs/compat/messaging/messaging.md +0 -232
  287. package/docs/compat/performance/getting-started.md +0 -132
  288. package/docs/compat/remote-config/getting-started.md +0 -134
  289. package/docs/compat/rtdb/lists.md +0 -257
  290. package/docs/compat/rtdb/objects.md +0 -182
  291. package/docs/compat/rtdb/querying-lists.md +0 -155
  292. package/docs/compat/storage/storage.md +0 -257
  293. package/docs/compat.md +0 -70
  294. package/docs/database.md +0 -175
  295. package/docs/deploy/getting-started.md +0 -204
  296. package/docs/firebase.json +0 -16
  297. package/docs/firestore.md +0 -148
  298. package/docs/functions.md +0 -52
  299. package/docs/images/analytics-illo_1x.png +0 -0
  300. package/docs/images/auth-illo_1x.png +0 -0
  301. package/docs/images/cloud-messaging-illo_1x.png +0 -0
  302. package/docs/images/database-illo_1x.png +0 -0
  303. package/docs/images/firestore-illo_1x.png +0 -0
  304. package/docs/images/functions-illo_1x.png +0 -0
  305. package/docs/images/hosting-illo_1x.png +0 -0
  306. package/docs/images/performance-illo_1x.png +0 -0
  307. package/docs/images/reCAPTCHA-logo@1x.png +0 -0
  308. package/docs/images/remote-config-illo_1x.png +0 -0
  309. package/docs/images/storage-illo_1x.png +0 -0
  310. package/docs/install-and-setup.md +0 -114
  311. package/docs/install-angular-cli-windows10.md +0 -82
  312. package/docs/messaging.md +0 -25
  313. package/docs/performance.md +0 -57
  314. package/docs/remote-config.md +0 -53
  315. package/docs/storage.md +0 -90
  316. package/docs/universal/cloud-functions.md +0 -75
  317. package/docs/universal/getting-started.md +0 -153
  318. package/docs/universal/prerendering.md +0 -72
  319. package/docs/version-4-upgrade.md +0 -119
  320. package/docs/version-5-upgrade.md +0 -82
  321. package/docs/version-6-upgrade.md +0 -16
  322. package/docs/version-7-upgrade.md +0 -298
  323. package/esm2015/analytics/analytics.module.js +0 -93
  324. package/esm2015/analytics/overrides.js +0 -3
  325. package/esm2015/analytics/screen-tracking.service.js +0 -139
  326. package/esm2015/analytics/user-tracking.service.js +0 -43
  327. package/esm2015/app/app.module.js +0 -84
  328. package/esm2015/app-check/app-check.js +0 -16
  329. package/esm2015/app-check/app-check.module.js +0 -81
  330. package/esm2015/app-check/public_api.js +0 -4
  331. package/esm2015/auth/auth.module.js +0 -71
  332. package/esm2015/auth-guard/auth-guard.js +0 -49
  333. package/esm2015/compat/analytics/analytics.js +0 -163
  334. package/esm2015/compat/analytics/analytics.module.js +0 -32
  335. package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
  336. package/esm2015/compat/analytics/user-tracking.service.js +0 -52
  337. package/esm2015/compat/auth/auth.js +0 -139
  338. package/esm2015/compat/auth-guard/auth-guard.js +0 -49
  339. package/esm2015/compat/database/database.js +0 -117
  340. package/esm2015/compat/database/interfaces.js +0 -2
  341. package/esm2015/compat/database/list/changes.js +0 -85
  342. package/esm2015/compat/database/list/create-reference.js +0 -41
  343. package/esm2015/compat/database/observable/fromRef.js +0 -47
  344. package/esm2015/compat/firebase.app.module.js +0 -69
  345. package/esm2015/compat/firestore/collection/changes.js +0 -107
  346. package/esm2015/compat/firestore/collection/collection.js +0 -117
  347. package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
  348. package/esm2015/compat/firestore/document/document.js +0 -82
  349. package/esm2015/compat/firestore/firestore.js +0 -254
  350. package/esm2015/compat/firestore/interfaces.js +0 -2
  351. package/esm2015/compat/firestore/observable/fromRef.js +0 -39
  352. package/esm2015/compat/functions/functions.js +0 -68
  353. package/esm2015/compat/messaging/messaging.js +0 -75
  354. package/esm2015/compat/performance/performance.js +0 -110
  355. package/esm2015/compat/performance/performance.module.js +0 -28
  356. package/esm2015/compat/performance/performance.service.js +0 -27
  357. package/esm2015/compat/proxy.js +0 -61
  358. package/esm2015/compat/remote-config/remote-config.js +0 -193
  359. package/esm2015/compat/storage/observable/fromTask.js +0 -34
  360. package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
  361. package/esm2015/compat/storage/storage.js +0 -94
  362. package/esm2015/compat/storage/storage.module.js +0 -22
  363. package/esm2015/core.js +0 -79
  364. package/esm2015/database/database.module.js +0 -74
  365. package/esm2015/firestore/firebase.js +0 -53
  366. package/esm2015/firestore/firestore.module.js +0 -74
  367. package/esm2015/firestore/lite/lite.module.js +0 -74
  368. package/esm2015/firestore/rxfire.js +0 -13
  369. package/esm2015/functions/functions.module.js +0 -74
  370. package/esm2015/messaging/messaging.module.js +0 -85
  371. package/esm2015/messaging/overrides.js +0 -3
  372. package/esm2015/performance/performance.module.js +0 -81
  373. package/esm2015/remote-config/overrides.js +0 -3
  374. package/esm2015/remote-config/remote-config.module.js +0 -85
  375. package/esm2015/storage/storage.module.js +0 -74
  376. package/esm2015/zones.js +0 -183
  377. package/fesm2015/angular-fire-analytics.js.map +0 -1
  378. package/fesm2015/angular-fire-app-check.js.map +0 -1
  379. package/fesm2015/angular-fire-app.js.map +0 -1
  380. package/fesm2015/angular-fire-auth-guard.js.map +0 -1
  381. package/fesm2015/angular-fire-auth.js.map +0 -1
  382. package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
  383. package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
  384. package/fesm2015/angular-fire-compat-auth.js.map +0 -1
  385. package/fesm2015/angular-fire-compat-database.js.map +0 -1
  386. package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
  387. package/fesm2015/angular-fire-compat-functions.js.map +0 -1
  388. package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
  389. package/fesm2015/angular-fire-compat-performance.js.map +0 -1
  390. package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
  391. package/fesm2015/angular-fire-compat-storage.js.map +0 -1
  392. package/fesm2015/angular-fire-compat.js.map +0 -1
  393. package/fesm2015/angular-fire-database.js.map +0 -1
  394. package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
  395. package/fesm2015/angular-fire-firestore.js.map +0 -1
  396. package/fesm2015/angular-fire-functions.js.map +0 -1
  397. package/fesm2015/angular-fire-messaging.js.map +0 -1
  398. package/fesm2015/angular-fire-performance.js.map +0 -1
  399. package/fesm2015/angular-fire-remote-config.js.map +0 -1
  400. package/fesm2015/angular-fire-storage.js.map +0 -1
  401. package/fesm2015/angular-fire.js.map +0 -1
  402. package/firestore/lite/package.json +0 -11
  403. package/firestore/package.json +0 -11
  404. package/firestore-protos.js +0 -4
  405. package/functions/package.json +0 -11
  406. package/messaging/package.json +0 -11
  407. package/performance/package.json +0 -11
  408. package/remote-config/package.json +0 -11
  409. package/schematics/add/schema.json +0 -16
  410. package/schematics/builders.json +0 -10
  411. package/schematics/collection.json +0 -15
  412. package/schematics/deploy/schema.json +0 -119
  413. package/schematics/migration.json +0 -15
  414. package/schematics/setup/schema.json +0 -16
  415. package/storage/package.json +0 -11
  416. /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
  417. /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
  418. /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
  419. /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
  420. /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
  421. /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
  422. /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
  423. /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
  424. /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
  425. /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
  426. /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
  427. /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
  428. /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
  429. /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
  430. /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
  431. /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
  432. /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
  433. /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
  434. /package/{esm2015/analytics/firebase.js → esm2022/analytics/firebase.mjs} +0 -0
  435. /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
  436. /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
  437. /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
  438. /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
  439. /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
  440. /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
  441. /package/{esm2015/app-check/firebase.js → esm2022/app-check/firebase.mjs} +0 -0
  442. /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
  443. /package/{esm2015/auth/firebase.js → esm2022/auth/firebase.mjs} +0 -0
  444. /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
  445. /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
  446. /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
  447. /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
  448. /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
  449. /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
  450. /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
  451. /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
  452. /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
  453. /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
  454. /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
  455. /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
  456. /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
  457. /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
  458. /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
  459. /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
  460. /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
  461. /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
  462. /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
  463. /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
  464. /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
  465. /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
  466. /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
  467. /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
  468. /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
  469. /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
  470. /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
  471. /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
  472. /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
  473. /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
  474. /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
  475. /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
  476. /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
  477. /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
  478. /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
  479. /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
  480. /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
  481. /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
  482. /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
  483. /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
  484. /package/{esm2015/firestore/lite/firebase.js → esm2022/firestore/lite/firebase.mjs} +0 -0
  485. /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
  486. /package/{esm2015/firestore/lite/rxfire.js → esm2022/firestore/lite/rxfire.mjs} +0 -0
  487. /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
  488. /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
  489. /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
  490. /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
  491. /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
  492. /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
  493. /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
  494. /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
  495. /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
  496. /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
  497. /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
  498. /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
  499. /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
  500. /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
  501. /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
  502. /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
  503. /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
  504. /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
  505. /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
  506. /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
  507. /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
  508. /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
  509. /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
  510. /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
  511. /package/{angular-fire.d.ts → index.d.ts} +0 -0
  512. /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
  513. /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
  514. /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
  515. /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-compat-firestore.js","sources":["../../../src/compat/firestore/observable/fromRef.ts","../../../src/compat/firestore/collection/changes.ts","../../../src/compat/firestore/collection/collection.ts","../../../src/compat/firestore/document/document.ts","../../../src/compat/firestore/collection-group/collection-group.ts","../../../src/compat/firestore/firestore.ts","../../../src/compat/firestore/firestore.module.ts","../../../src/compat/firestore/angular-fire-compat-firestore.ts"],"sourcesContent":["import { asyncScheduler, Observable, SchedulerLike } from 'rxjs';\nimport { Action, DocumentReference, DocumentSnapshot, Query, QuerySnapshot, Reference } from '../interfaces';\nimport { map, pairwise, startWith } from 'rxjs/operators';\n\nfunction _fromRef<T, R>(ref: Reference<T>, scheduler: SchedulerLike = asyncScheduler): Observable<R> {\n return new Observable(subscriber => {\n let unsubscribe: () => void;\n if (scheduler != null) {\n scheduler.schedule(() => {\n unsubscribe = ref.onSnapshot({ includeMetadataChanges: true }, subscriber);\n });\n } else {\n unsubscribe = ref.onSnapshot({ includeMetadataChanges: true }, subscriber);\n }\n\n return () => {\n if (unsubscribe != null) {\n unsubscribe();\n }\n };\n });\n}\n\nexport function fromRef<R, T>(ref: DocumentReference<T> | Query<T>, scheduler?: SchedulerLike) {\n return _fromRef<typeof ref, R>(ref, scheduler);\n}\n\nexport function fromDocRef<T>(ref: DocumentReference<T>, scheduler?: SchedulerLike): Observable<Action<DocumentSnapshot<T>>> {\n return fromRef<DocumentSnapshot<T>, T>(ref, scheduler)\n .pipe(\n startWith<DocumentSnapshot<T>, undefined>(undefined),\n pairwise(),\n map(([priorPayload, payload]) => {\n if (!payload.exists) {\n return { payload, type: 'removed' };\n }\n if (!priorPayload?.exists) {\n return { payload, type: 'added' };\n }\n return { payload, type: 'modified' };\n })\n );\n}\n\nexport function fromCollectionRef<T>(ref: Query<T>, scheduler?: SchedulerLike): Observable<Action<QuerySnapshot<T>>> {\n return fromRef<QuerySnapshot<T>, T>(ref, scheduler).pipe(map(payload => ({ payload, type: 'query' })));\n}\n","import { fromCollectionRef } from '../observable/fromRef';\nimport { Observable, SchedulerLike } from 'rxjs';\nimport { distinctUntilChanged, map, pairwise, scan, startWith } from 'rxjs/operators';\nimport { Action, QuerySnapshot, DocumentChange, DocumentChangeAction, DocumentChangeType, Query } from '../interfaces';\nimport firebase from 'firebase/compat/app';\n\n/**\n * Return a stream of document changes on a query. These results are not in sort order but in\n * order of occurence.\n */\nexport function docChanges<T>(query: Query, scheduler?: SchedulerLike): Observable<DocumentChangeAction<T>[]> {\n return fromCollectionRef(query, scheduler)\n .pipe(\n startWith<Action<QuerySnapshot<firebase.firestore.DocumentData>>, undefined>(undefined),\n pairwise(),\n map(([priorAction, action]) => {\n const docChanges = action.payload.docChanges();\n const actions = docChanges.map(change => ({ type: change.type, payload: change }));\n // the metadata has changed from the prior emission\n if (priorAction && JSON.stringify(priorAction.payload.metadata) !== JSON.stringify(action.payload.metadata)) {\n // go through all the docs in payload and figure out which ones changed\n action.payload.docs.forEach((currentDoc, currentIndex) => {\n const docChange = docChanges.find(d => d.doc.ref.isEqual(currentDoc.ref));\n const priorDoc = priorAction?.payload.docs.find(d => d.ref.isEqual(currentDoc.ref));\n if (docChange && JSON.stringify(docChange.doc.metadata) === JSON.stringify(currentDoc.metadata) ||\n !docChange && priorDoc && JSON.stringify(priorDoc.metadata) === JSON.stringify(currentDoc.metadata)) {\n // document doesn't appear to have changed, don't log another action\n } else {\n // since the actions are processed in order just push onto the array\n actions.push({\n type: 'modified',\n payload: {\n oldIndex: currentIndex,\n newIndex: currentIndex,\n type: 'modified',\n doc: currentDoc\n }\n });\n }\n });\n }\n return actions as DocumentChangeAction<T>[];\n }),\n );\n}\n\n/**\n * Return a stream of document changes on a query. These results are in sort order.\n */\nexport function sortedChanges<T>(\n query: Query,\n events: DocumentChangeType[],\n scheduler?: SchedulerLike): Observable<DocumentChangeAction<T>[]> {\n return docChanges<T>(query, scheduler)\n .pipe(\n scan((current, changes) => combineChanges<T>(current, changes.map(it => it.payload), events), []),\n distinctUntilChanged(), // cut down on unneed change cycles\n map(changes => changes.map(c => ({ type: c.type, payload: c } as DocumentChangeAction<T>))));\n}\n\n/**\n * Combines the total result set from the current set of changes from an incoming set\n * of changes.\n */\nexport function combineChanges<T>(current: DocumentChange<T>[], changes: DocumentChange<T>[], events: DocumentChangeType[]) {\n changes.forEach(change => {\n // skip unwanted change types\n if (events.indexOf(change.type) > -1) {\n current = combineChange(current, change);\n }\n });\n return current;\n}\n\n/**\n * Splice arguments on top of a sliced array, to break top-level ===\n * this is useful for change-detection\n */\nfunction sliceAndSplice<T>(\n original: T[],\n start: number,\n deleteCount: number,\n ...args: T[]\n): T[] {\n const returnArray = original.slice();\n returnArray.splice(start, deleteCount, ...args);\n return returnArray;\n}\n\n/**\n * Creates a new sorted array from a new change.\n * Build our own because we allow filtering of action types ('added', 'removed', 'modified') before scanning\n * and so we have greater control over change detection (by breaking ===)\n */\nexport function combineChange<T>(combined: DocumentChange<T>[], change: DocumentChange<T>): DocumentChange<T>[] {\n switch (change.type) {\n case 'added':\n if (combined[change.newIndex] && combined[change.newIndex].doc.ref.isEqual(change.doc.ref)) {\n // Not sure why the duplicates are getting fired\n } else {\n return sliceAndSplice(combined, change.newIndex, 0, change);\n }\n break;\n case 'modified':\n if (combined[change.oldIndex] == null || combined[change.oldIndex].doc.ref.isEqual(change.doc.ref)) {\n // When an item changes position we first remove it\n // and then add it's new position\n if (change.oldIndex !== change.newIndex) {\n const copiedArray = combined.slice();\n copiedArray.splice(change.oldIndex, 1);\n copiedArray.splice(change.newIndex, 0, change);\n return copiedArray;\n } else {\n return sliceAndSplice(combined, change.newIndex, 1, change);\n }\n }\n break;\n case 'removed':\n if (combined[change.oldIndex] && combined[change.oldIndex].doc.ref.isEqual(change.doc.ref)) {\n return sliceAndSplice(combined, change.oldIndex, 1);\n }\n break;\n }\n return combined;\n}\n","import { from, Observable } from 'rxjs';\nimport { filter, map, pairwise, scan, startWith } from 'rxjs/operators';\nimport firebase from 'firebase/compat/app';\nimport { keepUnstableUntilFirst } from '@angular/fire';\n\nimport { CollectionReference, DocumentChangeAction, DocumentChangeType, DocumentData, DocumentReference, Query } from '../interfaces';\nimport { docChanges, sortedChanges } from './changes';\nimport { AngularFirestoreDocument } from '../document/document';\nimport { fromCollectionRef } from '../observable/fromRef';\nimport { AngularFirestore } from '../firestore';\n\nexport function validateEventsArray(events?: DocumentChangeType[]) {\n if (!events || events.length === 0) {\n events = ['added', 'removed', 'modified'];\n }\n return events;\n}\n\n/**\n * AngularFirestoreCollection service\n *\n * This class creates a reference to a Firestore Collection. A reference and a query are provided in\n * in the constructor. The query can be the unqueried reference if no query is desired.The class\n * is generic which gives you type safety for data update methods and data streaming.\n *\n * This class uses Symbol.observable to transform into Observable using Observable.from().\n *\n * This class is rarely used directly and should be created from the AngularFirestore service.\n *\n * Example:\n *\n * const collectionRef = firebase.firestore.collection('stocks');\n * const query = collectionRef.where('price', '>', '0.01');\n * const fakeStock = new AngularFirestoreCollection<Stock>(collectionRef, query);\n *\n * // NOTE!: the updates are performed on the reference not the query\n * await fakeStock.add({ name: 'FAKE', price: 0.01 });\n *\n * // Subscribe to changes as snapshots. This provides you data updates as well as delta updates.\n * fakeStock.valueChanges().subscribe(value => console.log(value));\n */\nexport class AngularFirestoreCollection<T = DocumentData> {\n /**\n * The constructor takes in a CollectionReference and Query to provide wrapper methods\n * for data operations and data streaming.\n *\n * Note: Data operation methods are done on the reference not the query. This means\n * when you update data it is not updating data to the window of your query unless\n * the data fits the criteria of the query. See the AssociatedRefence type for details\n * on this implication.\n */\n constructor(\n public readonly ref: CollectionReference<T>,\n private readonly query: Query<T>,\n private readonly afs: AngularFirestore) { }\n\n /**\n * Listen to the latest change in the stream. This method returns changes\n * as they occur and they are not sorted by query order. This allows you to construct\n * your own data structure.\n */\n stateChanges(events?: DocumentChangeType[]): Observable<DocumentChangeAction<T>[]> {\n let source = docChanges<T>(this.query, this.afs.schedulers.outsideAngular);\n if (events && events.length > 0) {\n source = source.pipe(\n map(actions => actions.filter(change => events.indexOf(change.type) > -1))\n );\n }\n return source.pipe(\n // We want to filter out empty arrays, but always emit at first, so the developer knows\n // that the collection has been resolve; even if it's empty\n startWith<DocumentChangeAction<T>[], undefined>(undefined),\n pairwise(),\n filter(([prior, current]) => current.length > 0 || !prior),\n map(([prior, current]) => current),\n keepUnstableUntilFirst\n );\n }\n\n /**\n * Create a stream of changes as they occur it time. This method is similar to stateChanges()\n * but it collects each event in an array over time.\n */\n auditTrail(events?: DocumentChangeType[]): Observable<DocumentChangeAction<T>[]> {\n return this.stateChanges(events).pipe(scan((current, action) => [...current, ...action], []));\n }\n\n /**\n * Create a stream of synchronized changes. This method keeps the local array in sorted\n * query order.\n */\n snapshotChanges(events?: DocumentChangeType[]): Observable<DocumentChangeAction<T>[]> {\n const validatedEvents = validateEventsArray(events);\n const scheduledSortedChanges$ = sortedChanges<T>(this.query, validatedEvents, this.afs.schedulers.outsideAngular);\n return scheduledSortedChanges$.pipe(\n keepUnstableUntilFirst\n );\n }\n\n /**\n * Listen to all documents in the collection and its possible query as an Observable.\n *\n * If the `idField` option is provided, document IDs are included and mapped to the\n * provided `idField` property name.\n */\n valueChanges(): Observable<T[]>;\n // tslint:disable-next-line:unified-signatures\n valueChanges({}): Observable<T[]>;\n valueChanges<K extends string>(options: {idField: K}): Observable<(T & { [T in K]: string })[]>;\n valueChanges<K extends string>(options: {idField?: K} = {}): Observable<T[]> {\n return fromCollectionRef<T>(this.query, this.afs.schedulers.outsideAngular)\n .pipe(\n map(actions => actions.payload.docs.map(a => {\n if (options.idField) {\n return {\n ...a.data() as {},\n ...{ [options.idField]: a.id }\n } as T & { [T in K]: string };\n } else {\n return a.data();\n }\n })),\n keepUnstableUntilFirst\n );\n }\n\n /**\n * Retrieve the results of the query once.\n */\n get(options?: firebase.firestore.GetOptions) {\n return from(this.query.get(options)).pipe(\n keepUnstableUntilFirst,\n );\n }\n\n /**\n * Add data to a collection reference.\n *\n * Note: Data operation methods are done on the reference not the query. This means\n * when you update data it is not updating data to the window of your query unless\n * the data fits the criteria of the query.\n */\n add(data: T): Promise<DocumentReference<T>> {\n return this.ref.add(data);\n }\n\n /**\n * Create a reference to a single document in a collection.\n */\n doc<T2 = T>(path?: string): AngularFirestoreDocument<T2> {\n // TODO is there a better way to solve this type issue\n return new AngularFirestoreDocument(this.ref.doc(path) as any, this.afs);\n }\n}\n","import { from, Observable } from 'rxjs';\nimport { keepUnstableUntilFirst } from '@angular/fire';\nimport { Action, DocumentData, DocumentReference, DocumentSnapshot, QueryFn, SetOptions } from '../interfaces';\nimport { fromDocRef } from '../observable/fromRef';\nimport { map } from 'rxjs/operators';\nimport { AngularFirestore, associateQuery } from '../firestore';\nimport { AngularFirestoreCollection } from '../collection/collection';\nimport firebase from 'firebase/compat/app';\n\n/**\n * AngularFirestoreDocument service\n *\n * This class creates a reference to a Firestore Document. A reference is provided in\n * in the constructor. The class is generic which gives you type safety for data update\n * methods and data streaming.\n *\n * This class uses Symbol.observable to transform into Observable using Observable.from().\n *\n * This class is rarely used directly and should be created from the AngularFirestore service.\n *\n * Example:\n *\n * const fakeStock = new AngularFirestoreDocument<Stock>(doc('stocks/FAKE'));\n * await fakeStock.set({ name: 'FAKE', price: 0.01 });\n * fakeStock.valueChanges().map(snap => {\n * if(snap.exists) return snap.data();\n * return null;\n * }).subscribe(value => console.log(value));\n * // OR! Transform using Observable.from() and the data is unwrapped for you\n * Observable.from(fakeStock).subscribe(value => console.log(value));\n */\nexport class AngularFirestoreDocument<T = DocumentData> {\n\n /**\n * The constructor takes in a DocumentReference to provide wrapper methods\n * for data operations, data streaming, and Symbol.observable.\n */\n constructor(public ref: DocumentReference<T>, private afs: AngularFirestore) { }\n\n /**\n * Create or overwrite a single document.\n */\n set(data: T, options?: SetOptions): Promise<void> {\n return this.ref.set(data, options);\n }\n\n /**\n * Update some fields of a document without overwriting the entire document.\n */\n update(data: Partial<T>): Promise<void> {\n return this.ref.update(data);\n }\n\n /**\n * Delete a document.\n */\n delete(): Promise<void> {\n return this.ref.delete();\n }\n\n /**\n * Create a reference to a sub-collection given a path and an optional query\n * function.\n */\n collection<R = DocumentData>(path: string, queryFn?: QueryFn): AngularFirestoreCollection<R> {\n const collectionRef = this.ref.collection(path) as firebase.firestore.CollectionReference<R>;\n const { ref, query } = associateQuery(collectionRef, queryFn);\n return new AngularFirestoreCollection(ref, query, this.afs);\n }\n\n /**\n * Listen to snapshot updates from the document.\n */\n snapshotChanges(): Observable<Action<DocumentSnapshot<T>>> {\n const scheduledFromDocRef$ = fromDocRef<T>(this.ref, this.afs.schedulers.outsideAngular);\n return scheduledFromDocRef$.pipe(\n keepUnstableUntilFirst\n );\n }\n\n /**\n * Listen to unwrapped snapshot updates from the document.\n *\n * If the `idField` option is provided, document IDs are included and mapped to the\n * provided `idField` property name.\n */\n valueChanges(options?: { }): Observable<T | undefined>;\n valueChanges<K extends string>(options: { idField: K }): Observable<(T & { [T in K]: string }) | undefined>;\n valueChanges<K extends string>(options: { idField?: K } = {}): Observable<T | undefined> {\n return this.snapshotChanges().pipe(\n map(({ payload }) =>\n options.idField ? {\n ...payload.data(),\n ...{ [options.idField]: payload.id }\n } as T & { [T in K]: string } : payload.data()\n )\n );\n }\n\n /**\n * Retrieve the document once.\n */\n get(options?: firebase.firestore.GetOptions) {\n return from(this.ref.get(options)).pipe(\n keepUnstableUntilFirst,\n );\n }\n}\n","import { from, Observable } from 'rxjs';\nimport { fromCollectionRef } from '../observable/fromRef';\nimport { filter, map, scan } from 'rxjs/operators';\nimport firebase from 'firebase/compat/app';\nimport { keepUnstableUntilFirst } from '@angular/fire';\n\nimport { DocumentChangeAction, DocumentChangeType, DocumentData, Query } from '../interfaces';\nimport { validateEventsArray } from '../collection/collection';\nimport { docChanges, sortedChanges } from '../collection/changes';\nimport { AngularFirestore } from '../firestore';\n\n/**\n * AngularFirestoreCollectionGroup service\n *\n * This class holds a reference to a Firestore Collection Group Query.\n *\n * This class uses Symbol.observable to transform into Observable using Observable.from().\n *\n * This class is rarely used directly and should be created from the AngularFirestore service.\n *\n * Example:\n *\n * const collectionGroup = firebase.firestore.collectionGroup('stocks');\n * const query = collectionRef.where('price', '>', '0.01');\n * const fakeStock = new AngularFirestoreCollectionGroup<Stock>(query, afs);\n *\n * // Subscribe to changes as snapshots. This provides you data updates as well as delta updates.\n * fakeStock.valueChanges().subscribe(value => console.log(value));\n */\nexport class AngularFirestoreCollectionGroup<T = DocumentData> {\n /**\n * The constructor takes in a CollectionGroupQuery to provide wrapper methods\n * for data operations and data streaming.\n */\n constructor(\n private readonly query: Query<T>,\n private readonly afs: AngularFirestore) { }\n\n /**\n * Listen to the latest change in the stream. This method returns changes\n * as they occur and they are not sorted by query order. This allows you to construct\n * your own data structure.\n */\n stateChanges(events?: DocumentChangeType[]): Observable<DocumentChangeAction<T>[]> {\n if (!events || events.length === 0) {\n return docChanges<T>(this.query, this.afs.schedulers.outsideAngular).pipe(\n keepUnstableUntilFirst\n );\n }\n return docChanges<T>(this.query, this.afs.schedulers.outsideAngular)\n .pipe(\n map(actions => actions.filter(change => events.indexOf(change.type) > -1)),\n filter(changes => changes.length > 0),\n keepUnstableUntilFirst\n );\n }\n\n /**\n * Create a stream of changes as they occur it time. This method is similar to stateChanges()\n * but it collects each event in an array over time.\n */\n auditTrail(events?: DocumentChangeType[]): Observable<DocumentChangeAction<T>[]> {\n return this.stateChanges(events).pipe(scan((current, action) => [...current, ...action], []));\n }\n\n /**\n * Create a stream of synchronized changes. This method keeps the local array in sorted\n * query order.\n */\n snapshotChanges(events?: DocumentChangeType[]): Observable<DocumentChangeAction<T>[]> {\n const validatedEvents = validateEventsArray(events);\n const scheduledSortedChanges$ = sortedChanges<T>(this.query, validatedEvents, this.afs.schedulers.outsideAngular);\n return scheduledSortedChanges$.pipe(\n keepUnstableUntilFirst\n );\n }\n\n /**\n * Listen to all documents in the collection and its possible query as an Observable.\n *\n * If the `idField` option is provided, document IDs are included and mapped to the\n * provided `idField` property name.\n */\n valueChanges(): Observable<T[]>;\n // tslint:disable-next-line:unified-signatures\n valueChanges({}): Observable<T[]>;\n valueChanges<K extends string>(options: {idField: K}): Observable<(T & { [T in K]: string })[]>;\n valueChanges<K extends string>(options: {idField?: K} = {}): Observable<T[]> {\n const fromCollectionRefScheduled$ = fromCollectionRef<T>(this.query, this.afs.schedulers.outsideAngular);\n return fromCollectionRefScheduled$\n .pipe(\n map(actions => actions.payload.docs.map(a => {\n if (options.idField) {\n return {\n [options.idField]: a.id,\n ...a.data()\n } as T & { [T in K]: string };\n } else {\n return a.data();\n }\n })),\n keepUnstableUntilFirst\n );\n }\n\n /**\n * Retrieve the results of the query once.\n */\n get(options?: firebase.firestore.GetOptions) {\n return from(this.query.get(options)).pipe(\n keepUnstableUntilFirst\n );\n }\n\n}\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { from, Observable, of } from 'rxjs';\nimport {\n AssociatedReference,\n CollectionReference,\n DocumentReference,\n PersistenceSettings,\n Query,\n QueryFn,\n QueryGroupFn,\n Settings\n} from './interfaces';\nimport { AngularFirestoreDocument } from './document/document';\nimport { AngularFirestoreCollection } from './collection/collection';\nimport { AngularFirestoreCollectionGroup } from './collection-group/collection-group';\nimport { ɵAngularFireSchedulers } from '@angular/fire';\nimport { FirebaseApp, ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';\nimport { FirebaseOptions } from 'firebase/app';\nimport { isPlatformServer } from '@angular/common';\nimport firebase from 'firebase/compat/app';\nimport 'firebase/compat/auth';\nimport 'firebase/compat/firestore';\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 { AppCheckInstances } from '@angular/fire/app-check';\n\n/**\n * The value of this token determines whether or not the firestore will have persistance enabled\n */\nexport const ENABLE_PERSISTENCE = new InjectionToken<boolean>('angularfire2.enableFirestorePersistence');\nexport const PERSISTENCE_SETTINGS = new InjectionToken<PersistenceSettings | undefined>('angularfire2.firestore.persistenceSettings');\nexport const SETTINGS = new InjectionToken<Settings>('angularfire2.firestore.settings');\n\ntype UseEmulatorArguments = Parameters<firebase.firestore.Firestore['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.firestore.use-emulator');\n\n/**\n * A utility methods for associating a collection reference with\n * a query.\n *\n * @param collectionRef - A collection reference to query\n * @param queryFn - The callback to create a query\n *\n * Example:\n * const { query, ref } = associateQuery(docRef.collection('items'), ref => {\n * return ref.where('age', '<', 200);\n * });\n */\nexport function associateQuery<T>(collectionRef: CollectionReference<T>, queryFn = ref => ref): AssociatedReference<T> {\n const query = queryFn(collectionRef);\n const ref = collectionRef;\n return { query, ref };\n}\n\ntype InstanceCache = Map<FirebaseApp, [\n firebase.firestore.Firestore,\n firebase.firestore.Settings | null,\n UseEmulatorArguments | null,\n boolean | null]\n>;\n\n/**\n * AngularFirestore Service\n *\n * This service is the main entry point for this feature module. It provides\n * an API for creating Collection and Reference services. These services can\n * then be used to do data updates and observable streams of the data.\n *\n * Example:\n *\n * import { Component } from '@angular/core';\n * import { AngularFirestore, AngularFirestoreCollection, AngularFirestoreDocument } from '@angular/fire/firestore';\n * import { Observable } from 'rxjs/Observable';\n * import { from } from 'rxjs/observable';\n *\n * @Component({\n * selector: 'app-my-component',\n * template: `\n * <h2>Items for {{ (profile | async)?.name }}\n * <ul>\n * <li *ngFor=\"let item of items | async\">{{ item.name }}</li>\n * </ul>\n * <div class=\"control-input\">\n * <input type=\"text\" #itemname />\n * <button (click)=\"addItem(itemname.value)\">Add Item</button>\n * </div>\n * `\n * })\n * export class MyComponent implements OnInit {\n *\n * // services for data operations and data streaming\n * private readonly itemsRef: AngularFirestoreCollection<Item>;\n * private readonly profileRef: AngularFirestoreDocument<Profile>;\n *\n * // observables for template\n * items: Observable<Item[]>;\n * profile: Observable<Profile>;\n *\n * // inject main service\n * constructor(private readonly afs: AngularFirestore) {}\n *\n * ngOnInit() {\n * this.itemsRef = afs.collection('items', ref => ref.where('user', '==', 'davideast').limit(10));\n * this.items = this.itemsRef.valueChanges().map(snap => snap.docs.map(data => doc.data()));\n * // this.items = from(this.itemsRef); // you can also do this with no mapping\n *\n * this.profileRef = afs.doc('users/davideast');\n * this.profile = this.profileRef.valueChanges();\n * }\n *\n * addItem(name: string) {\n * const user = 'davideast';\n * this.itemsRef.add({ name, user });\n * }\n * }\n */\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFirestore {\n public readonly firestore: firebase.firestore.Firestore;\n public readonly persistenceEnabled$: Observable<boolean>;\n\n /**\n * Each Feature of AngularFire has a FirebaseApp injected. This way we\n * don't rely on the main Firebase App instance and we can create named\n * apps and use multiple apps.\n */\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string | null | undefined,\n @Optional() @Inject(ENABLE_PERSISTENCE) shouldEnablePersistence: boolean | null,\n @Optional() @Inject(SETTINGS) settings: Settings | null,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n public schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(PERSISTENCE_SETTINGS) persistenceSettings: PersistenceSettings | null,\n @Optional() @Inject(USE_EMULATOR) _useEmulator: any,\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 const app = ɵfirebaseAppFactory(options, zone, name);\n const useEmulator: UseEmulatorArguments | null = _useEmulator;\n\n if (auth) {\n ɵauthFactory(app, zone, useAuthEmulator, tenantId, languageCode, useDeviceLanguage, authSettings, persistence);\n }\n\n [this.firestore, this.persistenceEnabled$] = ɵcacheInstance(`${app.name}.firestore`, 'AngularFirestore', app.name, () => {\n const firestore = zone.runOutsideAngular(() => app.firestore());\n if (settings) {\n firestore.settings(settings);\n }\n if (useEmulator) {\n firestore.useEmulator(...useEmulator);\n }\n\n if (shouldEnablePersistence && !isPlatformServer(platformId)) {\n // We need to try/catch here because not all enablePersistence() failures are caught\n // https://github.com/firebase/firebase-js-sdk/issues/608\n const enablePersistence = () => {\n try {\n return from(firestore.enablePersistence(persistenceSettings || undefined).then(() => true, () => false));\n } catch (e) {\n if (typeof console !== 'undefined') { console.warn(e); }\n return of(false);\n }\n };\n return [firestore, zone.runOutsideAngular(enablePersistence)];\n } else {\n return [firestore, of(false)];\n }\n\n }, [settings, useEmulator, shouldEnablePersistence]);\n }\n\n /**\n * Create a reference to a Firestore Collection based on a path or\n * CollectionReference and an optional query function to narrow the result\n * set.\n */\n collection<T>(path: string, queryFn?: QueryFn): AngularFirestoreCollection<T>;\n // tslint:disable-next-line:unified-signatures\n collection<T>(ref: CollectionReference, queryFn?: QueryFn): AngularFirestoreCollection<T>;\n collection<T>(pathOrRef: string | CollectionReference<T>, queryFn?: QueryFn): AngularFirestoreCollection<T> {\n let collectionRef: CollectionReference<T>;\n if (typeof pathOrRef === 'string') {\n collectionRef = this.firestore.collection(pathOrRef) as firebase.firestore.CollectionReference<T>;\n } else {\n collectionRef = pathOrRef;\n }\n const { ref, query } = associateQuery<T>(collectionRef, queryFn);\n const refInZone = this.schedulers.ngZone.run(() => ref);\n return new AngularFirestoreCollection<T>(refInZone, query, this);\n }\n\n /**\n * Create a reference to a Firestore Collection Group based on a collectionId\n * and an optional query function to narrow the result\n * set.\n */\n collectionGroup<T>(collectionId: string, queryGroupFn?: QueryGroupFn<T>): AngularFirestoreCollectionGroup<T> {\n const queryFn = queryGroupFn || (ref => ref);\n const collectionGroup: Query<T> = this.firestore.collectionGroup(collectionId) as firebase.firestore.Query<T>;\n return new AngularFirestoreCollectionGroup<T>(queryFn(collectionGroup), this);\n }\n\n /**\n * Create a reference to a Firestore Document based on a path or\n * DocumentReference. Note that documents are not queryable because they are\n * simply objects. However, documents have sub-collections that return a\n * Collection reference and can be queried.\n */\n doc<T>(path: string): AngularFirestoreDocument<T>;\n // tslint:disable-next-line:unified-signatures\n doc<T>(ref: DocumentReference): AngularFirestoreDocument<T>;\n doc<T>(pathOrRef: string | DocumentReference<T>): AngularFirestoreDocument<T> {\n let ref: DocumentReference<T>;\n if (typeof pathOrRef === 'string') {\n ref = this.firestore.doc(pathOrRef) as firebase.firestore.DocumentReference<T>;\n } else {\n ref = pathOrRef;\n }\n const refInZone = this.schedulers.ngZone.run(() => ref);\n return new AngularFirestoreDocument<T>(refInZone, this);\n }\n\n /**\n * Returns a generated Firestore Document Id.\n */\n createId() {\n return this.firestore.collection('_').doc().id;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { PersistenceSettings } from './interfaces';\nimport { AngularFirestore, ENABLE_PERSISTENCE, PERSISTENCE_SETTINGS } from './firestore';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFirestore ]\n})\nexport class AngularFirestoreModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'fst-compat');\n }\n /**\n * Attempt to enable persistent storage, if possible\n */\n static enablePersistence(persistenceSettings?: PersistenceSettings): ModuleWithProviders<AngularFirestoreModule> {\n return {\n ngModule: AngularFirestoreModule,\n providers: [\n { provide: ENABLE_PERSISTENCE, useValue: true },\n { provide: PERSISTENCE_SETTINGS, useValue: persistenceSettings },\n ]\n };\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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-compat-functions.js","sources":["../../../src/compat/functions/base.ts","../../../src/compat/functions/functions.ts","../../../src/compat/functions/functions.module.ts","../../../src/compat/functions/angular-fire-compat-functions.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/functions, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n useEmulator: null,\n useFunctionsEmulator: null,\n httpsCallable: null,\n};\n","import { Inject, Injectable, InjectionToken, NgZone, Optional } from '@angular/core';\nimport { from, Observable, of } from 'rxjs';\nimport { map, observeOn, shareReplay, switchMap } from 'rxjs/operators';\nimport { ɵAngularFireSchedulers } from '@angular/fire';\nimport { ɵlazySDKProxy, ɵPromiseProxy, ɵapplyMixins } from '@angular/fire/compat';\nimport { FirebaseOptions } from 'firebase/app';\nimport { ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';\nimport firebase from 'firebase/compat/app';\nimport { proxyPolyfillCompat } from './base';\nimport { HttpsCallableOptions } from '@firebase/functions-types';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const ORIGIN = new InjectionToken<string>('angularfire2.functions.origin');\nexport const REGION = new InjectionToken<string>('angularfire2.functions.region');\n\ntype UseEmulatorArguments = Parameters<firebase.functions.Functions['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.functions.use-emulator');\n\n// override httpsCallable for compatibility with 5.x\nexport interface AngularFireFunctions extends Omit<ɵPromiseProxy<firebase.functions.Functions>, 'httpsCallable'> {\n}\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireFunctions {\n\n public readonly httpsCallable: <T = any, R = any>(name: string, options?: HttpsCallableOptions) => (data: T) => Observable<R>;\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string | null | undefined,\n zone: NgZone,\n schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(REGION) region: string | null,\n @Optional() @Inject(ORIGIN) origin: string | null,\n @Optional() @Inject(USE_EMULATOR) _useEmulator: any, // can't use the tuple here\n @Optional() _appCheckInstances: AppCheckInstances,\n ) {\n const useEmulator: UseEmulatorArguments | null = _useEmulator;\n\n const functions = of(undefined).pipe(\n observeOn(schedulers.outsideAngular),\n switchMap(() => import('firebase/compat/functions')),\n map(() => ɵfirebaseAppFactory(options, zone, name)),\n map(app => ɵcacheInstance(`${app.name}.functions.${region || origin}`, 'AngularFireFunctions', app.name, () => {\n let functions: firebase.functions.Functions;\n if (region && origin) {\n throw new Error('REGION and ORIGIN can\\'t be used at the same time.');\n }\n functions = app.functions(region || origin || undefined);\n if (useEmulator) {\n functions.useEmulator(...useEmulator);\n }\n return functions;\n }, [region, origin, useEmulator])),\n shareReplay({ bufferSize: 1, refCount: false })\n );\n\n this.httpsCallable = <T = any, R = any>(name: string, options?: HttpsCallableOptions) =>\n (data: T) => from(functions).pipe(\n observeOn(schedulers.insideAngular),\n switchMap(functions => functions.httpsCallable(name, options)(data)),\n map(r => r.data as R)\n );\n\n return ɵlazySDKProxy(this, functions, zone);\n\n }\n\n}\n\nɵapplyMixins(AngularFireFunctions, [proxyPolyfillCompat]);\n","import { NgModule } from '@angular/core';\nimport { AngularFireFunctions } from './functions';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireFunctions ]\n})\nexport class AngularFireFunctionsModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'fn-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 +0,0 @@
1
- {"version":3,"file":"angular-fire-compat-messaging.js","sources":["../../../src/compat/messaging/base.ts","../../../src/compat/messaging/messaging.ts","../../../src/compat/messaging/messaging.module.ts","../../../src/compat/messaging/angular-fire-compat-messaging.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/messaging, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n deleteToken: null,\n getToken: null,\n onMessage: null,\n onBackgroundMessage: null,\n};\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport firebase from 'firebase/compat/app';\nimport { concat, EMPTY, Observable, of } from 'rxjs';\nimport { catchError, defaultIfEmpty, map, mergeMap, observeOn, switchMap, switchMapTo, shareReplay, subscribeOn } from 'rxjs/operators';\nimport { ɵAngularFireSchedulers } from '@angular/fire';\nimport { ɵlazySDKProxy, ɵPromiseProxy, ɵapplyMixins } from '@angular/fire/compat';\nimport { ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';\nimport { FirebaseOptions } from 'firebase/app';\nimport { proxyPolyfillCompat } from './base';\nimport { isSupported } from 'firebase/messaging';\n\nexport const VAPID_KEY = new InjectionToken<string>('angularfire2.messaging.vapid-key');\nexport const SERVICE_WORKER = new InjectionToken<Promise<ServiceWorkerRegistration>>('angularfire2.messaging.service-worker-registeration');\n\nexport interface AngularFireMessaging extends Omit<ɵPromiseProxy<firebase.messaging.Messaging>, 'deleteToken' | 'getToken' | 'requestPermission'> {\n}\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireMessaging {\n\n public readonly requestPermission: Observable<NotificationPermission>;\n public readonly getToken: Observable<string | null>;\n public readonly tokenChanges: Observable<string | null>;\n public readonly messages: Observable<firebase.messaging.MessagePayload>;\n public readonly requestToken: Observable<string | null>;\n public readonly deleteToken: (token: string) => Observable<boolean>;\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(VAPID_KEY) vapidKey: string|null,\n @Optional() @Inject(SERVICE_WORKER) _serviceWorker: any,\n ) {\n const serviceWorker: Promise<ServiceWorkerRegistration> | null = _serviceWorker;\n\n const messaging = of(undefined).pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMap(isSupported),\n switchMap(supported => supported ? import('firebase/compat/messaging') : EMPTY),\n map(() => ɵfirebaseAppFactory(options, zone, name)),\n switchMap(app => ɵcacheInstance(`${app.name}.messaging`, 'AngularFireMessaging', app.name, async () => {\n return app.messaging();\n }, [])),\n shareReplay({ bufferSize: 1, refCount: false })\n );\n\n\n this.requestPermission = messaging.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMap(() => Notification.requestPermission())\n );\n\n this.getToken = messaging.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMap(async messaging => {\n if (Notification.permission === 'granted') {\n const serviceWorkerRegistration = serviceWorker ? await serviceWorker : null;\n return await messaging.getToken({ vapidKey, serviceWorkerRegistration });\n } else {\n return null;\n }\n })\n );\n\n const notificationPermission$ = new Observable<string>(emitter => {\n navigator.permissions.query({ name: 'notifications' }).then(notificationPerm => {\n notificationPerm.onchange = () => emitter.next();\n });\n });\n\n\n const tokenChange$ = messaging.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMapTo(notificationPermission$),\n switchMapTo(this.getToken)\n );\n\n this.tokenChanges = messaging.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMap(() => concat(this.getToken, tokenChange$))\n );\n\n\n this.messages = messaging.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMap(messaging => new Observable<firebase.messaging.MessagePayload>(emitter =>\n messaging.onMessage(emitter)\n )),\n );\n\n this.requestToken = messaging.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMap(() => this.requestPermission),\n catchError(() => of(null)),\n mergeMap(() => this.tokenChanges)\n );\n\n this.deleteToken = () => messaging.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n switchMap(messaging => messaging.deleteToken()),\n defaultIfEmpty(false)\n );\n\n return ɵlazySDKProxy(this, messaging, zone);\n }\n\n}\n\nɵapplyMixins(AngularFireMessaging, [proxyPolyfillCompat]);\n","import { NgModule } from '@angular/core';\nimport { AngularFireMessaging } from './messaging';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireMessaging ]\n})\nexport class AngularFireMessagingModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'fcm-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 +0,0 @@
1
- {"version":3,"file":"angular-fire-compat-performance.js","sources":["../../../src/compat/performance/base.ts","../../../src/compat/performance/performance.ts","../../../src/compat/performance/performance.service.ts","../../../src/compat/performance/performance.module.ts","../../../src/compat/performance/angular-fire-compat-performance.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/performance, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n app: null,\n trace: null,\n instrumentationEnabled: null,\n dataCollectionEnabled: null,\n};\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { EMPTY, Observable, of, Subscription } from 'rxjs';\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators';\nimport firebase from 'firebase/compat/app';\nimport { ɵapplyMixins, ɵlazySDKProxy, ɵPromiseProxy, ɵcacheInstance } from '@angular/fire/compat';\nimport { FirebaseApp } from '@angular/fire/compat';\nimport { isPlatformBrowser } from '@angular/common';\nimport { proxyPolyfillCompat } from './base';\n\nexport const INSTRUMENTATION_ENABLED = new InjectionToken<boolean>('angularfire2.performance.instrumentationEnabled');\nexport const DATA_COLLECTION_ENABLED = new InjectionToken<boolean>('angularfire2.performance.dataCollectionEnabled');\n\nexport interface AngularFirePerformance extends ɵPromiseProxy<firebase.performance.Performance> {\n}\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFirePerformance {\n\n private readonly performance: Observable<firebase.performance.Performance>;\n\n constructor(\n app: FirebaseApp,\n @Optional() @Inject(INSTRUMENTATION_ENABLED) instrumentationEnabled: boolean | null,\n @Optional() @Inject(DATA_COLLECTION_ENABLED) dataCollectionEnabled: boolean | null,\n private zone: NgZone,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object\n ) {\n\n this.performance = of(undefined).pipe(\n switchMap(() => isPlatformBrowser(platformId) ? zone.runOutsideAngular(() => import('firebase/compat/performance')) : EMPTY),\n map(() => ɵcacheInstance(`performance`, 'AngularFirePerformance', app.name, () => {\n const performance = zone.runOutsideAngular(() => app.performance());\n if (instrumentationEnabled === false) {\n performance.instrumentationEnabled = false;\n }\n if (dataCollectionEnabled === false) {\n performance.dataCollectionEnabled = false;\n }\n return performance;\n }, [instrumentationEnabled, dataCollectionEnabled])),\n shareReplay({ bufferSize: 1, refCount: false })\n );\n\n return ɵlazySDKProxy(this, this.performance, zone);\n\n }\n\n}\n\nconst trace$ = (traceId: string) => {\n if (typeof window !== 'undefined' && window.performance?.mark) {\n const entries = window.performance.getEntriesByName(traceId, 'measure') || [];\n const startMarkName = `_${traceId}Start[${entries.length}]`;\n const endMarkName = `_${traceId}End[${entries.length}]`;\n return new Observable<void>(emitter => {\n window.performance.mark(startMarkName);\n emitter.next();\n return {\n unsubscribe: () => {\n window.performance.mark(endMarkName);\n window.performance.measure(traceId, startMarkName, endMarkName);\n }\n };\n });\n } else {\n return EMPTY;\n }\n};\n\nexport const traceUntil = <T = any>(\n name: string,\n test: (a: T) => boolean,\n options?: { orComplete?: boolean }\n) => (source$: Observable<T>) => new Observable<T>(subscriber => {\n const traceSubscription = trace$(name).subscribe();\n return source$.pipe(\n tap(\n a => test(a) && traceSubscription.unsubscribe(),\n () => {\n },\n () => options && options.orComplete && traceSubscription.unsubscribe()\n )\n ).subscribe(subscriber);\n});\n\nexport const traceWhile = <T = any>(\n name: string,\n test: (a: T) => boolean,\n options?: { orComplete?: boolean }\n) => (source$: Observable<T>) => new Observable<T>(subscriber => {\n let traceSubscription: Subscription | undefined;\n return source$.pipe(\n tap(\n a => {\n if (test(a)) {\n traceSubscription = traceSubscription || trace$(name).subscribe();\n } else {\n if (traceSubscription) {\n traceSubscription.unsubscribe();\n }\n\n traceSubscription = undefined;\n }\n },\n () => {\n },\n () => options && options.orComplete && traceSubscription && traceSubscription.unsubscribe()\n )\n ).subscribe(subscriber);\n});\n\nexport const traceUntilComplete = <T = any>(name: string) => (source$: Observable<T>) => new Observable<T>(subscriber => {\n const traceSubscription = trace$(name).subscribe();\n return source$.pipe(\n tap(\n () => {\n },\n () => {\n },\n () => traceSubscription.unsubscribe()\n )\n ).subscribe(subscriber);\n});\n\nexport const traceUntilFirst = <T = any>(name: string) => (source$: Observable<T>) => new Observable<T>(subscriber => {\n const traceSubscription = trace$(name).subscribe();\n return source$.pipe(\n tap(\n () => traceSubscription.unsubscribe(),\n () => {\n },\n () => {\n }\n )\n ).subscribe(subscriber);\n});\n\nexport const trace = <T = any>(name: string) => (source$: Observable<T>) => new Observable<T>(subscriber => {\n const traceSubscription = trace$(name).subscribe();\n return source$.pipe(\n tap(\n () => traceSubscription.unsubscribe(),\n () => {\n },\n () => traceSubscription.unsubscribe()\n )\n ).subscribe(subscriber);\n});\n\nɵapplyMixins(AngularFirePerformance, [proxyPolyfillCompat]);\n","import { ApplicationRef, Injectable, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { first, tap } from 'rxjs/operators';\n\nconst IS_STABLE_START_MARK = 'Zone';\nconst IS_STABLE_END_MARK = '_isStableEnd';\n\n@Injectable()\nexport class PerformanceMonitoringService implements OnDestroy {\n\n private disposable: Subscription|undefined;\n\n constructor(appRef: ApplicationRef) {\n if (typeof window !== 'undefined' && window.performance?.mark) {\n this.disposable = appRef.isStable.pipe(\n first(it => it),\n tap(() => {\n window.performance.mark(IS_STABLE_END_MARK);\n window.performance.measure('isStable', IS_STABLE_START_MARK, IS_STABLE_END_MARK);\n })\n ).subscribe();\n }\n }\n\n ngOnDestroy() {\n if (this.disposable) { this.disposable.unsubscribe(); }\n }\n\n}\n","import { NgModule, Optional } from '@angular/core';\nimport { AngularFirePerformance } from './performance';\nimport { PerformanceMonitoringService } from './performance.service';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFirePerformance ]\n})\nexport class AngularFirePerformanceModule {\n constructor(\n perf: AngularFirePerformance,\n @Optional() _: PerformanceMonitoringService\n ) {\n firebase.registerVersion('angularfire', VERSION.full, 'perf-compat');\n // call anything here to get perf loading\n // tslint:disable-next-line:no-unused-expression\n perf.dataCollectionEnabled.then(() => {});\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-compat-remote-config.js","sources":["../../../src/compat/remote-config/base.ts","../../../src/compat/remote-config/remote-config.ts","../../../src/compat/remote-config/remote-config.module.ts","../../../src/compat/remote-config/angular-fire-compat-remote-config.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/remote-config, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n app: null,\n settings: null,\n defaultConfig: null,\n fetchTimeMillis: null,\n lastFetchStatus: null,\n activate: null,\n ensureInitialized: null,\n fetch: null,\n fetchAndActivate: null,\n getAll: null,\n getBoolean: null,\n getNumber: null,\n getString: null,\n getValue: null,\n setLogLevel: null,\n};\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { concat, EMPTY, MonoTypeOperatorFunction, Observable, of, OperatorFunction, pipe } from 'rxjs';\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n groupBy,\n map,\n mergeMap,\n observeOn,\n scan,\n shareReplay,\n startWith,\n switchMap,\n withLatestFrom\n} from 'rxjs/operators';\nimport { ɵAngularFireSchedulers, keepUnstableUntilFirst } from '@angular/fire';\nimport { ɵlazySDKProxy, ɵPromiseProxy, ɵapplyMixins } from '@angular/fire/compat';\nimport { FirebaseOptions } from 'firebase/app';\nimport { ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';\nimport firebase from 'firebase/compat/app';\nimport { Settings } from './interfaces';\nimport { proxyPolyfillCompat } from './base';\nimport { isSupported } from 'firebase/remote-config';\n\nexport interface ConfigTemplate {\n [key: string]: string | number | boolean;\n}\n\nexport const SETTINGS = new InjectionToken<Settings>('angularfire2.remoteConfig.settings');\nexport const DEFAULTS = new InjectionToken<ConfigTemplate>('angularfire2.remoteConfig.defaultConfig');\n\nexport interface AngularFireRemoteConfig extends ɵPromiseProxy<firebase.remoteConfig.RemoteConfig> {\n}\n\nconst AS_TO_FN = { strings: 'asString', numbers: 'asNumber', booleans: 'asBoolean' };\nconst STATIC_VALUES = { numbers: 0, booleans: false, strings: undefined };\n\n// TODO look into the types here, I don't like the anys\nconst proxyAll = (observable: Observable<Parameter[]>, as: 'numbers' | 'booleans' | 'strings') => new Proxy(\n observable.pipe(mapToObject(as as any)), {\n get: (self, name: string) => self[name] || observable.pipe(\n map(all => all.find(p => p.key === name)),\n map(param => param ? param[AS_TO_FN[as]]() : STATIC_VALUES[as]),\n distinctUntilChanged()\n )\n }\n) as any;\n\n// TODO export as implements Partial<...> so minor doesn't break us\nexport class Value implements firebase.remoteConfig.Value {\n asBoolean() {\n return ['1', 'true', 't', 'y', 'yes', 'on'].indexOf(this._value.toLowerCase()) > -1;\n }\n\n asString() {\n return this._value;\n }\n\n asNumber() {\n return Number(this._value) || 0;\n }\n\n getSource() {\n return this._source;\n }\n\n // tslint:disable-next-line:variable-name\n constructor(public _source: firebase.remoteConfig.ValueSource, public _value: string) {\n }\n}\n\n// SEMVER use ConstructorParameters when we can support Typescript 3.6\nexport class Parameter extends Value {\n constructor(public key: string, public fetchTimeMillis: number, source: firebase.remoteConfig.ValueSource, value: string) {\n super(source, value);\n }\n}\n\n// If it's a Parameter array, test any, else test the individual Parameter\nconst filterTest = (fn: (param: Parameter) => boolean) => filter<Parameter | Parameter[]>(it => Array.isArray(it) ? it.some(fn) : fn(it));\n\n// Allow the user to bypass the default values and wait till they get something from the server, even if it's a cached copy;\n// if used in conjuntion with first() it will only fetch RC values from the server if they aren't cached locally\nexport const filterRemote = () => filterTest(p => p.getSource() === 'remote');\n\n// filterFresh allows the developer to effectively set up a maximum cache time\nexport const filterFresh = (howRecentInMillis: number) => filterTest(p => p.fetchTimeMillis + howRecentInMillis >= new Date().getTime());\n\n\n// I ditched loading the defaults into RC and a simple map for scan since we already have our own defaults implementation.\n// The idea here being that if they have a default that never loads from the server, they will be able to tell via fetchTimeMillis\n// on the Parameter. Also if it doesn't come from the server it won't emit again in .changes, due to the distinctUntilChanged,\n// which we can simplify to === rather than deep comparison\nconst scanToParametersArray = (\n remoteConfig: Observable<firebase.remoteConfig.RemoteConfig | undefined>\n): OperatorFunction<{ [key: string]: firebase.remoteConfig.Value }, Parameter[]> => pipe(\n withLatestFrom(remoteConfig),\n scan((existing, [all, rc]) => {\n // SEMVER use \"new Set\" to unique once we're only targeting es6\n // at the scale we expect remote config to be at, we probably won't see a performance hit from this unoptimized uniqueness\n // implementation.\n // const allKeys = [...new Set([...existing.map(p => p.key), ...Object.keys(all)])];\n const allKeys = [...existing.map(p => p.key), ...Object.keys(all)].filter((v, i, a) => a.indexOf(v) === i);\n return allKeys.map(key => {\n const updatedValue = all[key];\n return updatedValue ? new Parameter(key, rc ? rc.fetchTimeMillis : -1, updatedValue.getSource(), updatedValue.asString())\n : existing.find(p => p.key === key);\n });\n }, [] as Array<Parameter>)\n);\n\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireRemoteConfig {\n\n readonly changes: Observable<Parameter>;\n readonly parameters: Observable<Parameter[]>;\n readonly numbers: Observable<{ [key: string]: number | undefined }> & { [key: string]: Observable<number> };\n readonly booleans: Observable<{ [key: string]: boolean | undefined }> & { [key: string]: Observable<boolean> };\n readonly strings: Observable<{ [key: string]: string | undefined }> & { [key: string]: Observable<string | undefined> };\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string | null | undefined,\n @Optional() @Inject(SETTINGS) settings: Settings | null,\n @Optional() @Inject(DEFAULTS) defaultConfig: ConfigTemplate | null,\n private zone: NgZone,\n schedulers: ɵAngularFireSchedulers,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object\n ) {\n const remoteConfig$ = of(undefined).pipe(\n observeOn(schedulers.outsideAngular),\n switchMap(() => isSupported()),\n switchMap(isSupported => isSupported ? import('firebase/compat/remote-config') : EMPTY),\n map(() => ɵfirebaseAppFactory(options, zone, name)),\n map(app => ɵcacheInstance(`${app.name}.remote-config`, 'AngularFireRemoteConfig', app.name, () => {\n const rc = app.remoteConfig();\n if (settings) {\n rc.settings = settings;\n }\n if (defaultConfig) {\n rc.defaultConfig = defaultConfig;\n }\n return rc;\n }, [settings, defaultConfig])),\n startWith<firebase.remoteConfig.RemoteConfig, undefined>(undefined),\n shareReplay({ bufferSize: 1, refCount: false })\n );\n\n const loadedRemoteConfig$ = remoteConfig$.pipe(\n filter<firebase.remoteConfig.RemoteConfig>(rc => !!rc)\n );\n\n const default$: Observable<{ [key: string]: firebase.remoteConfig.Value }> = of(Object.keys(defaultConfig || {}).reduce(\n (c, k) => ({ ...c, [k]: new Value('default', defaultConfig[k].toString()) }), {}\n ));\n\n // we should filter out the defaults we provided to RC, since we have our own implementation\n // that gives us a -1 for fetchTimeMillis (so filterFresh can filter them out)\n const filterOutDefaults = map<{ [key: string]: firebase.remoteConfig.Value }, { [key: string]: firebase.remoteConfig.Value }>(all =>\n Object.keys(all)\n .filter(key => all[key].getSource() !== 'default')\n .reduce((acc, key) => ({ ...acc, [key]: all[key] }), {})\n );\n\n const existing$ = loadedRemoteConfig$.pipe(\n switchMap(rc =>\n rc.activate()\n .then(() => rc.ensureInitialized())\n .then(() => rc.getAll())\n ),\n filterOutDefaults\n );\n\n const fresh$ = loadedRemoteConfig$.pipe(\n switchMap(rc => zone.runOutsideAngular(() =>\n rc.fetchAndActivate()\n .then(() => rc.ensureInitialized())\n .then(() => rc.getAll())\n )),\n filterOutDefaults\n );\n\n this.parameters = concat(default$, existing$, fresh$).pipe(\n scanToParametersArray(remoteConfig$),\n keepUnstableUntilFirst,\n shareReplay({ bufferSize: 1, refCount: true })\n );\n\n this.changes = this.parameters.pipe(\n switchMap(params => of(...params)),\n groupBy(param => param.key),\n mergeMap(group => group.pipe(\n distinctUntilChanged()\n ))\n );\n\n this.strings = proxyAll(this.parameters, 'strings');\n this.booleans = proxyAll(this.parameters, 'booleans');\n this.numbers = proxyAll(this.parameters, 'numbers');\n\n return ɵlazySDKProxy(this, loadedRemoteConfig$, zone);\n }\n\n}\n\n\nexport const budget = <T>(interval: number): MonoTypeOperatorFunction<T> => (source: Observable<T>) => new Observable<T>(observer => {\n let timedOut = false;\n // TODO use scheduler task rather than settimeout\n const timeout = setTimeout(() => {\n observer.complete();\n timedOut = true;\n }, interval);\n return source.subscribe({\n next(val) {\n if (!timedOut) {\n observer.next(val);\n }\n },\n error(err) {\n if (!timedOut) {\n clearTimeout(timeout);\n observer.error(err);\n }\n },\n complete() {\n if (!timedOut) {\n clearTimeout(timeout);\n observer.complete();\n }\n }\n });\n});\n\nconst typedMethod = (it: any) => {\n switch (typeof it) {\n case 'string':\n return 'asString';\n case 'boolean':\n return 'asBoolean';\n case 'number':\n return 'asNumber';\n default:\n return 'asString';\n }\n};\n\n\nexport function scanToObject(): OperatorFunction<Parameter, { [key: string]: string | undefined }>;\nexport function scanToObject(to: 'numbers'): OperatorFunction<Parameter, { [key: string]: number | undefined }>;\nexport function scanToObject(to: 'booleans'): OperatorFunction<Parameter, { [key: string]: boolean | undefined }>;\n// tslint:disable-next-line:unified-signatures\nexport function scanToObject(to: 'strings'): OperatorFunction<Parameter, { [key: string]: string | undefined }>;\nexport function scanToObject<T extends ConfigTemplate>(template: T): OperatorFunction<Parameter, T & { [key: string]: string | undefined }>;\nexport function scanToObject<T extends ConfigTemplate>(to: 'numbers' | 'booleans' | 'strings' | T = 'strings') {\n return pipe(\n // TODO cleanup\n scan(\n (c, p: Parameter) => ({\n ...c, [p.key]: typeof to === 'object' ?\n p[typedMethod(to[p.key])]() :\n p[AS_TO_FN[to]]()\n }),\n typeof to === 'object' ?\n to as T & { [key: string]: string | undefined } :\n {} as { [key: string]: number | boolean | string }\n ),\n debounceTime(1),\n budget(10),\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b))\n );\n}\n\nexport function mapToObject(): OperatorFunction<Parameter[], { [key: string]: string | undefined }>;\nexport function mapToObject(to: 'numbers'): OperatorFunction<Parameter[], { [key: string]: number | undefined }>;\nexport function mapToObject(to: 'booleans'): OperatorFunction<Parameter[], { [key: string]: boolean | undefined }>;\n// tslint:disable-next-line:unified-signatures\nexport function mapToObject(to: 'strings'): OperatorFunction<Parameter[], { [key: string]: string | undefined }>;\nexport function mapToObject<T extends ConfigTemplate>(template: T):\n OperatorFunction<Parameter[], T & { [key: string]: string | undefined }>;\nexport function mapToObject<T extends ConfigTemplate>(to: 'numbers' | 'booleans' | 'strings' | T = 'strings') {\n return pipe(\n // TODO this is getting a little long, cleanup\n map((params: Parameter[]) => params.reduce(\n (c, p) => ({\n ...c, [p.key]: typeof to === 'object' ?\n p[typedMethod(to[p.key])]() :\n p[AS_TO_FN[to]]()\n }),\n typeof to === 'object' ?\n to as T & { [key: string]: string | undefined } :\n {} as { [key: string]: number | boolean | string }\n )),\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b))\n );\n}\n\nɵapplyMixins(AngularFireRemoteConfig, [proxyPolyfillCompat]);\n","import { NgModule } from '@angular/core';\nimport { AngularFireRemoteConfig } from './remote-config';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireRemoteConfig ]\n})\nexport class AngularFireRemoteConfigModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'rc-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 +0,0 @@
1
- {"version":3,"file":"angular-fire-compat-storage.js","sources":["../../../src/compat/storage/observable/fromTask.ts","../../../src/compat/storage/task.ts","../../../src/compat/storage/ref.ts","../../../src/compat/storage/storage.ts","../../../src/compat/storage/pipes/storageUrl.pipe.ts","../../../src/compat/storage/storage.module.ts","../../../src/compat/storage/angular-fire-compat-storage.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { UploadTask, UploadTaskSnapshot } from '../interfaces';\n\n// need to import, else the types become import('firebase/compat/app').default.storage.UploadTask\n// and it no longer works w/Firebase v7\nimport firebase from 'firebase/compat/app';\n\n// Things aren't working great, I'm having to put in a lot of work-arounds for what\n// appear to be Firebase JS SDK bugs https://github.com/firebase/firebase-js-sdk/issues/4158\nexport function fromTask(task: UploadTask) {\n return new Observable<UploadTaskSnapshot>(subscriber => {\n const progress = (snap: UploadTaskSnapshot) => subscriber.next(snap);\n const error = e => subscriber.error(e);\n const complete = () => subscriber.complete();\n // emit the current snapshot, so they don't have to wait for state_changes\n // to fire next... this is stale if the task is no longer running :(\n progress(task.snapshot);\n const unsub = task.on('state_changed', progress);\n // it turns out that neither task snapshot nor 'state_changed' fire the last\n // snapshot before completion, the one with status 'success\" and 100% progress\n // so let's use the promise form of the task for that\n task.then(snapshot => {\n progress(snapshot);\n complete();\n }, e => {\n // TODO investigate, again this is stale, we never fire a canceled or error it seems\n progress(task.snapshot);\n error(e);\n });\n // on's type if Function, rather than () => void, need to wrap\n return function unsubscribe() {\n unsub();\n };\n }).pipe(\n // deal with sync emissions from first emitting `task.snapshot`, this makes sure\n // that if the task is already finished we don't emit the old running state\n debounceTime(0)\n );\n}\n","import { UploadTask, UploadTaskSnapshot } from './interfaces';\nimport { fromTask } from './observable/fromTask';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface AngularFireUploadTask {\n task: UploadTask;\n snapshotChanges(): Observable<UploadTaskSnapshot | undefined>;\n percentageChanges(): Observable<number | undefined>;\n pause(): boolean;\n cancel(): boolean;\n resume(): boolean;\n then(\n onFulfilled?: ((a: UploadTaskSnapshot) => any) | null,\n onRejected?: ((a: Error) => any) | null\n ): Promise<any>;\n catch(onRejected: (a: Error) => any): Promise<any>;\n}\n\n/**\n * Create an AngularFireUploadTask from a regular UploadTask from the Storage SDK.\n * This method creates an observable of the upload and returns on object that provides\n * multiple methods for controlling and monitoring the file upload.\n */\nexport function createUploadTask(task: UploadTask): AngularFireUploadTask {\n const inner$ = fromTask(task);\n return {\n task,\n then: task.then.bind(task),\n catch: task.catch.bind(task),\n pause: task.pause.bind(task),\n cancel: task.cancel.bind(task),\n resume: task.resume.bind(task),\n snapshotChanges: () => inner$,\n percentageChanges: () => inner$.pipe(\n map(s => s.bytesTransferred / s.totalBytes * 100)\n )\n };\n}\n","import { ListOptions, ListResult, Reference, SettableMetadata, StringFormat, UploadMetadata } from './interfaces';\nimport { AngularFireUploadTask, createUploadTask } from './task';\nimport { from, Observable, of } from 'rxjs';\nimport { observeOutsideAngular, keepUnstableUntilFirst } from '@angular/fire';\nimport { switchMap } from 'rxjs/operators';\n\nexport interface AngularFireStorageReference {\n getDownloadURL(): Observable<any>;\n getMetadata(): Observable<any>;\n delete(): Observable<any>;\n child(path: string): AngularFireStorageReference;\n updateMetadata(meta: SettableMetadata): Observable<any>;\n put(data: any, metadata?: UploadMetadata | undefined): AngularFireUploadTask;\n putString(data: string, format?: string | undefined, metadata?: UploadMetadata | undefined): AngularFireUploadTask;\n list(options?: ListOptions): Observable<ListResult>;\n listAll(): Observable<ListResult>;\n}\n\n/**\n * Create an AngularFire wrapped Storage Reference. This object\n * creates observable methods from promise based methods.\n */\nexport function createStorageRef(\n ref: Reference\n): AngularFireStorageReference {\n return {\n getDownloadURL: () => of(undefined).pipe(\n observeOutsideAngular,\n switchMap(() => ref.getDownloadURL()),\n keepUnstableUntilFirst\n ),\n getMetadata: () => of(undefined).pipe(\n observeOutsideAngular,\n switchMap(() => ref.getMetadata()),\n keepUnstableUntilFirst\n ),\n delete: () => from(ref.delete()),\n child: (path: string) => createStorageRef(ref.child(path)),\n updateMetadata: (meta: SettableMetadata) => from(ref.updateMetadata(meta)),\n put: (data: any, metadata?: UploadMetadata) => {\n const task = ref.put(data, metadata);\n return createUploadTask(task);\n },\n putString: (data: string, format?: StringFormat, metadata?: UploadMetadata) => {\n const task = ref.putString(data, format, metadata);\n return createUploadTask(task);\n },\n list: (options?: ListOptions) => from(ref.list(options)),\n listAll: () => from(ref.listAll())\n };\n}\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { createStorageRef } from './ref';\nimport { ɵAngularFireSchedulers } from '@angular/fire';\nimport { FirebaseOptions } from 'firebase/app';\nimport { ɵfirebaseAppFactory, FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance } from '@angular/fire/compat';\nimport { UploadMetadata } from './interfaces';\nimport 'firebase/compat/storage';\nimport firebase from 'firebase/compat/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const BUCKET = new InjectionToken<string>('angularfire2.storageBucket');\nexport const MAX_UPLOAD_RETRY_TIME = new InjectionToken<number>('angularfire2.storage.maxUploadRetryTime');\nexport const MAX_OPERATION_RETRY_TIME = new InjectionToken<number>('angularfire2.storage.maxOperationRetryTime');\n\ntype UseEmulatorArguments = Parameters<firebase.storage.Storage['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.storage.use-emulator');\n\n/**\n * AngularFireStorage Service\n *\n * This service is the main entry point for this feature module. It provides\n * an API for uploading and downloading binary files from Cloud Storage for\n * Firebase.\n */\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireStorage {\n public readonly storage: firebase.storage.Storage;\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string | null | undefined,\n @Optional() @Inject(BUCKET) storageBucket: string | null,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(MAX_UPLOAD_RETRY_TIME) maxUploadRetryTime: number | any,\n @Optional() @Inject(MAX_OPERATION_RETRY_TIME) maxOperationRetryTime: number | any,\n @Optional() @Inject(USE_EMULATOR) _useEmulator: any,\n @Optional() _appCheckInstances: AppCheckInstances,\n ) {\n const app = ɵfirebaseAppFactory(options, zone, name);\n this.storage = ɵcacheInstance(`${app.name}.storage.${storageBucket}`, 'AngularFireStorage', app.name, () => {\n const storage = zone.runOutsideAngular(() => app.storage(storageBucket || undefined));\n const useEmulator = _useEmulator as UseEmulatorArguments|null;\n if (useEmulator) {\n storage.useEmulator(...useEmulator);\n }\n if (maxUploadRetryTime) {\n storage.setMaxUploadRetryTime(maxUploadRetryTime);\n }\n if (maxOperationRetryTime) {\n storage.setMaxOperationRetryTime(maxOperationRetryTime);\n }\n return storage;\n }, [maxUploadRetryTime, maxOperationRetryTime]);\n }\n\n ref(path: string) {\n return createStorageRef(this.storage.ref(path));\n }\n\n refFromURL(path: string) {\n return createStorageRef(this.storage.refFromURL(path));\n }\n\n upload(path: string, data: any, metadata?: UploadMetadata) {\n const storageRef = this.storage.ref(path);\n const ref = createStorageRef(storageRef);\n return ref.put(data, metadata);\n }\n\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectorRef, NgModule, OnDestroy, Optional, Pipe, PipeTransform } from '@angular/core';\nimport { makeStateKey, TransferState } from '@angular/platform-browser';\nimport { Observable, of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { AngularFireStorage } from '../storage';\n\n/** to be used with in combination with | async */\n@Pipe({\n name: 'getDownloadURL',\n pure: false,\n})\nexport class GetDownloadURLPipe implements PipeTransform, OnDestroy {\n\n private asyncPipe: AsyncPipe;\n private path: string;\n private downloadUrl$: Observable<any>;\n\n constructor(\n private storage: AngularFireStorage,\n cdr: ChangeDetectorRef,\n @Optional() private state: TransferState\n ) {\n this.asyncPipe = new AsyncPipe(cdr);\n }\n\n transform(path: string) {\n if (path !== this.path) {\n this.path = path;\n const key = makeStateKey<string>(`|getDownloadURL|${path}`);\n const existing = this.state?.get(key, undefined);\n this.downloadUrl$ = existing ? of(existing) : this.storage.ref(path).getDownloadURL().pipe(\n tap(it => this.state?.set(key, it))\n );\n }\n return this.asyncPipe.transform(this.downloadUrl$);\n }\n\n ngOnDestroy() {\n this.asyncPipe.ngOnDestroy();\n }\n\n}\n\n@NgModule({\n declarations: [ GetDownloadURLPipe ],\n exports: [ GetDownloadURLPipe ],\n})\nexport class GetDownloadURLPipeModule {}\n","import { NgModule } from '@angular/core';\nimport { GetDownloadURLPipeModule } from './pipes/storageUrl.pipe';\nimport { AngularFireStorage } from './storage';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n exports: [ GetDownloadURLPipeModule ],\n providers: [ AngularFireStorage ]\n})\nexport class AngularFireStorageModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'gcs-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 +0,0 @@
1
- {"version":3,"file":"angular-fire-compat.js","sources":["../../../src/compat/proxy.ts","../../../src/compat/firebase.app.ts","../../../src/compat/firebase.app.module.ts","../../../src/compat/cache.ts","../../../src/compat/angular-fire-compat.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\n\ntype MyFunction = (...args: any[]) => any;\ntype FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? K : never }[keyof T];\ntype ReturnTypeOrNever<T> = T extends MyFunction ? ReturnType<T> : never;\ntype ParametersOrNever<T> = T extends MyFunction ? Parameters<T> : never;\ntype PromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? K : never\n}[FunctionPropertyNames<T>];\ntype NonPromiseReturningFunctionPropertyNames<T> = {\n [K in FunctionPropertyNames<T>]: ReturnTypeOrNever<T[K]> extends Promise<any> ? never : K\n}[FunctionPropertyNames<T>];\ntype NonFunctionPropertyNames<T> = { [K in keyof T]: T[K] extends MyFunction ? never : K }[keyof T];\n\nexport type ɵPromiseProxy<T> = { [K in NonFunctionPropertyNames<T>]: Promise<T[K]> } &\n { [K in NonPromiseReturningFunctionPropertyNames<T>]: (...args: ParametersOrNever<T[K]>) => Promise<ReturnTypeOrNever<T[K]>> } &\n { [K in PromiseReturningFunctionPropertyNames<T>]: T[K] };\n\n// DEBUG quick debugger function for inline logging that typescript doesn't complain about\n// wrote it for debugging the ɵlazySDKProxy, commenting out for now; should consider exposing a\n// verbose mode for AngularFire in a future release that uses something like this in multiple places\n// usage: () => log('something') || returnValue\n// const log = (...args: any[]): false => { console.log(...args); return false }\n\n// The problem here are things like ngOnDestroy are missing, then triggering the service\n// rather than dig too far; I'm capturing these as I go.\nconst noopFunctions = ['ngOnDestroy'];\n\n// INVESTIGATE should we make the Proxy revokable and do some cleanup?\n// right now it's fairly simple but I'm sure this will grow in complexity\nexport const ɵlazySDKProxy = (klass: any, observable: Observable<any>, zone: NgZone, options: {\n spy?: {\n get?: ((name: string, it: any) => void),\n apply?: ((name: string, args: any[], it: any) => void)\n }\n} = {}) => {\n return new Proxy(klass, {\n get: (_, name: string) => zone.runOutsideAngular(() => {\n if (klass[name]) {\n if (options?.spy?.get) {\n options.spy.get(name, klass[name]);\n }\n return klass[name];\n }\n if (noopFunctions.indexOf(name) > -1) {\n return () => {\n };\n }\n const promise = observable.toPromise().then(mod => {\n const ret = mod && mod[name];\n // TODO move to proper type guards\n if (typeof ret === 'function') {\n return ret.bind(mod);\n } else if (ret && ret.then) {\n return ret.then((res: any) => zone.run(() => res));\n } else {\n return zone.run(() => ret);\n }\n });\n // recurse the proxy\n return new Proxy(() => {}, {\n get: (_, name) => promise[name],\n // TODO handle callbacks as transparently as I can\n apply: (self, _, args) => promise.then(it => {\n const res = it && it(...args);\n if (options?.spy?.apply) {\n options.spy.apply(name, args, res);\n }\n return res;\n })\n }\n );\n })\n });\n};\n\nexport const ɵapplyMixins = (derivedCtor: any, constructors: any[]) => {\n constructors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype || baseCtor).forEach((name) => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype || baseCtor, name)\n );\n });\n });\n};\n","import firebase from 'firebase/compat/app';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirebaseApp extends firebase.app.App {}\n\nexport class FirebaseApp {\n constructor(app: firebase.app.App) {\n return app;\n }\n}\n","import {\n InjectionToken, Inject, isDevMode, ModuleWithProviders, NgModule, NgZone, Optional, PLATFORM_ID, VERSION as NG_VERSION, Version\n} from '@angular/core';\nimport firebase from 'firebase/compat/app';\nimport { FirebaseOptions, FirebaseAppSettings } from 'firebase/app';\nimport { VERSION } from '@angular/fire';\nimport { FirebaseApp } from './firebase.app';\n\nexport const FIREBASE_OPTIONS = new InjectionToken<FirebaseOptions>('angularfire2.app.options');\nexport const FIREBASE_APP_NAME = new InjectionToken<string | undefined>('angularfire2.app.name');\n\n\nexport function ɵfirebaseAppFactory(options: FirebaseOptions, zone: NgZone, nameOrConfig?: string | FirebaseAppSettings | null) {\n const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]';\n const config = typeof nameOrConfig === 'object' && nameOrConfig || {};\n config.name = config.name || name;\n // Added any due to some inconsistency between @firebase/app and firebase types\n const existingApp = firebase.apps.filter(app => app && app.name === config.name)[0];\n // We support FirebaseConfig, initializeApp's public type only accepts string; need to cast as any\n // Could be solved with https://github.com/firebase/firebase-js-sdk/pull/1206\n const app = (existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config as any)));\n try {\n if (JSON.stringify(options) !== JSON.stringify(app.options)) {\n const hmr = !!(module as any).hot;\n log('error', `${app.name} Firebase App already initialized with different options${hmr ? ', you may need to reload as Firebase is not HMR aware.' : '.'}`);\n }\n } catch (e) { }\n return new FirebaseApp(app);\n}\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nconst FIREBASE_APP_PROVIDER = {\n provide: FirebaseApp,\n useFactory: ɵfirebaseAppFactory,\n deps: [\n FIREBASE_OPTIONS,\n NgZone,\n [new Optional(), FIREBASE_APP_NAME]\n ]\n};\n\n@NgModule({\n providers: [FIREBASE_APP_PROVIDER]\n})\nexport class AngularFireModule {\n static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppSettings): ModuleWithProviders<AngularFireModule> {\n return {\n ngModule: AngularFireModule,\n providers: [\n {provide: FIREBASE_OPTIONS, useValue: options},\n {provide: FIREBASE_APP_NAME, useValue: nameOrConfig}\n ]\n };\n }\n\n // tslint:disable-next-line:ban-types\n constructor(@Inject(PLATFORM_ID) platformId: Object) {\n firebase.registerVersion('angularfire', VERSION.full, 'core');\n firebase.registerVersion('angularfire', VERSION.full, 'app-compat');\n firebase.registerVersion('angular', NG_VERSION.full, platformId.toString());\n }\n}\n","import { isDevMode } from '@angular/core';\n\nexport function ɵcacheInstance<T>(cacheKey: any, moduleName: string, appName: string, fn: () => T, deps: any): T {\n const [, instance, cachedDeps] = globalThis.ɵAngularfireInstanceCache.find((it: any) => it[0] === cacheKey) || [];\n if (instance) {\n if (!matchDep(deps, cachedDeps)) {\n log('error', `${moduleName} was already initialized on the ${appName} Firebase App with different settings.${IS_HMR ? ' You may need to reload as Firebase is not HMR aware.' : ''}`);\n log('warn', {is: deps, was: cachedDeps});\n }\n return instance;\n } else {\n const newInstance = fn();\n globalThis.ɵAngularfireInstanceCache.push([cacheKey, newInstance, deps]);\n return newInstance;\n }\n}\n\nfunction matchDep(a: any, b: any) {\n try {\n return a.toString() === b.toString();\n } catch (_) {\n return a === b;\n }\n}\n\nconst IS_HMR = !!(module as any).hot;\n\nconst log = (level: 'log'|'error'|'info'|'warn', ...args: any) => {\n if (isDevMode() && typeof console !== 'undefined') {\n console[level](...args);\n }\n};\n\nglobalThis.ɵAngularfireInstanceCache ||= [];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["log","NG_VERSION"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-database.js","sources":["../../../src/database/database.ts","../../../src/database/database.module.ts","../../../src/database/rxfire.ts","../../../src/database/firebase.ts","../../../src/database/angular-fire-database.ts"],"sourcesContent":["import { Database as FirebaseDatabase } from 'firebase/database';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Database extends FirebaseDatabase {}\n\nexport class Database {\n constructor(database: FirebaseDatabase) {\n return database;\n }\n}\n\nexport const DATABASE_PROVIDER_NAME = 'database';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface DatabaseInstances extends Array<FirebaseDatabase> {}\n\nexport class DatabaseInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseDatabase>(DATABASE_PROVIDER_NAME);\n }\n}\n\nexport const databaseInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseDatabase>(DATABASE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { Database as FirebaseDatabase } from 'firebase/database';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Database, DatabaseInstances, DATABASE_PROVIDER_NAME } from './database';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_DATABASE_INSTANCES = new InjectionToken<Database[]>('angularfire2.database-instances');\n\nexport function defaultDatabaseInstanceFactory(provided: FirebaseDatabase[]|undefined, defaultApp: FirebaseApp) {\n const defaultDatabase = ɵgetDefaultInstanceOf<FirebaseDatabase>(DATABASE_PROVIDER_NAME, provided, defaultApp);\n return defaultDatabase && new Database(defaultDatabase);\n}\n\nexport function databaseInstanceFactory(fn: (injector: Injector) => FirebaseDatabase) {\n return (zone: NgZone, injector: Injector) => {\n const database = zone.runOutsideAngular(() => fn(injector));\n return new Database(database);\n };\n}\n\nconst DATABASE_INSTANCES_PROVIDER = {\n provide: DatabaseInstances,\n deps: [\n [new Optional(), PROVIDED_DATABASE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_DATABASE_INSTANCE_PROVIDER = {\n provide: Database,\n useFactory: defaultDatabaseInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_DATABASE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_DATABASE_INSTANCE_PROVIDER,\n DATABASE_INSTANCES_PROVIDER,\n ]\n})\nexport class DatabaseModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'rtdb');\n }\n}\n\nexport function provideDatabase(fn: (injector: Injector) => FirebaseDatabase, ...deps: any[]): ModuleWithProviders<DatabaseModule> {\n return {\n ngModule: DatabaseModule,\n providers: [{\n provide: PROVIDED_DATABASE_INSTANCES,\n useFactory: databaseInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Database+Auth work better if Auth is loaded first\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n fromRef as _fromRef,\n stateChanges as _stateChanges,\n list as _list,\n listVal as _listVal,\n auditTrail as _auditTrail,\n object as _object,\n objectVal as _objectVal,\n changeToData as _changeToData\n} from 'rxfire/database';\n\nexport {\n ListenEvent,\n ListenerMethods\n} from 'rxfire/database';\n\nexport const fromRef = ɵzoneWrap(_fromRef, true);\nexport const stateChanges = ɵzoneWrap(_stateChanges, true);\nexport const list = ɵzoneWrap(_list, true);\nexport const listVal = ɵzoneWrap(_listVal, true);\nexport const auditTrail = ɵzoneWrap(_auditTrail, true);\nexport const object = ɵzoneWrap(_object, true);\nexport const objectVal = ɵzoneWrap(_objectVal, true);\nexport const changeToData = ɵzoneWrap(_changeToData, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/database';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n child as _child,\n connectDatabaseEmulator as _connectDatabaseEmulator,\n enableLogging as _enableLogging,\n endAt as _endAt,\n endBefore as _endBefore,\n equalTo as _equalTo,\n forceLongPolling as _forceLongPolling,\n forceWebSockets as _forceWebSockets,\n get as _get,\n getDatabase as _getDatabase,\n goOffline as _goOffline,\n goOnline as _goOnline,\n increment as _increment,\n limitToFirst as _limitToFirst,\n limitToLast as _limitToLast,\n off as _off,\n onChildAdded as _onChildAdded,\n onChildChanged as _onChildChanged,\n onChildMoved as _onChildMoved,\n onChildRemoved as _onChildRemoved,\n onDisconnect as _onDisconnect,\n onValue as _onValue,\n orderByChild as _orderByChild,\n orderByKey as _orderByKey,\n orderByPriority as _orderByPriority,\n orderByValue as _orderByValue,\n push as _push,\n query as _query,\n ref as _ref,\n refFromURL as _refFromURL,\n remove as _remove,\n runTransaction as _runTransaction,\n serverTimestamp as _serverTimestamp,\n set as _set,\n setPriority as _setPriority,\n setWithPriority as _setWithPriority,\n startAfter as _startAfter,\n startAt as _startAt,\n update as _update\n} from 'firebase/database';\n\nexport const child = ɵzoneWrap(_child, true);\nexport const connectDatabaseEmulator = ɵzoneWrap(_connectDatabaseEmulator, true);\nexport const enableLogging = ɵzoneWrap(_enableLogging, true);\nexport const endAt = ɵzoneWrap(_endAt, true);\nexport const endBefore = ɵzoneWrap(_endBefore, true);\nexport const equalTo = ɵzoneWrap(_equalTo, true);\nexport const forceLongPolling = ɵzoneWrap(_forceLongPolling, true);\nexport const forceWebSockets = ɵzoneWrap(_forceWebSockets, true);\nexport const get = ɵzoneWrap(_get, true);\nexport const getDatabase = ɵzoneWrap(_getDatabase, true);\nexport const goOffline = ɵzoneWrap(_goOffline, true);\nexport const goOnline = ɵzoneWrap(_goOnline, true);\nexport const increment = ɵzoneWrap(_increment, true);\nexport const limitToFirst = ɵzoneWrap(_limitToFirst, true);\nexport const limitToLast = ɵzoneWrap(_limitToLast, true);\nexport const off = ɵzoneWrap(_off, true);\nexport const onChildAdded = ɵzoneWrap(_onChildAdded, true);\nexport const onChildChanged = ɵzoneWrap(_onChildChanged, true);\nexport const onChildMoved = ɵzoneWrap(_onChildMoved, true);\nexport const onChildRemoved = ɵzoneWrap(_onChildRemoved, true);\nexport const onDisconnect = ɵzoneWrap(_onDisconnect, true);\nexport const onValue = ɵzoneWrap(_onValue, true);\nexport const orderByChild = ɵzoneWrap(_orderByChild, true);\nexport const orderByKey = ɵzoneWrap(_orderByKey, true);\nexport const orderByPriority = ɵzoneWrap(_orderByPriority, true);\nexport const orderByValue = ɵzoneWrap(_orderByValue, true);\nexport const push = ɵzoneWrap(_push, true);\nexport const query = ɵzoneWrap(_query, true);\nexport const ref = ɵzoneWrap(_ref, true);\nexport const refFromURL = ɵzoneWrap(_refFromURL, true);\nexport const remove = ɵzoneWrap(_remove, true);\nexport const runTransaction = ɵzoneWrap(_runTransaction, true);\nexport const serverTimestamp = ɵzoneWrap(_serverTimestamp, true);\nexport const set = ɵzoneWrap(_set, true);\nexport const setPriority = ɵzoneWrap(_setPriority, true);\nexport const setWithPriority = ɵzoneWrap(_setWithPriority, true);\nexport const startAfter = ɵzoneWrap(_startAfter, true);\nexport const startAt = ɵzoneWrap(_startAt, true);\nexport const update = ɵzoneWrap(_update, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_fromRef","_stateChanges","_list","_listVal","_auditTrail","_object","_objectVal","_changeToData","_child","_connectDatabaseEmulator","_enableLogging","_endAt","_endBefore","_equalTo","_forceLongPolling","_forceWebSockets","_get","_getDatabase","_goOffline","_goOnline","_increment","_limitToFirst","_limitToLast","_off","_onChildAdded","_onChildChanged","_onChildMoved","_onChildRemoved","_onDisconnect","_onValue","_orderByChild","_orderByKey","_orderByPriority","_orderByValue","_push","_query","_ref","_refFromURL","_remove","_runTransaction","_serverTimestamp","_set","_setPriority","_setWithPriority","_startAfter","_startAt","_update"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-firestore-lite.js","sources":["../../../src/firestore/lite/lite.ts","../../../src/firestore/lite/lite.module.ts","../../../src/firestore/lite/rxfire.ts","../../../src/firestore/lite/firebase.ts","../../../src/firestore/lite/angular-fire-firestore-lite.ts"],"sourcesContent":["import { Firestore as FirebaseFirestore } from 'firebase/firestore/lite';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Firestore extends FirebaseFirestore {}\n\nexport class Firestore {\n constructor(firestore: FirebaseFirestore) {\n return firestore;\n }\n}\n\nexport const FIRESTORE_PROVIDER_NAME = 'firestore/lite';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirestoreInstances extends Array<FirebaseFirestore> {}\n\nexport class FirestoreInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME);\n }\n}\n\nexport const firestoreInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { Firestore as FirebaseFirestore } from 'firebase/firestore/lite';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Firestore, FirestoreInstances, FIRESTORE_PROVIDER_NAME } from './lite';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken<Firestore[]>('angularfire2.firestore-lite-instances');\n\nexport function defaultFirestoreInstanceFactory(provided: FirebaseFirestore[]|undefined, defaultApp: FirebaseApp) {\n const defaultFirestore = ɵgetDefaultInstanceOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME, provided, defaultApp);\n return defaultFirestore && new Firestore(defaultFirestore);\n}\n\nexport function firestoreInstanceFactory(fn: (injector: Injector) => FirebaseFirestore) {\n return (zone: NgZone, injector: Injector) => {\n const firestore = zone.runOutsideAngular(() => fn(injector));\n return new Firestore(firestore);\n };\n}\n\nconst FIRESTORE_INSTANCES_PROVIDER = {\n provide: FirestoreInstances,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FIRESTORE_INSTANCE_PROVIDER = {\n provide: Firestore,\n useFactory: defaultFirestoreInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FIRESTORE_INSTANCE_PROVIDER,\n FIRESTORE_INSTANCES_PROVIDER,\n ]\n})\nexport class FirestoreModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'lite');\n }\n}\n\nexport function provideFirestore(fn: (injector: Injector) => FirebaseFirestore, ...deps: any[]): ModuleWithProviders<FirestoreModule> {\n return {\n ngModule: FirestoreModule,\n providers: [{\n provide: PROVIDED_FIRESTORE_INSTANCES,\n useFactory: firestoreInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Firestore+Auth work better if Auth is loaded first\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n collection as _collection,\n collectionData as _collectionData,\n doc as _doc,\n docData as _docData,\n snapToData as _snapToData,\n fromRef as _fromRef\n} from 'rxfire/firestore/lite';\n\nexport const collectionSnapshots = ɵzoneWrap(_collection, true);\nexport const collectionData = ɵzoneWrap(_collectionData, true);\nexport const docSnapshots = ɵzoneWrap(_doc, true);\nexport const docData = ɵzoneWrap(_docData, true);\nexport const snapToData = ɵzoneWrap(_snapToData, true);\nexport const fromRef = ɵzoneWrap(_fromRef, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/firestore/lite';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n addDoc as _addDoc,\n arrayRemove as _arrayRemove,\n arrayUnion as _arrayUnion,\n collection as _collection,\n collectionGroup as _collectionGroup,\n connectFirestoreEmulator as _connectFirestoreEmulator,\n deleteDoc as _deleteDoc,\n deleteField as _deleteField,\n doc as _doc,\n documentId as _documentId,\n endAt as _endAt,\n endBefore as _endBefore,\n getDoc as _getDoc,\n getDocs as _getDocs,\n getFirestore as _getFirestore,\n increment as _increment,\n initializeFirestore as _initializeFirestore,\n limit as _limit,\n limitToLast as _limitToLast,\n orderBy as _orderBy,\n query as _query,\n queryEqual as _queryEqual,\n refEqual as _refEqual,\n runTransaction as _runTransaction,\n serverTimestamp as _serverTimestamp,\n setDoc as _setDoc,\n setLogLevel as _setLogLevel,\n snapshotEqual as _snapshotEqual,\n startAfter as _startAfter,\n startAt as _startAt,\n terminate as _terminate,\n updateDoc as _updateDoc,\n where as _where,\n writeBatch as _writeBatch\n} from 'firebase/firestore/lite';\n\nexport const addDoc = ɵzoneWrap(_addDoc, true);\nexport const arrayRemove = ɵzoneWrap(_arrayRemove, true);\nexport const arrayUnion = ɵzoneWrap(_arrayUnion, true);\nexport const collection = ɵzoneWrap(_collection, true);\nexport const collectionGroup = ɵzoneWrap(_collectionGroup, true);\nexport const connectFirestoreEmulator = ɵzoneWrap(_connectFirestoreEmulator, true);\nexport const deleteDoc = ɵzoneWrap(_deleteDoc, true);\nexport const deleteField = ɵzoneWrap(_deleteField, true);\nexport const doc = ɵzoneWrap(_doc, true);\nexport const documentId = ɵzoneWrap(_documentId, true);\nexport const endAt = ɵzoneWrap(_endAt, true);\nexport const endBefore = ɵzoneWrap(_endBefore, true);\nexport const getDoc = ɵzoneWrap(_getDoc, true);\nexport const getDocs = ɵzoneWrap(_getDocs, true);\nexport const getFirestore = ɵzoneWrap(_getFirestore, true);\nexport const increment = ɵzoneWrap(_increment, true);\nexport const initializeFirestore = ɵzoneWrap(_initializeFirestore, true);\nexport const limit = ɵzoneWrap(_limit, true);\nexport const limitToLast = ɵzoneWrap(_limitToLast, true);\nexport const orderBy = ɵzoneWrap(_orderBy, true);\nexport const query = ɵzoneWrap(_query, true);\nexport const queryEqual = ɵzoneWrap(_queryEqual, true);\nexport const refEqual = ɵzoneWrap(_refEqual, true);\nexport const runTransaction = ɵzoneWrap(_runTransaction, true);\nexport const serverTimestamp = ɵzoneWrap(_serverTimestamp, true);\nexport const setDoc = ɵzoneWrap(_setDoc, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\nexport const snapshotEqual = ɵzoneWrap(_snapshotEqual, true);\nexport const startAfter = ɵzoneWrap(_startAfter, true);\nexport const startAt = ɵzoneWrap(_startAt, true);\nexport const terminate = ɵzoneWrap(_terminate, true);\nexport const updateDoc = ɵzoneWrap(_updateDoc, true);\nexport const where = ɵzoneWrap(_where, true);\nexport const writeBatch = ɵzoneWrap(_writeBatch, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_collection","_collectionData","_doc","_docData","_snapToData","_fromRef","_addDoc","_arrayRemove","_arrayUnion","_collectionGroup","_connectFirestoreEmulator","_deleteDoc","_deleteField","_documentId","_endAt","_endBefore","_getDoc","_getDocs","_getFirestore","_increment","_initializeFirestore","_limit","_limitToLast","_orderBy","_query","_queryEqual","_refEqual","_runTransaction","_serverTimestamp","_setDoc","_setLogLevel","_snapshotEqual","_startAfter","_startAt","_terminate","_updateDoc","_where","_writeBatch"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-firestore.js","sources":["../../../src/firestore/firestore.ts","../../../src/firestore/firestore.module.ts","../../../src/firestore/rxfire.ts","../../../src/firestore/firebase.ts","../../../src/firestore/angular-fire-firestore.ts"],"sourcesContent":["import { Firestore as FirebaseFirestore } from 'firebase/firestore';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Firestore extends FirebaseFirestore {}\n\nexport class Firestore {\n constructor(firestore: FirebaseFirestore) {\n return firestore;\n }\n}\n\nexport const FIRESTORE_PROVIDER_NAME = 'firestore';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirestoreInstances extends Array<FirebaseFirestore> {}\n\nexport class FirestoreInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME);\n }\n}\n\nexport const firestoreInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { Firestore as FirebaseFirestore } from 'firebase/firestore';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Firestore, FirestoreInstances, FIRESTORE_PROVIDER_NAME } from './firestore';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken<Firestore[]>('angularfire2.firestore-instances');\n\nexport function defaultFirestoreInstanceFactory(provided: FirebaseFirestore[]|undefined, defaultApp: FirebaseApp) {\n const defaultFirestore = ɵgetDefaultInstanceOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME, provided, defaultApp);\n return defaultFirestore && new Firestore(defaultFirestore);\n}\n\nexport function firestoreInstanceFactory(fn: (injector: Injector) => FirebaseFirestore) {\n return (zone: NgZone, injector: Injector) => {\n const firestore = zone.runOutsideAngular(() => fn(injector));\n return new Firestore(firestore);\n };\n}\n\nconst FIRESTORE_INSTANCES_PROVIDER = {\n provide: FirestoreInstances,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FIRESTORE_INSTANCE_PROVIDER = {\n provide: Firestore,\n useFactory: defaultFirestoreInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FIRESTORE_INSTANCE_PROVIDER,\n FIRESTORE_INSTANCES_PROVIDER,\n ]\n})\nexport class FirestoreModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fst');\n }\n}\n\nexport function provideFirestore(fn: (injector: Injector) => FirebaseFirestore, ...deps: any[]): ModuleWithProviders<FirestoreModule> {\n return {\n ngModule: FirestoreModule,\n providers: [{\n provide: PROVIDED_FIRESTORE_INSTANCES,\n useFactory: firestoreInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Firestore+Auth work better if Auth is loaded first\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n collectionChanges as _collectionChanges,\n collection as _collection,\n sortedChanges as _sortedChanges,\n auditTrail as _auditTrail,\n collectionData as _collectionData,\n doc as _doc,\n docData as _docData,\n snapToData as _snapToData,\n fromRef as _fromRef\n} from 'rxfire/firestore';\n\nexport const collectionChanges = ɵzoneWrap(_collectionChanges, true);\nexport const collectionSnapshots = ɵzoneWrap(_collection, true);\nexport const sortedChanges = ɵzoneWrap(_sortedChanges, true);\nexport const auditTrail = ɵzoneWrap(_auditTrail, true);\nexport const collectionData = ɵzoneWrap(_collectionData, true);\nexport const docSnapshots = ɵzoneWrap(_doc, true);\nexport const docData = ɵzoneWrap(_docData, true);\nexport const snapToData = ɵzoneWrap(_snapToData, true);\nexport const fromRef = ɵzoneWrap(_fromRef, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/firestore';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n addDoc as _addDoc,\n arrayRemove as _arrayRemove,\n arrayUnion as _arrayUnion,\n clearIndexedDbPersistence as _clearIndexedDbPersistence,\n collection as _collection,\n collectionGroup as _collectionGroup,\n connectFirestoreEmulator as _connectFirestoreEmulator,\n deleteDoc as _deleteDoc,\n deleteField as _deleteField,\n disableNetwork as _disableNetwork,\n doc as _doc,\n documentId as _documentId,\n enableIndexedDbPersistence as _enableIndexedDbPersistence,\n enableMultiTabIndexedDbPersistence as _enableMultiTabIndexedDbPersistence,\n enableNetwork as _enableNetwork,\n endAt as _endAt,\n endBefore as _endBefore,\n getDoc as _getDoc,\n getDocFromCache as _getDocFromCache,\n getDocFromServer as _getDocFromServer,\n getDocs as _getDocs,\n getDocsFromCache as _getDocsFromCache,\n getDocsFromServer as _getDocsFromServer,\n getFirestore as _getFirestore,\n increment as _increment,\n initializeFirestore as _initializeFirestore,\n limit as _limit,\n limitToLast as _limitToLast,\n loadBundle as _loadBundle,\n namedQuery as _namedQuery,\n onSnapshot as _onSnapshot,\n onSnapshotsInSync as _onSnapshotsInSync,\n orderBy as _orderBy,\n query as _query,\n queryEqual as _queryEqual,\n refEqual as _refEqual,\n runTransaction as _runTransaction,\n serverTimestamp as _serverTimestamp,\n setDoc as _setDoc,\n setLogLevel as _setLogLevel,\n snapshotEqual as _snapshotEqual,\n startAfter as _startAfter,\n startAt as _startAt,\n terminate as _terminate,\n updateDoc as _updateDoc,\n waitForPendingWrites as _waitForPendingWrites,\n where as _where,\n writeBatch as _writeBatch\n} from 'firebase/firestore';\n\nexport const addDoc = ɵzoneWrap(_addDoc, true);\nexport const arrayRemove = ɵzoneWrap(_arrayRemove, true);\nexport const arrayUnion = ɵzoneWrap(_arrayUnion, true);\nexport const clearIndexedDbPersistence = ɵzoneWrap(_clearIndexedDbPersistence, true);\nexport const collection = ɵzoneWrap(_collection, true);\nexport const collectionGroup = ɵzoneWrap(_collectionGroup, true);\nexport const connectFirestoreEmulator = ɵzoneWrap(_connectFirestoreEmulator, true);\nexport const deleteDoc = ɵzoneWrap(_deleteDoc, true);\nexport const deleteField = ɵzoneWrap(_deleteField, true);\nexport const disableNetwork = ɵzoneWrap(_disableNetwork, true);\nexport const doc = ɵzoneWrap(_doc, true);\nexport const documentId = ɵzoneWrap(_documentId, true);\nexport const enableIndexedDbPersistence = ɵzoneWrap(_enableIndexedDbPersistence, true);\nexport const enableMultiTabIndexedDbPersistence = ɵzoneWrap(_enableMultiTabIndexedDbPersistence, true);\nexport const enableNetwork = ɵzoneWrap(_enableNetwork, true);\nexport const endAt = ɵzoneWrap(_endAt, true);\nexport const endBefore = ɵzoneWrap(_endBefore, true);\nexport const getDoc = ɵzoneWrap(_getDoc, true);\nexport const getDocFromCache = ɵzoneWrap(_getDocFromCache, true);\nexport const getDocFromServer = ɵzoneWrap(_getDocFromServer, true);\nexport const getDocs = ɵzoneWrap(_getDocs, true);\nexport const getDocsFromCache = ɵzoneWrap(_getDocsFromCache, true);\nexport const getDocsFromServer = ɵzoneWrap(_getDocsFromServer, true);\nexport const getFirestore = ɵzoneWrap(_getFirestore, true);\nexport const increment = ɵzoneWrap(_increment, true);\nexport const initializeFirestore = ɵzoneWrap(_initializeFirestore, true);\nexport const limit = ɵzoneWrap(_limit, true);\nexport const limitToLast = ɵzoneWrap(_limitToLast, true);\nexport const loadBundle = ɵzoneWrap(_loadBundle, true);\nexport const namedQuery = ɵzoneWrap(_namedQuery, true);\nexport const onSnapshot = ɵzoneWrap(_onSnapshot, true);\nexport const onSnapshotsInSync = ɵzoneWrap(_onSnapshotsInSync, true);\nexport const orderBy = ɵzoneWrap(_orderBy, true);\nexport const query = ɵzoneWrap(_query, true);\nexport const queryEqual = ɵzoneWrap(_queryEqual, true);\nexport const refEqual = ɵzoneWrap(_refEqual, true);\nexport const runTransaction = ɵzoneWrap(_runTransaction, true);\nexport const serverTimestamp = ɵzoneWrap(_serverTimestamp, true);\nexport const setDoc = ɵzoneWrap(_setDoc, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\nexport const snapshotEqual = ɵzoneWrap(_snapshotEqual, true);\nexport const startAfter = ɵzoneWrap(_startAfter, true);\nexport const startAt = ɵzoneWrap(_startAt, true);\nexport const terminate = ɵzoneWrap(_terminate, true);\nexport const updateDoc = ɵzoneWrap(_updateDoc, true);\nexport const waitForPendingWrites = ɵzoneWrap(_waitForPendingWrites, true);\nexport const where = ɵzoneWrap(_where, true);\nexport const writeBatch = ɵzoneWrap(_writeBatch, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_collectionChanges","_collection","_sortedChanges","_auditTrail","_collectionData","_doc","_docData","_snapToData","_fromRef","_addDoc","_arrayRemove","_arrayUnion","_clearIndexedDbPersistence","_collectionGroup","_connectFirestoreEmulator","_deleteDoc","_deleteField","_disableNetwork","_documentId","_enableIndexedDbPersistence","_enableMultiTabIndexedDbPersistence","_enableNetwork","_endAt","_endBefore","_getDoc","_getDocFromCache","_getDocFromServer","_getDocs","_getDocsFromCache","_getDocsFromServer","_getFirestore","_increment","_initializeFirestore","_limit","_limitToLast","_loadBundle","_namedQuery","_onSnapshot","_onSnapshotsInSync","_orderBy","_query","_queryEqual","_refEqual","_runTransaction","_serverTimestamp","_setDoc","_setLogLevel","_snapshotEqual","_startAfter","_startAt","_terminate","_updateDoc","_waitForPendingWrites","_where","_writeBatch"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-functions.js","sources":["../../../src/functions/functions.ts","../../../src/functions/functions.module.ts","../../../src/functions/rxfire.ts","../../../src/functions/firebase.ts","../../../src/functions/angular-fire-functions.ts"],"sourcesContent":["import { Functions as FirebaseFunctions } from 'firebase/functions';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Functions extends FirebaseFunctions {}\n\nexport class Functions {\n constructor(functions: FirebaseFunctions) {\n return functions;\n }\n}\n\nexport const FUNCTIONS_PROVIDER_NAME = 'functions';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FunctionsInstances extends Array<FirebaseFunctions> {}\n\nexport class FunctionsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME);\n }\n}\n\nexport const functionInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { Functions as FirebaseFunctions } from 'firebase/functions';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Functions, FunctionsInstances, FUNCTIONS_PROVIDER_NAME } from './functions';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_FUNCTIONS_INSTANCES = new InjectionToken<Functions[]>('angularfire2.functions-instances');\n\nexport function defaultFunctionsInstanceFactory(provided: FirebaseFunctions[]|undefined, defaultApp: FirebaseApp) {\n const defaultAuth = ɵgetDefaultInstanceOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME, provided, defaultApp);\n return defaultAuth && new Functions(defaultAuth);\n}\n\nexport function functionsInstanceFactory(fn: (injector: Injector) => FirebaseFunctions) {\n return (zone: NgZone, injector: Injector) => {\n const functions = zone.runOutsideAngular(() => fn(injector));\n return new Functions(functions);\n };\n}\n\nconst FUNCTIONS_INSTANCES_PROVIDER = {\n provide: FunctionsInstances,\n deps: [\n [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FUNCTIONS_INSTANCE_PROVIDER = {\n provide: Functions,\n useFactory: defaultFunctionsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FUNCTIONS_INSTANCE_PROVIDER,\n FUNCTIONS_INSTANCES_PROVIDER,\n ]\n})\nexport class FunctionsModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fn');\n }\n}\n\nexport function provideFunctions(fn: (injector: Injector) => FirebaseFunctions, ...deps: any[]): ModuleWithProviders<FunctionsModule> {\n return {\n ngModule: FunctionsModule,\n providers: [{\n provide: PROVIDED_FUNCTIONS_INSTANCES,\n useFactory: functionsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Defensively load Auth first, if provided\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n httpsCallable as _httpsCallable\n} from 'rxfire/functions';\n\nexport const httpsCallableData = ɵzoneWrap(_httpsCallable, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/functions';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n connectFunctionsEmulator as _connectFunctionsEmulator,\n getFunctions as _getFunctions,\n httpsCallable as _httpsCallable,\n httpsCallableFromURL as _httpsCallableFromURL\n} from 'firebase/functions';\n\nexport const connectFunctionsEmulator = ɵzoneWrap(_connectFunctionsEmulator, true);\nexport const getFunctions = ɵzoneWrap(_getFunctions, true);\nexport const httpsCallable = ɵzoneWrap(_httpsCallable, true);\nexport const httpsCallableFromURL = ɵzoneWrap(_httpsCallableFromURL, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_httpsCallable","_connectFunctionsEmulator","_getFunctions","_httpsCallableFromURL"],"mappings":";;;;;;;;;;;;;MASa,SAAS;IACpB,YAAY,SAA4B;QACtC,OAAO,SAAS,CAAC;KAClB;CACF;AAEM,MAAM,uBAAuB,GAAG,WAAW,CAAC;MAKtC,kBAAkB;IAC7B;QACE,OAAO,kBAAkB,CAAoB,uBAAuB,CAAC,CAAC;KACvE;CACF;MAEY,iBAAiB,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CACjD,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAoB,uBAAuB,CAAC,CAAC,CAAC,EACrF,QAAQ,EAAE;;ACnBL,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAAc,kCAAkC,CAAC,CAAC;SAEhG,+BAA+B,CAAC,QAAuC,EAAE,UAAuB;IAC9G,MAAM,WAAW,GAAG,qBAAqB,CAAoB,uBAAuB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5G,OAAO,WAAW,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;SAEe,wBAAwB,CAAC,EAA6C;IACpF,OAAO,CAAC,IAAY,EAAE,QAAkB;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;KAChD;CACF,CAAC;AAEF,MAAM,mCAAmC,GAAG;IAC1C,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,+BAA+B;IAC3C,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;QAC/C,WAAW;KACZ;CACF,CAAC;MAQW,eAAe;IAC1B;QACE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpD;;4GAHU,eAAe;6GAAf,eAAe;6GAAf,eAAe,aALf;QACT,mCAAmC;QACnC,4BAA4B;KAC7B;2FAEU,eAAe;kBAN3B,QAAQ;mBAAC;oBACR,SAAS,EAAE;wBACT,mCAAmC;wBACnC,4BAA4B;qBAC7B;iBACF;;SAOe,gBAAgB,CAAC,EAA6C,EAAE,GAAG,IAAW;IAC5F,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,CAAC;gBACV,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,wBAAwB,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,MAAM;oBACN,QAAQ;oBACR,sBAAsB;oBACtB,YAAY;;oBAEZ,CAAC,IAAI,QAAQ,EAAE,EAAE,aAAa,CAAE;oBAChC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAE;oBACpC,GAAG,IAAI;iBACR;aACF,CAAC;KACH,CAAC;AACJ;;ACtEA;MAMa,iBAAiB,GAAG,SAAS,CAACA,eAAc,EAAE,IAAI;;ACN/D;MAUa,wBAAwB,GAAG,SAAS,CAACC,0BAAyB,EAAE,IAAI,EAAE;MACtE,YAAY,GAAG,SAAS,CAACC,cAAa,EAAE,IAAI,EAAE;MAC9C,aAAa,GAAG,SAAS,CAACF,eAAc,EAAE,IAAI,EAAE;MAChD,oBAAoB,GAAG,SAAS,CAACG,sBAAqB,EAAE,IAAI;;ACbzE;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-messaging.js","sources":["../../../src/messaging/messaging.ts","../../../src/messaging/messaging.module.ts","../../../src/messaging/overrides.ts","../../../src/messaging/firebase.ts","../../../src/messaging/angular-fire-messaging.ts"],"sourcesContent":["import { Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Messaging extends FirebaseMessaging {}\n\nexport class Messaging {\n constructor(messaging: FirebaseMessaging) {\n return messaging;\n }\n}\n\nexport const MESSAGING_PROVIDER_NAME = 'messaging';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface MessagingInstances extends Array<FirebaseMessaging> {}\n\nexport class MessagingInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME);\n }\n}\n\nexport const messagingInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector, APP_INITIALIZER } from '@angular/core';\nimport { Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION, ɵisMessagingSupportedFactory } from '@angular/fire';\nimport { Messaging, MessagingInstances, MESSAGING_PROVIDER_NAME } from './messaging';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nconst PROVIDED_MESSAGING_INSTANCES = new InjectionToken<Messaging[]>('angularfire2.messaging-instances');\n\nexport function defaultMessagingInstanceFactory(provided: FirebaseMessaging[]|undefined, defaultApp: FirebaseApp) {\n if (!ɵisMessagingSupportedFactory.sync()) { return null; }\n const defaultMessaging = ɵgetDefaultInstanceOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME, provided, defaultApp);\n return defaultMessaging && new Messaging(defaultMessaging);\n}\n\nexport function messagingInstanceFactory(fn: (injector: Injector) => FirebaseMessaging) {\n return (zone: NgZone, injector: Injector) => {\n if (!ɵisMessagingSupportedFactory.sync()) { return null; }\n const messaging = zone.runOutsideAngular(() => fn(injector));\n return new Messaging(messaging);\n };\n}\n\nconst MESSAGING_INSTANCES_PROVIDER = {\n provide: MessagingInstances,\n deps: [\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n ]\n};\n\nconst DEFAULT_MESSAGING_INSTANCE_PROVIDER = {\n provide: Messaging,\n useFactory: defaultMessagingInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_MESSAGING_INSTANCE_PROVIDER,\n MESSAGING_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: ɵisMessagingSupportedFactory.async,\n multi: true,\n },\n ]\n})\nexport class MessagingModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fcm');\n }\n}\n\nexport function provideMessaging(fn: (injector: Injector) => FirebaseMessaging, ...deps: any[]): ModuleWithProviders<MessagingModule> {\n return {\n ngModule: MessagingModule,\n providers: [{\n provide: PROVIDED_MESSAGING_INSTANCES,\n useFactory: messagingInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n }]\n };\n}\n","import { ɵisMessagingSupportedFactory } from '@angular/fire';\n\nexport const isSupported = ɵisMessagingSupportedFactory.async;\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/messaging';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n deleteToken as _deleteToken,\n getMessaging as _getMessaging,\n getToken as _getToken,\n onMessage as _onMessage\n} from 'firebase/messaging';\n\nexport {\n isSupported\n} from './overrides';\n\nexport const deleteToken = ɵzoneWrap(_deleteToken, true);\nexport const getMessaging = ɵzoneWrap(_getMessaging, true);\nexport const getToken = ɵzoneWrap(_getToken, true);\nexport const onMessage = ɵzoneWrap(_onMessage, false);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_deleteToken","_getMessaging","_getToken","_onMessage"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-performance.js","sources":["../../../src/performance/performance.ts","../../../src/performance/performance.module.ts","../../../src/performance/rxfire.ts","../../../src/performance/firebase.ts","../../../src/performance/angular-fire-performance.ts"],"sourcesContent":["import { FirebasePerformance } from 'firebase/performance';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Performance extends FirebasePerformance {}\n\nexport class Performance {\n constructor(performance: FirebasePerformance) {\n return performance;\n }\n}\n\nexport const PERFORMANCE_PROVIDER_NAME = 'performance';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface PerformanceInstances extends Array<FirebasePerformance> {}\n\nexport class PerformanceInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME);\n }\n}\n\nexport const performanceInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, PLATFORM_ID, Injector } from '@angular/core';\nimport { FirebasePerformance } from 'firebase/performance';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Performance, PerformanceInstances, PERFORMANCE_PROVIDER_NAME } from './performance';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { isPlatformBrowser } from '@angular/common';\n\nexport const PROVIDED_PERFORMANCE_INSTANCES = new InjectionToken<Performance[]>('angularfire2.performance-instances');\n\nexport function defaultPerformanceInstanceFactory(\n provided: FirebasePerformance[]|undefined,\n defaultApp: FirebaseApp,\n // tslint:disable-next-line:ban-types\n platform: Object\n) {\n if (!isPlatformBrowser(platform)) { return null; }\n const defaultPerformance = ɵgetDefaultInstanceOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME, provided, defaultApp);\n return defaultPerformance && new Performance(defaultPerformance);\n}\n\nexport function performanceInstanceFactory(fn: (injector: Injector) => FirebasePerformance) {\n // tslint:disable-next-line:ban-types\n return (zone: NgZone, platform: Object, injector: Injector) => {\n if (!isPlatformBrowser(platform)) { return null; }\n const performance = zone.runOutsideAngular(() => fn(injector));\n return new Performance(performance);\n };\n}\n\nconst PERFORMANCE_INSTANCES_PROVIDER = {\n provide: PerformanceInstances,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_PERFORMANCE_INSTANCE_PROVIDER = {\n provide: Performance,\n useFactory: defaultPerformanceInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_PERFORMANCE_INSTANCE_PROVIDER,\n PERFORMANCE_INSTANCES_PROVIDER,\n ]\n})\nexport class PerformanceModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'perf');\n }\n}\n\nexport function providePerformance(\n fn: (injector: Injector) => FirebasePerformance, ...deps: any[]\n): ModuleWithProviders<PerformanceModule> {\n return {\n ngModule: PerformanceModule,\n providers: [{\n provide: PROVIDED_PERFORMANCE_INSTANCES,\n useFactory: performanceInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n PLATFORM_ID,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n traceUntil as _traceUntil,\n traceWhile as _traceWhile,\n traceUntilComplete as _traceUntilComplete,\n traceUntilFirst as _traceUntilFirst\n} from 'rxfire/performance';\n\nexport const traceUntil = ɵzoneWrap(_traceUntil, true);\nexport const traceWhile = ɵzoneWrap(_traceWhile, true);\nexport const traceUntilComplete = ɵzoneWrap(_traceUntilComplete, true);\nexport const traceUntilFirst = ɵzoneWrap(_traceUntilFirst, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/performance';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getPerformance as _getPerformance,\n initializePerformance as _initializePerformance,\n trace as _trace\n} from 'firebase/performance';\n\nexport const getPerformance = ɵzoneWrap(_getPerformance, true);\nexport const initializePerformance = ɵzoneWrap(_initializePerformance, true);\nexport const trace = ɵzoneWrap(_trace, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_traceUntil","_traceWhile","_traceUntilComplete","_traceUntilFirst","_getPerformance","_initializePerformance","_trace"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-remote-config.js","sources":["../../../src/remote-config/remote-config.ts","../../../src/remote-config/remote-config.module.ts","../../../src/remote-config/rxfire.ts","../../../src/remote-config/overrides.ts","../../../src/remote-config/firebase.ts","../../../src/remote-config/angular-fire-remote-config.ts"],"sourcesContent":["import { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface RemoteConfig extends FirebaseRemoteConfig {}\n\nexport class RemoteConfig {\n constructor(remoteConfig: FirebaseRemoteConfig) {\n return remoteConfig;\n }\n}\n\nexport const REMOTE_CONFIG_PROVIDER_NAME = 'remote-config';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface RemoteConfigInstances extends Array<FirebaseRemoteConfig> {}\n\nexport class RemoteConfigInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME);\n }\n}\n\nexport const remoteConfigInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector, APP_INITIALIZER } from '@angular/core';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION, ɵisRemoteConfigSupportedFactory } from '@angular/fire';\nimport { RemoteConfig, RemoteConfigInstances, REMOTE_CONFIG_PROVIDER_NAME } from './remote-config';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nexport const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken<RemoteConfig[]>('angularfire2.remote-config-instances');\n\nexport function defaultRemoteConfigInstanceFactory(\n provided: FirebaseRemoteConfig[]|undefined,\n defaultApp: FirebaseApp,\n) {\n if (!ɵisRemoteConfigSupportedFactory.sync()) { return null; }\n const defaultRemoteConfig = ɵgetDefaultInstanceOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);\n return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);\n}\n\nexport function remoteConfigInstanceFactory(fn: (injector: Injector) => FirebaseRemoteConfig) {\n return (zone: NgZone, injector: Injector) => {\n if (!ɵisRemoteConfigSupportedFactory.sync()) { return null; }\n const remoteConfig = zone.runOutsideAngular(() => fn(injector));\n return new RemoteConfig(remoteConfig);\n };\n}\n\nconst REMOTE_CONFIG_INSTANCES_PROVIDER = {\n provide: RemoteConfigInstances,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n ]\n};\n\nconst DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {\n provide: RemoteConfig,\n useFactory: defaultRemoteConfigInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: ɵisRemoteConfigSupportedFactory.async,\n multi: true,\n },\n ]\n})\nexport class RemoteConfigModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'rc');\n }\n}\n\nexport function provideRemoteConfig(\n fn: (injector: Injector) => FirebaseRemoteConfig, ...deps: any[]\n): ModuleWithProviders<RemoteConfigModule> {\n return {\n ngModule: RemoteConfigModule,\n providers: [{\n provide: PROVIDED_REMOTE_CONFIG_INSTANCES,\n useFactory: remoteConfigInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getValue as _getValue,\n getString as _getString,\n getNumber as _getNumber,\n getBoolean as _getBoolean,\n getAll as _getAll\n} from 'rxfire/remote-config';\n\nexport const getValueChanges = ɵzoneWrap(_getValue, true);\nexport const getStringChanges = ɵzoneWrap(_getString, true);\nexport const getNumberChanges = ɵzoneWrap(_getNumber, true);\nexport const getBooleanChanges = ɵzoneWrap(_getBoolean, true);\nexport const getAllChanges = ɵzoneWrap(_getAll, true);\n","import { ɵisRemoteConfigSupportedFactory } from '@angular/fire';\n\nexport const isSupported = ɵisRemoteConfigSupportedFactory.async;\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/remote-config';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n activate as _activate,\n ensureInitialized as _ensureInitialized,\n fetchAndActivate as _fetchAndActivate,\n fetchConfig as _fetchConfig,\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getRemoteConfig as _getRemoteConfig,\n getString as _getString,\n getValue as _getValue,\n setLogLevel as _setLogLevel\n} from 'firebase/remote-config';\n\nexport {\n isSupported\n} from './overrides';\n\nexport const activate = ɵzoneWrap(_activate, true);\nexport const ensureInitialized = ɵzoneWrap(_ensureInitialized, true);\nexport const fetchAndActivate = ɵzoneWrap(_fetchAndActivate, true);\nexport const fetchConfig = ɵzoneWrap(_fetchConfig, true);\nexport const getAll = ɵzoneWrap(_getAll, true);\nexport const getBoolean = ɵzoneWrap(_getBoolean, true);\nexport const getNumber = ɵzoneWrap(_getNumber, true);\nexport const getRemoteConfig = ɵzoneWrap(_getRemoteConfig, true);\nexport const getString = ɵzoneWrap(_getString, true);\nexport const getValue = ɵzoneWrap(_getValue, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_getValue","_getString","_getNumber","_getBoolean","_getAll","_activate","_ensureInitialized","_fetchAndActivate","_fetchConfig","_getRemoteConfig","_setLogLevel"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-storage.js","sources":["../../../src/storage/storage.ts","../../../src/storage/storage.module.ts","../../../src/storage/rxfire.ts","../../../src/storage/firebase.ts","../../../src/storage/angular-fire-storage.ts"],"sourcesContent":["import { FirebaseStorage } from 'firebase/storage';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Storage extends FirebaseStorage {}\n\nexport class Storage {\n constructor(auth: FirebaseStorage) {\n return auth;\n }\n}\n\nexport const STORAGE_PROVIDER_NAME = 'storage';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface StorageInstances extends Array<FirebaseStorage> {}\n\nexport class StorageInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseStorage>(STORAGE_PROVIDER_NAME);\n }\n}\n\nexport const storageInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseStorage>(STORAGE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { FirebaseStorage } from 'firebase/storage';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Storage, StorageInstances, STORAGE_PROVIDER_NAME } from './storage';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_STORAGE_INSTANCES = new InjectionToken<Storage[]>('angularfire2.storage-instances');\n\nexport function defaultStorageInstanceFactory(provided: FirebaseStorage[]|undefined, defaultApp: FirebaseApp) {\n const defaultStorage = ɵgetDefaultInstanceOf<FirebaseStorage>(STORAGE_PROVIDER_NAME, provided, defaultApp);\n return defaultStorage && new Storage(defaultStorage);\n}\n\nexport function storageInstanceFactory(fn: (injector: Injector) => FirebaseStorage) {\n return (zone: NgZone, injector: Injector) => {\n const storage = zone.runOutsideAngular(() => fn(injector));\n return new Storage(storage);\n };\n}\n\nconst STORAGE_INSTANCES_PROVIDER = {\n provide: StorageInstances,\n deps: [\n [new Optional(), PROVIDED_STORAGE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_STORAGE_INSTANCE_PROVIDER = {\n provide: Storage,\n useFactory: defaultStorageInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_STORAGE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_STORAGE_INSTANCE_PROVIDER,\n STORAGE_INSTANCES_PROVIDER,\n ]\n})\nexport class StorageModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'gcs');\n }\n}\n\nexport function provideStorage(fn: (injector: Injector) => FirebaseStorage, ...deps: any[]): ModuleWithProviders<StorageModule> {\n return {\n ngModule: StorageModule,\n providers: [{\n provide: PROVIDED_STORAGE_INSTANCES,\n useFactory: storageInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Defensively load Auth first, if provided\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n fromTask as _fromTask,\n percentage as _percentage\n} from 'rxfire/storage';\n\nexport const fromTask = ɵzoneWrap(_fromTask, true);\nexport const percentage = ɵzoneWrap(_percentage, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/storage';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n connectStorageEmulator as _connectStorageEmulator,\n deleteObject as _deleteObject,\n getBlob as _getBlob,\n getBytes as _getBytes,\n getDownloadURL as _getDownloadURL,\n getMetadata as _getMetadata,\n getStorage as _getStorage,\n getStream as _getStream,\n list as _list,\n listAll as _listAll,\n ref as _ref,\n updateMetadata as _updateMetadata,\n uploadBytes as _uploadBytes,\n uploadBytesResumable as _uploadBytesResumable,\n uploadString as _uploadString\n} from 'firebase/storage';\n\nexport const connectStorageEmulator = ɵzoneWrap(_connectStorageEmulator, true);\nexport const deleteObject = ɵzoneWrap(_deleteObject, true);\nexport const getBlob = ɵzoneWrap(_getBlob, true);\nexport const getBytes = ɵzoneWrap(_getBytes, true);\nexport const getDownloadURL = ɵzoneWrap(_getDownloadURL, true);\nexport const getMetadata = ɵzoneWrap(_getMetadata, true);\nexport const getStorage = ɵzoneWrap(_getStorage, true);\nexport const getStream = ɵzoneWrap(_getStream, true);\nexport const list = ɵzoneWrap(_list, true);\nexport const listAll = ɵzoneWrap(_listAll, true);\nexport const ref = ɵzoneWrap(_ref, true);\nexport const updateMetadata = ɵzoneWrap(_updateMetadata, true);\nexport const uploadBytes = ɵzoneWrap(_uploadBytes, true);\nexport const uploadBytesResumable = ɵzoneWrap(_uploadBytesResumable, true);\nexport const uploadString = ɵzoneWrap(_uploadString, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_fromTask","_percentage","_connectStorageEmulator","_deleteObject","_getBlob","_getBytes","_getDownloadURL","_getMetadata","_getStorage","_getStream","_list","_listAll","_ref","_updateMetadata","_uploadBytes","_uploadBytesResumable","_uploadString"],"mappings":"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"}