@angular/fire 18.0.1 → 19.0.0-canary.35e0a98

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 (297) hide show
  1. package/README.md +11 -30
  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/app-check/app-check.d.ts +6 -0
  6. package/app-check/public_api.d.ts +1 -2
  7. package/auth/firebase.d.ts +1 -2
  8. package/auth/rxfire.d.ts +2 -2
  9. package/compat/auth/auth.d.ts +1 -0
  10. package/compat/database/database.d.ts +2 -1
  11. package/compat/database/list/create-reference.d.ts +2 -1
  12. package/compat/database/object/create-reference.d.ts +2 -1
  13. package/compat/firestore/collection/collection.d.ts +1 -0
  14. package/compat/firestore/collection-group/collection-group.d.ts +1 -0
  15. package/compat/firestore/document/document.d.ts +1 -0
  16. package/compat/firestore/firestore.d.ts +2 -1
  17. package/compat/remote-config/remote-config.d.ts +1 -0
  18. package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
  19. package/compat/storage/ref.d.ts +2 -1
  20. package/compat/storage/storage.d.ts +2 -1
  21. package/compat/storage/storage.module.d.ts +1 -1
  22. package/core.d.ts +0 -7
  23. package/data-connect/data-connect.d.ts +9 -0
  24. package/data-connect/data-connect.module.d.ts +13 -0
  25. package/data-connect/firebase.d.ts +12 -0
  26. package/{vertexai-preview → data-connect}/index.d.ts +1 -1
  27. package/data-connect/package.json +3 -0
  28. package/data-connect/public_api.d.ts +3 -0
  29. package/database/firebase.d.ts +1 -2
  30. package/database/rxfire.d.ts +4 -4
  31. package/docs/install-and-setup.md +10 -5
  32. package/docs/vertexai.md +3 -3
  33. package/docs/zones.md +39 -0
  34. package/fesm2022/angular-fire-analytics.mjs +31 -58
  35. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  36. package/fesm2022/angular-fire-app-check.mjs +16 -11
  37. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  38. package/fesm2022/angular-fire-app.mjs +4 -4
  39. package/fesm2022/angular-fire-app.mjs.map +1 -1
  40. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  41. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  42. package/fesm2022/angular-fire-auth.mjs +48 -48
  43. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  44. package/fesm2022/angular-fire-compat-analytics.mjs +15 -15
  45. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  46. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  47. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  48. package/fesm2022/angular-fire-compat-auth.mjs +12 -10
  49. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  50. package/fesm2022/angular-fire-compat-database.mjs +25 -23
  51. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  52. package/fesm2022/angular-fire-compat-firestore.mjs +29 -24
  53. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  54. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  55. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  56. package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
  57. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  58. package/fesm2022/angular-fire-compat-performance.mjs +10 -10
  59. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  60. package/fesm2022/angular-fire-compat-remote-config.mjs +12 -10
  61. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  62. package/fesm2022/angular-fire-compat-storage.mjs +28 -25
  63. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  64. package/fesm2022/angular-fire-compat.mjs +4 -4
  65. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  66. package/fesm2022/angular-fire-data-connect.mjs +100 -0
  67. package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
  68. package/fesm2022/angular-fire-database.mjs +35 -35
  69. package/fesm2022/angular-fire-database.mjs.map +1 -1
  70. package/fesm2022/angular-fire-firestore-lite.mjs +42 -45
  71. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  72. package/fesm2022/angular-fire-firestore.mjs +46 -55
  73. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  74. package/fesm2022/angular-fire-functions.mjs +7 -6
  75. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  76. package/fesm2022/angular-fire-messaging.mjs +16 -43
  77. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  78. package/fesm2022/angular-fire-performance.mjs +7 -7
  79. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  80. package/fesm2022/angular-fire-remote-config.mjs +22 -48
  81. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  82. package/fesm2022/angular-fire-storage.mjs +10 -9
  83. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  84. package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +11 -10
  85. package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
  86. package/fesm2022/angular-fire.mjs +74 -116
  87. package/fesm2022/angular-fire.mjs.map +1 -1
  88. package/firestore/firebase.d.ts +2 -12
  89. package/firestore/lite/firebase.d.ts +2 -6
  90. package/firestore/lite/rxfire.d.ts +4 -4
  91. package/firestore/rxfire.d.ts +7 -7
  92. package/messaging/firebase.d.ts +2 -2
  93. package/messaging/messaging.module.d.ts +2 -2
  94. package/package.json +21 -76
  95. package/performance/rxfire.d.ts +2 -2
  96. package/publish.sh +1 -0
  97. package/remote-config/firebase.d.ts +3 -2
  98. package/remote-config/remote-config.module.d.ts +2 -2
  99. package/remote-config/rxfire.d.ts +5 -5
  100. package/schematics/add/index.js +1 -13
  101. package/schematics/deploy/actions.js +138 -394
  102. package/schematics/deploy/builder.js +139 -61
  103. package/schematics/setup/index.js +94 -64
  104. package/schematics/update/index.js +1 -7
  105. package/schematics/update/v7/index.js +1 -67
  106. package/schematics/versions.json +2 -3
  107. package/vertexai/firebase.d.ts +4 -0
  108. package/vertexai/index.d.ts +5 -0
  109. package/vertexai/package.json +3 -0
  110. package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
  111. package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
  112. package/zones.d.ts +9 -15
  113. package/analytics/is-analytics-supported-factory.d.ts +0 -4
  114. package/analytics/overrides.d.ts +0 -1
  115. package/esm2022/analytics/analytics.mjs +0 -16
  116. package/esm2022/analytics/analytics.module.mjs +0 -101
  117. package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
  118. package/esm2022/analytics/firebase.mjs +0 -17
  119. package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
  120. package/esm2022/analytics/overrides.mjs +0 -3
  121. package/esm2022/analytics/public_api.mjs +0 -6
  122. package/esm2022/analytics/screen-tracking.service.mjs +0 -148
  123. package/esm2022/analytics/user-tracking.service.mjs +0 -44
  124. package/esm2022/angular-fire.mjs +0 -5
  125. package/esm2022/app/angular-fire-app.mjs +0 -5
  126. package/esm2022/app/app.mjs +0 -15
  127. package/esm2022/app/app.module.mjs +0 -91
  128. package/esm2022/app/firebase.mjs +0 -13
  129. package/esm2022/app/public_api.mjs +0 -4
  130. package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
  131. package/esm2022/app-check/app-check.mjs +0 -10
  132. package/esm2022/app-check/app-check.module.mjs +0 -80
  133. package/esm2022/app-check/firebase.mjs +0 -10
  134. package/esm2022/app-check/public_api.mjs +0 -5
  135. package/esm2022/auth/angular-fire-auth.mjs +0 -5
  136. package/esm2022/auth/auth.mjs +0 -16
  137. package/esm2022/auth/auth.module.mjs +0 -73
  138. package/esm2022/auth/firebase.mjs +0 -59
  139. package/esm2022/auth/public_api.mjs +0 -5
  140. package/esm2022/auth/rxfire.mjs +0 -7
  141. package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
  142. package/esm2022/auth-guard/auth-guard.mjs +0 -53
  143. package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
  144. package/esm2022/auth-guard/public_api.mjs +0 -3
  145. package/esm2022/compat/analytics/analytics.mjs +0 -160
  146. package/esm2022/compat/analytics/analytics.module.mjs +0 -35
  147. package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
  148. package/esm2022/compat/analytics/base.mjs +0 -11
  149. package/esm2022/compat/analytics/public_api.mjs +0 -5
  150. package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
  151. package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
  152. package/esm2022/compat/angular-fire-compat.mjs +0 -5
  153. package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
  154. package/esm2022/compat/auth/auth.mjs +0 -161
  155. package/esm2022/compat/auth/auth.module.mjs +0 -20
  156. package/esm2022/compat/auth/base.mjs +0 -39
  157. package/esm2022/compat/auth/public_api.mjs +0 -4
  158. package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
  159. package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
  160. package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
  161. package/esm2022/compat/auth-guard/public_api.mjs +0 -3
  162. package/esm2022/compat/cache.mjs +0 -33
  163. package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
  164. package/esm2022/compat/database/database.mjs +0 -119
  165. package/esm2022/compat/database/database.module.mjs +0 -20
  166. package/esm2022/compat/database/interfaces.mjs +0 -2
  167. package/esm2022/compat/database/list/audit-trail.mjs +0 -47
  168. package/esm2022/compat/database/list/changes.mjs +0 -85
  169. package/esm2022/compat/database/list/create-reference.mjs +0 -44
  170. package/esm2022/compat/database/list/data-operation.mjs +0 -11
  171. package/esm2022/compat/database/list/remove.mjs +0 -16
  172. package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
  173. package/esm2022/compat/database/list/state-changes.mjs +0 -9
  174. package/esm2022/compat/database/list/utils.mjs +0 -8
  175. package/esm2022/compat/database/object/create-reference.mjs +0 -19
  176. package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
  177. package/esm2022/compat/database/observable/fromRef.mjs +0 -48
  178. package/esm2022/compat/database/public_api.mjs +0 -9
  179. package/esm2022/compat/database/utils.mjs +0 -36
  180. package/esm2022/compat/firebase.app.mjs +0 -6
  181. package/esm2022/compat/firebase.app.module.mjs +0 -71
  182. package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
  183. package/esm2022/compat/firestore/collection/changes.mjs +0 -108
  184. package/esm2022/compat/firestore/collection/collection.mjs +0 -123
  185. package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
  186. package/esm2022/compat/firestore/document/document.mjs +0 -87
  187. package/esm2022/compat/firestore/firestore.mjs +0 -257
  188. package/esm2022/compat/firestore/firestore.module.mjs +0 -32
  189. package/esm2022/compat/firestore/interfaces.mjs +0 -2
  190. package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
  191. package/esm2022/compat/firestore/public_api.mjs +0 -9
  192. package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
  193. package/esm2022/compat/functions/base.mjs +0 -8
  194. package/esm2022/compat/functions/functions.mjs +0 -69
  195. package/esm2022/compat/functions/functions.module.mjs +0 -20
  196. package/esm2022/compat/functions/public_api.mjs +0 -4
  197. package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
  198. package/esm2022/compat/messaging/base.mjs +0 -9
  199. package/esm2022/compat/messaging/messaging.mjs +0 -81
  200. package/esm2022/compat/messaging/messaging.module.mjs +0 -20
  201. package/esm2022/compat/messaging/public_api.mjs +0 -3
  202. package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
  203. package/esm2022/compat/performance/base.mjs +0 -9
  204. package/esm2022/compat/performance/performance.mjs +0 -105
  205. package/esm2022/compat/performance/performance.module.mjs +0 -27
  206. package/esm2022/compat/performance/performance.service.mjs +0 -28
  207. package/esm2022/compat/performance/public_api.mjs +0 -4
  208. package/esm2022/compat/proxy.mjs +0 -58
  209. package/esm2022/compat/public_api.mjs +0 -5
  210. package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
  211. package/esm2022/compat/remote-config/base.mjs +0 -20
  212. package/esm2022/compat/remote-config/interfaces.mjs +0 -2
  213. package/esm2022/compat/remote-config/public_api.mjs +0 -3
  214. package/esm2022/compat/remote-config/remote-config.mjs +0 -206
  215. package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
  216. package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
  217. package/esm2022/compat/storage/interfaces.mjs +0 -2
  218. package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
  219. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
  220. package/esm2022/compat/storage/public_api.mjs +0 -7
  221. package/esm2022/compat/storage/ref.mjs +0 -28
  222. package/esm2022/compat/storage/storage.mjs +0 -95
  223. package/esm2022/compat/storage/storage.module.mjs +0 -22
  224. package/esm2022/compat/storage/task.mjs +0 -21
  225. package/esm2022/core.mjs +0 -43
  226. package/esm2022/database/angular-fire-database.mjs +0 -5
  227. package/esm2022/database/database.mjs +0 -16
  228. package/esm2022/database/database.module.mjs +0 -76
  229. package/esm2022/database/firebase.mjs +0 -44
  230. package/esm2022/database/public_api.mjs +0 -5
  231. package/esm2022/database/rxfire.mjs +0 -13
  232. package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
  233. package/esm2022/firestore/firebase.mjs +0 -73
  234. package/esm2022/firestore/firestore.mjs +0 -16
  235. package/esm2022/firestore/firestore.module.mjs +0 -76
  236. package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
  237. package/esm2022/firestore/lite/firebase.mjs +0 -48
  238. package/esm2022/firestore/lite/lite.mjs +0 -16
  239. package/esm2022/firestore/lite/lite.module.mjs +0 -75
  240. package/esm2022/firestore/lite/public_api.mjs +0 -5
  241. package/esm2022/firestore/lite/rxfire.mjs +0 -12
  242. package/esm2022/firestore/public_api.mjs +0 -5
  243. package/esm2022/firestore/rxfire.mjs +0 -15
  244. package/esm2022/functions/angular-fire-functions.mjs +0 -5
  245. package/esm2022/functions/firebase.mjs +0 -9
  246. package/esm2022/functions/functions.mjs +0 -16
  247. package/esm2022/functions/functions.module.mjs +0 -76
  248. package/esm2022/functions/public_api.mjs +0 -5
  249. package/esm2022/functions/rxfire.mjs +0 -5
  250. package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
  251. package/esm2022/messaging/firebase.mjs +0 -10
  252. package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
  253. package/esm2022/messaging/messaging.mjs +0 -16
  254. package/esm2022/messaging/messaging.module.mjs +0 -93
  255. package/esm2022/messaging/overrides.mjs +0 -3
  256. package/esm2022/messaging/public_api.mjs +0 -4
  257. package/esm2022/performance/angular-fire-performance.mjs +0 -5
  258. package/esm2022/performance/firebase.mjs +0 -8
  259. package/esm2022/performance/performance.mjs +0 -16
  260. package/esm2022/performance/performance.module.mjs +0 -83
  261. package/esm2022/performance/public_api.mjs +0 -5
  262. package/esm2022/performance/rxfire.mjs +0 -8
  263. package/esm2022/public_api.mjs +0 -3
  264. package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
  265. package/esm2022/remote-config/firebase.mjs +0 -17
  266. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
  267. package/esm2022/remote-config/overrides.mjs +0 -3
  268. package/esm2022/remote-config/public_api.mjs +0 -5
  269. package/esm2022/remote-config/remote-config.mjs +0 -16
  270. package/esm2022/remote-config/remote-config.module.mjs +0 -93
  271. package/esm2022/remote-config/rxfire.mjs +0 -9
  272. package/esm2022/storage/angular-fire-storage.mjs +0 -5
  273. package/esm2022/storage/firebase.mjs +0 -20
  274. package/esm2022/storage/public_api.mjs +0 -5
  275. package/esm2022/storage/rxfire.mjs +0 -6
  276. package/esm2022/storage/storage.mjs +0 -16
  277. package/esm2022/storage/storage.module.mjs +0 -76
  278. package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
  279. package/esm2022/vertexai-preview/firebase.mjs +0 -7
  280. package/esm2022/vertexai-preview/public_api.mjs +0 -4
  281. package/esm2022/vertexai-preview/vertexai.mjs +0 -16
  282. package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
  283. package/esm2022/zones.mjs +0 -194
  284. package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
  285. package/messaging/is-messaging-supported-factory.d.ts +0 -4
  286. package/messaging/overrides.d.ts +0 -1
  287. package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
  288. package/remote-config/overrides.d.ts +0 -1
  289. package/schematics/common.js +0 -81
  290. package/schematics/deploy/functions-templates.js +0 -57
  291. package/schematics/firebaseTools.js +0 -78
  292. package/schematics/interfaces.js +0 -16
  293. package/schematics/setup/prompts.js +0 -195
  294. package/schematics/utils.js +0 -189
  295. package/vertexai-preview/firebase.d.ts +0 -4
  296. package/vertexai-preview/package.json +0 -3
  297. /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
@@ -1,257 +0,0 @@
1
- import { isPlatformServer } from '@angular/common';
2
- import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';
3
- import { ɵAngularFireSchedulers } from '@angular/fire';
4
- import { AppCheckInstances } from '@angular/fire/app-check';
5
- import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance, ɵfirebaseAppFactory } from '@angular/fire/compat';
6
- import { SETTINGS as AUTH_SETTINGS, AngularFireAuth, LANGUAGE_CODE, PERSISTENCE, TENANT_ID, USE_EMULATOR as USE_AUTH_EMULATOR, USE_DEVICE_LANGUAGE, ɵauthFactory, } from '@angular/fire/compat/auth';
7
- import { from, of } from 'rxjs';
8
- import { AngularFirestoreCollection } from './collection/collection';
9
- import { AngularFirestoreCollectionGroup } from './collection-group/collection-group';
10
- import { AngularFirestoreDocument } from './document/document';
11
- import 'firebase/compat/auth';
12
- import 'firebase/compat/firestore';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/fire";
15
- import * as i2 from "@angular/fire/compat/auth";
16
- import * as i3 from "@angular/fire/app-check";
17
- /**
18
- * The value of this token determines whether or not the firestore will have persistance enabled
19
- */
20
- export const ENABLE_PERSISTENCE = new InjectionToken('angularfire2.enableFirestorePersistence');
21
- export const PERSISTENCE_SETTINGS = new InjectionToken('angularfire2.firestore.persistenceSettings');
22
- export const SETTINGS = new InjectionToken('angularfire2.firestore.settings');
23
- export const USE_EMULATOR = new InjectionToken('angularfire2.firestore.use-emulator');
24
- /**
25
- * A utility methods for associating a collection reference with
26
- * a query.
27
- *
28
- * @param collectionRef - A collection reference to query
29
- * @param queryFn - The callback to create a query
30
- *
31
- * Example:
32
- * const { query, ref } = associateQuery(docRef.collection('items'), ref => {
33
- * return ref.where('age', '<', 200);
34
- * });
35
- */
36
- export function associateQuery(collectionRef, queryFn = ref => ref) {
37
- const query = queryFn(collectionRef);
38
- const ref = collectionRef;
39
- return { query, ref };
40
- }
41
- /**
42
- * AngularFirestore Service
43
- *
44
- * This service is the main entry point for this feature module. It provides
45
- * an API for creating Collection and Reference services. These services can
46
- * then be used to do data updates and observable streams of the data.
47
- *
48
- * Example:
49
- *
50
- * import { Component } from '@angular/core';
51
- * import { AngularFirestore, AngularFirestoreCollection, AngularFirestoreDocument } from '@angular/fire/firestore';
52
- * import { Observable } from 'rxjs/Observable';
53
- * import { from } from 'rxjs/observable';
54
- *
55
- * @Component({
56
- * selector: 'app-my-component',
57
- * template: `
58
- * <h2>Items for {{ (profile | async)?.name }}
59
- * <ul>
60
- * <li *ngFor="let item of items | async">{{ item.name }}</li>
61
- * </ul>
62
- * <div class="control-input">
63
- * <input type="text" #itemname />
64
- * <button (click)="addItem(itemname.value)">Add Item</button>
65
- * </div>
66
- * `
67
- * })
68
- * export class MyComponent implements OnInit {
69
- *
70
- * // services for data operations and data streaming
71
- * private readonly itemsRef: AngularFirestoreCollection<Item>;
72
- * private readonly profileRef: AngularFirestoreDocument<Profile>;
73
- *
74
- * // observables for template
75
- * items: Observable<Item[]>;
76
- * profile: Observable<Profile>;
77
- *
78
- * // inject main service
79
- * constructor(private readonly afs: AngularFirestore) {}
80
- *
81
- * ngOnInit() {
82
- * this.itemsRef = afs.collection('items', ref => ref.where('user', '==', 'davideast').limit(10));
83
- * this.items = this.itemsRef.valueChanges().map(snap => snap.docs.map(data => doc.data()));
84
- * // this.items = from(this.itemsRef); // you can also do this with no mapping
85
- *
86
- * this.profileRef = afs.doc('users/davideast');
87
- * this.profile = this.profileRef.valueChanges();
88
- * }
89
- *
90
- * addItem(name: string) {
91
- * const user = 'davideast';
92
- * this.itemsRef.add({ name, user });
93
- * }
94
- * }
95
- */
96
- export class AngularFirestore {
97
- schedulers;
98
- firestore;
99
- persistenceEnabled$;
100
- /**
101
- * Each Feature of AngularFire has a FirebaseApp injected. This way we
102
- * don't rely on the main Firebase App instance and we can create named
103
- * apps and use multiple apps.
104
- */
105
- constructor(options, name, shouldEnablePersistence, settings,
106
- // eslint-disable-next-line @typescript-eslint/ban-types
107
- platformId, zone, schedulers, persistenceSettings, _useEmulator, auth, useAuthEmulator, authSettings, // can't use firebase.auth.AuthSettings here
108
- tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {
109
- this.schedulers = schedulers;
110
- const app = ɵfirebaseAppFactory(options, zone, name);
111
- const useEmulator = _useEmulator;
112
- if (auth) {
113
- ɵauthFactory(app, zone, useAuthEmulator, tenantId, languageCode, useDeviceLanguage, authSettings, persistence);
114
- }
115
- [this.firestore, this.persistenceEnabled$] = ɵcacheInstance(`${app.name}.firestore`, 'AngularFirestore', app.name, () => {
116
- const firestore = zone.runOutsideAngular(() => app.firestore());
117
- if (settings) {
118
- firestore.settings(settings);
119
- }
120
- if (useEmulator) {
121
- firestore.useEmulator(...useEmulator);
122
- }
123
- if (shouldEnablePersistence && !isPlatformServer(platformId)) {
124
- // We need to try/catch here because not all enablePersistence() failures are caught
125
- // https://github.com/firebase/firebase-js-sdk/issues/608
126
- const enablePersistence = () => {
127
- try {
128
- return from(firestore.enablePersistence(persistenceSettings || undefined).then(() => true, () => false));
129
- }
130
- catch (e) {
131
- if (typeof console !== 'undefined') {
132
- console.warn(e);
133
- }
134
- return of(false);
135
- }
136
- };
137
- return [firestore, zone.runOutsideAngular(enablePersistence)];
138
- }
139
- else {
140
- return [firestore, of(false)];
141
- }
142
- }, [settings, useEmulator, shouldEnablePersistence]);
143
- }
144
- collection(pathOrRef, queryFn) {
145
- let collectionRef;
146
- if (typeof pathOrRef === 'string') {
147
- collectionRef = this.firestore.collection(pathOrRef);
148
- }
149
- else {
150
- collectionRef = pathOrRef;
151
- }
152
- const { ref, query } = associateQuery(collectionRef, queryFn);
153
- const refInZone = this.schedulers.ngZone.run(() => ref);
154
- return new AngularFirestoreCollection(refInZone, query, this);
155
- }
156
- /**
157
- * Create a reference to a Firestore Collection Group based on a collectionId
158
- * and an optional query function to narrow the result
159
- * set.
160
- */
161
- collectionGroup(collectionId, queryGroupFn) {
162
- const queryFn = queryGroupFn || (ref => ref);
163
- const collectionGroup = this.firestore.collectionGroup(collectionId);
164
- return new AngularFirestoreCollectionGroup(queryFn(collectionGroup), this);
165
- }
166
- doc(pathOrRef) {
167
- let ref;
168
- if (typeof pathOrRef === 'string') {
169
- ref = this.firestore.doc(pathOrRef);
170
- }
171
- else {
172
- ref = pathOrRef;
173
- }
174
- const refInZone = this.schedulers.ngZone.run(() => ref);
175
- return new AngularFirestoreDocument(refInZone, this);
176
- }
177
- /**
178
- * Returns a generated Firestore Document Id.
179
- */
180
- createId() {
181
- return this.firestore.collection('_').doc().id;
182
- }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFirestore, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: ENABLE_PERSISTENCE, optional: true }, { token: SETTINGS, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: PERSISTENCE_SETTINGS, optional: true }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_AUTH_EMULATOR, optional: true }, { token: AUTH_SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
184
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFirestore, providedIn: 'any' });
185
- }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFirestore, decorators: [{
187
- type: Injectable,
188
- args: [{
189
- providedIn: 'any'
190
- }]
191
- }], ctorParameters: () => [{ type: undefined, decorators: [{
192
- type: Inject,
193
- args: [FIREBASE_OPTIONS]
194
- }] }, { type: undefined, decorators: [{
195
- type: Optional
196
- }, {
197
- type: Inject,
198
- args: [FIREBASE_APP_NAME]
199
- }] }, { type: undefined, decorators: [{
200
- type: Optional
201
- }, {
202
- type: Inject,
203
- args: [ENABLE_PERSISTENCE]
204
- }] }, { type: undefined, decorators: [{
205
- type: Optional
206
- }, {
207
- type: Inject,
208
- args: [SETTINGS]
209
- }] }, { type: Object, decorators: [{
210
- type: Inject,
211
- args: [PLATFORM_ID]
212
- }] }, { type: i0.NgZone }, { type: i1.ɵAngularFireSchedulers }, { type: undefined, decorators: [{
213
- type: Optional
214
- }, {
215
- type: Inject,
216
- args: [PERSISTENCE_SETTINGS]
217
- }] }, { type: undefined, decorators: [{
218
- type: Optional
219
- }, {
220
- type: Inject,
221
- args: [USE_EMULATOR]
222
- }] }, { type: i2.AngularFireAuth, decorators: [{
223
- type: Optional
224
- }] }, { type: undefined, decorators: [{
225
- type: Optional
226
- }, {
227
- type: Inject,
228
- args: [USE_AUTH_EMULATOR]
229
- }] }, { type: undefined, decorators: [{
230
- type: Optional
231
- }, {
232
- type: Inject,
233
- args: [AUTH_SETTINGS]
234
- }] }, { type: undefined, decorators: [{
235
- type: Optional
236
- }, {
237
- type: Inject,
238
- args: [TENANT_ID]
239
- }] }, { type: undefined, decorators: [{
240
- type: Optional
241
- }, {
242
- type: Inject,
243
- args: [LANGUAGE_CODE]
244
- }] }, { type: undefined, decorators: [{
245
- type: Optional
246
- }, {
247
- type: Inject,
248
- args: [USE_DEVICE_LANGUAGE]
249
- }] }, { type: undefined, decorators: [{
250
- type: Optional
251
- }, {
252
- type: Inject,
253
- args: [PERSISTENCE]
254
- }] }, { type: i3.AppCheckInstances, decorators: [{
255
- type: Optional
256
- }] }] });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9maXJlc3RvcmUvZmlyZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFDTCxRQUFRLElBQUksYUFBYSxFQUN6QixlQUFlLEVBQ2YsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxJQUFJLGlCQUFpQixFQUNqQyxtQkFBbUIsRUFDbkIsWUFBWSxHQUNiLE1BQU0sMkJBQTJCLENBQUM7QUFHbkMsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXL0QsT0FBTyxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLDJCQUEyQixDQUFDOzs7OztBQUVuQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFVLHlDQUF5QyxDQUFDLENBQUM7QUFDekcsTUFB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QUFDLGdCQUFnQjs7MEJBQ3ZCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDcEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUNyQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUUzQixNQUFNOzJCQUFDLFdBQVc7OzBCQUdsQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQ3ZDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsWUFBWTs7MEJBQy9CLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDcEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFDaEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTOzswQkFDNUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhOzswQkFDaEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUN0QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUM5QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IEFwcENoZWNrSW5zdGFuY2VzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAtY2hlY2snO1xuaW1wb3J0IHsgRklSRUJBU0VfQVBQX05BTUUsIEZJUkVCQVNFX09QVElPTlMsIMm1Y2FjaGVJbnN0YW5jZSwgybVmaXJlYmFzZUFwcEZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQge1xuICBTRVRUSU5HUyBhcyBBVVRIX1NFVFRJTkdTLFxuICBBbmd1bGFyRmlyZUF1dGgsXG4gIExBTkdVQUdFX0NPREUsXG4gIFBFUlNJU1RFTkNFLFxuICBURU5BTlRfSUQsXG4gIFVTRV9FTVVMQVRPUiBhcyBVU0VfQVVUSF9FTVVMQVRPUixcbiAgVVNFX0RFVklDRV9MQU5HVUFHRSxcbiAgybVhdXRoRmFjdG9yeSxcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQvYXV0aCc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cCB9IGZyb20gJy4vY29sbGVjdGlvbi1ncm91cC9jb2xsZWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudCB9IGZyb20gJy4vZG9jdW1lbnQvZG9jdW1lbnQnO1xuaW1wb3J0IHtcbiAgQXNzb2NpYXRlZFJlZmVyZW5jZSxcbiAgQ29sbGVjdGlvblJlZmVyZW5jZSxcbiAgRG9jdW1lbnRSZWZlcmVuY2UsXG4gIFBlcnNpc3RlbmNlU2V0dGluZ3MsXG4gIFF1ZXJ5LFxuICBRdWVyeUZuLFxuICBRdWVyeUdyb3VwRm4sXG4gIFNldHRpbmdzXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgJ2ZpcmViYXNlL2NvbXBhdC9hdXRoJztcbmltcG9ydCAnZmlyZWJhc2UvY29tcGF0L2ZpcmVzdG9yZSc7XG5cbi8qKlxuICogVGhlIHZhbHVlIG9mIHRoaXMgdG9rZW4gZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgZmlyZXN0b3JlIHdpbGwgaGF2ZSBwZXJzaXN0YW5jZSBlbmFibGVkXG4gKi9cbmV4cG9ydCBjb25zdCBFTkFCTEVfUEVSU0lTVEVOQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2FuZ3VsYXJmaXJlMi5lbmFibGVGaXJlc3RvcmVQZXJzaXN0ZW5jZScpO1xuZXhwb3J0IGNvbnN0IFBFUlNJU1RFTkNFX1NFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPFBlcnNpc3RlbmNlU2V0dGluZ3MgfCB1bmRlZmluZWQ+KCdhbmd1bGFyZmlyZTIuZmlyZXN0b3JlLnBlcnNpc3RlbmNlU2V0dGluZ3MnKTtcbmV4cG9ydCBjb25zdCBTRVRUSU5HUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZXR0aW5ncz4oJ2FuZ3VsYXJmaXJlMi5maXJlc3RvcmUuc2V0dGluZ3MnKTtcblxudHlwZSBVc2VFbXVsYXRvckFyZ3VtZW50cyA9IFBhcmFtZXRlcnM8ZmlyZWJhc2UuZmlyZXN0b3JlLkZpcmVzdG9yZVsndXNlRW11bGF0b3InXT47XG5leHBvcnQgY29uc3QgVVNFX0VNVUxBVE9SID0gbmV3IEluamVjdGlvblRva2VuPFVzZUVtdWxhdG9yQXJndW1lbnRzPignYW5ndWxhcmZpcmUyLmZpcmVzdG9yZS51c2UtZW11bGF0b3InKTtcblxuLyoqXG4gKiBBIHV0aWxpdHkgbWV0aG9kcyBmb3IgYXNzb2NpYXRpbmcgYSBjb2xsZWN0aW9uIHJlZmVyZW5jZSB3aXRoXG4gKiBhIHF1ZXJ5LlxuICpcbiAqIEBwYXJhbSBjb2xsZWN0aW9uUmVmIC0gQSBjb2xsZWN0aW9uIHJlZmVyZW5jZSB0byBxdWVyeVxuICogQHBhcmFtIHF1ZXJ5Rm4gLSBUaGUgY2FsbGJhY2sgdG8gY3JlYXRlIGEgcXVlcnlcbiAqXG4gKiBFeGFtcGxlOlxuICogY29uc3QgeyBxdWVyeSwgcmVmIH0gPSBhc3NvY2lhdGVRdWVyeShkb2NSZWYuY29sbGVjdGlvbignaXRlbXMnKSwgcmVmID0+IHtcbiAqICByZXR1cm4gcmVmLndoZXJlKCdhZ2UnLCAnPCcsIDIwMCk7XG4gKiB9KTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc29jaWF0ZVF1ZXJ5PFQ+KGNvbGxlY3Rpb25SZWY6IENvbGxlY3Rpb25SZWZlcmVuY2U8VD4sIHF1ZXJ5Rm4gPSByZWYgPT4gcmVmKTogQXNzb2NpYXRlZFJlZmVyZW5jZTxUPiB7XG4gIGNvbnN0IHF1ZXJ5ID0gcXVlcnlGbihjb2xsZWN0aW9uUmVmKTtcbiAgY29uc3QgcmVmID0gY29sbGVjdGlvblJlZjtcbiAgcmV0dXJuIHsgcXVlcnksIHJlZiB9O1xufVxuXG4vKipcbiAqIEFuZ3VsYXJGaXJlc3RvcmUgU2VydmljZVxuICpcbiAqIFRoaXMgc2VydmljZSBpcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgdGhpcyBmZWF0dXJlIG1vZHVsZS4gSXQgcHJvdmlkZXNcbiAqIGFuIEFQSSBmb3IgY3JlYXRpbmcgQ29sbGVjdGlvbiBhbmQgUmVmZXJlbmNlIHNlcnZpY2VzLiBUaGVzZSBzZXJ2aWNlcyBjYW5cbiAqIHRoZW4gYmUgdXNlZCB0byBkbyBkYXRhIHVwZGF0ZXMgYW5kIG9ic2VydmFibGUgc3RyZWFtcyBvZiB0aGUgZGF0YS5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICogaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSwgQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb24sIEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbiAqIGltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuICogaW1wb3J0IHsgZnJvbSB9IGZyb20gJ3J4anMvb2JzZXJ2YWJsZSc7XG4gKlxuICogQENvbXBvbmVudCh7XG4gKiAgIHNlbGVjdG9yOiAnYXBwLW15LWNvbXBvbmVudCcsXG4gKiAgIHRlbXBsYXRlOiBgXG4gKiAgICA8aDI+SXRlbXMgZm9yIHt7IChwcm9maWxlIHwgYXN5bmMpPy5uYW1lIH19XG4gKiAgICA8dWw+XG4gKiAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiPnt7IGl0ZW0ubmFtZSB9fTwvbGk+XG4gKiAgICA8L3VsPlxuICogICAgPGRpdiBjbGFzcz1cImNvbnRyb2wtaW5wdXRcIj5cbiAqICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiICNpdGVtbmFtZSAvPlxuICogICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWRkSXRlbShpdGVtbmFtZS52YWx1ZSlcIj5BZGQgSXRlbTwvYnV0dG9uPlxuICogICAgPC9kaXY+XG4gKiAgIGBcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICpcbiAqICAgLy8gc2VydmljZXMgZm9yIGRhdGEgb3BlcmF0aW9ucyBhbmQgZGF0YSBzdHJlYW1pbmdcbiAqICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc1JlZjogQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248SXRlbT47XG4gKiAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZmlsZVJlZjogQW5ndWxhckZpcmVzdG9yZURvY3VtZW50PFByb2ZpbGU+O1xuICpcbiAqICAgLy8gb2JzZXJ2YWJsZXMgZm9yIHRlbXBsYXRlXG4gKiAgIGl0ZW1zOiBPYnNlcnZhYmxlPEl0ZW1bXT47XG4gKiAgIHByb2ZpbGU6IE9ic2VydmFibGU8UHJvZmlsZT47XG4gKlxuICogICAvLyBpbmplY3QgbWFpbiBzZXJ2aWNlXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWZzOiBBbmd1bGFyRmlyZXN0b3JlKSB7fVxuICpcbiAqICAgbmdPbkluaXQoKSB7XG4gKiAgICAgdGhpcy5pdGVtc1JlZiA9IGFmcy5jb2xsZWN0aW9uKCdpdGVtcycsIHJlZiA9PiByZWYud2hlcmUoJ3VzZXInLCAnPT0nLCAnZGF2aWRlYXN0JykubGltaXQoMTApKTtcbiAqICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtc1JlZi52YWx1ZUNoYW5nZXMoKS5tYXAoc25hcCA9PiBzbmFwLmRvY3MubWFwKGRhdGEgPT4gZG9jLmRhdGEoKSkpO1xuICogICAgIC8vIHRoaXMuaXRlbXMgPSBmcm9tKHRoaXMuaXRlbXNSZWYpOyAvLyB5b3UgY2FuIGFsc28gZG8gdGhpcyB3aXRoIG5vIG1hcHBpbmdcbiAqXG4gKiAgICAgdGhpcy5wcm9maWxlUmVmID0gYWZzLmRvYygndXNlcnMvZGF2aWRlYXN0Jyk7XG4gKiAgICAgdGhpcy5wcm9maWxlID0gdGhpcy5wcm9maWxlUmVmLnZhbHVlQ2hhbmdlcygpO1xuICogICB9XG4gKlxuICogICBhZGRJdGVtKG5hbWU6IHN0cmluZykge1xuICogICAgIGNvbnN0IHVzZXIgPSAnZGF2aWRlYXN0JztcbiAqICAgICB0aGlzLml0ZW1zUmVmLmFkZCh7IG5hbWUsIHVzZXIgfSk7XG4gKiAgIH1cbiAqIH1cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZXN0b3JlIHtcbiAgcHVibGljIHJlYWRvbmx5IGZpcmVzdG9yZTogZmlyZWJhc2UuZmlyZXN0b3JlLkZpcmVzdG9yZTtcbiAgcHVibGljIHJlYWRvbmx5IHBlcnNpc3RlbmNlRW5hYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIEVhY2ggRmVhdHVyZSBvZiBBbmd1bGFyRmlyZSBoYXMgYSBGaXJlYmFzZUFwcCBpbmplY3RlZC4gVGhpcyB3YXkgd2VcbiAgICogZG9uJ3QgcmVseSBvbiB0aGUgbWFpbiBGaXJlYmFzZSBBcHAgaW5zdGFuY2UgYW5kIHdlIGNhbiBjcmVhdGUgbmFtZWRcbiAgICogYXBwcyBhbmQgdXNlIG11bHRpcGxlIGFwcHMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZJUkVCQVNFX09QVElPTlMpIG9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZJUkVCQVNFX0FQUF9OQU1FKSBuYW1lOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRU5BQkxFX1BFUlNJU1RFTkNFKSBzaG91bGRFbmFibGVQZXJzaXN0ZW5jZTogYm9vbGVhbiB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChTRVRUSU5HUykgc2V0dGluZ3M6IFNldHRpbmdzIHwgbnVsbCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgcHVibGljIHNjaGVkdWxlcnM6IMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUEVSU0lTVEVOQ0VfU0VUVElOR1MpIHBlcnNpc3RlbmNlU2V0dGluZ3M6IFBlcnNpc3RlbmNlU2V0dGluZ3MgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFX0VNVUxBVE9SKSBfdXNlRW11bGF0b3I6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBhdXRoOiBBbmd1bGFyRmlyZUF1dGgsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChVU0VfQVVUSF9FTVVMQVRPUikgdXNlQXV0aEVtdWxhdG9yOiBhbnksXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBVVRIX1NFVFRJTkdTKSBhdXRoU2V0dGluZ3M6IGFueSwgLy8gY2FuJ3QgdXNlIGZpcmViYXNlLmF1dGguQXV0aFNldHRpbmdzIGhlcmVcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRFTkFOVF9JRCkgdGVuYW50SWQ6IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChMQU5HVUFHRV9DT0RFKSBsYW5ndWFnZUNvZGU6IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChVU0VfREVWSUNFX0xBTkdVQUdFKSB1c2VEZXZpY2VMYW5ndWFnZTogYm9vbGVhbiB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQRVJTSVNURU5DRSkgcGVyc2lzdGVuY2U6IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgX2FwcENoZWNrSW5zdGFuY2VzOiBBcHBDaGVja0luc3RhbmNlcyxcbiAgKSB7XG4gICAgY29uc3QgYXBwID0gybVmaXJlYmFzZUFwcEZhY3Rvcnkob3B0aW9ucywgem9uZSwgbmFtZSk7XG4gICAgY29uc3QgdXNlRW11bGF0b3I6IFVzZUVtdWxhdG9yQXJndW1lbnRzIHwgbnVsbCA9IF91c2VFbXVsYXRvcjtcblxuICAgIGlmIChhdXRoKSB7XG4gICAgICDJtWF1dGhGYWN0b3J5KGFwcCwgem9uZSwgdXNlQXV0aEVtdWxhdG9yLCB0ZW5hbnRJZCwgbGFuZ3VhZ2VDb2RlLCB1c2VEZXZpY2VMYW5ndWFnZSwgYXV0aFNldHRpbmdzLCBwZXJzaXN0ZW5jZSk7XG4gICAgfVxuXG4gICAgW3RoaXMuZmlyZXN0b3JlLCB0aGlzLnBlcnNpc3RlbmNlRW5hYmxlZCRdID0gybVjYWNoZUluc3RhbmNlKGAke2FwcC5uYW1lfS5maXJlc3RvcmVgLCAnQW5ndWxhckZpcmVzdG9yZScsIGFwcC5uYW1lLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaXJlc3RvcmUgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGFwcC5maXJlc3RvcmUoKSk7XG4gICAgICBpZiAoc2V0dGluZ3MpIHtcbiAgICAgICAgZmlyZXN0b3JlLnNldHRpbmdzKHNldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIGlmICh1c2VFbXVsYXRvcikge1xuICAgICAgICBmaXJlc3RvcmUudXNlRW11bGF0b3IoLi4udXNlRW11bGF0b3IpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkRW5hYmxlUGVyc2lzdGVuY2UgJiYgIWlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkpIHtcbiAgICAgICAgLy8gV2UgbmVlZCB0byB0cnkvY2F0Y2ggaGVyZSBiZWNhdXNlIG5vdCBhbGwgZW5hYmxlUGVyc2lzdGVuY2UoKSBmYWlsdXJlcyBhcmUgY2F1Z2h0XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9maXJlYmFzZS9maXJlYmFzZS1qcy1zZGsvaXNzdWVzLzYwOFxuICAgICAgICBjb25zdCBlbmFibGVQZXJzaXN0ZW5jZSA9ICgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGZyb20oZmlyZXN0b3JlLmVuYWJsZVBlcnNpc3RlbmNlKHBlcnNpc3RlbmNlU2V0dGluZ3MgfHwgdW5kZWZpbmVkKS50aGVuKCgpID0+IHRydWUsICgpID0+IGZhbHNlKSk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykgeyBjb25zb2xlLndhcm4oZSk7IH1cbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gW2ZpcmVzdG9yZSwgem9uZS5ydW5PdXRzaWRlQW5ndWxhcihlbmFibGVQZXJzaXN0ZW5jZSldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtmaXJlc3RvcmUsIG9mKGZhbHNlKV07XG4gICAgICB9XG5cbiAgICB9LCBbc2V0dGluZ3MsIHVzZUVtdWxhdG9yLCBzaG91bGRFbmFibGVQZXJzaXN0ZW5jZV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJlZmVyZW5jZSB0byBhIEZpcmVzdG9yZSBDb2xsZWN0aW9uIGJhc2VkIG9uIGEgcGF0aCBvclxuICAgKiBDb2xsZWN0aW9uUmVmZXJlbmNlIGFuZCBhbiBvcHRpb25hbCBxdWVyeSBmdW5jdGlvbiB0byBuYXJyb3cgdGhlIHJlc3VsdFxuICAgKiBzZXQuXG4gICAqL1xuICBjb2xsZWN0aW9uPFQ+KHBhdGg6IHN0cmluZywgcXVlcnlGbj86IFF1ZXJ5Rm4pOiBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbjxUPjtcbiAgY29sbGVjdGlvbjxUPihyZWY6IENvbGxlY3Rpb25SZWZlcmVuY2UsIHF1ZXJ5Rm4/OiBRdWVyeUZuKTogQW5ndWxhckZpcmVzdG9yZUNvbGxlY3Rpb248VD47XG4gIGNvbGxlY3Rpb248VD4ocGF0aE9yUmVmOiBzdHJpbmcgfCBDb2xsZWN0aW9uUmVmZXJlbmNlPFQ+LCBxdWVyeUZuPzogUXVlcnlGbik6IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uPFQ+IHtcbiAgICBsZXQgY29sbGVjdGlvblJlZjogQ29sbGVjdGlvblJlZmVyZW5jZTxUPjtcbiAgICBpZiAodHlwZW9mIHBhdGhPclJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbGxlY3Rpb25SZWYgPSB0aGlzLmZpcmVzdG9yZS5jb2xsZWN0aW9uKHBhdGhPclJlZikgYXMgZmlyZWJhc2UuZmlyZXN0b3JlLkNvbGxlY3Rpb25SZWZlcmVuY2U8VD47XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbGxlY3Rpb25SZWYgPSBwYXRoT3JSZWY7XG4gICAgfVxuICAgIGNvbnN0IHsgcmVmLCBxdWVyeSB9ID0gYXNzb2NpYXRlUXVlcnk8VD4oY29sbGVjdGlvblJlZiwgcXVlcnlGbik7XG4gICAgY29uc3QgcmVmSW5ab25lID0gdGhpcy5zY2hlZHVsZXJzLm5nWm9uZS5ydW4oKCkgPT4gcmVmKTtcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uPFQ+KHJlZkluWm9uZSwgcXVlcnksIHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJlZmVyZW5jZSB0byBhIEZpcmVzdG9yZSBDb2xsZWN0aW9uIEdyb3VwIGJhc2VkIG9uIGEgY29sbGVjdGlvbklkXG4gICAqIGFuZCBhbiBvcHRpb25hbCBxdWVyeSBmdW5jdGlvbiB0byBuYXJyb3cgdGhlIHJlc3VsdFxuICAgKiBzZXQuXG4gICAqL1xuICBjb2xsZWN0aW9uR3JvdXA8VD4oY29sbGVjdGlvbklkOiBzdHJpbmcsIHF1ZXJ5R3JvdXBGbj86IFF1ZXJ5R3JvdXBGbjxUPik6IEFuZ3VsYXJGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VD4ge1xuICAgIGNvbnN0IHF1ZXJ5Rm4gPSBxdWVyeUdyb3VwRm4gfHwgKHJlZiA9PiByZWYpO1xuICAgIGNvbnN0IGNvbGxlY3Rpb25Hcm91cDogUXVlcnk8VD4gPSB0aGlzLmZpcmVzdG9yZS5jb2xsZWN0aW9uR3JvdXAoY29sbGVjdGlvbklkKSBhcyBmaXJlYmFzZS5maXJlc3RvcmUuUXVlcnk8VD47XG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyRmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQ+KHF1ZXJ5Rm4oY29sbGVjdGlvbkdyb3VwKSwgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIGEgRmlyZXN0b3JlIERvY3VtZW50IGJhc2VkIG9uIGEgcGF0aCBvclxuICAgKiBEb2N1bWVudFJlZmVyZW5jZS4gTm90ZSB0aGF0IGRvY3VtZW50cyBhcmUgbm90IHF1ZXJ5YWJsZSBiZWNhdXNlIHRoZXkgYXJlXG4gICAqIHNpbXBseSBvYmplY3RzLiBIb3dldmVyLCBkb2N1bWVudHMgaGF2ZSBzdWItY29sbGVjdGlvbnMgdGhhdCByZXR1cm4gYVxuICAgKiBDb2xsZWN0aW9uIHJlZmVyZW5jZSBhbmQgY2FuIGJlIHF1ZXJpZWQuXG4gICAqL1xuICBkb2M8VD4ocGF0aDogc3RyaW5nKTogQW5ndWxhckZpcmVzdG9yZURvY3VtZW50PFQ+O1xuICBkb2M8VD4ocmVmOiBEb2N1bWVudFJlZmVyZW5jZSk6IEFuZ3VsYXJGaXJlc3RvcmVEb2N1bWVudDxUPjtcbiAgZG9jPFQ+KHBhdGhPclJlZjogc3RyaW5nIHwgRG9jdW1lbnRSZWZlcmVuY2U8VD4pOiBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQ8VD4ge1xuICAgIGxldCByZWY6IERvY3VtZW50UmVmZXJlbmNlPFQ+O1xuICAgIGlmICh0eXBlb2YgcGF0aE9yUmVmID09PSAnc3RyaW5nJykge1xuICAgICAgcmVmID0gdGhpcy5maXJlc3RvcmUuZG9jKHBhdGhPclJlZikgYXMgZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50UmVmZXJlbmNlPFQ+O1xuICAgIH0gZWxzZSB7XG4gICAgICByZWYgPSBwYXRoT3JSZWY7XG4gICAgfVxuICAgIGNvbnN0IHJlZkluWm9uZSA9IHRoaXMuc2NoZWR1bGVycy5uZ1pvbmUucnVuKCgpID0+IHJlZik7XG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyRmlyZXN0b3JlRG9jdW1lbnQ8VD4ocmVmSW5ab25lLCB0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZ2VuZXJhdGVkIEZpcmVzdG9yZSBEb2N1bWVudCBJZC5cbiAgICovXG4gIGNyZWF0ZUlkKCkge1xuICAgIHJldHVybiB0aGlzLmZpcmVzdG9yZS5jb2xsZWN0aW9uKCdfJykuZG9jKCkuaWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { VERSION } from '@angular/fire';
3
- import firebase from 'firebase/compat/app';
4
- import { AngularFirestore, ENABLE_PERSISTENCE, PERSISTENCE_SETTINGS } from './firestore';
5
- import * as i0 from "@angular/core";
6
- export class AngularFirestoreModule {
7
- constructor() {
8
- firebase.registerVersion('angularfire', VERSION.full, 'fst-compat');
9
- }
10
- /**
11
- * Attempt to enable persistent storage, if possible
12
- */
13
- static enablePersistence(persistenceSettings) {
14
- return {
15
- ngModule: AngularFirestoreModule,
16
- providers: [
17
- { provide: ENABLE_PERSISTENCE, useValue: true },
18
- { provide: PERSISTENCE_SETTINGS, useValue: persistenceSettings },
19
- ]
20
- };
21
- }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AngularFirestoreModule });
24
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFirestoreModule, providers: [AngularFirestore] });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFirestoreModule, decorators: [{
27
- type: NgModule,
28
- args: [{
29
- providers: [AngularFirestore]
30
- }]
31
- }], ctorParameters: () => [] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2ZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXpGLE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7UUFDRSxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBeUM7UUFDaEUsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQy9DLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTthQUNqRTtTQUNGLENBQUM7SUFDSixDQUFDO3VHQWZVLHNCQUFzQjt3R0FBdEIsc0JBQXNCO3dHQUF0QixzQkFBc0IsYUFGdEIsQ0FBRSxnQkFBZ0IsQ0FBRTs7MkZBRXBCLHNCQUFzQjtrQkFIbEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxnQkFBZ0IsQ0FBRTtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSwgRU5BQkxFX1BFUlNJU1RFTkNFLCBQRVJTSVNURU5DRV9TRVRUSU5HUyB9IGZyb20gJy4vZmlyZXN0b3JlJztcbmltcG9ydCB7IFBlcnNpc3RlbmNlU2V0dGluZ3MgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVzdG9yZSBdXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmaXJlYmFzZS5yZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnZnN0LWNvbXBhdCcpO1xuICB9XG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGVuYWJsZSBwZXJzaXN0ZW50IHN0b3JhZ2UsIGlmIHBvc3NpYmxlXG4gICAqL1xuICBzdGF0aWMgZW5hYmxlUGVyc2lzdGVuY2UocGVyc2lzdGVuY2VTZXR0aW5ncz86IFBlcnNpc3RlbmNlU2V0dGluZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBFTkFCTEVfUEVSU0lTVEVOQ0UsIHVzZVZhbHVlOiB0cnVlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUEVSU0lTVEVOQ0VfU0VUVElOR1MsIHVzZVZhbHVlOiBwZXJzaXN0ZW5jZVNldHRpbmdzIH0sXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgU2V0dGluZ3MgPSAgZmlyZWJhc2UuZmlyZXN0b3JlLlNldHRpbmdzO1xuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblJlZmVyZW5jZTxUID0gRG9jdW1lbnREYXRhPiA9IGZpcmViYXNlLmZpcmVzdG9yZS5Db2xsZWN0aW9uUmVmZXJlbmNlPFQ+O1xuZXhwb3J0IHR5cGUgRG9jdW1lbnRSZWZlcmVuY2U8VCA9IERvY3VtZW50RGF0YT4gPSBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRSZWZlcmVuY2U8VD47XG5leHBvcnQgdHlwZSBQZXJzaXN0ZW5jZVNldHRpbmdzID0gZmlyZWJhc2UuZmlyZXN0b3JlLlBlcnNpc3RlbmNlU2V0dGluZ3M7XG5leHBvcnQgdHlwZSBEb2N1bWVudENoYW5nZVR5cGUgPSBmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnRDaGFuZ2VUeXBlO1xuZXhwb3J0IHR5cGUgU25hcHNob3RPcHRpb25zID0gZmlyZWJhc2UuZmlyZXN0b3JlLlNuYXBzaG90T3B0aW9ucztcbmV4cG9ydCB0eXBlIEZpZWxkUGF0aCA9IGZpcmViYXNlLmZpcmVzdG9yZS5GaWVsZFBhdGg7XG5leHBvcnQgdHlwZSBRdWVyeTxUID0gRG9jdW1lbnREYXRhPiA9IGZpcmViYXNlLmZpcmVzdG9yZS5RdWVyeTxUPjtcblxuZXhwb3J0IHR5cGUgU2V0T3B0aW9ucyA9IGZpcmViYXNlLmZpcmVzdG9yZS5TZXRPcHRpb25zO1xuZXhwb3J0IHR5cGUgRG9jdW1lbnREYXRhID0gZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50RGF0YTtcblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFNuYXBzaG90RXhpc3RzPFQ+IGV4dGVuZHMgZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50U25hcHNob3Q8VD4ge1xuICByZWFkb25seSBleGlzdHM6IHRydWU7XG4gIGRhdGEob3B0aW9ucz86IFNuYXBzaG90T3B0aW9ucyk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRTbmFwc2hvdERvZXNOb3RFeGlzdCBleHRlbmRzIGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudFNuYXBzaG90IHtcbiAgcmVhZG9ubHkgZXhpc3RzOiBmYWxzZTtcbiAgZGF0YShvcHRpb25zPzogU25hcHNob3RPcHRpb25zKTogdW5kZWZpbmVkO1xuICBnZXQoZmllbGRQYXRoOiBzdHJpbmcgfCBGaWVsZFBhdGgsIG9wdGlvbnM/OiBTbmFwc2hvdE9wdGlvbnMpOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50U25hcHNob3Q8VD4gPSBEb2N1bWVudFNuYXBzaG90RXhpc3RzPFQ+IHwgRG9jdW1lbnRTbmFwc2hvdERvZXNOb3RFeGlzdDtcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeURvY3VtZW50U25hcHNob3Q8VD4gZXh0ZW5kcyBmaXJlYmFzZS5maXJlc3RvcmUuUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+IHtcbiAgZGF0YShvcHRpb25zPzogU25hcHNob3RPcHRpb25zKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVNuYXBzaG90PFQ+IGV4dGVuZHMgZmlyZWJhc2UuZmlyZXN0b3JlLlF1ZXJ5U25hcHNob3Q8VD4ge1xuICByZWFkb25seSBkb2NzOiBRdWVyeURvY3VtZW50U25hcHNob3Q8VD5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudENoYW5nZTxUPiBleHRlbmRzIGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudENoYW5nZTxUPiB7XG4gIHJlYWRvbmx5IGRvYzogUXVlcnlEb2N1bWVudFNuYXBzaG90PFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+IHtcbiAgdHlwZTogRG9jdW1lbnRDaGFuZ2VUeXBlO1xuICBwYXlsb2FkOiBEb2N1bWVudENoYW5nZTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb248VD4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHBheWxvYWQ6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmZXJlbmNlIHtcbiAgb25TbmFwc2hvdDogKG9wdGlvbnM6IGZpcmViYXNlLmZpcmVzdG9yZS5TbmFwc2hvdExpc3Rlbk9wdGlvbnMsIHN1YjogU3Vic2NyaWJlcjxhbnk+KSA9PiBhbnk7XG59XG5cbi8vIEEgY29udmllbmNlIHR5cGUgZm9yIG1ha2luZyBhIHF1ZXJ5LlxuLy8gRXhhbXBsZTogY29uc3QgcXVlcnkgPSAocmVmKSA9PiByZWYud2hlcmUoJ25hbWUnLCA9PSAnZGF2aWQnKTtcbmV4cG9ydCB0eXBlIFF1ZXJ5Rm48VCA9IERvY3VtZW50RGF0YT4gPSAocmVmOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFQ+KSA9PiBRdWVyeTxUPjtcblxuZXhwb3J0IHR5cGUgUXVlcnlHcm91cEZuPFQgPSBEb2N1bWVudERhdGE+ID0gKHF1ZXJ5OiBRdWVyeTxUPikgPT4gUXVlcnk8VD47XG5cbi8qKlxuICogQSBzdHJ1Y3R1cmUgdGhhdCBwcm92aWRlcyBhbiBhc3NvY2lhdGlvbiBiZXR3ZWVuIGEgcmVmZXJlbmNlXG4gKiBhbmQgYSBxdWVyeSBvbiB0aGF0IHJlZmVyZW5jZS4gTm90ZTogUGVyZm9ybWluZyBvcGVyYXRpb25zXG4gKiBvbiB0aGUgcmVmZXJlbmNlIGNhbiBsZWFkIHRvIGNvbmZ1c2luZyByZXN1bHRzIHdpdGggY29tcGxpY2F0ZWRcbiAqIHF1ZXJpZXMuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBjb25zdCBxdWVyeSA9IHJlZi53aGVyZSgndHlwZScsICc9PScsICdCb29rJykuXG4gKiAgICAgICAgICAgICAgICAgIC53aGVyZSgncHJpY2UnLCAnPicgMTguMDApXG4gKiAgICAgICAgICAgICAgICAgIC53aGVyZSgncHJpY2UnLCAnPCcgMTAwLjAwKVxuICogICAgICAgICAgICAgICAgICAud2hlcmUoJ2NhdGVnb3J5JywgJz09JywgJ0ZpY3Rpb24nKVxuICogICAgICAgICAgICAgICAgICAud2hlcmUoJ3B1Ymxpc2hlcicsICc9PScsICdCaWdQdWJsaXNoZXInKVxuICpcbiAqIC8vIFRoaXMgYWRkaXRpb24gd291bGQgbm90IGJlIGEgcmVzdWx0IG9mIHRoZSBxdWVyeSBhYm92ZVxuICogcmVmLmFkZCh7XG4gKiAgdHlwZTogJ01hZ2F6aW5lJyxcbiAqICBwcmljZTogNC45OSxcbiAqICBjYXRlZ29yeTogJ1Nwb3J0cycsXG4gKiAgcHVibGlzaGVyOiAnU3BvcnRzUHVibGlzaGVyJ1xuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzb2NpYXRlZFJlZmVyZW5jZTxUID0gRG9jdW1lbnREYXRhPiB7XG4gIHJlZjogQ29sbGVjdGlvblJlZmVyZW5jZTxUPjtcbiAgcXVlcnk6IFF1ZXJ5PFQ+O1xufVxuIl19
@@ -1,40 +0,0 @@
1
- import { Observable, asyncScheduler } from 'rxjs';
2
- import { map, pairwise, startWith } from 'rxjs/operators';
3
- function _fromRef(ref, scheduler = asyncScheduler) {
4
- return new Observable(subscriber => {
5
- let unsubscribe;
6
- if (scheduler != null) {
7
- scheduler.schedule(() => {
8
- unsubscribe = ref.onSnapshot({ includeMetadataChanges: true }, subscriber);
9
- });
10
- }
11
- else {
12
- unsubscribe = ref.onSnapshot({ includeMetadataChanges: true }, subscriber);
13
- }
14
- return () => {
15
- if (unsubscribe != null) {
16
- unsubscribe();
17
- }
18
- };
19
- });
20
- }
21
- export function fromRef(ref, scheduler) {
22
- return _fromRef(ref, scheduler);
23
- }
24
- export function fromDocRef(ref, scheduler) {
25
- return fromRef(ref, scheduler)
26
- .pipe(startWith(undefined), pairwise(), map((snapshots) => {
27
- const [priorPayload, payload] = snapshots;
28
- if (!payload.exists) {
29
- return { payload, type: 'removed' };
30
- }
31
- if (!priorPayload?.exists) {
32
- return { payload, type: 'added' };
33
- }
34
- return { payload, type: 'modified' };
35
- }));
36
- }
37
- export function fromCollectionRef(ref, scheduler) {
38
- return fromRef(ref, scheduler).pipe(map(payload => ({ payload, type: 'query' })));
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbVJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL29ic2VydmFibGUvZnJvbVJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFpQixjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUQsU0FBUyxRQUFRLENBQUksR0FBYyxFQUFFLFlBQTJCLGNBQWM7SUFDNUUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUNqQyxJQUFJLFdBQXVCLENBQUM7UUFDNUIsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RCLFdBQVcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDN0UsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLFdBQVcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFPLEdBQW9DLEVBQUUsU0FBeUI7SUFDM0YsT0FBTyxRQUFRLENBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFJLEdBQXlCLEVBQUUsU0FBeUI7SUFDaEYsT0FBTyxPQUFPLENBQXlCLEdBQUcsRUFBRSxTQUFTLENBQUM7U0FDbkQsSUFBSSxDQUNILFNBQVMsQ0FBaUMsU0FBUyxDQUFDLEVBQ3BELFFBQVEsRUFBRSxFQUNWLEdBQUcsQ0FBQyxDQUFDLFNBQXFELEVBQUUsRUFBRTtRQUM1RCxNQUFNLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxHQUFhLEVBQUUsU0FBeUI7SUFDM0UsT0FBTyxPQUFPLENBQXNCLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFNjaGVkdWxlckxpa2UsIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb24sIERvY3VtZW50UmVmZXJlbmNlLCBEb2N1bWVudFNuYXBzaG90LCBRdWVyeSwgUXVlcnlTbmFwc2hvdCwgUmVmZXJlbmNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmZ1bmN0aW9uIF9mcm9tUmVmPFI+KHJlZjogUmVmZXJlbmNlLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgPSBhc3luY1NjaGVkdWxlcik6IE9ic2VydmFibGU8Uj4ge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgbGV0IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkO1xuICAgIGlmIChzY2hlZHVsZXIgIT0gbnVsbCkge1xuICAgICAgc2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgICAgdW5zdWJzY3JpYmUgPSByZWYub25TbmFwc2hvdCh7IGluY2x1ZGVNZXRhZGF0YUNoYW5nZXM6IHRydWUgfSwgc3Vic2NyaWJlcik7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdW5zdWJzY3JpYmUgPSByZWYub25TbmFwc2hvdCh7IGluY2x1ZGVNZXRhZGF0YUNoYW5nZXM6IHRydWUgfSwgc3Vic2NyaWJlcik7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICh1bnN1YnNjcmliZSAhPSBudWxsKSB7XG4gICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tUmVmPFIsIFQ+KHJlZjogRG9jdW1lbnRSZWZlcmVuY2U8VD4gfCBRdWVyeTxUPiwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSkge1xuICByZXR1cm4gX2Zyb21SZWY8Uj4ocmVmLCBzY2hlZHVsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbURvY1JlZjxUPihyZWY6IERvY3VtZW50UmVmZXJlbmNlPFQ+LCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxBY3Rpb248RG9jdW1lbnRTbmFwc2hvdDxUPj4+IHtcbiAgcmV0dXJuIGZyb21SZWY8RG9jdW1lbnRTbmFwc2hvdDxUPiwgVD4ocmVmLCBzY2hlZHVsZXIpXG4gICAgLnBpcGUoXG4gICAgICBzdGFydFdpdGg8RG9jdW1lbnRTbmFwc2hvdDxUPiwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIG1hcCgoc25hcHNob3RzOiBbRG9jdW1lbnRTbmFwc2hvdDxUPiwgRG9jdW1lbnRTbmFwc2hvdDxUPl0pID0+IHtcbiAgICAgICAgY29uc3QgW3ByaW9yUGF5bG9hZCwgcGF5bG9hZF0gPSBzbmFwc2hvdHM7XG4gICAgICAgIGlmICghcGF5bG9hZC5leGlzdHMpIHtcbiAgICAgICAgICByZXR1cm4geyBwYXlsb2FkLCB0eXBlOiAncmVtb3ZlZCcgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXByaW9yUGF5bG9hZD8uZXhpc3RzKSB7XG4gICAgICAgICAgcmV0dXJuIHsgcGF5bG9hZCwgdHlwZTogJ2FkZGVkJyB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHBheWxvYWQsIHR5cGU6ICdtb2RpZmllZCcgfTtcbiAgICAgIH0pXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21Db2xsZWN0aW9uUmVmPFQ+KHJlZjogUXVlcnk8VD4sIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPEFjdGlvbjxRdWVyeVNuYXBzaG90PFQ+Pj4ge1xuICByZXR1cm4gZnJvbVJlZjxRdWVyeVNuYXBzaG90PFQ+LCBUPihyZWYsIHNjaGVkdWxlcikucGlwZShtYXAocGF5bG9hZCA9PiAoeyBwYXlsb2FkLCB0eXBlOiAncXVlcnknIH0pKSk7XG59XG4iXX0=
@@ -1,9 +0,0 @@
1
- export * from './firestore';
2
- export * from './firestore.module';
3
- export * from './collection/collection';
4
- export * from './collection-group/collection-group';
5
- export * from './document/document';
6
- export * from './collection/changes';
7
- export * from './observable/fromRef';
8
- export * from './interfaces';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpcmVzdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmVzdG9yZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uL2NvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uLWdyb3VwL2NvbGxlY3Rpb24tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudC9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb24vY2hhbmdlcyc7XG5leHBvcnQgKiBmcm9tICcuL29ic2VydmFibGUvZnJvbVJlZic7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWNvbXBhdC1mdW5jdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2Z1bmN0aW9ucy9hbmd1bGFyLWZpcmUtY29tcGF0LWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,8 +0,0 @@
1
- // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
- // Export a null object with the same keys as firebase/compat/functions, so Proxy can work with proxy-polyfill in Internet Explorer
3
- export const proxyPolyfillCompat = {
4
- useEmulator: null,
5
- useFunctionsEmulator: null,
6
- httpsCallable: null,
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZnVuY3Rpb25zL2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBQzlELG1JQUFtSTtBQUNuSSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxXQUFXLEVBQUUsSUFBSTtJQUNqQixvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGFBQWEsRUFBRSxJQUFJO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuLy8gRXhwb3J0IGEgbnVsbCBvYmplY3Qgd2l0aCB0aGUgc2FtZSBrZXlzIGFzIGZpcmViYXNlL2NvbXBhdC9mdW5jdGlvbnMsIHNvIFByb3h5IGNhbiB3b3JrIHdpdGggcHJveHktcG9seWZpbGwgaW4gSW50ZXJuZXQgRXhwbG9yZXJcbmV4cG9ydCBjb25zdCBwcm94eVBvbHlmaWxsQ29tcGF0ID0ge1xuICB1c2VFbXVsYXRvcjogbnVsbCxcbiAgdXNlRnVuY3Rpb25zRW11bGF0b3I6IG51bGwsXG4gIGh0dHBzQ2FsbGFibGU6IG51bGwsXG59O1xuIl19
@@ -1,69 +0,0 @@
1
- import { Inject, Injectable, InjectionToken, NgZone, Optional } from '@angular/core';
2
- import { ɵAngularFireSchedulers } from '@angular/fire';
3
- import { AppCheckInstances } from '@angular/fire/app-check';
4
- import { ɵapplyMixins, ɵlazySDKProxy } from '@angular/fire/compat';
5
- import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance, ɵfirebaseAppFactory } from '@angular/fire/compat';
6
- import { from, of } from 'rxjs';
7
- import { map, observeOn, shareReplay, switchMap } from 'rxjs/operators';
8
- import { proxyPolyfillCompat } from './base';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/fire";
11
- import * as i2 from "@angular/fire/app-check";
12
- export const ORIGIN = new InjectionToken('angularfire2.functions.origin');
13
- export const REGION = new InjectionToken('angularfire2.functions.region');
14
- export const USE_EMULATOR = new InjectionToken('angularfire2.functions.use-emulator');
15
- export class AngularFireFunctions {
16
- httpsCallable;
17
- constructor(options, name, zone, schedulers, region, origin, _useEmulator, // can't use the tuple here
18
- _appCheckInstances) {
19
- const useEmulator = _useEmulator;
20
- const functions = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap(() => import('firebase/compat/functions')), map(() => ɵfirebaseAppFactory(options, zone, name)), map(app => ɵcacheInstance(`${app.name}.functions.${region || origin}`, 'AngularFireFunctions', app.name, () => {
21
- let functions;
22
- if (region && origin) {
23
- throw new Error('REGION and ORIGIN can\'t be used at the same time.');
24
- }
25
- functions = app.functions(region || origin || undefined);
26
- if (useEmulator) {
27
- functions.useEmulator(...useEmulator);
28
- }
29
- return functions;
30
- }, [region, origin, useEmulator])), shareReplay({ bufferSize: 1, refCount: false }));
31
- this.httpsCallable = (name, options) => (data) => from(functions).pipe(observeOn(schedulers.insideAngular), switchMap(functions => functions.httpsCallable(name, options)(data)), map(r => r.data));
32
- return ɵlazySDKProxy(this, functions, zone);
33
- }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireFunctions, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: REGION, optional: true }, { token: ORIGIN, optional: true }, { token: USE_EMULATOR, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
35
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireFunctions, providedIn: 'any' });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireFunctions, decorators: [{
38
- type: Injectable,
39
- args: [{
40
- providedIn: 'any'
41
- }]
42
- }], ctorParameters: () => [{ type: undefined, decorators: [{
43
- type: Inject,
44
- args: [FIREBASE_OPTIONS]
45
- }] }, { type: undefined, decorators: [{
46
- type: Optional
47
- }, {
48
- type: Inject,
49
- args: [FIREBASE_APP_NAME]
50
- }] }, { type: i0.NgZone }, { type: i1.ɵAngularFireSchedulers }, { type: undefined, decorators: [{
51
- type: Optional
52
- }, {
53
- type: Inject,
54
- args: [REGION]
55
- }] }, { type: undefined, decorators: [{
56
- type: Optional
57
- }, {
58
- type: Inject,
59
- args: [ORIGIN]
60
- }] }, { type: undefined, decorators: [{
61
- type: Optional
62
- }, {
63
- type: Inject,
64
- args: [USE_EMULATOR]
65
- }] }, { type: i2.AppCheckInstances, decorators: [{
66
- type: Optional
67
- }] }] });
68
- ɵapplyMixins(AngularFireFunctions, [proxyPolyfillCompat]);
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9mdW5jdGlvbnMvZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQWlCLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJaEgsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUU3QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsK0JBQStCLENBQUMsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsK0JBQStCLENBQUMsQ0FBQztBQUdsRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDLENBQUM7QUFVNUcsTUFBTSxPQUFPLG9CQUFvQjtJQUVmLGFBQWEsQ0FBaUc7SUFFOUgsWUFDNEIsT0FBd0IsRUFDWCxJQUErQixFQUN0RSxJQUFZLEVBQ1osVUFBa0MsRUFDTixNQUFxQixFQUNyQixNQUFxQixFQUNmLFlBQWlCLEVBQUUsMkJBQTJCO0lBQ3BFLGtCQUFxQztRQUVqRCxNQUFNLFdBQVcsR0FBZ0MsWUFBWSxDQUFDO1FBRTlELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ2xDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxFQUNwRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUNuRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxjQUFjLE1BQU0sSUFBSSxNQUFNLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtZQUM1RyxJQUFJLFNBQXVDLENBQUM7WUFDNUMsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQztZQUN6RCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNsQyxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUNoRCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFtQixJQUFZLEVBQUUsT0FBOEIsRUFBRSxFQUFFLENBQ3RGLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUMvQixTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUNuQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNwRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBUyxDQUFDLENBQ3RCLENBQUM7UUFFSixPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTlDLENBQUM7dUdBM0NVLG9CQUFvQixrQkFLckIsZ0JBQWdCLGFBQ0osaUJBQWlCLHlGQUdqQixNQUFNLDZCQUNOLE1BQU0sNkJBQ04sWUFBWTsyR0FYdkIsb0JBQW9CLGNBRm5CLEtBQUs7OzJGQUVOLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEI7OzBCQU1JLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUdwQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7OzBCQUMvQixRQUFROztBQW1DYixZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQXBwQ2hlY2tJbnN0YW5jZXMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyDJtVByb21pc2VQcm94eSwgybVhcHBseU1peGlucywgybVsYXp5U0RLUHJveHkgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUywgybVjYWNoZUluc3RhbmNlLCDJtWZpcmViYXNlQXBwRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvY29tcGF0JztcbmltcG9ydCB7IEh0dHBzQ2FsbGFibGVPcHRpb25zIH0gZnJvbSAnQGZpcmViYXNlL2Z1bmN0aW9ucy10eXBlcyc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgb2JzZXJ2ZU9uLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcHJveHlQb2x5ZmlsbENvbXBhdCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBPUklHSU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy5vcmlnaW4nKTtcbmV4cG9ydCBjb25zdCBSRUdJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy5yZWdpb24nKTtcblxudHlwZSBVc2VFbXVsYXRvckFyZ3VtZW50cyA9IFBhcmFtZXRlcnM8ZmlyZWJhc2UuZnVuY3Rpb25zLkZ1bmN0aW9uc1sndXNlRW11bGF0b3InXT47XG5leHBvcnQgY29uc3QgVVNFX0VNVUxBVE9SID0gbmV3IEluamVjdGlvblRva2VuPFVzZUVtdWxhdG9yQXJndW1lbnRzPignYW5ndWxhcmZpcmUyLmZ1bmN0aW9ucy51c2UtZW11bGF0b3InKTtcblxuLy8gb3ZlcnJpZGUgaHR0cHNDYWxsYWJsZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIDUueFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckZpcmVGdW5jdGlvbnMgZXh0ZW5kcyBPbWl0PMm1UHJvbWlzZVByb3h5PGZpcmViYXNlLmZ1bmN0aW9ucy5GdW5jdGlvbnM+LCAnaHR0cHNDYWxsYWJsZSc+IHtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUZ1bmN0aW9ucyB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGh0dHBzQ2FsbGFibGU6IDxUID0gYW55LCBSID0gYW55PihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwc0NhbGxhYmxlT3B0aW9ucykgPT4gKGRhdGE6IFQpID0+IE9ic2VydmFibGU8Uj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGSVJFQkFTRV9PUFRJT05TKSBvcHRpb25zOiBGaXJlYmFzZU9wdGlvbnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGSVJFQkFTRV9BUFBfTkFNRSkgbmFtZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgc2NoZWR1bGVyczogybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChSRUdJT04pIHJlZ2lvbjogc3RyaW5nIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9SSUdJTikgb3JpZ2luOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFX0VNVUxBVE9SKSBfdXNlRW11bGF0b3I6IGFueSwgLy8gY2FuJ3QgdXNlIHRoZSB0dXBsZSBoZXJlXG4gICAgQE9wdGlvbmFsKCkgX2FwcENoZWNrSW5zdGFuY2VzOiBBcHBDaGVja0luc3RhbmNlcyxcbiAgKSB7XG4gICAgY29uc3QgdXNlRW11bGF0b3I6IFVzZUVtdWxhdG9yQXJndW1lbnRzIHwgbnVsbCA9IF91c2VFbXVsYXRvcjtcblxuICAgIGNvbnN0IGZ1bmN0aW9ucyA9IG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBpbXBvcnQoJ2ZpcmViYXNlL2NvbXBhdC9mdW5jdGlvbnMnKSksXG4gICAgICBtYXAoKCkgPT4gybVmaXJlYmFzZUFwcEZhY3Rvcnkob3B0aW9ucywgem9uZSwgbmFtZSkpLFxuICAgICAgbWFwKGFwcCA9PiDJtWNhY2hlSW5zdGFuY2UoYCR7YXBwLm5hbWV9LmZ1bmN0aW9ucy4ke3JlZ2lvbiB8fCBvcmlnaW59YCwgJ0FuZ3VsYXJGaXJlRnVuY3Rpb25zJywgYXBwLm5hbWUsICgpID0+IHtcbiAgICAgICAgbGV0IGZ1bmN0aW9uczogZmlyZWJhc2UuZnVuY3Rpb25zLkZ1bmN0aW9ucztcbiAgICAgICAgaWYgKHJlZ2lvbiAmJiBvcmlnaW4pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JFR0lPTiBhbmQgT1JJR0lOIGNhblxcJ3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLicpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9ucyA9IGFwcC5mdW5jdGlvbnMocmVnaW9uIHx8IG9yaWdpbiB8fCB1bmRlZmluZWQpO1xuICAgICAgICBpZiAodXNlRW11bGF0b3IpIHtcbiAgICAgICAgICBmdW5jdGlvbnMudXNlRW11bGF0b3IoLi4udXNlRW11bGF0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdW5jdGlvbnM7XG4gICAgICB9LCBbcmVnaW9uLCBvcmlnaW4sIHVzZUVtdWxhdG9yXSkpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSlcbiAgICApO1xuXG4gICAgdGhpcy5odHRwc0NhbGxhYmxlID0gPFQgPSBhbnksIFIgPSBhbnk+KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IEh0dHBzQ2FsbGFibGVPcHRpb25zKSA9PlxuICAgICAgKGRhdGE6IFQpID0+IGZyb20oZnVuY3Rpb25zKS5waXBlKFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKSxcbiAgICAgICAgc3dpdGNoTWFwKGZ1bmN0aW9ucyA9PiBmdW5jdGlvbnMuaHR0cHNDYWxsYWJsZShuYW1lLCBvcHRpb25zKShkYXRhKSksXG4gICAgICAgIG1hcChyID0+IHIuZGF0YSBhcyBSKVxuICAgICAgKTtcblxuICAgIHJldHVybiDJtWxhenlTREtQcm94eSh0aGlzLCBmdW5jdGlvbnMsIHpvbmUpO1xuXG4gIH1cblxufVxuXG7JtWFwcGx5TWl4aW5zKEFuZ3VsYXJGaXJlRnVuY3Rpb25zLCBbcHJveHlQb2x5ZmlsbENvbXBhdF0pO1xuIl19
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { VERSION } from '@angular/fire';
3
- import firebase from 'firebase/compat/app';
4
- import { AngularFireFunctions } from './functions';
5
- import * as i0 from "@angular/core";
6
- export class AngularFireFunctionsModule {
7
- constructor() {
8
- firebase.registerVersion('angularfire', VERSION.full, 'fn-compat');
9
- }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireFunctionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AngularFireFunctionsModule });
12
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireFunctionsModule, providers: [AngularFireFunctions] });
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireFunctionsModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- providers: [AngularFireFunctions]
18
- }]
19
- }], ctorParameters: () => [] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZnVuY3Rpb25zL2Z1bmN0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQztRQUNFLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsQ0FBQzt1R0FIVSwwQkFBMEI7d0dBQTFCLDBCQUEwQjt3R0FBMUIsMEJBQTBCLGFBRjFCLENBQUUsb0JBQW9CLENBQUU7OzJGQUV4QiwwQkFBMEI7a0JBSHRDLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUUsb0JBQW9CLENBQUU7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlRnVuY3Rpb25zIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVGdW5jdGlvbnMgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUZ1bmN0aW9uc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdmbi1jb21wYXQnKTtcbiAgfVxufVxuIl19
@@ -1,4 +0,0 @@
1
- import 'firebase/compat/functions'; // removed in build process when not UMD
2
- export * from './functions';
3
- export * from './functions.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZnVuY3Rpb25zL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTywyQkFBMkIsQ0FBQyxDQUFDLHdDQUF3QztBQUU1RSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgJ2ZpcmViYXNlL2NvbXBhdC9mdW5jdGlvbnMnOyAvLyByZW1vdmVkIGluIGJ1aWxkIHByb2Nlc3Mgd2hlbiBub3QgVU1EXG5cbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb25zLm1vZHVsZSc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWNvbXBhdC1tZXNzYWdpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L21lc3NhZ2luZy9hbmd1bGFyLWZpcmUtY29tcGF0LW1lc3NhZ2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,9 +0,0 @@
1
- // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
- // Export a null object with the same keys as firebase/compat/messaging, so Proxy can work with proxy-polyfill in Internet Explorer
3
- export const proxyPolyfillCompat = {
4
- deleteToken: null,
5
- getToken: null,
6
- onMessage: null,
7
- onBackgroundMessage: null,
8
- };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvbWVzc2FnaW5nL2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBQzlELG1JQUFtSTtBQUNuSSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxXQUFXLEVBQUUsSUFBSTtJQUNqQixRQUFRLEVBQUUsSUFBSTtJQUNkLFNBQVMsRUFBRSxJQUFJO0lBQ2YsbUJBQW1CLEVBQUUsSUFBSTtDQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbi8vIEV4cG9ydCBhIG51bGwgb2JqZWN0IHdpdGggdGhlIHNhbWUga2V5cyBhcyBmaXJlYmFzZS9jb21wYXQvbWVzc2FnaW5nLCBzbyBQcm94eSBjYW4gd29yayB3aXRoIHByb3h5LXBvbHlmaWxsIGluIEludGVybmV0IEV4cGxvcmVyXG5leHBvcnQgY29uc3QgcHJveHlQb2x5ZmlsbENvbXBhdCA9IHtcbiAgZGVsZXRlVG9rZW46IG51bGwsXG4gIGdldFRva2VuOiBudWxsLFxuICBvbk1lc3NhZ2U6IG51bGwsXG4gIG9uQmFja2dyb3VuZE1lc3NhZ2U6IG51bGwsXG59O1xuIl19