@angular/fire 7.6.0 → 16.0.0-canary.1350920

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 (480) hide show
  1. package/README.md +11 -27
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +4 -1
  4. package/analytics/is-analytics-supported-factory.d.ts +4 -0
  5. package/analytics/screen-tracking.service.d.ts +3 -3
  6. package/app-check/app-check.d.ts +0 -6
  7. package/app-check/app-check.module.d.ts +3 -4
  8. package/app-check/firebase.d.ts +2 -1
  9. package/app-check/public_api.d.ts +2 -1
  10. package/auth/auth.module.d.ts +2 -2
  11. package/auth/firebase.d.ts +3 -1
  12. package/auth-guard/auth-guard.d.ts +6 -6
  13. package/compat/analytics/analytics.d.ts +1 -3
  14. package/compat/analytics/analytics.module.d.ts +1 -1
  15. package/compat/analytics/screen-tracking.service.d.ts +1 -1
  16. package/compat/analytics/user-tracking.service.d.ts +1 -1
  17. package/compat/auth/auth.d.ts +4 -4
  18. package/compat/auth-guard/auth-guard.d.ts +8 -6
  19. package/compat/database/database.d.ts +4 -4
  20. package/compat/database/interfaces.d.ts +14 -14
  21. package/compat/database/list/audit-trail.d.ts +1 -1
  22. package/compat/database/list/create-reference.d.ts +1 -1
  23. package/compat/database/list/data-operation.d.ts +1 -1
  24. package/compat/database/list/state-changes.d.ts +1 -1
  25. package/compat/database/object/create-reference.d.ts +1 -1
  26. package/compat/database/observable/fromRef.d.ts +1 -1
  27. package/compat/database/utils.d.ts +1 -1
  28. package/compat/firebase.app.module.d.ts +1 -1
  29. package/compat/firestore/collection/collection.d.ts +2 -2
  30. package/compat/firestore/collection-group/collection-group.d.ts +2 -2
  31. package/compat/firestore/document/document.d.ts +4 -4
  32. package/compat/firestore/firestore.d.ts +7 -7
  33. package/compat/firestore/interfaces.d.ts +19 -19
  34. package/compat/functions/functions.d.ts +3 -3
  35. package/compat/messaging/messaging.d.ts +2 -2
  36. package/compat/performance/performance.d.ts +2 -2
  37. package/compat/proxy.d.ts +8 -8
  38. package/compat/remote-config/interfaces.d.ts +1 -1
  39. package/compat/remote-config/remote-config.d.ts +15 -49
  40. package/compat/storage/interfaces.d.ts +8 -8
  41. package/compat/storage/observable/fromTask.d.ts +1 -2
  42. package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
  43. package/compat/storage/ref.d.ts +1 -1
  44. package/compat/storage/storage.d.ts +3 -3
  45. package/compat/storage/task.d.ts +1 -1
  46. package/core.d.ts +8 -12
  47. package/database/database.module.d.ts +2 -2
  48. package/docs/app-check.md +1 -1
  49. package/docs/auth.md +6 -6
  50. package/docs/database.md +1 -1
  51. package/docs/deploy/getting-started.md +2 -2
  52. package/docs/firestore.md +1 -1
  53. package/docs/install-and-setup.md +1 -1
  54. package/docs/install-firebase-tools.md +78 -0
  55. package/docs/universal/cloud-functions.md +27 -6
  56. package/docs/universal/getting-started.md +9 -134
  57. package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +1 -1
  58. package/esm2022/analytics/analytics.module.mjs +94 -0
  59. package/esm2022/analytics/firebase.mjs +17 -0
  60. package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
  61. package/esm2022/analytics/overrides.mjs +3 -0
  62. package/esm2022/analytics/screen-tracking.service.mjs +148 -0
  63. package/esm2022/analytics/user-tracking.service.mjs +44 -0
  64. package/{esm2015/app/app.js → esm2022/app/app.mjs} +1 -1
  65. package/esm2022/app/app.module.mjs +85 -0
  66. package/esm2022/app-check/app-check.mjs +10 -0
  67. package/esm2022/app-check/app-check.module.mjs +78 -0
  68. package/esm2022/app-check/firebase.mjs +10 -0
  69. package/esm2022/app-check/public_api.mjs +5 -0
  70. package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +1 -1
  71. package/esm2022/auth/auth.module.mjs +71 -0
  72. package/esm2022/auth/firebase.mjs +58 -0
  73. package/esm2022/auth-guard/auth-guard.mjs +53 -0
  74. package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +7 -7
  75. package/esm2022/compat/analytics/analytics.mjs +160 -0
  76. package/esm2022/compat/analytics/analytics.module.mjs +35 -0
  77. package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
  78. package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
  79. package/esm2022/compat/auth/auth.mjs +161 -0
  80. package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +7 -7
  81. package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
  82. package/esm2022/compat/auth-guard/auth-guard.mjs +53 -0
  83. package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +7 -7
  84. package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +4 -3
  85. package/esm2022/compat/database/database.mjs +119 -0
  86. package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +7 -7
  87. package/esm2022/compat/database/interfaces.mjs +2 -0
  88. package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +3 -3
  89. package/esm2022/compat/database/list/changes.mjs +85 -0
  90. package/esm2022/compat/database/list/create-reference.mjs +44 -0
  91. package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +1 -1
  92. package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +1 -1
  93. package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +2 -2
  94. package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +2 -2
  95. package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +1 -1
  96. package/esm2022/compat/database/observable/fromRef.mjs +48 -0
  97. package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +1 -1
  98. package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +1 -1
  99. package/esm2022/compat/firebase.app.module.mjs +71 -0
  100. package/esm2022/compat/firestore/collection/changes.mjs +108 -0
  101. package/esm2022/compat/firestore/collection/collection.mjs +123 -0
  102. package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
  103. package/esm2022/compat/firestore/document/document.mjs +87 -0
  104. package/esm2022/compat/firestore/firestore.mjs +257 -0
  105. package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +7 -7
  106. package/esm2022/compat/firestore/interfaces.mjs +2 -0
  107. package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
  108. package/esm2022/compat/functions/functions.mjs +69 -0
  109. package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +7 -7
  110. package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
  111. package/esm2022/compat/messaging/messaging.mjs +81 -0
  112. package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +7 -7
  113. package/esm2022/compat/performance/performance.mjs +105 -0
  114. package/esm2022/compat/performance/performance.module.mjs +27 -0
  115. package/esm2022/compat/performance/performance.service.mjs +28 -0
  116. package/esm2022/compat/proxy.mjs +58 -0
  117. package/esm2022/compat/remote-config/remote-config.mjs +206 -0
  118. package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +7 -7
  119. package/esm2022/compat/storage/observable/fromTask.mjs +36 -0
  120. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
  121. package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +3 -3
  122. package/esm2022/compat/storage/storage.mjs +95 -0
  123. package/esm2022/compat/storage/storage.module.mjs +22 -0
  124. package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +2 -2
  125. package/esm2022/core.mjs +43 -0
  126. package/{esm2015/database/database.js → esm2022/database/database.mjs} +1 -1
  127. package/esm2022/database/database.module.mjs +74 -0
  128. package/esm2022/firestore/firebase.mjs +73 -0
  129. package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +1 -1
  130. package/esm2022/firestore/firestore.module.mjs +74 -0
  131. package/esm2022/firestore/lite/firebase.mjs +48 -0
  132. package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +1 -1
  133. package/esm2022/firestore/lite/lite.module.mjs +73 -0
  134. package/esm2022/firestore/lite/rxfire.mjs +12 -0
  135. package/esm2022/firestore/rxfire.mjs +15 -0
  136. package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +1 -1
  137. package/esm2022/functions/functions.module.mjs +74 -0
  138. package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
  139. package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +1 -1
  140. package/esm2022/messaging/messaging.module.mjs +86 -0
  141. package/esm2022/messaging/overrides.mjs +3 -0
  142. package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +1 -1
  143. package/esm2022/performance/performance.module.mjs +81 -0
  144. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
  145. package/esm2022/remote-config/overrides.mjs +3 -0
  146. package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +1 -1
  147. package/esm2022/remote-config/remote-config.module.mjs +86 -0
  148. package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +1 -1
  149. package/esm2022/storage/storage.module.mjs +74 -0
  150. package/esm2022/zones.mjs +194 -0
  151. package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +68 -41
  152. package/fesm2022/angular-fire-analytics.mjs.map +1 -0
  153. package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +18 -25
  154. package/fesm2022/angular-fire-app-check.mjs.map +1 -0
  155. package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +10 -9
  156. package/fesm2022/angular-fire-app.mjs.map +1 -0
  157. package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +31 -27
  158. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
  159. package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +14 -13
  160. package/fesm2022/angular-fire-auth.mjs.map +1 -0
  161. package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +43 -41
  162. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
  163. package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +30 -26
  164. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
  165. package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +38 -16
  166. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
  167. package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +138 -132
  168. package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
  169. package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +119 -98
  170. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
  171. package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +13 -12
  172. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
  173. package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +25 -19
  174. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
  175. package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +29 -34
  176. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
  177. package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +35 -22
  178. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
  179. package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +30 -23
  180. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
  181. package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +25 -25
  182. package/fesm2022/angular-fire-compat.mjs.map +1 -0
  183. package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +11 -12
  184. package/fesm2022/angular-fire-database.mjs.map +1 -0
  185. package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +25 -15
  186. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
  187. package/fesm2022/angular-fire-firestore.mjs +180 -0
  188. package/fesm2022/angular-fire-firestore.mjs.map +1 -0
  189. package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +12 -13
  190. package/fesm2022/angular-fire-functions.mjs.map +1 -0
  191. package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
  192. package/fesm2022/angular-fire-messaging.mjs.map +1 -0
  193. package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +11 -11
  194. package/fesm2022/angular-fire-performance.mjs.map +1 -0
  195. package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
  196. package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
  197. package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +10 -11
  198. package/fesm2022/angular-fire-storage.mjs.map +1 -0
  199. package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +33 -58
  200. package/fesm2022/angular-fire.mjs.map +1 -0
  201. package/firestore/firebase.d.ts +21 -1
  202. package/firestore/firestore.module.d.ts +2 -2
  203. package/firestore/lite/firebase.d.ts +10 -1
  204. package/firestore/lite/lite.module.d.ts +2 -2
  205. package/firestore/lite/rxfire.d.ts +3 -1
  206. package/firestore/rxfire.d.ts +3 -1
  207. package/functions/functions.module.d.ts +2 -2
  208. package/messaging/is-messaging-supported-factory.d.ts +4 -0
  209. package/messaging/messaging.module.d.ts +2 -2
  210. package/package.json +170 -20
  211. package/performance/performance.module.d.ts +2 -2
  212. package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
  213. package/remote-config/remote-config.module.d.ts +2 -2
  214. package/schematics/add/index.js +2 -2
  215. package/schematics/common.js +9 -5
  216. package/schematics/deploy/actions.js +69 -69
  217. package/schematics/deploy/builder.js +7 -7
  218. package/schematics/firebaseTools.js +9 -5
  219. package/schematics/interfaces.js +9 -8
  220. package/schematics/setup/index.js +48 -64
  221. package/schematics/setup/prompts.js +22 -18
  222. package/schematics/update/index.js +1 -1
  223. package/schematics/update/v7/index.js +7 -7
  224. package/schematics/utils.js +87 -71
  225. package/storage/storage.module.d.ts +2 -2
  226. package/analytics/package.json +0 -11
  227. package/app/package.json +0 -11
  228. package/app-check/package.json +0 -11
  229. package/auth/package.json +0 -11
  230. package/auth-guard/package.json +0 -11
  231. package/bundles/angular-fire-analytics.umd.js +0 -673
  232. package/bundles/angular-fire-analytics.umd.js.map +0 -1
  233. package/bundles/angular-fire-app-check.umd.js +0 -465
  234. package/bundles/angular-fire-app-check.umd.js.map +0 -1
  235. package/bundles/angular-fire-app.umd.js +0 -477
  236. package/bundles/angular-fire-app.umd.js.map +0 -1
  237. package/bundles/angular-fire-auth-guard.umd.js +0 -109
  238. package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
  239. package/bundles/angular-fire-auth.umd.js +0 -557
  240. package/bundles/angular-fire-auth.umd.js.map +0 -1
  241. package/bundles/angular-fire-compat-analytics.umd.js +0 -672
  242. package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
  243. package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
  244. package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
  245. package/bundles/angular-fire-compat-auth.umd.js +0 -559
  246. package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
  247. package/bundles/angular-fire-compat-database.umd.js +0 -799
  248. package/bundles/angular-fire-compat-database.umd.js.map +0 -1
  249. package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
  250. package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
  251. package/bundles/angular-fire-compat-functions.umd.js +0 -443
  252. package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
  253. package/bundles/angular-fire-compat-messaging.umd.js +0 -465
  254. package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
  255. package/bundles/angular-fire-compat-performance.umd.js +0 -212
  256. package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
  257. package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
  258. package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
  259. package/bundles/angular-fire-compat-storage.umd.js +0 -598
  260. package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
  261. package/bundles/angular-fire-compat.umd.js +0 -535
  262. package/bundles/angular-fire-compat.umd.js.map +0 -1
  263. package/bundles/angular-fire-database.umd.js +0 -557
  264. package/bundles/angular-fire-database.umd.js.map +0 -1
  265. package/bundles/angular-fire-firestore-lite.umd.js +0 -531
  266. package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
  267. package/bundles/angular-fire-firestore.umd.js +0 -565
  268. package/bundles/angular-fire-firestore.umd.js.map +0 -1
  269. package/bundles/angular-fire-functions.umd.js +0 -461
  270. package/bundles/angular-fire-functions.umd.js.map +0 -1
  271. package/bundles/angular-fire-messaging.umd.js +0 -473
  272. package/bundles/angular-fire-messaging.umd.js.map +0 -1
  273. package/bundles/angular-fire-performance.umd.js +0 -473
  274. package/bundles/angular-fire-performance.umd.js.map +0 -1
  275. package/bundles/angular-fire-remote-config.umd.js +0 -499
  276. package/bundles/angular-fire-remote-config.umd.js.map +0 -1
  277. package/bundles/angular-fire-storage.umd.js +0 -485
  278. package/bundles/angular-fire-storage.umd.js.map +0 -1
  279. package/bundles/angular-fire.umd.js +0 -308
  280. package/bundles/angular-fire.umd.js.map +0 -1
  281. package/compat/analytics/package.json +0 -11
  282. package/compat/auth/package.json +0 -11
  283. package/compat/auth-guard/package.json +0 -11
  284. package/compat/database/package.json +0 -11
  285. package/compat/firestore/package.json +0 -11
  286. package/compat/functions/package.json +0 -11
  287. package/compat/messaging/package.json +0 -11
  288. package/compat/package.json +0 -11
  289. package/compat/performance/package.json +0 -11
  290. package/compat/remote-config/package.json +0 -11
  291. package/compat/storage/package.json +0 -11
  292. package/database/package.json +0 -11
  293. package/esm2015/analytics/analytics.module.js +0 -93
  294. package/esm2015/analytics/firebase.js +0 -14
  295. package/esm2015/analytics/overrides.js +0 -3
  296. package/esm2015/analytics/screen-tracking.service.js +0 -139
  297. package/esm2015/analytics/user-tracking.service.js +0 -43
  298. package/esm2015/app/app.module.js +0 -84
  299. package/esm2015/app-check/app-check.js +0 -16
  300. package/esm2015/app-check/app-check.module.js +0 -81
  301. package/esm2015/app-check/firebase.js +0 -9
  302. package/esm2015/app-check/public_api.js +0 -4
  303. package/esm2015/auth/auth.module.js +0 -71
  304. package/esm2015/auth/firebase.js +0 -56
  305. package/esm2015/auth-guard/auth-guard.js +0 -49
  306. package/esm2015/compat/analytics/analytics.js +0 -163
  307. package/esm2015/compat/analytics/analytics.module.js +0 -32
  308. package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
  309. package/esm2015/compat/analytics/user-tracking.service.js +0 -52
  310. package/esm2015/compat/auth/auth.js +0 -139
  311. package/esm2015/compat/auth-guard/auth-guard.js +0 -49
  312. package/esm2015/compat/database/database.js +0 -117
  313. package/esm2015/compat/database/interfaces.js +0 -2
  314. package/esm2015/compat/database/list/changes.js +0 -85
  315. package/esm2015/compat/database/list/create-reference.js +0 -41
  316. package/esm2015/compat/database/observable/fromRef.js +0 -47
  317. package/esm2015/compat/firebase.app.module.js +0 -69
  318. package/esm2015/compat/firestore/collection/changes.js +0 -107
  319. package/esm2015/compat/firestore/collection/collection.js +0 -117
  320. package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
  321. package/esm2015/compat/firestore/document/document.js +0 -82
  322. package/esm2015/compat/firestore/firestore.js +0 -254
  323. package/esm2015/compat/firestore/interfaces.js +0 -2
  324. package/esm2015/compat/firestore/observable/fromRef.js +0 -39
  325. package/esm2015/compat/functions/functions.js +0 -68
  326. package/esm2015/compat/messaging/messaging.js +0 -75
  327. package/esm2015/compat/performance/performance.js +0 -110
  328. package/esm2015/compat/performance/performance.module.js +0 -28
  329. package/esm2015/compat/performance/performance.service.js +0 -27
  330. package/esm2015/compat/proxy.js +0 -61
  331. package/esm2015/compat/remote-config/remote-config.js +0 -193
  332. package/esm2015/compat/storage/observable/fromTask.js +0 -34
  333. package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
  334. package/esm2015/compat/storage/storage.js +0 -94
  335. package/esm2015/compat/storage/storage.module.js +0 -22
  336. package/esm2015/core.js +0 -79
  337. package/esm2015/database/database.module.js +0 -74
  338. package/esm2015/firestore/firebase.js +0 -53
  339. package/esm2015/firestore/firestore.module.js +0 -74
  340. package/esm2015/firestore/lite/firebase.js +0 -39
  341. package/esm2015/firestore/lite/lite.module.js +0 -74
  342. package/esm2015/firestore/lite/rxfire.js +0 -10
  343. package/esm2015/firestore/rxfire.js +0 -13
  344. package/esm2015/functions/functions.module.js +0 -74
  345. package/esm2015/messaging/messaging.module.js +0 -85
  346. package/esm2015/messaging/overrides.js +0 -3
  347. package/esm2015/performance/performance.module.js +0 -81
  348. package/esm2015/remote-config/overrides.js +0 -3
  349. package/esm2015/remote-config/remote-config.module.js +0 -85
  350. package/esm2015/storage/storage.module.js +0 -74
  351. package/esm2015/zones.js +0 -183
  352. package/fesm2015/angular-fire-analytics.js.map +0 -1
  353. package/fesm2015/angular-fire-app-check.js.map +0 -1
  354. package/fesm2015/angular-fire-app.js.map +0 -1
  355. package/fesm2015/angular-fire-auth-guard.js.map +0 -1
  356. package/fesm2015/angular-fire-auth.js.map +0 -1
  357. package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
  358. package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
  359. package/fesm2015/angular-fire-compat-auth.js.map +0 -1
  360. package/fesm2015/angular-fire-compat-database.js.map +0 -1
  361. package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
  362. package/fesm2015/angular-fire-compat-functions.js.map +0 -1
  363. package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
  364. package/fesm2015/angular-fire-compat-performance.js.map +0 -1
  365. package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
  366. package/fesm2015/angular-fire-compat-storage.js.map +0 -1
  367. package/fesm2015/angular-fire-compat.js.map +0 -1
  368. package/fesm2015/angular-fire-database.js.map +0 -1
  369. package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
  370. package/fesm2015/angular-fire-firestore.js +0 -159
  371. package/fesm2015/angular-fire-firestore.js.map +0 -1
  372. package/fesm2015/angular-fire-functions.js.map +0 -1
  373. package/fesm2015/angular-fire-messaging.js.map +0 -1
  374. package/fesm2015/angular-fire-performance.js.map +0 -1
  375. package/fesm2015/angular-fire-remote-config.js.map +0 -1
  376. package/fesm2015/angular-fire-storage.js.map +0 -1
  377. package/fesm2015/angular-fire.js.map +0 -1
  378. package/firestore/lite/package.json +0 -11
  379. package/firestore/package.json +0 -11
  380. package/firestore-protos.js +0 -4
  381. package/functions/package.json +0 -11
  382. package/messaging/package.json +0 -11
  383. package/performance/package.json +0 -11
  384. package/remote-config/package.json +0 -11
  385. package/storage/package.json +0 -11
  386. /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
  387. /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
  388. /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
  389. /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
  390. /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
  391. /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
  392. /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
  393. /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
  394. /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
  395. /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
  396. /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
  397. /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
  398. /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
  399. /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
  400. /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
  401. /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
  402. /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
  403. /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
  404. /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
  405. /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
  406. /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
  407. /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
  408. /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
  409. /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
  410. /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
  411. /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
  412. /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
  413. /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
  414. /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
  415. /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
  416. /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
  417. /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
  418. /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
  419. /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
  420. /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
  421. /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
  422. /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
  423. /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
  424. /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
  425. /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
  426. /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
  427. /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
  428. /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
  429. /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
  430. /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
  431. /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
  432. /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
  433. /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
  434. /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
  435. /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
  436. /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
  437. /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
  438. /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
  439. /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
  440. /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
  441. /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
  442. /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
  443. /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
  444. /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
  445. /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
  446. /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
  447. /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
  448. /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
  449. /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
  450. /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
  451. /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
  452. /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
  453. /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
  454. /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
  455. /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
  456. /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
  457. /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
  458. /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
  459. /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
  460. /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
  461. /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
  462. /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
  463. /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
  464. /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
  465. /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
  466. /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
  467. /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
  468. /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
  469. /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
  470. /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
  471. /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
  472. /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
  473. /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
  474. /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
  475. /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
  476. /package/{angular-fire.d.ts → index.d.ts} +0 -0
  477. /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
  478. /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
  479. /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
  480. /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
@@ -1,53 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, NgModule } from '@angular/core';
3
- import { asyncScheduler, Observable, of, merge } from 'rxjs';
4
- import { map, share, switchMap, scan, distinctUntilChanged, withLatestFrom, skipWhile } from 'rxjs/operators';
5
3
  import * as i1 from '@angular/fire';
6
4
  import { keepUnstableUntilFirst, VERSION } from '@angular/fire';
5
+ import * as i3 from '@angular/fire/app-check';
7
6
  import { ɵfirebaseAppFactory, ɵcacheInstance, FIREBASE_OPTIONS, FIREBASE_APP_NAME } from '@angular/fire/compat';
8
- import 'firebase/compat/auth';
9
- import 'firebase/compat/database';
10
7
  import * as i2 from '@angular/fire/compat/auth';
11
8
  import { ɵauthFactory, USE_EMULATOR as USE_EMULATOR$1, SETTINGS, TENANT_ID, LANGUAGE_CODE, USE_DEVICE_LANGUAGE, PERSISTENCE } from '@angular/fire/compat/auth';
12
- import * as i3 from '@angular/fire/app-check';
9
+ import { map, share, scan, withLatestFrom, skipWhile, switchMap, distinctUntilChanged } from 'rxjs/operators';
10
+ import { Observable, asyncScheduler, merge, of } from 'rxjs';
11
+ import 'firebase/compat/auth';
12
+ import 'firebase/compat/database';
13
13
  import firebase from 'firebase/compat/app';
14
14
 
15
- function isString(value) {
16
- return typeof value === 'string';
17
- }
18
- function isFirebaseDataSnapshot(value) {
19
- return typeof value.exportVal === 'function';
20
- }
21
- function isNil(obj) {
22
- return obj === undefined || obj === null;
23
- }
24
- function isFirebaseRef(value) {
25
- return typeof value.set === 'function';
26
- }
27
- /**
28
- * Returns a database reference given a Firebase App and an
29
- * absolute or relative path.
30
- * @param database - Firebase Database
31
- * @param pathRef - Database path, relative or absolute
32
- */
33
- function getRef(database, pathRef) {
34
- // if a db ref was passed in, just return it
35
- return isFirebaseRef(pathRef) ? pathRef
36
- : database.ref(pathRef);
37
- }
38
- function checkOperationCases(item, cases) {
39
- if (isString(item)) {
40
- return cases.stringCase();
41
- }
42
- else if (isFirebaseRef(item)) {
43
- return cases.firebaseCase();
44
- }
45
- else if (isFirebaseDataSnapshot(item)) {
46
- return cases.snapshotCase();
47
- }
48
- throw new Error(`Expects a string, snapshot, or reference. Got: ${typeof item}`);
49
- }
50
-
51
15
  /**
52
16
  * Create an observable from a Database Reference or Database Query.
53
17
  * @param ref Database Reference
@@ -79,6 +43,7 @@ function fromRef(ref, event, listenType = 'on', scheduler = asyncScheduler) {
79
43
  }
80
44
  else {
81
45
  return {
46
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
82
47
  unsubscribe() {
83
48
  }
84
49
  };
@@ -93,85 +58,40 @@ function fromRef(ref, event, listenType = 'on', scheduler = asyncScheduler) {
93
58
  }), share());
94
59
  }
95
60
 
96
- function listChanges(ref, events, scheduler) {
97
- return fromRef(ref, 'value', 'once', scheduler).pipe(switchMap(snapshotAction => {
98
- const childEvent$ = [of(snapshotAction)];
99
- events.forEach(event => childEvent$.push(fromRef(ref, event, 'on', scheduler)));
100
- return merge(...childEvent$).pipe(scan(buildView, []));
101
- }), distinctUntilChanged());
61
+ function isString(value) {
62
+ return typeof value === 'string';
102
63
  }
103
- function positionFor(changes, key) {
104
- const len = changes.length;
105
- for (let i = 0; i < len; i++) {
106
- if (changes[i].payload.key === key) {
107
- return i;
108
- }
109
- }
110
- return -1;
64
+ function isFirebaseDataSnapshot(value) {
65
+ return typeof value.exportVal === 'function';
111
66
  }
112
- function positionAfter(changes, prevKey) {
113
- if (isNil(prevKey)) {
114
- return 0;
67
+ function isNil(obj) {
68
+ return obj === undefined || obj === null;
69
+ }
70
+ function isFirebaseRef(value) {
71
+ return typeof value.set === 'function';
72
+ }
73
+ /**
74
+ * Returns a database reference given a Firebase App and an
75
+ * absolute or relative path.
76
+ * @param database - Firebase Database
77
+ * @param pathRef - Database path, relative or absolute
78
+ */
79
+ function getRef(database, pathRef) {
80
+ // if a db ref was passed in, just return it
81
+ return isFirebaseRef(pathRef) ? pathRef
82
+ : database.ref(pathRef);
83
+ }
84
+ function checkOperationCases(item, cases) {
85
+ if (isString(item)) {
86
+ return cases.stringCase();
115
87
  }
116
- else {
117
- const i = positionFor(changes, prevKey);
118
- if (i === -1) {
119
- return changes.length;
120
- }
121
- else {
122
- return i + 1;
123
- }
88
+ else if (isFirebaseRef(item)) {
89
+ return cases.firebaseCase();
124
90
  }
125
- }
126
- function buildView(current, action) {
127
- const { payload, prevKey, key } = action;
128
- const currentKeyPosition = positionFor(current, key);
129
- const afterPreviousKeyPosition = positionAfter(current, prevKey);
130
- switch (action.type) {
131
- case 'value':
132
- if (action.payload && action.payload.exists()) {
133
- let prevKey = null;
134
- action.payload.forEach(payload => {
135
- const action = { payload, type: 'value', prevKey, key: payload.key };
136
- prevKey = payload.key;
137
- current = [...current, action];
138
- return false;
139
- });
140
- }
141
- return current;
142
- case 'child_added':
143
- if (currentKeyPosition > -1) {
144
- // check that the previouskey is what we expect, else reorder
145
- const previous = current[currentKeyPosition - 1];
146
- if ((previous && previous.key || null) !== prevKey) {
147
- current = current.filter(x => x.payload.key !== payload.key);
148
- current.splice(afterPreviousKeyPosition, 0, action);
149
- }
150
- }
151
- else if (prevKey == null) {
152
- return [action, ...current];
153
- }
154
- else {
155
- current = current.slice();
156
- current.splice(afterPreviousKeyPosition, 0, action);
157
- }
158
- return current;
159
- case 'child_removed':
160
- return current.filter(x => x.payload.key !== payload.key);
161
- case 'child_changed':
162
- return current.map(x => x.payload.key === key ? action : x);
163
- case 'child_moved':
164
- if (currentKeyPosition > -1) {
165
- const data = current.splice(currentKeyPosition, 1)[0];
166
- current = current.slice();
167
- current.splice(afterPreviousKeyPosition, 0, data);
168
- return current;
169
- }
170
- return current;
171
- // default will also remove null results
172
- default:
173
- return current;
91
+ else if (isFirebaseDataSnapshot(item)) {
92
+ return cases.snapshotCase();
174
93
  }
94
+ throw new Error(`Expects a string, snapshot, or reference. Got: ${typeof item}`);
175
95
  }
176
96
 
177
97
  function validateEventsArray(events) {
@@ -181,11 +101,6 @@ function validateEventsArray(events) {
181
101
  return events;
182
102
  }
183
103
 
184
- function snapshotChanges(query, events, scheduler) {
185
- events = validateEventsArray(events);
186
- return listChanges(query, events, scheduler);
187
- }
188
-
189
104
  function stateChanges(query, events, scheduler) {
190
105
  events = validateEventsArray(events);
191
106
  const childEvent$ = events.map(event => fromRef(query, event, 'on', scheduler));
@@ -261,6 +176,92 @@ function createRemoveMethod(ref) {
261
176
  };
262
177
  }
263
178
 
179
+ function listChanges(ref, events, scheduler) {
180
+ return fromRef(ref, 'value', 'once', scheduler).pipe(switchMap(snapshotAction => {
181
+ const childEvent$ = [of(snapshotAction)];
182
+ events.forEach(event => childEvent$.push(fromRef(ref, event, 'on', scheduler)));
183
+ return merge(...childEvent$).pipe(scan(buildView, []));
184
+ }), distinctUntilChanged());
185
+ }
186
+ function positionFor(changes, key) {
187
+ const len = changes.length;
188
+ for (let i = 0; i < len; i++) {
189
+ if (changes[i].payload.key === key) {
190
+ return i;
191
+ }
192
+ }
193
+ return -1;
194
+ }
195
+ function positionAfter(changes, prevKey) {
196
+ if (isNil(prevKey)) {
197
+ return 0;
198
+ }
199
+ else {
200
+ const i = positionFor(changes, prevKey);
201
+ if (i === -1) {
202
+ return changes.length;
203
+ }
204
+ else {
205
+ return i + 1;
206
+ }
207
+ }
208
+ }
209
+ function buildView(current, action) {
210
+ const { payload, prevKey, key } = action;
211
+ const currentKeyPosition = positionFor(current, key);
212
+ const afterPreviousKeyPosition = positionAfter(current, prevKey);
213
+ switch (action.type) {
214
+ case 'value':
215
+ if (action.payload?.exists()) {
216
+ let prevKey = null;
217
+ action.payload.forEach(payload => {
218
+ const action = { payload, type: 'value', prevKey, key: payload.key };
219
+ prevKey = payload.key;
220
+ current = [...current, action];
221
+ return false;
222
+ });
223
+ }
224
+ return current;
225
+ case 'child_added':
226
+ if (currentKeyPosition > -1) {
227
+ // check that the previouskey is what we expect, else reorder
228
+ const previous = current[currentKeyPosition - 1];
229
+ if ((previous?.key || null) !== prevKey) {
230
+ current = current.filter(x => x.payload.key !== payload.key);
231
+ current.splice(afterPreviousKeyPosition, 0, action);
232
+ }
233
+ }
234
+ else if (prevKey == null) {
235
+ return [action, ...current];
236
+ }
237
+ else {
238
+ current = current.slice();
239
+ current.splice(afterPreviousKeyPosition, 0, action);
240
+ }
241
+ return current;
242
+ case 'child_removed':
243
+ return current.filter(x => x.payload.key !== payload.key);
244
+ case 'child_changed':
245
+ return current.map(x => x.payload.key === key ? action : x);
246
+ case 'child_moved':
247
+ if (currentKeyPosition > -1) {
248
+ const data = current.splice(currentKeyPosition, 1)[0];
249
+ current = current.slice();
250
+ current.splice(afterPreviousKeyPosition, 0, data);
251
+ return current;
252
+ }
253
+ return current;
254
+ // default will also remove null results
255
+ default:
256
+ return current;
257
+ }
258
+ }
259
+
260
+ function snapshotChanges(query, events, scheduler) {
261
+ events = validateEventsArray(events);
262
+ return listChanges(query, events, scheduler);
263
+ }
264
+
264
265
  function createListReference(query, afDatabase) {
265
266
  const outsideAngularScheduler = afDatabase.schedulers.outsideAngular;
266
267
  const refInZone = afDatabase.schedulers.ngZone.run(() => query.ref);
@@ -283,9 +284,12 @@ function createListReference(query, afDatabase) {
283
284
  const snapshotChanges$ = snapshotChanges(query, events, outsideAngularScheduler);
284
285
  return snapshotChanges$.pipe(map(actions => actions.map(a => {
285
286
  if (options && options.idField) {
286
- return Object.assign(Object.assign({}, a.payload.val()), {
287
- [options.idField]: a.key
288
- });
287
+ return {
288
+ ...a.payload.val(),
289
+ ...{
290
+ [options.idField]: a.key
291
+ }
292
+ };
289
293
  }
290
294
  else {
291
295
  return a.payload.val();
@@ -320,8 +324,10 @@ function createObjectReference(query, afDatabase) {
320
324
  const URL = new InjectionToken('angularfire2.realtimeDatabaseURL');
321
325
  const USE_EMULATOR = new InjectionToken('angularfire2.database.use-emulator');
322
326
  class AngularFireDatabase {
327
+ schedulers;
328
+ database;
323
329
  constructor(options, name, databaseURL,
324
- // tslint:disable-next-line:ban-types
330
+ // eslint-disable-next-line @typescript-eslint/ban-types
325
331
  platformId, zone, schedulers, _useEmulator, // tuple isn't working here
326
332
  auth, useAuthEmulator, authSettings, // can't use firebase.auth.AuthSettings here
327
333
  tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {
@@ -355,10 +361,10 @@ class AngularFireDatabase {
355
361
  const ref = this.schedulers.ngZone.runOutsideAngular(() => this.database.ref());
356
362
  return ref.push().key;
357
363
  }
364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabase, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: URL, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_EMULATOR$1, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
365
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabase, providedIn: 'any' });
358
366
  }
359
- AngularFireDatabase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabase, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: URL, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_EMULATOR$1, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
360
- AngularFireDatabase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabase, providedIn: 'any' });
361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabase, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabase, decorators: [{
362
368
  type: Injectable,
363
369
  args: [{
364
370
  providedIn: 'any'
@@ -424,11 +430,11 @@ class AngularFireDatabaseModule {
424
430
  constructor() {
425
431
  firebase.registerVersion('angularfire', VERSION.full, 'rtdb-compat');
426
432
  }
433
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
434
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule });
435
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule, providers: [AngularFireDatabase] });
427
436
  }
428
- AngularFireDatabaseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
429
- AngularFireDatabaseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule });
430
- AngularFireDatabaseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule, providers: [AngularFireDatabase] });
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireDatabaseModule, decorators: [{
437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule, decorators: [{
432
438
  type: NgModule,
433
439
  args: [{
434
440
  providers: [AngularFireDatabase]
@@ -440,4 +446,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
440
446
  */
441
447
 
442
448
  export { AngularFireDatabase, AngularFireDatabaseModule, URL, USE_EMULATOR, auditTrail, createListReference, fromRef, listChanges, snapshotChanges, stateChanges };
443
- //# sourceMappingURL=angular-fire-compat-database.js.map
449
+ //# sourceMappingURL=angular-fire-compat-database.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fire-compat-database.mjs","sources":["../../../src/compat/database/observable/fromRef.ts","../../../src/compat/database/utils.ts","../../../src/compat/database/list/utils.ts","../../../src/compat/database/list/state-changes.ts","../../../src/compat/database/list/audit-trail.ts","../../../src/compat/database/list/data-operation.ts","../../../src/compat/database/list/remove.ts","../../../src/compat/database/list/changes.ts","../../../src/compat/database/list/snapshot-changes.ts","../../../src/compat/database/list/create-reference.ts","../../../src/compat/database/object/snapshot-changes.ts","../../../src/compat/database/object/create-reference.ts","../../../src/compat/database/database.ts","../../../src/compat/database/database.module.ts","../../../src/compat/database/angular-fire-compat-database.ts"],"sourcesContent":["import { Observable, SchedulerLike, asyncScheduler } from 'rxjs';\nimport { map, share } from 'rxjs/operators';\nimport { AngularFireAction, DatabaseQuery, DatabaseSnapshot, ListenEvent } from '../interfaces';\n\ninterface SnapshotPrevKey<T> {\n snapshot: DatabaseSnapshot<T>;\n prevKey: string | null | undefined;\n}\n\n/**\n * Create an observable from a Database Reference or Database Query.\n * @param ref Database Reference\n * @param event Listen event type ('value', 'added', 'changed', 'removed', 'moved')\n * @param listenType 'on' or 'once'\n * @param scheduler - Rxjs scheduler\n */\nexport function fromRef<T>(ref: DatabaseQuery,\n event: ListenEvent,\n listenType = 'on',\n scheduler: SchedulerLike = asyncScheduler\n): Observable<AngularFireAction<DatabaseSnapshot<T>>> {\n return new Observable<SnapshotPrevKey<T>>(subscriber => {\n let fn: any = null;\n fn = ref[listenType](event, (snapshot, prevKey) => {\n scheduler.schedule(() => {\n subscriber.next({ snapshot, prevKey });\n });\n if (listenType === 'once') {\n scheduler.schedule(() => subscriber.complete());\n }\n }, err => {\n scheduler.schedule(() => subscriber.error(err));\n });\n\n if (listenType === 'on') {\n return {\n unsubscribe() {\n if (fn != null) {\n ref.off(event, fn);\n }\n }\n };\n } else {\n return {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n unsubscribe() {\n }\n };\n }\n }).pipe(\n map(payload => {\n const { snapshot, prevKey } = payload;\n let key: string | null = null;\n if (snapshot.exists()) {\n key = snapshot.key;\n }\n return { type: event, payload: snapshot, prevKey, key };\n }),\n share()\n );\n}\n","import firebase from 'firebase/compat/app';\nimport { DatabaseReference, FirebaseOperation, FirebaseOperationCases, PathReference } from './interfaces';\n\nexport function isString(value: any): boolean {\n return typeof value === 'string';\n}\n\nexport function isFirebaseDataSnapshot(value: any): boolean {\n return typeof value.exportVal === 'function';\n}\n\nexport function isNil(obj: any): boolean {\n return obj === undefined || obj === null;\n}\n\nexport function isFirebaseRef(value: any): boolean {\n return typeof value.set === 'function';\n}\n\n/**\n * Returns a database reference given a Firebase App and an\n * absolute or relative path.\n * @param database - Firebase Database\n * @param pathRef - Database path, relative or absolute\n */\nexport function getRef(database: firebase.database.Database, pathRef: PathReference): DatabaseReference {\n // if a db ref was passed in, just return it\n return isFirebaseRef(pathRef) ? pathRef as DatabaseReference\n : database.ref(pathRef as string);\n}\n\nexport function checkOperationCases(item: FirebaseOperation, cases: FirebaseOperationCases): Promise<void> {\n if (isString(item)) {\n return cases.stringCase();\n } else if (isFirebaseRef(item)) {\n return cases.firebaseCase();\n } else if (isFirebaseDataSnapshot(item)) {\n return cases.snapshotCase();\n }\n throw new Error(`Expects a string, snapshot, or reference. Got: ${typeof item}`);\n}\n","import { isNil } from '../utils';\n\nexport function validateEventsArray(events?: any[]) {\n if (isNil(events) || events.length === 0) {\n events = ['child_added', 'child_removed', 'child_changed', 'child_moved'];\n }\n return events;\n}\n","import { SchedulerLike, merge } from 'rxjs';\nimport { ChildEvent, DatabaseQuery } from '../interfaces';\nimport { fromRef } from '../observable/fromRef';\nimport { validateEventsArray } from './utils';\n\nexport function stateChanges<T>(query: DatabaseQuery, events?: ChildEvent[], scheduler?: SchedulerLike) {\n events = validateEventsArray(events);\n const childEvent$ = events.map(event => fromRef<T>(query, event, 'on', scheduler));\n return merge(...childEvent$);\n}\n","import { Observable, SchedulerLike } from 'rxjs';\nimport { map, scan, skipWhile, withLatestFrom } from 'rxjs/operators';\nimport { AngularFireAction, ChildEvent, DataSnapshot, DatabaseQuery, SnapshotAction } from '../interfaces';\nimport { fromRef } from '../observable/fromRef';\nimport { stateChanges } from './state-changes';\n\n\nexport function auditTrail<T>(query: DatabaseQuery, events?: ChildEvent[], scheduler?: SchedulerLike): Observable<SnapshotAction<T>[]> {\n const auditTrail$ = stateChanges<T>(query, events)\n .pipe(\n scan((current, action) => [...current, action], [])\n );\n return waitForLoaded<T>(query, auditTrail$, scheduler);\n}\n\ninterface LoadedMetadata {\n data: AngularFireAction<DataSnapshot>;\n lastKeyToLoad: any;\n}\n\nfunction loadedData<T>(query: DatabaseQuery, scheduler?: SchedulerLike): Observable<LoadedMetadata> {\n // Create an observable of loaded values to retrieve the\n // known dataset. This will allow us to know what key to\n // emit the \"whole\" array at when listening for child events.\n return fromRef<T>(query, 'value', 'on', scheduler)\n .pipe(\n map(data => {\n // Store the last key in the data set\n let lastKeyToLoad;\n // Loop through loaded dataset to find the last key\n data.payload.forEach(child => {\n lastKeyToLoad = child.key; return false;\n });\n // return data set and the current last key loaded\n return { data, lastKeyToLoad };\n })\n );\n}\n\nfunction waitForLoaded<T>(query: DatabaseQuery, action$: Observable<SnapshotAction<T>[]>, scheduler?: SchedulerLike) {\n const loaded$ = loadedData<T>(query, scheduler);\n return loaded$\n .pipe(\n withLatestFrom(action$),\n // Get the latest values from the \"loaded\" and \"child\" datasets\n // We can use both datasets to form an array of the latest values.\n map(([loaded, actions]) => {\n // Store the last key in the data set\n const lastKeyToLoad = loaded.lastKeyToLoad;\n // Store all child keys loaded at this point\n const loadedKeys = actions.map(snap => snap.key);\n return { actions, lastKeyToLoad, loadedKeys };\n }),\n // This is the magical part, only emit when the last load key\n // in the dataset has been loaded by a child event. At this point\n // we can assume the dataset is \"whole\".\n skipWhile(meta => meta.loadedKeys.indexOf(meta.lastKeyToLoad) === -1),\n // Pluck off the meta data because the user only cares\n // to iterate through the snapshots\n map(meta => meta.actions)\n );\n}\n","import { DatabaseReference, DatabaseSnapshot, FirebaseOperation } from '../interfaces';\nimport { checkOperationCases } from '../utils';\n\nexport function createDataOperationMethod(ref: DatabaseReference, operation: string) {\n return function dataOperation<T>(item: FirebaseOperation, value: T) {\n return checkOperationCases(item, {\n stringCase: () => ref.child(item as string)[operation](value),\n firebaseCase: () => (item as DatabaseReference)[operation](value),\n snapshotCase: () => (item as DatabaseSnapshot<T>).ref[operation](value)\n });\n };\n}\n","import { DatabaseReference, DatabaseSnapshot, FirebaseOperation } from '../interfaces';\nimport { checkOperationCases } from '../utils';\n\n// TODO(davideast): Find out why TS thinks this returns firebase.Primise\n// instead of Promise.\nexport function createRemoveMethod<T>(ref: DatabaseReference) {\n return function remove(item?: FirebaseOperation): any {\n if (!item) { return ref.remove(); }\n return checkOperationCases(item, {\n stringCase: () => ref.child(item as string).remove(),\n firebaseCase: () => (item as DatabaseReference).remove(),\n snapshotCase: () => (item as DatabaseSnapshot<T>).ref.remove()\n });\n };\n}\n","import { Observable, SchedulerLike, merge, of } from 'rxjs';\nimport { distinctUntilChanged, scan, switchMap } from 'rxjs/operators';\nimport { ChildEvent, DatabaseQuery, SnapshotAction } from '../interfaces';\nimport { fromRef } from '../observable/fromRef';\nimport { isNil } from '../utils';\n\n\nexport function listChanges<T = any>(ref: DatabaseQuery, events: ChildEvent[], scheduler?: SchedulerLike): Observable<SnapshotAction<T>[]> {\n return fromRef(ref, 'value', 'once', scheduler).pipe(\n switchMap(snapshotAction => {\n const childEvent$ = [of(snapshotAction)];\n events.forEach(event => childEvent$.push(fromRef(ref, event, 'on', scheduler)));\n return merge(...childEvent$).pipe(scan(buildView, []));\n }),\n distinctUntilChanged()\n );\n}\n\nfunction positionFor<T>(changes: SnapshotAction<T>[], key) {\n const len = changes.length;\n for (let i = 0; i < len; i++) {\n if (changes[i].payload.key === key) {\n return i;\n }\n }\n return -1;\n}\n\nfunction positionAfter<T>(changes: SnapshotAction<T>[], prevKey?: string) {\n if (isNil(prevKey)) {\n return 0;\n } else {\n const i = positionFor(changes, prevKey);\n if (i === -1) {\n return changes.length;\n } else {\n return i + 1;\n }\n }\n}\n\nfunction buildView(current, action) {\n const { payload, prevKey, key } = action;\n const currentKeyPosition = positionFor(current, key);\n const afterPreviousKeyPosition = positionAfter(current, prevKey);\n switch (action.type) {\n case 'value':\n if (action.payload?.exists()) {\n let prevKey = null;\n action.payload.forEach(payload => {\n const action = { payload, type: 'value', prevKey, key: payload.key };\n prevKey = payload.key;\n current = [...current, action];\n return false;\n });\n }\n return current;\n case 'child_added':\n if (currentKeyPosition > -1) {\n // check that the previouskey is what we expect, else reorder\n const previous = current[currentKeyPosition - 1];\n if ((previous?.key || null) !== prevKey) {\n current = current.filter(x => x.payload.key !== payload.key);\n current.splice(afterPreviousKeyPosition, 0, action);\n }\n } else if (prevKey == null) {\n return [action, ...current];\n } else {\n current = current.slice();\n current.splice(afterPreviousKeyPosition, 0, action);\n }\n return current;\n case 'child_removed':\n return current.filter(x => x.payload.key !== payload.key);\n case 'child_changed':\n return current.map(x => x.payload.key === key ? action : x);\n case 'child_moved':\n if (currentKeyPosition > -1) {\n const data = current.splice(currentKeyPosition, 1)[0];\n current = current.slice();\n current.splice(afterPreviousKeyPosition, 0, data);\n return current;\n }\n return current;\n // default will also remove null results\n default:\n return current;\n }\n}\n","import { Observable, SchedulerLike } from 'rxjs';\nimport { ChildEvent, DatabaseQuery, SnapshotAction } from '../interfaces';\nimport { listChanges } from './changes';\nimport { validateEventsArray } from './utils';\n\nexport function snapshotChanges<T>(\n query: DatabaseQuery,\n events?: ChildEvent[],\n scheduler?: SchedulerLike\n): Observable<SnapshotAction<T>[]> {\n events = validateEventsArray(events);\n return listChanges<T>(query, events, scheduler);\n}\n","import { keepUnstableUntilFirst } from '@angular/fire';\nimport type { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AngularFireDatabase } from '../database';\nimport { AngularFireList, ChildEvent, DatabaseQuery } from '../interfaces';\nimport { auditTrail } from './audit-trail';\nimport { createDataOperationMethod } from './data-operation';\nimport { createRemoveMethod } from './remove';\nimport { snapshotChanges } from './snapshot-changes';\nimport { stateChanges } from './state-changes';\n\nexport function createListReference<T= any>(query: DatabaseQuery, afDatabase: AngularFireDatabase): AngularFireList<T> {\n const outsideAngularScheduler = afDatabase.schedulers.outsideAngular;\n const refInZone = afDatabase.schedulers.ngZone.run(() => query.ref);\n return {\n query,\n update: createDataOperationMethod(refInZone, 'update'),\n set: createDataOperationMethod(refInZone, 'set'),\n push: (data: T) => refInZone.push(data),\n remove: createRemoveMethod(refInZone),\n snapshotChanges(events?: ChildEvent[]) {\n return snapshotChanges<T>(query, events, outsideAngularScheduler).pipe(keepUnstableUntilFirst);\n },\n stateChanges(events?: ChildEvent[]) {\n return stateChanges<T>(query, events, outsideAngularScheduler).pipe(keepUnstableUntilFirst);\n },\n auditTrail(events?: ChildEvent[]) {\n return auditTrail<T>(query, events, outsideAngularScheduler).pipe(keepUnstableUntilFirst);\n },\n valueChanges<K extends string>(events?: ChildEvent[], options?: {idField?: K}): Observable<(T & Record<string, string>)[]> {\n const snapshotChanges$ = snapshotChanges<T>(query, events, outsideAngularScheduler);\n return snapshotChanges$.pipe(\n map(actions => actions.map(a => {\n if (options && options.idField) {\n return {\n ...a.payload.val() as T,\n ...{\n [options.idField]: a.key\n }\n };\n } else {\n return a.payload.val() as T & Record<string, string>\n }\n })),\n keepUnstableUntilFirst\n );\n }\n };\n}\n","import { Observable, SchedulerLike } from 'rxjs';\nimport { DatabaseQuery, SnapshotAction } from '../interfaces';\nimport { fromRef } from '../observable/fromRef';\n\nexport function createObjectSnapshotChanges<T>(query: DatabaseQuery, scheduler?: SchedulerLike) {\n return function snapshotChanges(): Observable<SnapshotAction<T>> {\n return fromRef(query, 'value', 'on', scheduler);\n };\n}\n","import { keepUnstableUntilFirst } from '@angular/fire';\nimport { map } from 'rxjs/operators';\nimport { AngularFireDatabase } from '../database';\nimport { AngularFireObject, DatabaseQuery } from '../interfaces';\nimport { createObjectSnapshotChanges } from './snapshot-changes';\n\nexport function createObjectReference<T= any>(query: DatabaseQuery, afDatabase: AngularFireDatabase): AngularFireObject<T> {\n return {\n query,\n snapshotChanges<T>() {\n return createObjectSnapshotChanges<T>(query, afDatabase.schedulers.outsideAngular)().pipe(\n keepUnstableUntilFirst\n );\n },\n update(data: Partial<T>) { return query.ref.update(data as any) as Promise<void>; },\n set(data: T) { return query.ref.set(data) as Promise<void>; },\n remove() { return query.ref.remove() as Promise<void>; },\n valueChanges<T>() {\n const snapshotChanges$ = createObjectSnapshotChanges(query, afDatabase.schedulers.outsideAngular)();\n return snapshotChanges$.pipe(\n keepUnstableUntilFirst,\n map(action => action.payload.exists() ? action.payload.val() as T : null)\n );\n },\n };\n}\n","import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { ɵAngularFireSchedulers } from '@angular/fire';\nimport { AppCheckInstances } from '@angular/fire/app-check';\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance, ɵfirebaseAppFactory } from '@angular/fire/compat';\nimport {\n SETTINGS as AUTH_SETTINGS,\n AngularFireAuth,\n LANGUAGE_CODE,\n PERSISTENCE,\n TENANT_ID,\n USE_EMULATOR as USE_AUTH_EMULATOR,\n USE_DEVICE_LANGUAGE,\n ɵauthFactory,\n} from '@angular/fire/compat/auth';\nimport { FirebaseOptions } from 'firebase/app';\nimport firebase from 'firebase/compat/app';\nimport { AngularFireList, AngularFireObject, DatabaseQuery, PathReference, QueryFn } from './interfaces';\nimport { createListReference } from './list/create-reference';\nimport { createObjectReference } from './object/create-reference';\nimport { getRef } from './utils';\nimport 'firebase/compat/auth';\nimport 'firebase/compat/database';\n\nexport const URL = new InjectionToken<string>('angularfire2.realtimeDatabaseURL');\n\ntype UseEmulatorArguments = Parameters<firebase.database.Database['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.database.use-emulator');\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireDatabase {\n public readonly database: firebase.database.Database;\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string | null | undefined,\n @Optional() @Inject(URL) databaseURL: string | null,\n // eslint-disable-next-line @typescript-eslint/ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n public schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(USE_EMULATOR) _useEmulator: any, // tuple isn't working here\n @Optional() auth: AngularFireAuth,\n @Optional() @Inject(USE_AUTH_EMULATOR) useAuthEmulator: any,\n @Optional() @Inject(AUTH_SETTINGS) authSettings: any, // can't use firebase.auth.AuthSettings here\n @Optional() @Inject(TENANT_ID) tenantId: string | null,\n @Optional() @Inject(LANGUAGE_CODE) languageCode: string | null,\n @Optional() @Inject(USE_DEVICE_LANGUAGE) useDeviceLanguage: boolean | null,\n @Optional() @Inject(PERSISTENCE) persistence: string | null,\n @Optional() _appCheckInstances: AppCheckInstances,\n ) {\n\n const useEmulator: UseEmulatorArguments | null = _useEmulator;\n const app = ɵfirebaseAppFactory(options, zone, name);\n\n if (auth) {\n ɵauthFactory(app, zone, useAuthEmulator, tenantId, languageCode, useDeviceLanguage, authSettings, persistence);\n }\n\n this.database = ɵcacheInstance(`${app.name}.database.${databaseURL}`, 'AngularFireDatabase', app.name, () => {\n const database = zone.runOutsideAngular(() => app.database(databaseURL || undefined));\n if (useEmulator) {\n database.useEmulator(...useEmulator);\n }\n return database;\n }, [useEmulator]);\n }\n\n list<T>(pathOrRef: PathReference, queryFn?: QueryFn): AngularFireList<T> {\n const ref = this.schedulers.ngZone.runOutsideAngular(() => getRef(this.database, pathOrRef));\n let query: DatabaseQuery = ref;\n if (queryFn) {\n query = queryFn(ref);\n }\n return createListReference<T>(query, this);\n }\n\n object<T>(pathOrRef: PathReference): AngularFireObject<T> {\n const ref = this.schedulers.ngZone.runOutsideAngular(() => getRef(this.database, pathOrRef));\n return createObjectReference<T>(ref, this);\n }\n\n createPushId() {\n const ref = this.schedulers.ngZone.runOutsideAngular(() => this.database.ref());\n return ref.push().key;\n }\n\n}\n\nexport {\n PathReference,\n DatabaseSnapshot,\n ChildEvent,\n ListenEvent,\n QueryFn,\n AngularFireList,\n AngularFireObject,\n AngularFireAction,\n Action,\n SnapshotAction\n} from './interfaces';\n","import { NgModule } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport firebase from 'firebase/compat/app';\nimport { AngularFireDatabase } from './database';\n\n@NgModule({\n providers: [ AngularFireDatabase ]\n})\nexport class AngularFireDatabaseModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'rtdb-compat');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["USE_AUTH_EMULATOR","AUTH_SETTINGS"],"mappings":"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"}