@angular/fire 18.0.1-canary.f379433 → 19.0.0-canary.45ccd39

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 (275) hide show
  1. package/README.md +2 -2
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +2 -2
  4. package/analytics/screen-tracking.service.d.ts +1 -1
  5. package/compat/database/database.d.ts +1 -1
  6. package/compat/firestore/firestore.d.ts +1 -1
  7. package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
  8. package/compat/storage/storage.d.ts +1 -1
  9. package/compat/storage/storage.module.d.ts +1 -1
  10. package/data-connect/data-connect.d.ts +9 -0
  11. package/data-connect/data-connect.module.d.ts +13 -0
  12. package/data-connect/firebase.d.ts +12 -0
  13. package/{vertexai-preview → data-connect}/index.d.ts +1 -1
  14. package/data-connect/package.json +3 -0
  15. package/data-connect/public_api.d.ts +3 -0
  16. package/docs/install-and-setup.md +10 -5
  17. package/docs/vertexai.md +3 -3
  18. package/fesm2022/angular-fire-analytics.mjs +24 -51
  19. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  20. package/fesm2022/angular-fire-app-check.mjs +4 -4
  21. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  22. package/fesm2022/angular-fire-app.mjs +4 -4
  23. package/fesm2022/angular-fire-app.mjs.map +1 -1
  24. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  25. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  26. package/fesm2022/angular-fire-auth.mjs +5 -5
  27. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  28. package/fesm2022/angular-fire-compat-analytics.mjs +15 -15
  29. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  30. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  31. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  32. package/fesm2022/angular-fire-compat-auth.mjs +10 -9
  33. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  34. package/fesm2022/angular-fire-compat-database.mjs +20 -19
  35. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  36. package/fesm2022/angular-fire-compat-firestore.mjs +23 -22
  37. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  38. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  39. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  40. package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
  41. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  42. package/fesm2022/angular-fire-compat-performance.mjs +10 -10
  43. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  44. package/fesm2022/angular-fire-compat-remote-config.mjs +10 -9
  45. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  46. package/fesm2022/angular-fire-compat-storage.mjs +20 -18
  47. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  48. package/fesm2022/angular-fire-compat.mjs +4 -4
  49. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  50. package/fesm2022/angular-fire-data-connect.mjs +100 -0
  51. package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
  52. package/fesm2022/angular-fire-database.mjs +4 -4
  53. package/fesm2022/angular-fire-database.mjs.map +1 -1
  54. package/fesm2022/angular-fire-firestore-lite.mjs +7 -6
  55. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  56. package/fesm2022/angular-fire-firestore.mjs +7 -6
  57. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  58. package/fesm2022/angular-fire-functions.mjs +4 -4
  59. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  60. package/fesm2022/angular-fire-messaging.mjs +15 -42
  61. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  62. package/fesm2022/angular-fire-performance.mjs +4 -4
  63. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  64. package/fesm2022/angular-fire-remote-config.mjs +16 -43
  65. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  66. package/fesm2022/angular-fire-storage.mjs +4 -4
  67. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  68. package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +7 -7
  69. package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
  70. package/fesm2022/angular-fire.mjs +84 -68
  71. package/fesm2022/angular-fire.mjs.map +1 -1
  72. package/firestore/firebase.d.ts +2 -1
  73. package/firestore/lite/firebase.d.ts +2 -1
  74. package/messaging/firebase.d.ts +2 -2
  75. package/messaging/messaging.module.d.ts +2 -2
  76. package/package.json +21 -76
  77. package/remote-config/firebase.d.ts +2 -2
  78. package/remote-config/remote-config.module.d.ts +2 -2
  79. package/schematics/add/index.js +1 -13
  80. package/schematics/deploy/actions.js +138 -394
  81. package/schematics/deploy/builder.js +139 -61
  82. package/schematics/setup/index.js +94 -64
  83. package/schematics/update/index.js +1 -7
  84. package/schematics/update/v7/index.js +1 -67
  85. package/schematics/versions.json +2 -3
  86. package/{vertexai-preview → vertexai}/firebase.d.ts +2 -2
  87. package/vertexai/index.d.ts +5 -0
  88. package/vertexai/package.json +3 -0
  89. package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
  90. package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
  91. package/zones.d.ts +1 -12
  92. package/analytics/is-analytics-supported-factory.d.ts +0 -4
  93. package/analytics/overrides.d.ts +0 -1
  94. package/esm2022/analytics/analytics.mjs +0 -16
  95. package/esm2022/analytics/analytics.module.mjs +0 -101
  96. package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
  97. package/esm2022/analytics/firebase.mjs +0 -17
  98. package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
  99. package/esm2022/analytics/overrides.mjs +0 -3
  100. package/esm2022/analytics/public_api.mjs +0 -6
  101. package/esm2022/analytics/screen-tracking.service.mjs +0 -148
  102. package/esm2022/analytics/user-tracking.service.mjs +0 -44
  103. package/esm2022/angular-fire.mjs +0 -5
  104. package/esm2022/app/angular-fire-app.mjs +0 -5
  105. package/esm2022/app/app.mjs +0 -15
  106. package/esm2022/app/app.module.mjs +0 -91
  107. package/esm2022/app/firebase.mjs +0 -13
  108. package/esm2022/app/public_api.mjs +0 -4
  109. package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
  110. package/esm2022/app-check/app-check.mjs +0 -10
  111. package/esm2022/app-check/app-check.module.mjs +0 -80
  112. package/esm2022/app-check/firebase.mjs +0 -10
  113. package/esm2022/app-check/public_api.mjs +0 -5
  114. package/esm2022/auth/angular-fire-auth.mjs +0 -5
  115. package/esm2022/auth/auth.mjs +0 -16
  116. package/esm2022/auth/auth.module.mjs +0 -73
  117. package/esm2022/auth/firebase.mjs +0 -59
  118. package/esm2022/auth/public_api.mjs +0 -5
  119. package/esm2022/auth/rxfire.mjs +0 -7
  120. package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
  121. package/esm2022/auth-guard/auth-guard.mjs +0 -53
  122. package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
  123. package/esm2022/auth-guard/public_api.mjs +0 -3
  124. package/esm2022/compat/analytics/analytics.mjs +0 -160
  125. package/esm2022/compat/analytics/analytics.module.mjs +0 -35
  126. package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
  127. package/esm2022/compat/analytics/base.mjs +0 -11
  128. package/esm2022/compat/analytics/public_api.mjs +0 -5
  129. package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
  130. package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
  131. package/esm2022/compat/angular-fire-compat.mjs +0 -5
  132. package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
  133. package/esm2022/compat/auth/auth.mjs +0 -161
  134. package/esm2022/compat/auth/auth.module.mjs +0 -20
  135. package/esm2022/compat/auth/base.mjs +0 -39
  136. package/esm2022/compat/auth/public_api.mjs +0 -4
  137. package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
  138. package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
  139. package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
  140. package/esm2022/compat/auth-guard/public_api.mjs +0 -3
  141. package/esm2022/compat/cache.mjs +0 -33
  142. package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
  143. package/esm2022/compat/database/database.mjs +0 -119
  144. package/esm2022/compat/database/database.module.mjs +0 -20
  145. package/esm2022/compat/database/interfaces.mjs +0 -2
  146. package/esm2022/compat/database/list/audit-trail.mjs +0 -47
  147. package/esm2022/compat/database/list/changes.mjs +0 -85
  148. package/esm2022/compat/database/list/create-reference.mjs +0 -44
  149. package/esm2022/compat/database/list/data-operation.mjs +0 -11
  150. package/esm2022/compat/database/list/remove.mjs +0 -16
  151. package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
  152. package/esm2022/compat/database/list/state-changes.mjs +0 -9
  153. package/esm2022/compat/database/list/utils.mjs +0 -8
  154. package/esm2022/compat/database/object/create-reference.mjs +0 -19
  155. package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
  156. package/esm2022/compat/database/observable/fromRef.mjs +0 -48
  157. package/esm2022/compat/database/public_api.mjs +0 -9
  158. package/esm2022/compat/database/utils.mjs +0 -36
  159. package/esm2022/compat/firebase.app.mjs +0 -6
  160. package/esm2022/compat/firebase.app.module.mjs +0 -71
  161. package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
  162. package/esm2022/compat/firestore/collection/changes.mjs +0 -108
  163. package/esm2022/compat/firestore/collection/collection.mjs +0 -123
  164. package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
  165. package/esm2022/compat/firestore/document/document.mjs +0 -87
  166. package/esm2022/compat/firestore/firestore.mjs +0 -257
  167. package/esm2022/compat/firestore/firestore.module.mjs +0 -32
  168. package/esm2022/compat/firestore/interfaces.mjs +0 -2
  169. package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
  170. package/esm2022/compat/firestore/public_api.mjs +0 -9
  171. package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
  172. package/esm2022/compat/functions/base.mjs +0 -8
  173. package/esm2022/compat/functions/functions.mjs +0 -69
  174. package/esm2022/compat/functions/functions.module.mjs +0 -20
  175. package/esm2022/compat/functions/public_api.mjs +0 -4
  176. package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
  177. package/esm2022/compat/messaging/base.mjs +0 -9
  178. package/esm2022/compat/messaging/messaging.mjs +0 -81
  179. package/esm2022/compat/messaging/messaging.module.mjs +0 -20
  180. package/esm2022/compat/messaging/public_api.mjs +0 -3
  181. package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
  182. package/esm2022/compat/performance/base.mjs +0 -9
  183. package/esm2022/compat/performance/performance.mjs +0 -105
  184. package/esm2022/compat/performance/performance.module.mjs +0 -27
  185. package/esm2022/compat/performance/performance.service.mjs +0 -28
  186. package/esm2022/compat/performance/public_api.mjs +0 -4
  187. package/esm2022/compat/proxy.mjs +0 -58
  188. package/esm2022/compat/public_api.mjs +0 -5
  189. package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
  190. package/esm2022/compat/remote-config/base.mjs +0 -20
  191. package/esm2022/compat/remote-config/interfaces.mjs +0 -2
  192. package/esm2022/compat/remote-config/public_api.mjs +0 -3
  193. package/esm2022/compat/remote-config/remote-config.mjs +0 -206
  194. package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
  195. package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
  196. package/esm2022/compat/storage/interfaces.mjs +0 -2
  197. package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
  198. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
  199. package/esm2022/compat/storage/public_api.mjs +0 -7
  200. package/esm2022/compat/storage/ref.mjs +0 -28
  201. package/esm2022/compat/storage/storage.mjs +0 -95
  202. package/esm2022/compat/storage/storage.module.mjs +0 -22
  203. package/esm2022/compat/storage/task.mjs +0 -21
  204. package/esm2022/core.mjs +0 -43
  205. package/esm2022/database/angular-fire-database.mjs +0 -5
  206. package/esm2022/database/database.mjs +0 -16
  207. package/esm2022/database/database.module.mjs +0 -76
  208. package/esm2022/database/firebase.mjs +0 -44
  209. package/esm2022/database/public_api.mjs +0 -5
  210. package/esm2022/database/rxfire.mjs +0 -13
  211. package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
  212. package/esm2022/firestore/firebase.mjs +0 -73
  213. package/esm2022/firestore/firestore.mjs +0 -16
  214. package/esm2022/firestore/firestore.module.mjs +0 -76
  215. package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
  216. package/esm2022/firestore/lite/firebase.mjs +0 -48
  217. package/esm2022/firestore/lite/lite.mjs +0 -16
  218. package/esm2022/firestore/lite/lite.module.mjs +0 -75
  219. package/esm2022/firestore/lite/public_api.mjs +0 -5
  220. package/esm2022/firestore/lite/rxfire.mjs +0 -12
  221. package/esm2022/firestore/public_api.mjs +0 -5
  222. package/esm2022/firestore/rxfire.mjs +0 -15
  223. package/esm2022/functions/angular-fire-functions.mjs +0 -5
  224. package/esm2022/functions/firebase.mjs +0 -9
  225. package/esm2022/functions/functions.mjs +0 -16
  226. package/esm2022/functions/functions.module.mjs +0 -76
  227. package/esm2022/functions/public_api.mjs +0 -5
  228. package/esm2022/functions/rxfire.mjs +0 -5
  229. package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
  230. package/esm2022/messaging/firebase.mjs +0 -10
  231. package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
  232. package/esm2022/messaging/messaging.mjs +0 -16
  233. package/esm2022/messaging/messaging.module.mjs +0 -93
  234. package/esm2022/messaging/overrides.mjs +0 -3
  235. package/esm2022/messaging/public_api.mjs +0 -4
  236. package/esm2022/performance/angular-fire-performance.mjs +0 -5
  237. package/esm2022/performance/firebase.mjs +0 -8
  238. package/esm2022/performance/performance.mjs +0 -16
  239. package/esm2022/performance/performance.module.mjs +0 -83
  240. package/esm2022/performance/public_api.mjs +0 -5
  241. package/esm2022/performance/rxfire.mjs +0 -8
  242. package/esm2022/public_api.mjs +0 -3
  243. package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
  244. package/esm2022/remote-config/firebase.mjs +0 -17
  245. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
  246. package/esm2022/remote-config/overrides.mjs +0 -3
  247. package/esm2022/remote-config/public_api.mjs +0 -5
  248. package/esm2022/remote-config/remote-config.mjs +0 -16
  249. package/esm2022/remote-config/remote-config.module.mjs +0 -93
  250. package/esm2022/remote-config/rxfire.mjs +0 -9
  251. package/esm2022/storage/angular-fire-storage.mjs +0 -5
  252. package/esm2022/storage/firebase.mjs +0 -20
  253. package/esm2022/storage/public_api.mjs +0 -5
  254. package/esm2022/storage/rxfire.mjs +0 -6
  255. package/esm2022/storage/storage.mjs +0 -16
  256. package/esm2022/storage/storage.module.mjs +0 -76
  257. package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
  258. package/esm2022/vertexai-preview/firebase.mjs +0 -7
  259. package/esm2022/vertexai-preview/public_api.mjs +0 -4
  260. package/esm2022/vertexai-preview/vertexai.mjs +0 -16
  261. package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
  262. package/esm2022/zones.mjs +0 -174
  263. package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
  264. package/messaging/is-messaging-supported-factory.d.ts +0 -4
  265. package/messaging/overrides.d.ts +0 -1
  266. package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
  267. package/remote-config/overrides.d.ts +0 -1
  268. package/schematics/common.js +0 -81
  269. package/schematics/deploy/functions-templates.js +0 -57
  270. package/schematics/firebaseTools.js +0 -78
  271. package/schematics/interfaces.js +0 -16
  272. package/schematics/setup/prompts.js +0 -195
  273. package/schematics/utils.js +0 -189
  274. package/vertexai-preview/package.json +0 -3
  275. /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
@@ -1,13 +1,14 @@
1
- import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵisSupportedError as _isSupportedError, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, VERSION, ɵAngularFireSchedulers as _AngularFireSchedulers, ɵzoneWrap as _zoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, VERSION, ɵAngularFireSchedulers as _AngularFireSchedulers, ɵzoneWrap as _zoneWrap } from '@angular/fire';
2
2
  import { timer, from } from 'rxjs';
3
3
  import { concatMap, distinct } from 'rxjs/operators';
4
+ import { isPlatformServer } from '@angular/common';
4
5
  import * as i0 from '@angular/core';
5
- import { InjectionToken, Optional, APP_INITIALIZER, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
6
+ import { InjectionToken, Optional, PLATFORM_ID, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
6
7
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
7
8
  import { registerVersion } from 'firebase/app';
8
- import { isSupported as isSupported$1, activate as activate$1, ensureInitialized as ensureInitialized$1, fetchAndActivate as fetchAndActivate$1, fetchConfig as fetchConfig$1, getAll as getAll$2, getBoolean as getBoolean$2, getNumber as getNumber$2, getRemoteConfig as getRemoteConfig$1, getString as getString$2, getValue as getValue$2, setLogLevel as setLogLevel$1 } from 'firebase/remote-config';
9
- export * from 'firebase/remote-config';
10
9
  import { getAll as getAll$1, getBoolean as getBoolean$1, getNumber as getNumber$1, getString as getString$1, getValue as getValue$1 } from 'rxfire/remote-config';
10
+ import { activate as activate$1, ensureInitialized as ensureInitialized$1, fetchAndActivate as fetchAndActivate$1, fetchConfig as fetchConfig$1, getAll as getAll$2, getBoolean as getBoolean$2, getNumber as getNumber$2, getRemoteConfig as getRemoteConfig$1, getString as getString$2, getValue as getValue$2, isSupported as isSupported$1, setLogLevel as setLogLevel$1 } from 'firebase/remote-config';
11
+ export * from 'firebase/remote-config';
11
12
 
12
13
  class RemoteConfig {
13
14
  constructor(remoteConfig) {
@@ -22,31 +23,17 @@ class RemoteConfigInstances {
22
23
  }
23
24
  const remoteConfigInstance$ = timer(0, 300).pipe(concatMap(() => from(_getAllInstancesOf(REMOTE_CONFIG_PROVIDER_NAME))), distinct());
24
25
 
25
- const isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';
26
- const isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';
27
- globalThis[isRemoteConfigSupportedPromiseSymbol] ||= isSupported$1().then(it => globalThis[isRemoteConfigSupportedValueSymbol] = it).catch(() => globalThis[isRemoteConfigSupportedValueSymbol] = false);
28
- const isRemoteConfigSupportedFactory = {
29
- async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],
30
- sync: () => {
31
- const ret = globalThis[isRemoteConfigSupportedValueSymbol];
32
- if (ret === undefined) {
33
- throw new Error(_isSupportedError('RemoteConfig'));
34
- }
35
- return ret;
36
- }
37
- };
38
-
39
26
  const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken('angularfire2.remote-config-instances');
40
- function defaultRemoteConfigInstanceFactory(provided, defaultApp) {
41
- if (!isRemoteConfigSupportedFactory.sync()) {
27
+ function defaultRemoteConfigInstanceFactory(provided, defaultApp, platformId) {
28
+ if (isPlatformServer(platformId)) {
42
29
  return null;
43
30
  }
44
31
  const defaultRemoteConfig = _getDefaultInstanceOf(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);
45
32
  return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);
46
33
  }
47
34
  function remoteConfigInstanceFactory(fn) {
48
- return (zone, injector) => {
49
- if (!isRemoteConfigSupportedFactory.sync()) {
35
+ return (zone, injector, platformId) => {
36
+ if (isPlatformServer(platformId)) {
50
37
  return null;
51
38
  }
52
39
  const remoteConfig = zone.runOutsideAngular(() => fn(injector));
@@ -65,35 +52,26 @@ const DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {
65
52
  deps: [
66
53
  [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES],
67
54
  FirebaseApp,
55
+ PLATFORM_ID,
68
56
  ]
69
57
  };
70
58
  class RemoteConfigModule {
71
59
  constructor() {
72
60
  registerVersion('angularfire', VERSION.full, 'rc');
73
61
  }
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: RemoteConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
75
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: RemoteConfigModule });
76
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: RemoteConfigModule, providers: [
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RemoteConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
63
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: RemoteConfigModule });
64
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RemoteConfigModule, providers: [
77
65
  DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
78
66
  REMOTE_CONFIG_INSTANCES_PROVIDER,
79
- {
80
- provide: APP_INITIALIZER,
81
- useValue: isRemoteConfigSupportedFactory.async,
82
- multi: true,
83
- },
84
67
  ] });
85
68
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: RemoteConfigModule, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RemoteConfigModule, decorators: [{
87
70
  type: NgModule,
88
71
  args: [{
89
72
  providers: [
90
73
  DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
91
74
  REMOTE_CONFIG_INSTANCES_PROVIDER,
92
- {
93
- provide: APP_INITIALIZER,
94
- useValue: isRemoteConfigSupportedFactory.async,
95
- multi: true,
96
- },
97
75
  ]
98
76
  }]
99
77
  }], ctorParameters: () => [] });
@@ -102,11 +80,6 @@ function provideRemoteConfig(fn, ...deps) {
102
80
  return makeEnvironmentProviders([
103
81
  DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
104
82
  REMOTE_CONFIG_INSTANCES_PROVIDER,
105
- {
106
- provide: APP_INITIALIZER,
107
- useValue: isRemoteConfigSupportedFactory.async,
108
- multi: true,
109
- },
110
83
  {
111
84
  provide: PROVIDED_REMOTE_CONFIG_INSTANCES,
112
85
  useFactory: remoteConfigInstanceFactory(fn),
@@ -114,6 +87,7 @@ function provideRemoteConfig(fn, ...deps) {
114
87
  deps: [
115
88
  NgZone,
116
89
  Injector,
90
+ PLATFORM_ID,
117
91
  _AngularFireSchedulers,
118
92
  FirebaseApps,
119
93
  ...deps,
@@ -129,8 +103,6 @@ const getNumberChanges = _zoneWrap(getNumber$1, true);
129
103
  const getStringChanges = _zoneWrap(getString$1, true);
130
104
  const getValueChanges = _zoneWrap(getValue$1, true);
131
105
 
132
- const isSupported = isRemoteConfigSupportedFactory.async;
133
-
134
106
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
135
107
  const activate = _zoneWrap(activate$1, true);
136
108
  const ensureInitialized = _zoneWrap(ensureInitialized$1, true);
@@ -142,6 +114,7 @@ const getNumber = _zoneWrap(getNumber$2, true);
142
114
  const getRemoteConfig = _zoneWrap(getRemoteConfig$1, true);
143
115
  const getString = _zoneWrap(getString$2, true);
144
116
  const getValue = _zoneWrap(getValue$2, true);
117
+ const isSupported = _zoneWrap(isSupported$1, true);
145
118
  const setLogLevel = _zoneWrap(setLogLevel$1, true);
146
119
 
147
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-remote-config.mjs","sources":["../../../src/remote-config/remote-config.ts","../../../src/remote-config/is-remote-config-supported-factory.ts","../../../src/remote-config/remote-config.module.ts","../../../src/remote-config/rxfire.ts","../../../src/remote-config/overrides.ts","../../../src/remote-config/firebase.ts","../../../src/remote-config/angular-fire-remote-config.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfig extends FirebaseRemoteConfig {}\n\nexport class RemoteConfig {\n constructor(remoteConfig: FirebaseRemoteConfig) {\n return remoteConfig;\n }\n}\n\nexport const REMOTE_CONFIG_PROVIDER_NAME = 'remote-config';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfigInstances extends Array<FirebaseRemoteConfig> {}\n\nexport class RemoteConfigInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME);\n }\n}\n\nexport const remoteConfigInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME))),\n distinct(),\n);\n","import { ɵisSupportedError } from '@angular/fire';\nimport { isSupported } from 'firebase/remote-config';\n\nconst isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';\nconst isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';\n\nglobalThis[isRemoteConfigSupportedPromiseSymbol] ||= isSupported().then(it =>\n globalThis[isRemoteConfigSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isRemoteConfigSupportedValueSymbol] = false\n);\n\nexport const isRemoteConfigSupportedFactory = {\n async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isRemoteConfigSupportedValueSymbol];\n if (ret === undefined) { throw new Error(ɵisSupportedError('RemoteConfig')); }\n return ret;\n }\n};\n","import {\n APP_INITIALIZER,\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { isRemoteConfigSupportedFactory } from './is-remote-config-supported-factory';\nimport { REMOTE_CONFIG_PROVIDER_NAME, RemoteConfig, RemoteConfigInstances } from './remote-config';\n\nexport const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken<RemoteConfig[]>('angularfire2.remote-config-instances');\n\nexport function defaultRemoteConfigInstanceFactory(\n provided: FirebaseRemoteConfig[]|undefined,\n defaultApp: FirebaseApp,\n) {\n if (!isRemoteConfigSupportedFactory.sync()) { return null; }\n const defaultRemoteConfig = ɵgetDefaultInstanceOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);\n return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);\n}\n\nexport function remoteConfigInstanceFactory(fn: (injector: Injector) => FirebaseRemoteConfig) {\n return (zone: NgZone, injector: Injector) => {\n if (!isRemoteConfigSupportedFactory.sync()) { return null; }\n const remoteConfig = zone.runOutsideAngular(() => fn(injector));\n return new RemoteConfig(remoteConfig);\n };\n}\n\nconst REMOTE_CONFIG_INSTANCES_PROVIDER = {\n provide: RemoteConfigInstances,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n ]\n};\n\nconst DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {\n provide: RemoteConfig,\n useFactory: defaultRemoteConfigInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: isRemoteConfigSupportedFactory.async,\n multi: true,\n },\n ]\n})\nexport class RemoteConfigModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'rc');\n }\n}\n\nexport function provideRemoteConfig(\n fn: (injector: Injector) => FirebaseRemoteConfig, ...deps: any[]\n): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'rc');\n\n return makeEnvironmentProviders([\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: isRemoteConfigSupportedFactory.async,\n multi: true,\n },\n {\n provide: PROVIDED_REMOTE_CONFIG_INSTANCES,\n useFactory: remoteConfigInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getString as _getString,\n getValue as _getValue\n} from 'rxfire/remote-config';\n\nexport const getAllChanges = ɵzoneWrap(_getAll, true);\nexport const getBooleanChanges = ɵzoneWrap(_getBoolean, true);\nexport const getNumberChanges = ɵzoneWrap(_getNumber, true);\nexport const getStringChanges = ɵzoneWrap(_getString, true);\nexport const getValueChanges = ɵzoneWrap(_getValue, true);\n","import { isRemoteConfigSupportedFactory } from './is-remote-config-supported-factory';\n\nexport const isSupported = isRemoteConfigSupportedFactory.async;\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/remote-config';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n activate as _activate,\n ensureInitialized as _ensureInitialized,\n fetchAndActivate as _fetchAndActivate,\n fetchConfig as _fetchConfig,\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getRemoteConfig as _getRemoteConfig,\n getString as _getString,\n getValue as _getValue,\n setLogLevel as _setLogLevel\n} from 'firebase/remote-config';\n\nexport {\n isSupported\n} from './overrides';\n\nexport const activate = ɵzoneWrap(_activate, true);\nexport const ensureInitialized = ɵzoneWrap(_ensureInitialized, true);\nexport const fetchAndActivate = ɵzoneWrap(_fetchAndActivate, true);\nexport const fetchConfig = ɵzoneWrap(_fetchConfig, true);\nexport const getAll = ɵzoneWrap(_getAll, true);\nexport const getBoolean = ɵzoneWrap(_getBoolean, true);\nexport const getNumber = ɵzoneWrap(_getNumber, true);\nexport const getRemoteConfig = ɵzoneWrap(_getRemoteConfig, true);\nexport const getString = ɵzoneWrap(_getString, true);\nexport const getValue = ɵzoneWrap(_getValue, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","isSupported","ɵisSupportedError","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getAll","_getBoolean","_getNumber","_getString","_getValue","_activate","_ensureInitialized","_fetchAndActivate","_fetchConfig","_getRemoteConfig","_setLogLevel"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-remote-config.mjs","sources":["../../../src/remote-config/remote-config.ts","../../../src/remote-config/remote-config.module.ts","../../../src/remote-config/rxfire.ts","../../../src/remote-config/firebase.ts","../../../src/remote-config/angular-fire-remote-config.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfig extends FirebaseRemoteConfig {}\n\nexport class RemoteConfig {\n constructor(remoteConfig: FirebaseRemoteConfig) {\n return remoteConfig;\n }\n}\n\nexport const REMOTE_CONFIG_PROVIDER_NAME = 'remote-config';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfigInstances extends Array<FirebaseRemoteConfig> {}\n\nexport class RemoteConfigInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME);\n }\n}\n\nexport const remoteConfigInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME))),\n distinct(),\n);\n","import { isPlatformServer } from '@angular/common';\nimport {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { REMOTE_CONFIG_PROVIDER_NAME, RemoteConfig, RemoteConfigInstances } from './remote-config';\n\nexport const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken<RemoteConfig[]>('angularfire2.remote-config-instances');\n\nexport function defaultRemoteConfigInstanceFactory(\n provided: FirebaseRemoteConfig[]|undefined,\n defaultApp: FirebaseApp,\n platformId: object,\n) {\n if (isPlatformServer(platformId)) { return null; }\n const defaultRemoteConfig = ɵgetDefaultInstanceOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);\n return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);\n}\n\nexport function remoteConfigInstanceFactory(fn: (injector: Injector) => FirebaseRemoteConfig) {\n return (zone: NgZone, injector: Injector, platformId: object) => {\n if (isPlatformServer(platformId)) { return null; }\n const remoteConfig = zone.runOutsideAngular(() => fn(injector));\n return new RemoteConfig(remoteConfig);\n };\n}\n\nconst REMOTE_CONFIG_INSTANCES_PROVIDER = {\n provide: RemoteConfigInstances,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n ]\n};\n\nconst DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {\n provide: RemoteConfig,\n useFactory: defaultRemoteConfigInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n ]\n})\nexport class RemoteConfigModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'rc');\n }\n}\n\nexport function provideRemoteConfig(\n fn: (injector: Injector) => FirebaseRemoteConfig, ...deps: any[]\n): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'rc');\n\n return makeEnvironmentProviders([\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_REMOTE_CONFIG_INSTANCES,\n useFactory: remoteConfigInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getString as _getString,\n getValue as _getValue\n} from 'rxfire/remote-config';\n\nexport const getAllChanges = ɵzoneWrap(_getAll, true);\nexport const getBooleanChanges = ɵzoneWrap(_getBoolean, true);\nexport const getNumberChanges = ɵzoneWrap(_getNumber, true);\nexport const getStringChanges = ɵzoneWrap(_getString, true);\nexport const getValueChanges = ɵzoneWrap(_getValue, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/remote-config';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n activate as _activate,\n ensureInitialized as _ensureInitialized,\n fetchAndActivate as _fetchAndActivate,\n fetchConfig as _fetchConfig,\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getRemoteConfig as _getRemoteConfig,\n getString as _getString,\n getValue as _getValue,\n isSupported as _isSupported,\n setLogLevel as _setLogLevel\n} from 'firebase/remote-config';\n\nexport const activate = ɵzoneWrap(_activate, true);\nexport const ensureInitialized = ɵzoneWrap(_ensureInitialized, true);\nexport const fetchAndActivate = ɵzoneWrap(_fetchAndActivate, true);\nexport const fetchConfig = ɵzoneWrap(_fetchConfig, true);\nexport const getAll = ɵzoneWrap(_getAll, true);\nexport const getBoolean = ɵzoneWrap(_getBoolean, true);\nexport const getNumber = ɵzoneWrap(_getNumber, true);\nexport const getRemoteConfig = ɵzoneWrap(_getRemoteConfig, true);\nexport const getString = ɵzoneWrap(_getString, true);\nexport const getValue = ɵzoneWrap(_getValue, true);\nexport const isSupported = ɵzoneWrap(_isSupported, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getAll","_getBoolean","_getNumber","_getString","_getValue","_activate","_ensureInitialized","_fetchAndActivate","_fetchConfig","_getRemoteConfig","_isSupported","_setLogLevel"],"mappings":"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"}
@@ -52,14 +52,14 @@ class StorageModule {
52
52
  constructor() {
53
53
  registerVersion('angularfire', VERSION.full, 'gcs');
54
54
  }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: StorageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: StorageModule });
57
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: StorageModule, providers: [
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: StorageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: StorageModule });
57
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: StorageModule, providers: [
58
58
  DEFAULT_STORAGE_INSTANCE_PROVIDER,
59
59
  STORAGE_INSTANCES_PROVIDER,
60
60
  ] });
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: StorageModule, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: StorageModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-storage.mjs","sources":["../../../src/storage/storage.ts","../../../src/storage/storage.module.ts","../../../src/storage/rxfire.ts","../../../src/storage/firebase.ts","../../../src/storage/angular-fire-storage.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { FirebaseStorage } from 'firebase/storage';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface Storage extends FirebaseStorage {}\n\nexport class Storage {\n constructor(auth: FirebaseStorage) {\n return auth;\n }\n}\n\nexport const STORAGE_PROVIDER_NAME = 'storage';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface StorageInstances extends Array<FirebaseStorage> {}\n\nexport class StorageInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseStorage>(STORAGE_PROVIDER_NAME);\n }\n}\n\nexport const storageInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseStorage>(STORAGE_PROVIDER_NAME))),\n distinct(),\n);\n","import {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { ɵAppCheckInstances } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { FirebaseStorage } from 'firebase/storage';\nimport { STORAGE_PROVIDER_NAME, Storage, StorageInstances } from './storage';\n\nexport const PROVIDED_STORAGE_INSTANCES = new InjectionToken<Storage[]>('angularfire2.storage-instances');\n\nexport function defaultStorageInstanceFactory(provided: FirebaseStorage[]|undefined, defaultApp: FirebaseApp) {\n const defaultStorage = ɵgetDefaultInstanceOf<FirebaseStorage>(STORAGE_PROVIDER_NAME, provided, defaultApp);\n return defaultStorage && new Storage(defaultStorage);\n}\n\nexport function storageInstanceFactory(fn: (injector: Injector) => FirebaseStorage) {\n return (zone: NgZone, injector: Injector) => {\n const storage = zone.runOutsideAngular(() => fn(injector));\n return new Storage(storage);\n };\n}\n\nconst STORAGE_INSTANCES_PROVIDER = {\n provide: StorageInstances,\n deps: [\n [new Optional(), PROVIDED_STORAGE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_STORAGE_INSTANCE_PROVIDER = {\n provide: Storage,\n useFactory: defaultStorageInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_STORAGE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_STORAGE_INSTANCE_PROVIDER,\n STORAGE_INSTANCES_PROVIDER,\n ]\n})\nexport class StorageModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'gcs');\n }\n}\n\nexport function provideStorage(fn: (injector: Injector) => FirebaseStorage, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'gcs');\n\n return makeEnvironmentProviders([\n DEFAULT_STORAGE_INSTANCE_PROVIDER,\n STORAGE_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_STORAGE_INSTANCES,\n useFactory: storageInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Defensively load Auth first, if provided\n [new Optional(), AuthInstances ],\n [new Optional(), ɵAppCheckInstances ],\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n fromTask as _fromTask,\n percentage as _percentage\n} from 'rxfire/storage';\n\nexport const fromTask = ɵzoneWrap(_fromTask, true);\nexport const percentage = ɵzoneWrap(_percentage, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/storage';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n connectStorageEmulator as _connectStorageEmulator,\n deleteObject as _deleteObject,\n getBlob as _getBlob,\n getBytes as _getBytes,\n getDownloadURL as _getDownloadURL,\n getMetadata as _getMetadata,\n getStorage as _getStorage,\n getStream as _getStream,\n list as _list,\n listAll as _listAll,\n ref as _ref,\n updateMetadata as _updateMetadata,\n uploadBytes as _uploadBytes,\n uploadBytesResumable as _uploadBytesResumable,\n uploadString as _uploadString\n} from 'firebase/storage';\n\nexport const connectStorageEmulator = ɵzoneWrap(_connectStorageEmulator, true);\nexport const deleteObject = ɵzoneWrap(_deleteObject, true);\nexport const getBlob = ɵzoneWrap(_getBlob, true);\nexport const getBytes = ɵzoneWrap(_getBytes, true);\nexport const getDownloadURL = ɵzoneWrap(_getDownloadURL, true);\nexport const getMetadata = ɵzoneWrap(_getMetadata, true);\nexport const getStorage = ɵzoneWrap(_getStorage, true);\nexport const getStream = ɵzoneWrap(_getStream, true);\nexport const list = ɵzoneWrap(_list, true);\nexport const listAll = ɵzoneWrap(_listAll, true);\nexport const ref = ɵzoneWrap(_ref, true);\nexport const updateMetadata = ɵzoneWrap(_updateMetadata, true);\nexport const uploadBytes = ɵzoneWrap(_uploadBytes, true);\nexport const uploadBytesResumable = ɵzoneWrap(_uploadBytesResumable, true);\nexport const uploadString = ɵzoneWrap(_uploadString, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵAppCheckInstances","ɵzoneWrap","_fromTask","_percentage","_connectStorageEmulator","_deleteObject","_getBlob","_getBytes","_getDownloadURL","_getMetadata","_getStorage","_getStream","_list","_listAll","_ref","_updateMetadata","_uploadBytes","_uploadBytesResumable","_uploadString"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-storage.mjs","sources":["../../../src/storage/storage.ts","../../../src/storage/storage.module.ts","../../../src/storage/rxfire.ts","../../../src/storage/firebase.ts","../../../src/storage/angular-fire-storage.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { FirebaseStorage } from 'firebase/storage';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface Storage extends FirebaseStorage {}\n\nexport class Storage {\n constructor(auth: FirebaseStorage) {\n return auth;\n }\n}\n\nexport const STORAGE_PROVIDER_NAME = 'storage';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface StorageInstances extends Array<FirebaseStorage> {}\n\nexport class StorageInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseStorage>(STORAGE_PROVIDER_NAME);\n }\n}\n\nexport const storageInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseStorage>(STORAGE_PROVIDER_NAME))),\n distinct(),\n);\n","import {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { ɵAppCheckInstances } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { FirebaseStorage } from 'firebase/storage';\nimport { STORAGE_PROVIDER_NAME, Storage, StorageInstances } from './storage';\n\nexport const PROVIDED_STORAGE_INSTANCES = new InjectionToken<Storage[]>('angularfire2.storage-instances');\n\nexport function defaultStorageInstanceFactory(provided: FirebaseStorage[]|undefined, defaultApp: FirebaseApp) {\n const defaultStorage = ɵgetDefaultInstanceOf<FirebaseStorage>(STORAGE_PROVIDER_NAME, provided, defaultApp);\n return defaultStorage && new Storage(defaultStorage);\n}\n\nexport function storageInstanceFactory(fn: (injector: Injector) => FirebaseStorage) {\n return (zone: NgZone, injector: Injector) => {\n const storage = zone.runOutsideAngular(() => fn(injector));\n return new Storage(storage);\n };\n}\n\nconst STORAGE_INSTANCES_PROVIDER = {\n provide: StorageInstances,\n deps: [\n [new Optional(), PROVIDED_STORAGE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_STORAGE_INSTANCE_PROVIDER = {\n provide: Storage,\n useFactory: defaultStorageInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_STORAGE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_STORAGE_INSTANCE_PROVIDER,\n STORAGE_INSTANCES_PROVIDER,\n ]\n})\nexport class StorageModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'gcs');\n }\n}\n\nexport function provideStorage(fn: (injector: Injector) => FirebaseStorage, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'gcs');\n\n return makeEnvironmentProviders([\n DEFAULT_STORAGE_INSTANCE_PROVIDER,\n STORAGE_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_STORAGE_INSTANCES,\n useFactory: storageInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Defensively load Auth first, if provided\n [new Optional(), AuthInstances ],\n [new Optional(), ɵAppCheckInstances ],\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n fromTask as _fromTask,\n percentage as _percentage\n} from 'rxfire/storage';\n\nexport const fromTask = ɵzoneWrap(_fromTask, true);\nexport const percentage = ɵzoneWrap(_percentage, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/storage';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n connectStorageEmulator as _connectStorageEmulator,\n deleteObject as _deleteObject,\n getBlob as _getBlob,\n getBytes as _getBytes,\n getDownloadURL as _getDownloadURL,\n getMetadata as _getMetadata,\n getStorage as _getStorage,\n getStream as _getStream,\n list as _list,\n listAll as _listAll,\n ref as _ref,\n updateMetadata as _updateMetadata,\n uploadBytes as _uploadBytes,\n uploadBytesResumable as _uploadBytesResumable,\n uploadString as _uploadString\n} from 'firebase/storage';\n\nexport const connectStorageEmulator = ɵzoneWrap(_connectStorageEmulator, true);\nexport const deleteObject = ɵzoneWrap(_deleteObject, true);\nexport const getBlob = ɵzoneWrap(_getBlob, true);\nexport const getBytes = ɵzoneWrap(_getBytes, true);\nexport const getDownloadURL = ɵzoneWrap(_getDownloadURL, true);\nexport const getMetadata = ɵzoneWrap(_getMetadata, true);\nexport const getStorage = ɵzoneWrap(_getStorage, true);\nexport const getStream = ɵzoneWrap(_getStream, true);\nexport const list = ɵzoneWrap(_list, true);\nexport const listAll = ɵzoneWrap(_listAll, true);\nexport const ref = ɵzoneWrap(_ref, true);\nexport const updateMetadata = ɵzoneWrap(_updateMetadata, true);\nexport const uploadBytes = ɵzoneWrap(_uploadBytes, true);\nexport const uploadBytesResumable = ɵzoneWrap(_uploadBytesResumable, true);\nexport const uploadString = ɵzoneWrap(_uploadString, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵAppCheckInstances","ɵzoneWrap","_fromTask","_percentage","_connectStorageEmulator","_deleteObject","_getBlob","_getBytes","_getDownloadURL","_getMetadata","_getStorage","_getStream","_list","_listAll","_ref","_updateMetadata","_uploadBytes","_uploadBytesResumable","_uploadString"],"mappings":"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"}
@@ -5,8 +5,8 @@ import * as i0 from '@angular/core';
5
5
  import { InjectionToken, Optional, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
6
6
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
7
7
  import { registerVersion } from 'firebase/app';
8
- import { getGenerativeModel as getGenerativeModel$1, getVertexAI as getVertexAI$1 } from 'firebase/vertexai-preview';
9
- export * from 'firebase/vertexai-preview';
8
+ import { getGenerativeModel as getGenerativeModel$1, getVertexAI as getVertexAI$1 } from 'firebase/vertexai';
9
+ export * from 'firebase/vertexai';
10
10
 
11
11
  class VertexAI {
12
12
  constructor(vertexai) {
@@ -50,14 +50,14 @@ class VertexAIModule {
50
50
  constructor() {
51
51
  registerVersion('angularfire', VERSION.full, 'vertexai');
52
52
  }
53
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: VertexAIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: VertexAIModule });
55
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: VertexAIModule, providers: [
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: VertexAIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: VertexAIModule });
55
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: VertexAIModule, providers: [
56
56
  DEFAULT_VERTEX_AI_INSTANCE_PROVIDER,
57
57
  VERTEX_AI_INSTANCES_PROVIDER,
58
58
  ] });
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: VertexAIModule, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: VertexAIModule, decorators: [{
61
61
  type: NgModule,
62
62
  args: [{
63
63
  providers: [
@@ -96,4 +96,4 @@ const getVertexAI = _zoneWrap(getVertexAI$1, true);
96
96
  */
97
97
 
98
98
  export { VertexAI, VertexAIInstances, VertexAIModule, getGenerativeModel, getVertexAI, provideVertexAI, vertexAIInstance$ };
99
- //# sourceMappingURL=angular-fire-vertexai-preview.mjs.map
99
+ //# sourceMappingURL=angular-fire-vertexai.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fire-vertexai.mjs","sources":["../../../src/vertexai/vertexai.ts","../../../src/vertexai/vertexai.module.ts","../../../src/vertexai/firebase.ts","../../../src/vertexai/angular-fire-vertexai.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { VertexAI as FirebaseVertexAI } from 'firebase/vertexai';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface VertexAI extends FirebaseVertexAI {}\n\nexport class VertexAI {\n constructor(vertexai: FirebaseVertexAI) {\n return vertexai;\n }\n}\n\nexport const VERTEX_AI_PROVIDER_NAME = 'vertexai';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface VertexAIInstances extends Array<FirebaseVertexAI> {}\n\nexport class VertexAIInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME);\n }\n}\n\nexport const vertexAIInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME))),\n distinct(),\n);\n","import {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { ɵAppCheckInstances } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { VertexAI as FirebaseVertexAI } from 'firebase/vertexai';\nimport { VERTEX_AI_PROVIDER_NAME, VertexAI, VertexAIInstances } from './vertexai';\n\nexport const PROVIDED_VERTEX_AI_INSTANCES = new InjectionToken<VertexAI[]>('angularfire2.vertexai-instances');\n\nexport function defaultVertexAIInstanceFactory(provided: FirebaseVertexAI[]|undefined, defaultApp: FirebaseApp) {\n const defaultVertexAI = ɵgetDefaultInstanceOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME, provided, defaultApp);\n return defaultVertexAI && new VertexAI(defaultVertexAI);\n}\n\nexport function vertexAIInstanceFactory(fn: (injector: Injector) => FirebaseVertexAI) {\n return (zone: NgZone, injector: Injector) => {\n const vertexAI = zone.runOutsideAngular(() => fn(injector));\n return new VertexAI(vertexAI);\n };\n}\n\nconst VERTEX_AI_INSTANCES_PROVIDER = {\n provide: VertexAIInstances,\n deps: [\n [new Optional(), PROVIDED_VERTEX_AI_INSTANCES ],\n ]\n};\n\nconst DEFAULT_VERTEX_AI_INSTANCE_PROVIDER = {\n provide: VertexAI,\n useFactory: defaultVertexAIInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_VERTEX_AI_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_VERTEX_AI_INSTANCE_PROVIDER,\n VERTEX_AI_INSTANCES_PROVIDER,\n ]\n})\nexport class VertexAIModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'vertexai');\n }\n}\n\nexport function provideVertexAI(fn: (injector: Injector) => FirebaseVertexAI, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'vertexai');\n\n return makeEnvironmentProviders([\n DEFAULT_VERTEX_AI_INSTANCE_PROVIDER,\n VERTEX_AI_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_VERTEX_AI_INSTANCES,\n useFactory: vertexAIInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n [new Optional(), ɵAppCheckInstances ],\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/vertexai';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getGenerativeModel as _getGenerativeModel,\n getVertexAI as _getVertexAI\n} from 'firebase/vertexai';\n\nexport const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true);\nexport const getVertexAI = ɵzoneWrap(_getVertexAI, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵAppCheckInstances","ɵzoneWrap","_getGenerativeModel","_getVertexAI"],"mappings":"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"}
@@ -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, isDevMode, runInInjectionContext, PendingTasks, Injector } 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
@@ -79,90 +80,94 @@ class ɵZoneScheduler {
79
80
  return this.delegate.schedule(workInZone, delay, state);
80
81
  }
81
82
  }
82
- class BlockUntilFirstOperator {
83
- zone;
84
- pendingTasks;
85
- constructor(zone, pendingTasks) {
86
- this.zone = zone;
87
- this.pendingTasks = pendingTasks;
88
- }
89
- call(subscriber, source) {
90
- const taskDone = this.zone.run(() => this.pendingTasks.add());
91
- // maybe this is a race condition, invoke in a timeout
92
- // hold for 10ms while I try to figure out what is going on
93
- const unscheduleTask = () => setTimeout(taskDone, 10);
94
- return source.pipe(tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })).subscribe(subscriber).add(unscheduleTask);
95
- }
96
- }
97
83
  class ɵAngularFireSchedulers {
98
- ngZone;
99
- pendingTasks;
100
84
  outsideAngular;
101
85
  insideAngular;
102
- constructor(ngZone, pendingTasks) {
103
- this.ngZone = ngZone;
104
- this.pendingTasks = pendingTasks;
86
+ constructor() {
87
+ const ngZone = inject(NgZone);
105
88
  this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current));
106
89
  this.insideAngular = ngZone.run(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current, asyncScheduler));
107
- globalThis.ɵAngularFireScheduler ||= this;
108
90
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [{ token: i0.NgZone }, { token: i0.ExperimentalPendingTasks }], target: i0.ɵɵFactoryTarget.Injectable });
110
- 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' });
111
93
  }
112
- 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: [{
113
95
  type: Injectable,
114
96
  args: [{
115
97
  providedIn: 'root',
116
98
  }]
117
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ExperimentalPendingTasks }] });
99
+ }], ctorParameters: () => [] });
118
100
  function getSchedulers() {
119
- const schedulers = globalThis.ɵAngularFireScheduler;
120
- if (!schedulers) {
121
- throw new Error(`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using
122
- provideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);
101
+ return inject(ɵAngularFireSchedulers);
102
+ }
103
+ var alreadyWarned = false;
104
+ function warnOutsideInjectionContext(original, operation) {
105
+ if (isDevMode()) {
106
+ console.warn(`Firebase API called outside injection context: ${operation}(${original.name})`);
107
+ if (!alreadyWarned) {
108
+ alreadyWarned = true;
109
+ console.error("Calling Firebase APIs outside of an Injection context may destabilize your application leading to subtle change-detection and hydration bugs. Find more at https://github.com/angular/angularfire/blob/main/docs/zones.md");
110
+ }
123
111
  }
124
- return schedulers;
125
112
  }
126
113
  function runOutsideAngular(fn) {
127
- return getSchedulers().ngZone.runOutsideAngular(() => fn());
114
+ let ngZone;
115
+ try {
116
+ ngZone = inject(NgZone);
117
+ }
118
+ catch (e) {
119
+ warnOutsideInjectionContext(fn, "runOutsideAngular");
120
+ }
121
+ if (!ngZone) {
122
+ return fn();
123
+ }
124
+ return ngZone.runOutsideAngular(() => fn());
128
125
  }
129
126
  function run(fn) {
130
- return getSchedulers().ngZone.run(() => fn());
127
+ let ngZone;
128
+ try {
129
+ ngZone = inject(NgZone);
130
+ }
131
+ catch (e) {
132
+ warnOutsideInjectionContext(fn, "run");
133
+ }
134
+ if (!ngZone) {
135
+ return fn();
136
+ }
137
+ return ngZone.run(() => fn());
131
138
  }
132
139
  function observeOutsideAngular(obs$) {
133
- return obs$.pipe(observeOn(getSchedulers().outsideAngular));
140
+ let schedulers;
141
+ try {
142
+ schedulers = getSchedulers();
143
+ }
144
+ catch (e) {
145
+ warnOutsideInjectionContext(obs$, "observeOutsideAngular");
146
+ }
147
+ if (!schedulers) {
148
+ return obs$;
149
+ }
150
+ return obs$.pipe(observeOn(schedulers.outsideAngular));
134
151
  }
135
152
  function observeInsideAngular(obs$) {
136
- return obs$.pipe(observeOn(getSchedulers().insideAngular));
137
- }
138
- function keepUnstableUntilFirst(obs$) {
139
- return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);
140
- }
141
- /**
142
- * Operator to block the zone until the first value has been emitted or the observable
143
- * has completed/errored. This is used to make sure that universal waits until the first
144
- * value from firebase but doesn't block the zone forever since the firebase subscription
145
- * is still alive.
146
- */
147
- function ɵkeepUnstableUntilFirstFactory(schedulers) {
148
- return function keepUnstableUntilFirst(obs$) {
149
- obs$ = obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone, schedulers.pendingTasks));
150
- return obs$.pipe(
151
- // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)
152
- subscribeOn(schedulers.outsideAngular),
153
- // Run operators inside the angular zone (e.g. side effects via tap())
154
- observeOn(schedulers.insideAngular)
155
- // INVESTIGATE https://github.com/angular/angularfire/pull/2315
156
- // share()
157
- );
158
- };
153
+ let schedulers;
154
+ try {
155
+ schedulers = getSchedulers();
156
+ }
157
+ catch (e) {
158
+ warnOutsideInjectionContext(obs$, "observeInsideAngular");
159
+ }
160
+ if (!schedulers) {
161
+ return obs$;
162
+ }
163
+ return obs$.pipe(observeOn(schedulers.insideAngular));
159
164
  }
160
- const zoneWrapFn = (it, taskDone) => {
165
+ const zoneWrapFn = (it, taskDone, injector) => {
161
166
  return (...args) => {
162
167
  if (taskDone) {
163
- setTimeout(taskDone, 10);
168
+ setTimeout(taskDone, 0);
164
169
  }
165
- return run(() => it.apply(this, args));
170
+ return runInInjectionContext(injector, () => run(() => it.apply(this, args)));
166
171
  };
167
172
  };
168
173
  const ɵzoneWrap = (it, blockUntilFirst) => {
@@ -170,21 +175,32 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
170
175
  return function () {
171
176
  let taskDone;
172
177
  const _arguments = arguments;
178
+ let schedulers;
179
+ let pendingTasks;
180
+ let injector;
181
+ try {
182
+ schedulers = getSchedulers();
183
+ pendingTasks = inject(PendingTasks);
184
+ injector = inject(Injector);
185
+ }
186
+ catch (e) {
187
+ warnOutsideInjectionContext(it, "ɵzoneWrap");
188
+ return it.apply(this, _arguments);
189
+ }
173
190
  // if this is a callback function, e.g, onSnapshot, we should create a pending task and complete it
174
191
  // only once one of the callback functions is tripped.
175
192
  for (let i = 0; i < arguments.length; i++) {
176
193
  if (typeof _arguments[i] === 'function') {
177
194
  if (blockUntilFirst) {
178
- taskDone ||= run(() => getSchedulers().pendingTasks.add());
195
+ taskDone ||= run(() => pendingTasks.add());
179
196
  }
180
197
  // TODO create a microtask to track callback functions
181
- _arguments[i] = zoneWrapFn(_arguments[i], taskDone);
198
+ _arguments[i] = zoneWrapFn(_arguments[i], taskDone, injector);
182
199
  }
183
200
  }
184
201
  const ret = runOutsideAngular(() => it.apply(this, _arguments));
185
202
  if (!blockUntilFirst) {
186
203
  if (ret instanceof Observable) {
187
- const schedulers = getSchedulers();
188
204
  return ret.pipe(subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
189
205
  }
190
206
  else {
@@ -192,19 +208,19 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
192
208
  }
193
209
  }
194
210
  if (ret instanceof Observable) {
195
- return ret.pipe(keepUnstableUntilFirst);
211
+ return ret.pipe(subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular), pendingUntilEvent(injector));
196
212
  }
197
213
  else if (ret instanceof Promise) {
198
214
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
199
215
  return run(() => new Promise((resolve, reject) => {
200
- ret.then((it) => run(() => resolve(it)), (reason) => run(() => reject(reason)));
216
+ pendingTasks.run(() => ret).then((it) => runInInjectionContext(injector, () => run(() => resolve(it))), (reason) => runInInjectionContext(injector, () => run(() => reject(reason))));
201
217
  }));
202
218
  }
203
219
  else if (typeof ret === 'function' && taskDone) {
204
220
  // Handle unsubscribe
205
221
  // function() is needed for the arguments object
206
222
  return function () {
207
- setTimeout(taskDone, 10);
223
+ setTimeout(taskDone, 0);
208
224
  return ret.apply(this, arguments);
209
225
  };
210
226
  }
@@ -219,5 +235,5 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
219
235
  * Generated bundle index. Do not edit.
220
236
  */
221
237
 
222
- export { VERSION, keepUnstableUntilFirst, observeInsideAngular, observeOutsideAngular, ɵAPP_CHECK_PROVIDER_NAME, ɵAngularFireSchedulers, ɵAppCheckInstances, ɵZoneScheduler, ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵisSupportedError, ɵkeepUnstableUntilFirstFactory, ɵzoneWrap };
238
+ export { VERSION, observeInsideAngular, observeOutsideAngular, ɵAPP_CHECK_PROVIDER_NAME, ɵAngularFireSchedulers, ɵAppCheckInstances, ɵZoneScheduler, ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵisSupportedError, ɵzoneWrap };
223
239
  //# 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 {\n ExperimentalPendingTasks,\n Injectable,\n NgZone\n} 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\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\nclass BlockUntilFirstOperator<T> implements Operator<T, T> {\n constructor(\n private zone: any,\n private pendingTasks: ExperimentalPendingTasks\n ) {}\n\n call(subscriber: Subscriber<T>, source: Observable<T>): TeardownLogic {\n const taskDone: VoidFunction = this.zone.run(() => this.pendingTasks.add());\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 const unscheduleTask = () => setTimeout(taskDone, 10);\n\n return source.pipe(\n tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })\n ).subscribe(subscriber).add(unscheduleTask);\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, public pendingTasks: ExperimentalPendingTasks) {\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 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(\n schedulers: ɵAngularFireSchedulers\n) {\n return function keepUnstableUntilFirst<T>(\n obs$: Observable<T>\n ): Observable<T> {\n obs$ = obs$.lift(\n new BlockUntilFirstOperator(schedulers.ngZone, schedulers.pendingTasks)\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\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(() => getSchedulers().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 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(\n () =>\n new Promise((resolve, reject) => {\n 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
+ {"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 Injector,\n NgZone,\n PendingTasks,\n inject,\n isDevMode,\n runInInjectionContext\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\nvar alreadyWarned = false;\nfunction warnOutsideInjectionContext(original: any, operation: string) {\n if (isDevMode()) {\n console.warn(`Firebase API called outside injection context: ${operation}(${original.name})`);\n if (!alreadyWarned) {\n alreadyWarned = true;\n console.error(\"Calling Firebase APIs outside of an Injection context may destabilize your application leading to subtle change-detection and hydration bugs. Find more at https://github.com/angular/angularfire/blob/main/docs/zones.md\");\n }\n }\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n let ngZone: NgZone|undefined;\n try {\n ngZone = inject(NgZone);\n } catch(e) {\n warnOutsideInjectionContext(fn, \"runOutsideAngular\");\n }\n if (!ngZone) {return fn();}\n return ngZone.runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n let ngZone: NgZone|undefined;\n try {\n ngZone = inject(NgZone);\n } catch(e) {\n warnOutsideInjectionContext(fn, \"run\");\n }\n if (!ngZone) {return fn();}\n return ngZone.run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n let schedulers: ɵAngularFireSchedulers|undefined;\n try {\n schedulers = getSchedulers();\n } catch(e) {\n warnOutsideInjectionContext(obs$, \"observeOutsideAngular\");\n }\n if (!schedulers) {return obs$;}\n return obs$.pipe(observeOn(schedulers.outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n let schedulers: ɵAngularFireSchedulers|undefined;\n try {\n schedulers = getSchedulers();\n } catch(e) {\n warnOutsideInjectionContext(obs$, \"observeInsideAngular\");\n }\n if (!schedulers) {return obs$;}\n return obs$.pipe(observeOn(schedulers.insideAngular));\n}\n\nconst zoneWrapFn = (\n it: (...args: any[]) => any,\n taskDone: VoidFunction | undefined,\n injector: Injector,\n) => {\n return (...args: any[]) => {\n if (taskDone) {\n setTimeout(taskDone, 0);\n }\n return runInInjectionContext(injector, () => 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 let schedulers: ɵAngularFireSchedulers;\n let pendingTasks: PendingTasks;\n let injector: Injector;\n try {\n schedulers = getSchedulers();\n pendingTasks = inject(PendingTasks);\n injector = inject(Injector);\n } catch(e) {\n warnOutsideInjectionContext(it, \"ɵzoneWrap\");\n return (it as any).apply(this, _arguments);\n }\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(() => pendingTasks.add());\n }\n // TODO create a microtask to track callback functions\n _arguments[i] = zoneWrapFn(_arguments[i], taskDone, injector);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, _arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\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(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n pendingUntilEvent(injector),\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 pendingTasks.run(() => ret).then(\n (it) => runInInjectionContext(injector, () => run(() => resolve(it))),\n (reason) => runInInjectionContext(injector, () => 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, 0);\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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"}