@angular/fire 18.0.1 → 19.0.0-canary.6b1b0ca

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 (283) hide show
  1. package/README.md +2 -2
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +3 -3
  4. package/analytics/screen-tracking.service.d.ts +1 -1
  5. package/auth/rxfire.d.ts +2 -2
  6. package/compat/database/database.d.ts +1 -1
  7. package/compat/firestore/firestore.d.ts +1 -1
  8. package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
  9. package/compat/storage/storage.d.ts +1 -1
  10. package/compat/storage/storage.module.d.ts +1 -1
  11. package/data-connect/data-connect.d.ts +9 -0
  12. package/data-connect/data-connect.module.d.ts +13 -0
  13. package/data-connect/firebase.d.ts +12 -0
  14. package/{vertexai-preview → data-connect}/index.d.ts +1 -1
  15. package/data-connect/package.json +3 -0
  16. package/data-connect/public_api.d.ts +3 -0
  17. package/database/rxfire.d.ts +4 -4
  18. package/docs/install-and-setup.md +10 -5
  19. package/docs/vertexai.md +3 -3
  20. package/fesm2022/angular-fire-analytics.mjs +25 -52
  21. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  22. package/fesm2022/angular-fire-app-check.mjs +4 -4
  23. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  24. package/fesm2022/angular-fire-app.mjs +4 -4
  25. package/fesm2022/angular-fire-app.mjs.map +1 -1
  26. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  27. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  28. package/fesm2022/angular-fire-auth.mjs +6 -6
  29. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  30. package/fesm2022/angular-fire-compat-analytics.mjs +15 -15
  31. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  32. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  33. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  34. package/fesm2022/angular-fire-compat-auth.mjs +10 -9
  35. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  36. package/fesm2022/angular-fire-compat-database.mjs +20 -19
  37. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  38. package/fesm2022/angular-fire-compat-firestore.mjs +25 -24
  39. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  40. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  41. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  42. package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
  43. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  44. package/fesm2022/angular-fire-compat-performance.mjs +10 -10
  45. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  46. package/fesm2022/angular-fire-compat-remote-config.mjs +10 -9
  47. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  48. package/fesm2022/angular-fire-compat-storage.mjs +20 -18
  49. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  50. package/fesm2022/angular-fire-compat.mjs +4 -4
  51. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  52. package/fesm2022/angular-fire-data-connect.mjs +100 -0
  53. package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
  54. package/fesm2022/angular-fire-database.mjs +8 -8
  55. package/fesm2022/angular-fire-database.mjs.map +1 -1
  56. package/fesm2022/angular-fire-firestore-lite.mjs +11 -10
  57. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  58. package/fesm2022/angular-fire-firestore.mjs +14 -13
  59. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  60. package/fesm2022/angular-fire-functions.mjs +4 -4
  61. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  62. package/fesm2022/angular-fire-messaging.mjs +15 -42
  63. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  64. package/fesm2022/angular-fire-performance.mjs +6 -6
  65. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  66. package/fesm2022/angular-fire-remote-config.mjs +20 -47
  67. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  68. package/fesm2022/angular-fire-storage.mjs +4 -4
  69. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  70. package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +8 -8
  71. package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
  72. package/fesm2022/angular-fire.mjs +38 -102
  73. package/fesm2022/angular-fire.mjs.map +1 -1
  74. package/firestore/firebase.d.ts +2 -1
  75. package/firestore/lite/firebase.d.ts +2 -1
  76. package/firestore/lite/rxfire.d.ts +4 -4
  77. package/firestore/rxfire.d.ts +7 -7
  78. package/messaging/firebase.d.ts +2 -2
  79. package/messaging/messaging.module.d.ts +2 -2
  80. package/package.json +21 -76
  81. package/performance/rxfire.d.ts +2 -2
  82. package/publish.sh +1 -0
  83. package/remote-config/firebase.d.ts +2 -2
  84. package/remote-config/remote-config.module.d.ts +2 -2
  85. package/remote-config/rxfire.d.ts +5 -5
  86. package/schematics/add/index.js +1 -13
  87. package/schematics/deploy/actions.js +138 -394
  88. package/schematics/deploy/builder.js +139 -61
  89. package/schematics/setup/index.js +94 -64
  90. package/schematics/update/index.js +1 -7
  91. package/schematics/update/v7/index.js +1 -67
  92. package/schematics/versions.json +2 -3
  93. package/vertexai/firebase.d.ts +4 -0
  94. package/vertexai/index.d.ts +5 -0
  95. package/vertexai/package.json +3 -0
  96. package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
  97. package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
  98. package/zones.d.ts +1 -11
  99. package/analytics/is-analytics-supported-factory.d.ts +0 -4
  100. package/analytics/overrides.d.ts +0 -1
  101. package/esm2022/analytics/analytics.mjs +0 -16
  102. package/esm2022/analytics/analytics.module.mjs +0 -101
  103. package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
  104. package/esm2022/analytics/firebase.mjs +0 -17
  105. package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
  106. package/esm2022/analytics/overrides.mjs +0 -3
  107. package/esm2022/analytics/public_api.mjs +0 -6
  108. package/esm2022/analytics/screen-tracking.service.mjs +0 -148
  109. package/esm2022/analytics/user-tracking.service.mjs +0 -44
  110. package/esm2022/angular-fire.mjs +0 -5
  111. package/esm2022/app/angular-fire-app.mjs +0 -5
  112. package/esm2022/app/app.mjs +0 -15
  113. package/esm2022/app/app.module.mjs +0 -91
  114. package/esm2022/app/firebase.mjs +0 -13
  115. package/esm2022/app/public_api.mjs +0 -4
  116. package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
  117. package/esm2022/app-check/app-check.mjs +0 -10
  118. package/esm2022/app-check/app-check.module.mjs +0 -80
  119. package/esm2022/app-check/firebase.mjs +0 -10
  120. package/esm2022/app-check/public_api.mjs +0 -5
  121. package/esm2022/auth/angular-fire-auth.mjs +0 -5
  122. package/esm2022/auth/auth.mjs +0 -16
  123. package/esm2022/auth/auth.module.mjs +0 -73
  124. package/esm2022/auth/firebase.mjs +0 -59
  125. package/esm2022/auth/public_api.mjs +0 -5
  126. package/esm2022/auth/rxfire.mjs +0 -7
  127. package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
  128. package/esm2022/auth-guard/auth-guard.mjs +0 -53
  129. package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
  130. package/esm2022/auth-guard/public_api.mjs +0 -3
  131. package/esm2022/compat/analytics/analytics.mjs +0 -160
  132. package/esm2022/compat/analytics/analytics.module.mjs +0 -35
  133. package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
  134. package/esm2022/compat/analytics/base.mjs +0 -11
  135. package/esm2022/compat/analytics/public_api.mjs +0 -5
  136. package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
  137. package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
  138. package/esm2022/compat/angular-fire-compat.mjs +0 -5
  139. package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
  140. package/esm2022/compat/auth/auth.mjs +0 -161
  141. package/esm2022/compat/auth/auth.module.mjs +0 -20
  142. package/esm2022/compat/auth/base.mjs +0 -39
  143. package/esm2022/compat/auth/public_api.mjs +0 -4
  144. package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
  145. package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
  146. package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
  147. package/esm2022/compat/auth-guard/public_api.mjs +0 -3
  148. package/esm2022/compat/cache.mjs +0 -33
  149. package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
  150. package/esm2022/compat/database/database.mjs +0 -119
  151. package/esm2022/compat/database/database.module.mjs +0 -20
  152. package/esm2022/compat/database/interfaces.mjs +0 -2
  153. package/esm2022/compat/database/list/audit-trail.mjs +0 -47
  154. package/esm2022/compat/database/list/changes.mjs +0 -85
  155. package/esm2022/compat/database/list/create-reference.mjs +0 -44
  156. package/esm2022/compat/database/list/data-operation.mjs +0 -11
  157. package/esm2022/compat/database/list/remove.mjs +0 -16
  158. package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
  159. package/esm2022/compat/database/list/state-changes.mjs +0 -9
  160. package/esm2022/compat/database/list/utils.mjs +0 -8
  161. package/esm2022/compat/database/object/create-reference.mjs +0 -19
  162. package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
  163. package/esm2022/compat/database/observable/fromRef.mjs +0 -48
  164. package/esm2022/compat/database/public_api.mjs +0 -9
  165. package/esm2022/compat/database/utils.mjs +0 -36
  166. package/esm2022/compat/firebase.app.mjs +0 -6
  167. package/esm2022/compat/firebase.app.module.mjs +0 -71
  168. package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
  169. package/esm2022/compat/firestore/collection/changes.mjs +0 -108
  170. package/esm2022/compat/firestore/collection/collection.mjs +0 -123
  171. package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
  172. package/esm2022/compat/firestore/document/document.mjs +0 -87
  173. package/esm2022/compat/firestore/firestore.mjs +0 -257
  174. package/esm2022/compat/firestore/firestore.module.mjs +0 -32
  175. package/esm2022/compat/firestore/interfaces.mjs +0 -2
  176. package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
  177. package/esm2022/compat/firestore/public_api.mjs +0 -9
  178. package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
  179. package/esm2022/compat/functions/base.mjs +0 -8
  180. package/esm2022/compat/functions/functions.mjs +0 -69
  181. package/esm2022/compat/functions/functions.module.mjs +0 -20
  182. package/esm2022/compat/functions/public_api.mjs +0 -4
  183. package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
  184. package/esm2022/compat/messaging/base.mjs +0 -9
  185. package/esm2022/compat/messaging/messaging.mjs +0 -81
  186. package/esm2022/compat/messaging/messaging.module.mjs +0 -20
  187. package/esm2022/compat/messaging/public_api.mjs +0 -3
  188. package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
  189. package/esm2022/compat/performance/base.mjs +0 -9
  190. package/esm2022/compat/performance/performance.mjs +0 -105
  191. package/esm2022/compat/performance/performance.module.mjs +0 -27
  192. package/esm2022/compat/performance/performance.service.mjs +0 -28
  193. package/esm2022/compat/performance/public_api.mjs +0 -4
  194. package/esm2022/compat/proxy.mjs +0 -58
  195. package/esm2022/compat/public_api.mjs +0 -5
  196. package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
  197. package/esm2022/compat/remote-config/base.mjs +0 -20
  198. package/esm2022/compat/remote-config/interfaces.mjs +0 -2
  199. package/esm2022/compat/remote-config/public_api.mjs +0 -3
  200. package/esm2022/compat/remote-config/remote-config.mjs +0 -206
  201. package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
  202. package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
  203. package/esm2022/compat/storage/interfaces.mjs +0 -2
  204. package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
  205. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
  206. package/esm2022/compat/storage/public_api.mjs +0 -7
  207. package/esm2022/compat/storage/ref.mjs +0 -28
  208. package/esm2022/compat/storage/storage.mjs +0 -95
  209. package/esm2022/compat/storage/storage.module.mjs +0 -22
  210. package/esm2022/compat/storage/task.mjs +0 -21
  211. package/esm2022/core.mjs +0 -43
  212. package/esm2022/database/angular-fire-database.mjs +0 -5
  213. package/esm2022/database/database.mjs +0 -16
  214. package/esm2022/database/database.module.mjs +0 -76
  215. package/esm2022/database/firebase.mjs +0 -44
  216. package/esm2022/database/public_api.mjs +0 -5
  217. package/esm2022/database/rxfire.mjs +0 -13
  218. package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
  219. package/esm2022/firestore/firebase.mjs +0 -73
  220. package/esm2022/firestore/firestore.mjs +0 -16
  221. package/esm2022/firestore/firestore.module.mjs +0 -76
  222. package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
  223. package/esm2022/firestore/lite/firebase.mjs +0 -48
  224. package/esm2022/firestore/lite/lite.mjs +0 -16
  225. package/esm2022/firestore/lite/lite.module.mjs +0 -75
  226. package/esm2022/firestore/lite/public_api.mjs +0 -5
  227. package/esm2022/firestore/lite/rxfire.mjs +0 -12
  228. package/esm2022/firestore/public_api.mjs +0 -5
  229. package/esm2022/firestore/rxfire.mjs +0 -15
  230. package/esm2022/functions/angular-fire-functions.mjs +0 -5
  231. package/esm2022/functions/firebase.mjs +0 -9
  232. package/esm2022/functions/functions.mjs +0 -16
  233. package/esm2022/functions/functions.module.mjs +0 -76
  234. package/esm2022/functions/public_api.mjs +0 -5
  235. package/esm2022/functions/rxfire.mjs +0 -5
  236. package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
  237. package/esm2022/messaging/firebase.mjs +0 -10
  238. package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
  239. package/esm2022/messaging/messaging.mjs +0 -16
  240. package/esm2022/messaging/messaging.module.mjs +0 -93
  241. package/esm2022/messaging/overrides.mjs +0 -3
  242. package/esm2022/messaging/public_api.mjs +0 -4
  243. package/esm2022/performance/angular-fire-performance.mjs +0 -5
  244. package/esm2022/performance/firebase.mjs +0 -8
  245. package/esm2022/performance/performance.mjs +0 -16
  246. package/esm2022/performance/performance.module.mjs +0 -83
  247. package/esm2022/performance/public_api.mjs +0 -5
  248. package/esm2022/performance/rxfire.mjs +0 -8
  249. package/esm2022/public_api.mjs +0 -3
  250. package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
  251. package/esm2022/remote-config/firebase.mjs +0 -17
  252. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
  253. package/esm2022/remote-config/overrides.mjs +0 -3
  254. package/esm2022/remote-config/public_api.mjs +0 -5
  255. package/esm2022/remote-config/remote-config.mjs +0 -16
  256. package/esm2022/remote-config/remote-config.module.mjs +0 -93
  257. package/esm2022/remote-config/rxfire.mjs +0 -9
  258. package/esm2022/storage/angular-fire-storage.mjs +0 -5
  259. package/esm2022/storage/firebase.mjs +0 -20
  260. package/esm2022/storage/public_api.mjs +0 -5
  261. package/esm2022/storage/rxfire.mjs +0 -6
  262. package/esm2022/storage/storage.mjs +0 -16
  263. package/esm2022/storage/storage.module.mjs +0 -76
  264. package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
  265. package/esm2022/vertexai-preview/firebase.mjs +0 -7
  266. package/esm2022/vertexai-preview/public_api.mjs +0 -4
  267. package/esm2022/vertexai-preview/vertexai.mjs +0 -16
  268. package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
  269. package/esm2022/zones.mjs +0 -194
  270. package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
  271. package/messaging/is-messaging-supported-factory.d.ts +0 -4
  272. package/messaging/overrides.d.ts +0 -1
  273. package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
  274. package/remote-config/overrides.d.ts +0 -1
  275. package/schematics/common.js +0 -81
  276. package/schematics/deploy/functions-templates.js +0 -57
  277. package/schematics/firebaseTools.js +0 -78
  278. package/schematics/interfaces.js +0 -16
  279. package/schematics/setup/prompts.js +0 -195
  280. package/schematics/utils.js +0 -189
  281. package/vertexai-preview/firebase.d.ts +0 -4
  282. package/vertexai-preview/package.json +0 -3
  283. /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
@@ -1,8 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Version, Injectable } from '@angular/core';
2
+ import { Version, inject, NgZone, Injectable, PendingTasks } from '@angular/core';
3
3
  import { getApps } from 'firebase/app';
4
+ import { pendingUntilEvent } from '@angular/core/rxjs-interop';
4
5
  import { queueScheduler, asyncScheduler, Observable } from 'rxjs';
5
- import { tap, observeOn, subscribeOn } from 'rxjs/operators';
6
+ import { observeOn, subscribeOn } from 'rxjs/operators';
6
7
 
7
8
  const VERSION = new Version('ANGULARFIRE2_VERSION');
8
9
  const ɵisSupportedError = (module) => `The APP_INITIALIZER that is "making" isSupported() sync for the sake of convenient DI has not resolved in this
@@ -46,9 +47,6 @@ class ɵAppCheckInstances {
46
47
  const ɵAPP_CHECK_PROVIDER_NAME = 'app-check';
47
48
 
48
49
  /* eslint-disable @typescript-eslint/ban-ts-comment */
49
- // eslint-disable-next-line @typescript-eslint/no-empty-function
50
- function noop() {
51
- }
52
50
  /**
53
51
  * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.
54
52
  */
@@ -67,9 +65,14 @@ class ɵZoneScheduler {
67
65
  // Wrap the specified work function to make sure that if nested scheduling takes place the
68
66
  // work is executed in the correct zone
69
67
  const workInZone = function (state) {
70
- targetZone.runGuarded(() => {
68
+ if (targetZone) {
69
+ targetZone.runGuarded(() => {
70
+ work.apply(this, [state]);
71
+ });
72
+ }
73
+ else {
71
74
  work.apply(this, [state]);
72
- });
75
+ }
73
76
  };
74
77
  // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done
75
78
  // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that
@@ -77,64 +80,31 @@ class ɵZoneScheduler {
77
80
  return this.delegate.schedule(workInZone, delay, state);
78
81
  }
79
82
  }
80
- class BlockUntilFirstOperator {
81
- zone;
82
- // @ts-ignore
83
- task = null;
84
- constructor(zone) {
85
- this.zone = zone;
86
- }
87
- call(subscriber, source) {
88
- const unscheduleTask = this.unscheduleTask.bind(this);
89
- // @ts-ignore
90
- this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));
91
- return source.pipe(tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })).subscribe(subscriber).add(unscheduleTask);
92
- }
93
- unscheduleTask() {
94
- // maybe this is a race condition, invoke in a timeout
95
- // hold for 10ms while I try to figure out what is going on
96
- setTimeout(() => {
97
- if (this.task != null && this.task.state === 'scheduled') {
98
- this.task.invoke();
99
- this.task = null;
100
- }
101
- }, 10);
102
- }
103
- }
104
83
  class ɵAngularFireSchedulers {
105
- ngZone;
106
84
  outsideAngular;
107
85
  insideAngular;
108
- constructor(ngZone) {
109
- this.ngZone = ngZone;
110
- // @ts-ignore
111
- this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));
112
- // @ts-ignore
113
- this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));
114
- globalThis.ɵAngularFireScheduler ||= this;
86
+ constructor() {
87
+ const ngZone = inject(NgZone);
88
+ this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current));
89
+ this.insideAngular = ngZone.run(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current, asyncScheduler));
115
90
  }
116
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
117
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, providedIn: 'root' });
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
92
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ɵAngularFireSchedulers, providedIn: 'root' });
118
93
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ɵAngularFireSchedulers, decorators: [{
120
95
  type: Injectable,
121
96
  args: [{
122
97
  providedIn: 'root',
123
98
  }]
124
- }], ctorParameters: () => [{ type: i0.NgZone }] });
99
+ }], ctorParameters: () => [] });
125
100
  function getSchedulers() {
126
- const schedulers = globalThis.ɵAngularFireScheduler;
127
- if (!schedulers) {
128
- throw new Error(`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using
129
- provideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);
130
- }
131
- return schedulers;
101
+ return inject(ɵAngularFireSchedulers);
132
102
  }
133
103
  function runOutsideAngular(fn) {
134
- return getSchedulers().ngZone.runOutsideAngular(() => fn());
104
+ return inject(NgZone).runOutsideAngular(() => fn());
135
105
  }
136
106
  function run(fn) {
137
- return getSchedulers().ngZone.run(() => fn());
107
+ return inject(NgZone).run(() => fn());
138
108
  }
139
109
  function observeOutsideAngular(obs$) {
140
110
  return obs$.pipe(observeOn(getSchedulers().outsideAngular));
@@ -142,61 +112,28 @@ function observeOutsideAngular(obs$) {
142
112
  function observeInsideAngular(obs$) {
143
113
  return obs$.pipe(observeOn(getSchedulers().insideAngular));
144
114
  }
145
- function keepUnstableUntilFirst(obs$) {
146
- return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);
147
- }
148
- /**
149
- * Operator to block the zone until the first value has been emitted or the observable
150
- * has completed/errored. This is used to make sure that universal waits until the first
151
- * value from firebase but doesn't block the zone forever since the firebase subscription
152
- * is still alive.
153
- */
154
- function ɵkeepUnstableUntilFirstFactory(schedulers) {
155
- return function keepUnstableUntilFirst(obs$) {
156
- obs$ = obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone));
157
- return obs$.pipe(
158
- // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)
159
- subscribeOn(schedulers.outsideAngular),
160
- // Run operators inside the angular zone (e.g. side effects via tap())
161
- observeOn(schedulers.insideAngular)
162
- // INVESTIGATE https://github.com/angular/angularfire/pull/2315
163
- // share()
164
- );
165
- };
166
- }
167
- // @ts-ignore
168
- const zoneWrapFn = (it, macrotask) => {
169
- // eslint-disable-next-line @typescript-eslint/no-this-alias
170
- const _this = this;
171
- // function() is needed for the arguments object
172
- return function () {
173
- const _arguments = arguments;
174
- if (macrotask) {
175
- setTimeout(() => {
176
- if (macrotask.state === 'scheduled') {
177
- macrotask.invoke();
178
- }
179
- }, 10);
115
+ const zoneWrapFn = (it, taskDone) => {
116
+ return (...args) => {
117
+ if (taskDone) {
118
+ setTimeout(taskDone, 10);
180
119
  }
181
- return run(() => it.apply(_this, _arguments));
120
+ return run(() => it.apply(this, args));
182
121
  };
183
122
  };
184
123
  const ɵzoneWrap = (it, blockUntilFirst) => {
185
124
  // function() is needed for the arguments object
186
125
  return function () {
187
- // @ts-ignore
188
- let macrotask;
126
+ let taskDone;
189
127
  const _arguments = arguments;
190
- // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it
128
+ // if this is a callback function, e.g, onSnapshot, we should create a pending task and complete it
191
129
  // only once one of the callback functions is tripped.
192
130
  for (let i = 0; i < arguments.length; i++) {
193
131
  if (typeof _arguments[i] === 'function') {
194
132
  if (blockUntilFirst) {
195
- // @ts-ignore
196
- macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));
133
+ taskDone ||= run(() => inject(PendingTasks).add());
197
134
  }
198
135
  // TODO create a microtask to track callback functions
199
- _arguments[i] = zoneWrapFn(_arguments[i], macrotask);
136
+ _arguments[i] = zoneWrapFn(_arguments[i], taskDone);
200
137
  }
201
138
  }
202
139
  const ret = runOutsideAngular(() => it.apply(this, _arguments));
@@ -210,21 +147,20 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
210
147
  }
211
148
  }
212
149
  if (ret instanceof Observable) {
213
- return ret.pipe(keepUnstableUntilFirst);
150
+ const schedulers = getSchedulers();
151
+ return ret.pipe(subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular), pendingUntilEvent());
214
152
  }
215
153
  else if (ret instanceof Promise) {
216
154
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
217
- return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));
155
+ return run(() => new Promise((resolve, reject) => {
156
+ inject(PendingTasks).run(() => ret).then((it) => run(() => resolve(it)), (reason) => run(() => reject(reason)));
157
+ }));
218
158
  }
219
- else if (typeof ret === 'function' && macrotask) {
159
+ else if (typeof ret === 'function' && taskDone) {
220
160
  // Handle unsubscribe
221
161
  // function() is needed for the arguments object
222
162
  return function () {
223
- setTimeout(() => {
224
- if (macrotask && macrotask.state === 'scheduled') {
225
- macrotask.invoke();
226
- }
227
- }, 10);
163
+ setTimeout(taskDone, 10);
228
164
  return ret.apply(this, arguments);
229
165
  };
230
166
  }
@@ -239,5 +175,5 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
239
175
  * Generated bundle index. Do not edit.
240
176
  */
241
177
 
242
- export { VERSION, keepUnstableUntilFirst, observeInsideAngular, observeOutsideAngular, ɵAPP_CHECK_PROVIDER_NAME, ɵAngularFireSchedulers, ɵAppCheckInstances, ɵZoneScheduler, ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵisSupportedError, ɵkeepUnstableUntilFirstFactory, ɵzoneWrap };
178
+ export { VERSION, observeInsideAngular, observeOutsideAngular, ɵAPP_CHECK_PROVIDER_NAME, ɵAngularFireSchedulers, ɵAppCheckInstances, ɵZoneScheduler, ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵisSupportedError, ɵzoneWrap };
243
179
  //# sourceMappingURL=angular-fire.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire.mjs","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { ComponentContainer } from '@firebase/component';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport type { AppCheck } from 'firebase/app-check';\n\nexport const VERSION = new Version('ANGULARFIRE2_VERSION');\n\nexport const ɵisSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): T[] => {\n const apps = app ? [app] : getApps();\n const instances: any[] = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ɵAppCheckInstances extends Array<AppCheck> {}\n\nexport class ɵAppCheckInstances {\n constructor() {\n return ɵgetAllInstancesOf<AppCheck>(ɵAPP_CHECK_PROVIDER_NAME);\n }\n}\n\nexport const ɵAPP_CHECK_PROVIDER_NAME = 'app-check';\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { Injectable, NgZone } from '@angular/core';\nimport {\n Observable,\n Operator,\n SchedulerAction,\n SchedulerLike,\n Subscriber,\n Subscription,\n TeardownLogic,\n asyncScheduler,\n queueScheduler\n} from 'rxjs';\nimport { observeOn, subscribeOn, tap } from 'rxjs/operators';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {\n}\n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\nclass BlockUntilFirstOperator<T> implements Operator<T, T> {\n // @ts-ignore\n private task: MacroTask | null = null;\n\n constructor(private zone: any) {\n }\n\n call(subscriber: Subscriber<T>, source: Observable<T>): TeardownLogic {\n const unscheduleTask = this.unscheduleTask.bind(this);\n // @ts-ignore\n this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n\n return source.pipe(\n tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })\n ).subscribe(subscriber).add(unscheduleTask);\n }\n\n private unscheduleTask() {\n // maybe this is a race condition, invoke in a timeout\n // hold for 10ms while I try to figure out what is going on\n setTimeout(() => {\n if (this.task != null && this.task.state === 'scheduled') {\n this.task.invoke();\n this.task = null;\n }\n }, 10);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor(public ngZone: NgZone) {\n // @ts-ignore\n this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));\n // @ts-ignore\n this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));\n globalThis.ɵAngularFireScheduler ||= this;\n }\n}\n\nfunction getSchedulers() {\n const schedulers = globalThis.ɵAngularFireScheduler as ɵAngularFireSchedulers|undefined;\n if (!schedulers) {\n throw new Error(\n`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);\n }\n return schedulers;\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nexport function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);\n}\n\n/**\n * Operator to block the zone until the first value has been emitted or the observable\n * has completed/errored. This is used to make sure that universal waits until the first\n * value from firebase but doesn't block the zone forever since the firebase subscription\n * is still alive.\n */\nexport function ɵkeepUnstableUntilFirstFactory(schedulers: ɵAngularFireSchedulers) {\n return function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n obs$ = obs$.lift(\n new BlockUntilFirstOperator(schedulers.ngZone)\n );\n\n return obs$.pipe(\n // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)\n subscribeOn(schedulers.outsideAngular),\n // Run operators inside the angular zone (e.g. side effects via tap())\n observeOn(schedulers.insideAngular)\n // INVESTIGATE https://github.com/angular/angularfire/pull/2315\n // share()\n );\n };\n}\n\n// @ts-ignore\nconst zoneWrapFn = (it: (...args: any[]) => any, macrotask: MacroTask|undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const _this = this;\n // function() is needed for the arguments object\n return function() {\n const _arguments = arguments;\n if (macrotask) {\n setTimeout(() => {\n if (macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n }\n return run(() => it.apply(_this, _arguments));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n return function() {\n // @ts-ignore\n let macrotask: MacroTask | undefined;\n const _arguments = arguments;\n // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof _arguments[i] === 'function') {\n if (blockUntilFirst) {\n // @ts-ignore\n macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));\n }\n // TODO create a microtask to track callback functions\n _arguments[i] = zoneWrapFn(_arguments[i], macrotask);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, _arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n return ret.pipe(keepUnstableUntilFirst) as any;\n } else if (ret instanceof Promise) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));\n } else if (typeof ret === 'function' && macrotask) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n return function() {\n setTimeout(() => {\n if (macrotask && macrotask.state === 'scheduled') {\n macrotask.invoke();\n }\n }, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["this"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire.mjs","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { ComponentContainer } from '@firebase/component';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport type { AppCheck } from 'firebase/app-check';\n\nexport const VERSION = new Version('ANGULARFIRE2_VERSION');\n\nexport const ɵisSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): T[] => {\n const apps = app ? [app] : getApps();\n const instances: any[] = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ɵAppCheckInstances extends Array<AppCheck> {}\n\nexport class ɵAppCheckInstances {\n constructor() {\n return ɵgetAllInstancesOf<AppCheck>(ɵAPP_CHECK_PROVIDER_NAME);\n }\n}\n\nexport const ɵAPP_CHECK_PROVIDER_NAME = 'app-check';\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport {\n Injectable,\n NgZone,\n PendingTasks,\n inject\n} from '@angular/core';\nimport { pendingUntilEvent } from '@angular/core/rxjs-interop';\nimport {\n Observable,\n SchedulerAction,\n SchedulerLike,\n Subscription,\n asyncScheduler,\n queueScheduler\n} from 'rxjs';\nimport { observeOn, subscribeOn } from 'rxjs/operators';\n\ndeclare const Zone: {current: unknown} | undefined; \n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n if (targetZone) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n } else {\n work.apply(this, [state]);\n }\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor() {\n const ngZone = inject(NgZone);\n this.outsideAngular = ngZone.runOutsideAngular(\n () => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current)\n );\n this.insideAngular = ngZone.run(\n () => new ɵZoneScheduler(\n typeof Zone === 'undefined' ? undefined : Zone.current,\n asyncScheduler\n )\n );\n }\n}\n\nfunction getSchedulers() {\n return inject(ɵAngularFireSchedulers);\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return inject(NgZone).runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return inject(NgZone).run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nconst zoneWrapFn = (\n it: (...args: any[]) => any,\n taskDone: VoidFunction | undefined\n) => {\n return (...args: any[]) => {\n if (taskDone) {\n setTimeout(taskDone, 10);\n }\n return run(() => it.apply(this, args));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n return function () {\n let taskDone: VoidFunction | undefined;\n const _arguments = arguments;\n // if this is a callback function, e.g, onSnapshot, we should create a pending task and complete it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof _arguments[i] === 'function') {\n if (blockUntilFirst) {\n taskDone ||= run(() => inject(PendingTasks).add());\n }\n // TODO create a microtask to track callback functions\n _arguments[i] = zoneWrapFn(_arguments[i], taskDone);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, _arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n pendingUntilEvent(),\n );\n } else if (ret instanceof Promise) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return run(\n () =>\n new Promise((resolve, reject) => {\n inject(PendingTasks).run(() => ret).then(\n (it) => run(() => resolve(it)),\n (reason) => run(() => reject(reason))\n );\n })\n );\n } else if (typeof ret === 'function' && taskDone) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n return function () {\n setTimeout(taskDone, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["this"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export * from 'firebase/firestore';
2
- import { addDoc as _addDoc, aggregateFieldEqual as _aggregateFieldEqual, aggregateQuerySnapshotEqual as _aggregateQuerySnapshotEqual, and as _and, arrayRemove as _arrayRemove, arrayUnion as _arrayUnion, average as _average, clearIndexedDbPersistence as _clearIndexedDbPersistence, collection as _collection, collectionGroup as _collectionGroup, connectFirestoreEmulator as _connectFirestoreEmulator, count as _count, deleteAllPersistentCacheIndexes as _deleteAllPersistentCacheIndexes, deleteDoc as _deleteDoc, deleteField as _deleteField, disableNetwork as _disableNetwork, disablePersistentCacheIndexAutoCreation as _disablePersistentCacheIndexAutoCreation, doc as _doc, documentId as _documentId, enableIndexedDbPersistence as _enableIndexedDbPersistence, enableMultiTabIndexedDbPersistence as _enableMultiTabIndexedDbPersistence, enableNetwork as _enableNetwork, enablePersistentCacheIndexAutoCreation as _enablePersistentCacheIndexAutoCreation, endAt as _endAt, endBefore as _endBefore, getAggregateFromServer as _getAggregateFromServer, getCountFromServer as _getCountFromServer, getDoc as _getDoc, getDocFromCache as _getDocFromCache, getDocFromServer as _getDocFromServer, getDocs as _getDocs, getDocsFromCache as _getDocsFromCache, getDocsFromServer as _getDocsFromServer, getFirestore as _getFirestore, getPersistentCacheIndexManager as _getPersistentCacheIndexManager, increment as _increment, initializeFirestore as _initializeFirestore, limit as _limit, limitToLast as _limitToLast, loadBundle as _loadBundle, memoryEagerGarbageCollector as _memoryEagerGarbageCollector, memoryLocalCache as _memoryLocalCache, memoryLruGarbageCollector as _memoryLruGarbageCollector, namedQuery as _namedQuery, onSnapshot as _onSnapshot, onSnapshotsInSync as _onSnapshotsInSync, or as _or, orderBy as _orderBy, persistentLocalCache as _persistentLocalCache, persistentMultipleTabManager as _persistentMultipleTabManager, persistentSingleTabManager as _persistentSingleTabManager, query as _query, queryEqual as _queryEqual, refEqual as _refEqual, runTransaction as _runTransaction, serverTimestamp as _serverTimestamp, setDoc as _setDoc, setIndexConfiguration as _setIndexConfiguration, setLogLevel as _setLogLevel, snapshotEqual as _snapshotEqual, startAfter as _startAfter, startAt as _startAt, sum as _sum, terminate as _terminate, updateDoc as _updateDoc, waitForPendingWrites as _waitForPendingWrites, where as _where, writeBatch as _writeBatch } from 'firebase/firestore';
2
+ import { addDoc as _addDoc, aggregateFieldEqual as _aggregateFieldEqual, aggregateQuerySnapshotEqual as _aggregateQuerySnapshotEqual, and as _and, arrayRemove as _arrayRemove, arrayUnion as _arrayUnion, average as _average, clearIndexedDbPersistence as _clearIndexedDbPersistence, collection as _collection, collectionGroup as _collectionGroup, connectFirestoreEmulator as _connectFirestoreEmulator, count as _count, deleteAllPersistentCacheIndexes as _deleteAllPersistentCacheIndexes, deleteDoc as _deleteDoc, deleteField as _deleteField, disableNetwork as _disableNetwork, disablePersistentCacheIndexAutoCreation as _disablePersistentCacheIndexAutoCreation, doc as _doc, documentId as _documentId, enableIndexedDbPersistence as _enableIndexedDbPersistence, enableMultiTabIndexedDbPersistence as _enableMultiTabIndexedDbPersistence, enableNetwork as _enableNetwork, enablePersistentCacheIndexAutoCreation as _enablePersistentCacheIndexAutoCreation, endAt as _endAt, endBefore as _endBefore, getAggregateFromServer as _getAggregateFromServer, getCountFromServer as _getCountFromServer, getDoc as _getDoc, getDocFromCache as _getDocFromCache, getDocFromServer as _getDocFromServer, getDocs as _getDocs, getDocsFromCache as _getDocsFromCache, getDocsFromServer as _getDocsFromServer, getFirestore as _getFirestore, getPersistentCacheIndexManager as _getPersistentCacheIndexManager, increment as _increment, initializeFirestore as _initializeFirestore, limit as _limit, limitToLast as _limitToLast, loadBundle as _loadBundle, memoryEagerGarbageCollector as _memoryEagerGarbageCollector, memoryLocalCache as _memoryLocalCache, memoryLruGarbageCollector as _memoryLruGarbageCollector, namedQuery as _namedQuery, onSnapshot as _onSnapshot, onSnapshotsInSync as _onSnapshotsInSync, or as _or, orderBy as _orderBy, persistentLocalCache as _persistentLocalCache, persistentMultipleTabManager as _persistentMultipleTabManager, persistentSingleTabManager as _persistentSingleTabManager, query as _query, queryEqual as _queryEqual, refEqual as _refEqual, runTransaction as _runTransaction, serverTimestamp as _serverTimestamp, setDoc as _setDoc, setIndexConfiguration as _setIndexConfiguration, setLogLevel as _setLogLevel, snapshotEqual as _snapshotEqual, startAfter as _startAfter, startAt as _startAt, sum as _sum, terminate as _terminate, updateDoc as _updateDoc, vector as _vector, waitForPendingWrites as _waitForPendingWrites, where as _where, writeBatch as _writeBatch } from 'firebase/firestore';
3
3
  export declare const addDoc: typeof _addDoc;
4
4
  export declare const aggregateFieldEqual: typeof _aggregateFieldEqual;
5
5
  export declare const aggregateQuerySnapshotEqual: typeof _aggregateQuerySnapshotEqual;
@@ -65,6 +65,7 @@ export declare const startAt: typeof _startAt;
65
65
  export declare const sum: typeof _sum;
66
66
  export declare const terminate: typeof _terminate;
67
67
  export declare const updateDoc: typeof _updateDoc;
68
+ export declare const vector: typeof _vector;
68
69
  export declare const waitForPendingWrites: typeof _waitForPendingWrites;
69
70
  export declare const where: typeof _where;
70
71
  export declare const writeBatch: typeof _writeBatch;
@@ -1,5 +1,5 @@
1
1
  export * from 'firebase/firestore/lite';
2
- import { addDoc as _addDoc, aggregateFieldEqual as _aggregateFieldEqual, aggregateQuerySnapshotEqual as _aggregateQuerySnapshotEqual, and as _and, arrayRemove as _arrayRemove, arrayUnion as _arrayUnion, average as _average, collection as _collection, collectionGroup as _collectionGroup, connectFirestoreEmulator as _connectFirestoreEmulator, count as _count, deleteDoc as _deleteDoc, deleteField as _deleteField, doc as _doc, documentId as _documentId, endAt as _endAt, endBefore as _endBefore, getAggregate as _getAggregate, getCount as _getCount, getDoc as _getDoc, getDocs as _getDocs, getFirestore as _getFirestore, increment as _increment, initializeFirestore as _initializeFirestore, limit as _limit, limitToLast as _limitToLast, or as _or, orderBy as _orderBy, query as _query, queryEqual as _queryEqual, refEqual as _refEqual, runTransaction as _runTransaction, serverTimestamp as _serverTimestamp, setDoc as _setDoc, setLogLevel as _setLogLevel, snapshotEqual as _snapshotEqual, startAfter as _startAfter, startAt as _startAt, sum as _sum, terminate as _terminate, updateDoc as _updateDoc, where as _where, writeBatch as _writeBatch } from 'firebase/firestore/lite';
2
+ import { addDoc as _addDoc, aggregateFieldEqual as _aggregateFieldEqual, aggregateQuerySnapshotEqual as _aggregateQuerySnapshotEqual, and as _and, arrayRemove as _arrayRemove, arrayUnion as _arrayUnion, average as _average, collection as _collection, collectionGroup as _collectionGroup, connectFirestoreEmulator as _connectFirestoreEmulator, count as _count, deleteDoc as _deleteDoc, deleteField as _deleteField, doc as _doc, documentId as _documentId, endAt as _endAt, endBefore as _endBefore, getAggregate as _getAggregate, getCount as _getCount, getDoc as _getDoc, getDocs as _getDocs, getFirestore as _getFirestore, increment as _increment, initializeFirestore as _initializeFirestore, limit as _limit, limitToLast as _limitToLast, or as _or, orderBy as _orderBy, query as _query, queryEqual as _queryEqual, refEqual as _refEqual, runTransaction as _runTransaction, serverTimestamp as _serverTimestamp, setDoc as _setDoc, setLogLevel as _setLogLevel, snapshotEqual as _snapshotEqual, startAfter as _startAfter, startAt as _startAt, sum as _sum, terminate as _terminate, updateDoc as _updateDoc, vector as _vector, where as _where, writeBatch as _writeBatch } from 'firebase/firestore/lite';
3
3
  export declare const addDoc: typeof _addDoc;
4
4
  export declare const aggregateFieldEqual: typeof _aggregateFieldEqual;
5
5
  export declare const aggregateQuerySnapshotEqual: typeof _aggregateQuerySnapshotEqual;
@@ -41,5 +41,6 @@ export declare const startAt: typeof _startAt;
41
41
  export declare const sum: typeof _sum;
42
42
  export declare const terminate: typeof _terminate;
43
43
  export declare const updateDoc: typeof _updateDoc;
44
+ export declare const vector: typeof _vector;
44
45
  export declare const where: typeof _where;
45
46
  export declare const writeBatch: typeof _writeBatch;
@@ -1,9 +1,9 @@
1
- import { collection as _collection, collectionData as _collectionData, collectionCountSnap as _collectionCountSnap, collectionCount as _collectionCount, doc as _doc, docData as _docData, snapToData as _snapToData, fromRef as _fromRef } from 'rxfire/firestore/lite';
1
+ import { collection as _collection, collectionCount as _collectionCount, collectionCountSnap as _collectionCountSnap, collectionData as _collectionData, doc as _doc, docData as _docData, fromRef as _fromRef, snapToData as _snapToData } from 'rxfire/firestore/lite';
2
2
  export declare const collectionSnapshots: typeof _collection;
3
- export declare const collectionData: typeof _collectionData;
4
- export declare const collectionCountSnap: typeof _collectionCountSnap;
5
3
  export declare const collectionCount: typeof _collectionCount;
4
+ export declare const collectionCountSnap: typeof _collectionCountSnap;
5
+ export declare const collectionData: typeof _collectionData;
6
6
  export declare const docSnapshots: typeof _doc;
7
7
  export declare const docData: typeof _docData;
8
- export declare const snapToData: typeof _snapToData;
9
8
  export declare const fromRef: typeof _fromRef;
9
+ export declare const snapToData: typeof _snapToData;
@@ -1,12 +1,12 @@
1
- import { collectionChanges as _collectionChanges, collection as _collection, sortedChanges as _sortedChanges, auditTrail as _auditTrail, collectionData as _collectionData, collectionCountSnap as _collectionCountSnap, collectionCount as _collectionCount, doc as _doc, docData as _docData, snapToData as _snapToData, fromRef as _fromRef } from 'rxfire/firestore';
2
- export declare const collectionChanges: typeof _collectionChanges;
3
- export declare const collectionSnapshots: typeof _collection;
4
- export declare const sortedChanges: typeof _sortedChanges;
1
+ import { auditTrail as _auditTrail, collection as _collection, collectionChanges as _collectionChanges, collectionCount as _collectionCount, collectionCountSnap as _collectionCountSnap, collectionData as _collectionData, doc as _doc, docData as _docData, fromRef as _fromRef, snapToData as _snapToData, sortedChanges as _sortedChanges } from 'rxfire/firestore';
5
2
  export declare const auditTrail: typeof _auditTrail;
6
- export declare const collectionData: typeof _collectionData;
7
- export declare const collectionCountSnap: typeof _collectionCountSnap;
3
+ export declare const collectionSnapshots: typeof _collection;
4
+ export declare const collectionChanges: typeof _collectionChanges;
8
5
  export declare const collectionCount: typeof _collectionCount;
6
+ export declare const collectionCountSnap: typeof _collectionCountSnap;
7
+ export declare const collectionData: typeof _collectionData;
9
8
  export declare const docSnapshots: typeof _doc;
10
9
  export declare const docData: typeof _docData;
11
- export declare const snapToData: typeof _snapToData;
12
10
  export declare const fromRef: typeof _fromRef;
11
+ export declare const snapToData: typeof _snapToData;
12
+ export declare const sortedChanges: typeof _sortedChanges;
@@ -1,7 +1,7 @@
1
1
  export * from 'firebase/messaging';
2
- import { deleteToken as _deleteToken, getMessaging as _getMessaging, getToken as _getToken, onMessage as _onMessage } from 'firebase/messaging';
3
- export { isSupported } from './overrides';
2
+ import { deleteToken as _deleteToken, getMessaging as _getMessaging, getToken as _getToken, isSupported as _isSupported, onMessage as _onMessage } from 'firebase/messaging';
4
3
  export declare const deleteToken: typeof _deleteToken;
5
4
  export declare const getMessaging: typeof _getMessaging;
6
5
  export declare const getToken: typeof _getToken;
6
+ export declare const isSupported: typeof _isSupported;
7
7
  export declare const onMessage: typeof _onMessage;
@@ -3,8 +3,8 @@ import { FirebaseApp } from '@angular/fire/app';
3
3
  import { Messaging as FirebaseMessaging } from 'firebase/messaging';
4
4
  import { Messaging } from './messaging';
5
5
  import * as i0 from "@angular/core";
6
- export declare function defaultMessagingInstanceFactory(provided: FirebaseMessaging[] | undefined, defaultApp: FirebaseApp): Messaging;
7
- export declare function messagingInstanceFactory(fn: (injector: Injector) => FirebaseMessaging): (zone: NgZone, injector: Injector) => Messaging;
6
+ export declare function defaultMessagingInstanceFactory(provided: FirebaseMessaging[] | undefined, defaultApp: FirebaseApp, platformId: object): Messaging;
7
+ export declare function messagingInstanceFactory(fn: (injector: Injector) => FirebaseMessaging): (zone: NgZone, injector: Injector, platformId: object) => Messaging;
8
8
  export declare class MessagingModule {
9
9
  constructor();
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<MessagingModule, never>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "../node_modules/ng-packagr/package.schema.json",
3
3
  "name": "@angular/fire",
4
- "version": "18.0.1",
4
+ "version": "19.0.0-canary.6b1b0ca",
5
5
  "description": "Angular + Firebase = ❤️",
6
6
  "schematics": "./schematics/collection.json",
7
7
  "builders": "./schematics/builders.json",
@@ -23,35 +23,28 @@
23
23
  "author": "angular,firebase",
24
24
  "license": "MIT",
25
25
  "peerDependencies": {
26
- "@angular/common": "^18.0.0",
27
- "@angular/core": "^18.0.0",
28
- "@angular/platform-browser": "^18.0.0",
29
- "@angular/platform-browser-dynamic": "^18.0.0",
26
+ "@angular/common": "^19.0.0",
27
+ "@angular/core": "^19.0.0",
28
+ "@angular/platform-browser": "^19.0.0",
29
+ "@angular/platform-browser-dynamic": "^19.0.0",
30
+ "@angular/platform-server": "^19.0.0",
30
31
  "rxjs": "~7.8.0",
31
32
  "firebase-tools": "^13.0.0"
32
33
  },
33
34
  "peerDependenciesMeta": {
34
35
  "firebase-tools": {
35
36
  "optional": true
37
+ },
38
+ "@angular/platform-server": {
39
+ "optional": true
36
40
  }
37
41
  },
38
42
  "dependencies": {
39
- "firebase": "^10.12.0",
40
- "rxfire": "^6.0.5",
41
- "@angular-devkit/schematics": "^18.0.0",
42
- "@schematics/angular": "^18.0.0",
43
- "tslib": "^2.3.0",
44
- "fuzzy": "^0.1.3",
45
- "inquirer-autocomplete-prompt": "^1.0.1",
46
- "open": "^8.0.0",
47
- "jsonc-parser": "^3.0.0",
48
- "ora": "^5.3.0",
49
- "winston": "^3.0.0",
50
- "triple-beam": "^1.3.0",
51
- "node-fetch": "^2.6.1",
52
- "semver": "^7.1.3",
53
- "inquirer": "^8.1.1",
54
- "fs-extra": "^8.0.1"
43
+ "firebase": "^11.0.2",
44
+ "rxfire": "^6.1.0",
45
+ "@angular-devkit/schematics": "^19.0.0",
46
+ "@schematics/angular": "^19.0.0",
47
+ "tslib": "^2.3.0"
55
48
  },
56
49
  "ng-update": {
57
50
  "migrations": "./schematics/migration.json"
@@ -64,158 +57,110 @@
64
57
  },
65
58
  ".": {
66
59
  "types": "./index.d.ts",
67
- "esm2022": "./esm2022/angular-fire.mjs",
68
- "esm": "./esm2022/angular-fire.mjs",
69
60
  "default": "./fesm2022/angular-fire.mjs"
70
61
  },
71
62
  "./analytics": {
72
63
  "types": "./analytics/index.d.ts",
73
- "esm2022": "./esm2022/analytics/angular-fire-analytics.mjs",
74
- "esm": "./esm2022/analytics/angular-fire-analytics.mjs",
75
64
  "default": "./fesm2022/angular-fire-analytics.mjs"
76
65
  },
77
66
  "./app": {
78
67
  "types": "./app/index.d.ts",
79
- "esm2022": "./esm2022/app/angular-fire-app.mjs",
80
- "esm": "./esm2022/app/angular-fire-app.mjs",
81
68
  "default": "./fesm2022/angular-fire-app.mjs"
82
69
  },
83
70
  "./app-check": {
84
71
  "types": "./app-check/index.d.ts",
85
- "esm2022": "./esm2022/app-check/angular-fire-app-check.mjs",
86
- "esm": "./esm2022/app-check/angular-fire-app-check.mjs",
87
72
  "default": "./fesm2022/angular-fire-app-check.mjs"
88
73
  },
89
74
  "./auth": {
90
75
  "types": "./auth/index.d.ts",
91
- "esm2022": "./esm2022/auth/angular-fire-auth.mjs",
92
- "esm": "./esm2022/auth/angular-fire-auth.mjs",
93
76
  "default": "./fesm2022/angular-fire-auth.mjs"
94
77
  },
95
78
  "./auth-guard": {
96
79
  "types": "./auth-guard/index.d.ts",
97
- "esm2022": "./esm2022/auth-guard/angular-fire-auth-guard.mjs",
98
- "esm": "./esm2022/auth-guard/angular-fire-auth-guard.mjs",
99
80
  "default": "./fesm2022/angular-fire-auth-guard.mjs"
100
81
  },
101
82
  "./compat": {
102
83
  "types": "./compat/index.d.ts",
103
- "esm2022": "./esm2022/compat/angular-fire-compat.mjs",
104
- "esm": "./esm2022/compat/angular-fire-compat.mjs",
105
84
  "default": "./fesm2022/angular-fire-compat.mjs"
106
85
  },
86
+ "./data-connect": {
87
+ "types": "./data-connect/index.d.ts",
88
+ "default": "./fesm2022/angular-fire-data-connect.mjs"
89
+ },
107
90
  "./database": {
108
91
  "types": "./database/index.d.ts",
109
- "esm2022": "./esm2022/database/angular-fire-database.mjs",
110
- "esm": "./esm2022/database/angular-fire-database.mjs",
111
92
  "default": "./fesm2022/angular-fire-database.mjs"
112
93
  },
113
94
  "./firestore": {
114
95
  "types": "./firestore/index.d.ts",
115
- "esm2022": "./esm2022/firestore/angular-fire-firestore.mjs",
116
- "esm": "./esm2022/firestore/angular-fire-firestore.mjs",
117
96
  "default": "./fesm2022/angular-fire-firestore.mjs"
118
97
  },
119
98
  "./functions": {
120
99
  "types": "./functions/index.d.ts",
121
- "esm2022": "./esm2022/functions/angular-fire-functions.mjs",
122
- "esm": "./esm2022/functions/angular-fire-functions.mjs",
123
100
  "default": "./fesm2022/angular-fire-functions.mjs"
124
101
  },
125
102
  "./messaging": {
126
103
  "types": "./messaging/index.d.ts",
127
- "esm2022": "./esm2022/messaging/angular-fire-messaging.mjs",
128
- "esm": "./esm2022/messaging/angular-fire-messaging.mjs",
129
104
  "default": "./fesm2022/angular-fire-messaging.mjs"
130
105
  },
131
106
  "./performance": {
132
107
  "types": "./performance/index.d.ts",
133
- "esm2022": "./esm2022/performance/angular-fire-performance.mjs",
134
- "esm": "./esm2022/performance/angular-fire-performance.mjs",
135
108
  "default": "./fesm2022/angular-fire-performance.mjs"
136
109
  },
137
110
  "./remote-config": {
138
111
  "types": "./remote-config/index.d.ts",
139
- "esm2022": "./esm2022/remote-config/angular-fire-remote-config.mjs",
140
- "esm": "./esm2022/remote-config/angular-fire-remote-config.mjs",
141
112
  "default": "./fesm2022/angular-fire-remote-config.mjs"
142
113
  },
143
114
  "./storage": {
144
115
  "types": "./storage/index.d.ts",
145
- "esm2022": "./esm2022/storage/angular-fire-storage.mjs",
146
- "esm": "./esm2022/storage/angular-fire-storage.mjs",
147
116
  "default": "./fesm2022/angular-fire-storage.mjs"
148
117
  },
149
- "./vertexai-preview": {
150
- "types": "./vertexai-preview/index.d.ts",
151
- "esm2022": "./esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs",
152
- "esm": "./esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs",
153
- "default": "./fesm2022/angular-fire-vertexai-preview.mjs"
118
+ "./vertexai": {
119
+ "types": "./vertexai/index.d.ts",
120
+ "default": "./fesm2022/angular-fire-vertexai.mjs"
154
121
  },
155
122
  "./compat/analytics": {
156
123
  "types": "./compat/analytics/index.d.ts",
157
- "esm2022": "./esm2022/compat/analytics/angular-fire-compat-analytics.mjs",
158
- "esm": "./esm2022/compat/analytics/angular-fire-compat-analytics.mjs",
159
124
  "default": "./fesm2022/angular-fire-compat-analytics.mjs"
160
125
  },
161
126
  "./compat/auth": {
162
127
  "types": "./compat/auth/index.d.ts",
163
- "esm2022": "./esm2022/compat/auth/angular-fire-compat-auth.mjs",
164
- "esm": "./esm2022/compat/auth/angular-fire-compat-auth.mjs",
165
128
  "default": "./fesm2022/angular-fire-compat-auth.mjs"
166
129
  },
167
130
  "./compat/auth-guard": {
168
131
  "types": "./compat/auth-guard/index.d.ts",
169
- "esm2022": "./esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs",
170
- "esm": "./esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs",
171
132
  "default": "./fesm2022/angular-fire-compat-auth-guard.mjs"
172
133
  },
173
134
  "./compat/database": {
174
135
  "types": "./compat/database/index.d.ts",
175
- "esm2022": "./esm2022/compat/database/angular-fire-compat-database.mjs",
176
- "esm": "./esm2022/compat/database/angular-fire-compat-database.mjs",
177
136
  "default": "./fesm2022/angular-fire-compat-database.mjs"
178
137
  },
179
138
  "./compat/firestore": {
180
139
  "types": "./compat/firestore/index.d.ts",
181
- "esm2022": "./esm2022/compat/firestore/angular-fire-compat-firestore.mjs",
182
- "esm": "./esm2022/compat/firestore/angular-fire-compat-firestore.mjs",
183
140
  "default": "./fesm2022/angular-fire-compat-firestore.mjs"
184
141
  },
185
142
  "./compat/functions": {
186
143
  "types": "./compat/functions/index.d.ts",
187
- "esm2022": "./esm2022/compat/functions/angular-fire-compat-functions.mjs",
188
- "esm": "./esm2022/compat/functions/angular-fire-compat-functions.mjs",
189
144
  "default": "./fesm2022/angular-fire-compat-functions.mjs"
190
145
  },
191
146
  "./compat/messaging": {
192
147
  "types": "./compat/messaging/index.d.ts",
193
- "esm2022": "./esm2022/compat/messaging/angular-fire-compat-messaging.mjs",
194
- "esm": "./esm2022/compat/messaging/angular-fire-compat-messaging.mjs",
195
148
  "default": "./fesm2022/angular-fire-compat-messaging.mjs"
196
149
  },
197
150
  "./compat/performance": {
198
151
  "types": "./compat/performance/index.d.ts",
199
- "esm2022": "./esm2022/compat/performance/angular-fire-compat-performance.mjs",
200
- "esm": "./esm2022/compat/performance/angular-fire-compat-performance.mjs",
201
152
  "default": "./fesm2022/angular-fire-compat-performance.mjs"
202
153
  },
203
154
  "./compat/remote-config": {
204
155
  "types": "./compat/remote-config/index.d.ts",
205
- "esm2022": "./esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs",
206
- "esm": "./esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs",
207
156
  "default": "./fesm2022/angular-fire-compat-remote-config.mjs"
208
157
  },
209
158
  "./compat/storage": {
210
159
  "types": "./compat/storage/index.d.ts",
211
- "esm2022": "./esm2022/compat/storage/angular-fire-compat-storage.mjs",
212
- "esm": "./esm2022/compat/storage/angular-fire-compat-storage.mjs",
213
160
  "default": "./fesm2022/angular-fire-compat-storage.mjs"
214
161
  },
215
162
  "./firestore/lite": {
216
163
  "types": "./firestore/lite/index.d.ts",
217
- "esm2022": "./esm2022/firestore/lite/angular-fire-firestore-lite.mjs",
218
- "esm": "./esm2022/firestore/lite/angular-fire-firestore-lite.mjs",
219
164
  "default": "./fesm2022/angular-fire-firestore-lite.mjs"
220
165
  }
221
166
  },