@angular/fire 7.1.0-canary.dd414b2 → 7.1.0-canary.f0b932a

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 (148) hide show
  1. package/analytics/analytics.module.d.ts +10 -5
  2. package/analytics/public_api.d.ts +2 -0
  3. package/analytics/screen-tracking.service.d.ts +42 -0
  4. package/analytics/user-tracking.service.d.ts +13 -0
  5. package/app/app.module.d.ts +3 -3
  6. package/app-check/app-check.module.d.ts +3 -3
  7. package/auth/auth.module.d.ts +3 -3
  8. package/bundles/angular-fire-analytics.umd.js +563 -35
  9. package/bundles/angular-fire-analytics.umd.js.map +1 -1
  10. package/bundles/angular-fire-app-check.umd.js +336 -18
  11. package/bundles/angular-fire-app-check.umd.js.map +1 -1
  12. package/bundles/angular-fire-app.umd.js +323 -3
  13. package/bundles/angular-fire-app.umd.js.map +1 -1
  14. package/bundles/angular-fire-auth.umd.js +324 -9
  15. package/bundles/angular-fire-auth.umd.js.map +1 -1
  16. package/bundles/angular-fire-compat-analytics.umd.js +16 -112
  17. package/bundles/angular-fire-compat-analytics.umd.js.map +1 -1
  18. package/bundles/angular-fire-compat-auth.umd.js +1 -1
  19. package/bundles/angular-fire-compat-auth.umd.js.map +1 -1
  20. package/bundles/angular-fire-compat-database.umd.js +1 -1
  21. package/bundles/angular-fire-compat-database.umd.js.map +1 -1
  22. package/bundles/angular-fire-compat-firestore.umd.js +1 -1
  23. package/bundles/angular-fire-compat-firestore.umd.js.map +1 -1
  24. package/bundles/angular-fire-compat-functions.umd.js +1 -1
  25. package/bundles/angular-fire-compat-functions.umd.js.map +1 -1
  26. package/bundles/angular-fire-compat-messaging.umd.js +5 -5
  27. package/bundles/angular-fire-compat-messaging.umd.js.map +1 -1
  28. package/bundles/angular-fire-compat-performance.umd.js +5 -5
  29. package/bundles/angular-fire-compat-performance.umd.js.map +1 -1
  30. package/bundles/angular-fire-compat-remote-config.umd.js +5 -5
  31. package/bundles/angular-fire-compat-remote-config.umd.js.map +1 -1
  32. package/bundles/angular-fire-compat-storage.umd.js +1 -1
  33. package/bundles/angular-fire-compat-storage.umd.js.map +1 -1
  34. package/bundles/angular-fire-compat.umd.js +38 -2
  35. package/bundles/angular-fire-compat.umd.js.map +1 -1
  36. package/bundles/angular-fire-database.umd.js +323 -6
  37. package/bundles/angular-fire-database.umd.js.map +1 -1
  38. package/bundles/angular-fire-firestore-lite.umd.js +4 -3
  39. package/bundles/angular-fire-firestore-lite.umd.js.map +1 -1
  40. package/bundles/angular-fire-firestore.umd.js +323 -8
  41. package/bundles/angular-fire-firestore.umd.js.map +1 -1
  42. package/bundles/angular-fire-functions.umd.js +323 -6
  43. package/bundles/angular-fire-functions.umd.js.map +1 -1
  44. package/bundles/angular-fire-messaging.umd.js +330 -9
  45. package/bundles/angular-fire-messaging.umd.js.map +1 -1
  46. package/bundles/angular-fire-performance.umd.js +339 -11
  47. package/bundles/angular-fire-performance.umd.js.map +1 -1
  48. package/bundles/angular-fire-remote-config.umd.js +353 -11
  49. package/bundles/angular-fire-remote-config.umd.js.map +1 -1
  50. package/bundles/angular-fire-storage.umd.js +324 -7
  51. package/bundles/angular-fire-storage.umd.js.map +1 -1
  52. package/bundles/angular-fire.umd.js +2 -371
  53. package/bundles/angular-fire.umd.js.map +1 -1
  54. package/compat/analytics/screen-tracking.service.d.ts +2 -2
  55. package/compat/cache.d.ts +1 -0
  56. package/compat/public_api.d.ts +1 -0
  57. package/core.d.ts +1 -3
  58. package/database/database.module.d.ts +3 -3
  59. package/docs/version-7-upgrade.md +1 -1
  60. package/esm2015/analytics/analytics.module.js +41 -20
  61. package/esm2015/analytics/public_api.js +3 -1
  62. package/esm2015/analytics/screen-tracking.service.js +147 -0
  63. package/esm2015/analytics/user-tracking.service.js +42 -0
  64. package/esm2015/app/app.module.js +12 -7
  65. package/esm2015/app-check/app-check.js +1 -2
  66. package/esm2015/app-check/app-check.module.js +19 -14
  67. package/esm2015/auth/auth.js +1 -2
  68. package/esm2015/auth/auth.module.js +10 -9
  69. package/esm2015/compat/analytics/analytics.js +2 -3
  70. package/esm2015/compat/analytics/screen-tracking.service.js +11 -100
  71. package/esm2015/compat/auth/auth.js +2 -3
  72. package/esm2015/compat/cache.js +32 -0
  73. package/esm2015/compat/database/database.js +2 -3
  74. package/esm2015/compat/firestore/firestore.js +2 -3
  75. package/esm2015/compat/functions/functions.js +2 -3
  76. package/esm2015/compat/messaging/messaging.js +3 -3
  77. package/esm2015/compat/performance/performance.js +2 -3
  78. package/esm2015/compat/public_api.js +2 -1
  79. package/esm2015/compat/remote-config/remote-config.js +4 -5
  80. package/esm2015/compat/storage/storage.js +3 -3
  81. package/esm2015/core.js +4 -55
  82. package/esm2015/database/database.module.js +9 -7
  83. package/esm2015/firestore/firestore.module.js +9 -9
  84. package/esm2015/firestore/lite/lite.module.js +7 -6
  85. package/esm2015/functions/functions.module.js +9 -7
  86. package/esm2015/messaging/messaging.module.js +16 -10
  87. package/esm2015/performance/performance.module.js +22 -8
  88. package/esm2015/remote-config/firebase.js +3 -2
  89. package/esm2015/remote-config/remote-config.module.js +34 -8
  90. package/esm2015/storage/storage.module.js +10 -8
  91. package/fesm2015/angular-fire-analytics.js +219 -33
  92. package/fesm2015/angular-fire-analytics.js.map +1 -1
  93. package/fesm2015/angular-fire-app-check.js +18 -14
  94. package/fesm2015/angular-fire-app-check.js.map +1 -1
  95. package/fesm2015/angular-fire-app.js +11 -6
  96. package/fesm2015/angular-fire-app.js.map +1 -1
  97. package/fesm2015/angular-fire-auth.js +9 -9
  98. package/fesm2015/angular-fire-auth.js.map +1 -1
  99. package/fesm2015/angular-fire-compat-analytics.js +10 -98
  100. package/fesm2015/angular-fire-compat-analytics.js.map +1 -1
  101. package/fesm2015/angular-fire-compat-auth.js +2 -2
  102. package/fesm2015/angular-fire-compat-auth.js.map +1 -1
  103. package/fesm2015/angular-fire-compat-database.js +2 -2
  104. package/fesm2015/angular-fire-compat-database.js.map +1 -1
  105. package/fesm2015/angular-fire-compat-firestore.js +2 -2
  106. package/fesm2015/angular-fire-compat-firestore.js.map +1 -1
  107. package/fesm2015/angular-fire-compat-functions.js +2 -2
  108. package/fesm2015/angular-fire-compat-functions.js.map +1 -1
  109. package/fesm2015/angular-fire-compat-messaging.js +2 -2
  110. package/fesm2015/angular-fire-compat-messaging.js.map +1 -1
  111. package/fesm2015/angular-fire-compat-performance.js +2 -2
  112. package/fesm2015/angular-fire-compat-performance.js.map +1 -1
  113. package/fesm2015/angular-fire-compat-remote-config.js +4 -4
  114. package/fesm2015/angular-fire-compat-remote-config.js.map +1 -1
  115. package/fesm2015/angular-fire-compat-storage.js +2 -2
  116. package/fesm2015/angular-fire-compat-storage.js.map +1 -1
  117. package/fesm2015/angular-fire-compat.js +34 -3
  118. package/fesm2015/angular-fire-compat.js.map +1 -1
  119. package/fesm2015/angular-fire-database.js +8 -6
  120. package/fesm2015/angular-fire-database.js.map +1 -1
  121. package/fesm2015/angular-fire-firestore-lite.js +6 -5
  122. package/fesm2015/angular-fire-firestore-lite.js.map +1 -1
  123. package/fesm2015/angular-fire-firestore.js +8 -8
  124. package/fesm2015/angular-fire-firestore.js.map +1 -1
  125. package/fesm2015/angular-fire-functions.js +8 -6
  126. package/fesm2015/angular-fire-functions.js.map +1 -1
  127. package/fesm2015/angular-fire-messaging.js +15 -9
  128. package/fesm2015/angular-fire-messaging.js.map +1 -1
  129. package/fesm2015/angular-fire-performance.js +21 -7
  130. package/fesm2015/angular-fire-performance.js.map +1 -1
  131. package/fesm2015/angular-fire-remote-config.js +36 -10
  132. package/fesm2015/angular-fire-remote-config.js.map +1 -1
  133. package/fesm2015/angular-fire-storage.js +9 -7
  134. package/fesm2015/angular-fire-storage.js.map +1 -1
  135. package/fesm2015/angular-fire.js +4 -55
  136. package/fesm2015/angular-fire.js.map +1 -1
  137. package/firestore/firestore.module.d.ts +3 -3
  138. package/firestore/lite/lite.module.d.ts +2 -2
  139. package/functions/functions.module.d.ts +3 -3
  140. package/messaging/messaging.module.d.ts +3 -3
  141. package/package.json +8 -2
  142. package/performance/performance.module.d.ts +4 -4
  143. package/remote-config/firebase.d.ts +2 -1
  144. package/remote-config/remote-config.module.d.ts +4 -4
  145. package/schematics/firebaseTools.js +2 -2
  146. package/schematics/utils.js +1 -1
  147. package/schematics/versions.json +1 -1
  148. package/storage/storage.module.d.ts +3 -3
@@ -1,8 +1,8 @@
1
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵmemoizeInstance, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
2
2
  import { timer, from } from 'rxjs';
3
3
  import { concatMap, distinct } from 'rxjs/operators';
4
4
  import * as i0 from '@angular/core';
5
- import { InjectionToken, Optional, NgModule, NgZone } from '@angular/core';
5
+ import { InjectionToken, Optional, NgModule, NgZone, Injector } from '@angular/core';
6
6
  import { AuthInstances } from '@angular/fire/auth';
7
7
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
8
8
  import { registerVersion } from 'firebase/app';
@@ -26,11 +26,11 @@ const firestoreInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInsta
26
26
  const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken('angularfire2.firestore-lite-instances');
27
27
  function defaultFirestoreInstanceFactory(provided, defaultApp) {
28
28
  const defaultFirestore = ɵgetDefaultInstanceOf(FIRESTORE_PROVIDER_NAME, provided, defaultApp);
29
- return new Firestore(defaultFirestore);
29
+ return defaultFirestore && new Firestore(defaultFirestore);
30
30
  }
31
31
  function firestoreInstanceFactory(fn) {
32
- return (zone) => {
33
- const firestore = ɵmemoizeInstance(fn, zone);
32
+ return (zone, injector) => {
33
+ const firestore = zone.runOutsideAngular(() => fn(injector));
34
34
  return new Firestore(firestore);
35
35
  };
36
36
  }
@@ -77,6 +77,7 @@ function provideFirestore(fn) {
77
77
  multi: true,
78
78
  deps: [
79
79
  NgZone,
80
+ Injector,
80
81
  ɵAngularFireSchedulers,
81
82
  FirebaseApps,
82
83
  // Firestore+Auth work better if Auth is loaded first
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-firestore-lite.js","sources":["../../../src/firestore/lite/lite.ts","../../../src/firestore/lite/lite.module.ts","../../../src/firestore/lite/rxfire.ts","../../../src/firestore/lite/firebase.ts","../../../src/firestore/lite/angular-fire-firestore-lite.ts"],"sourcesContent":["import { Firestore as FirebaseFirestore } from 'firebase/firestore/lite';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Firestore extends FirebaseFirestore {}\n\nexport class Firestore {\n constructor(firestore: FirebaseFirestore) {\n return firestore;\n }\n}\n\nexport const FIRESTORE_PROVIDER_NAME = 'firestore/lite';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirestoreInstances extends Array<FirebaseFirestore> {}\n\nexport class FirestoreInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME);\n }\n}\n\nexport const firestoreInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders } from '@angular/core';\nimport { Firestore as FirebaseFirestore } from 'firebase/firestore/lite';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { ɵmemoizeInstance, ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Firestore, FirestoreInstances, FIRESTORE_PROVIDER_NAME } from './lite';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nexport const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken<Firestore[]>('angularfire2.firestore-lite-instances');\n\nexport function defaultFirestoreInstanceFactory(provided: FirebaseFirestore[]|undefined, defaultApp: FirebaseApp) {\n const defaultFirestore = ɵgetDefaultInstanceOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME, provided, defaultApp);\n return new Firestore(defaultFirestore);\n}\n\nexport function firestoreInstanceFactory(fn: () => FirebaseFirestore) {\n return (zone: NgZone) => {\n const firestore = ɵmemoizeInstance<FirebaseFirestore>(fn, zone);\n return new Firestore(firestore);\n };\n}\n\nconst FIRESTORE_INSTANCES_PROVIDER = {\n provide: FirestoreInstances,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FIRESTORE_INSTANCE_PROVIDER = {\n provide: Firestore,\n useFactory: defaultFirestoreInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FIRESTORE_INSTANCE_PROVIDER,\n FIRESTORE_INSTANCES_PROVIDER,\n ]\n})\nexport class FirestoreModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'lite');\n }\n}\n\nexport function provideFirestore(fn: () => FirebaseFirestore): ModuleWithProviders<FirestoreModule> {\n return {\n ngModule: FirestoreModule,\n providers: [{\n provide: PROVIDED_FIRESTORE_INSTANCES,\n useFactory: firestoreInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Firestore+Auth work better if Auth is loaded first\n [new Optional(), AuthInstances ],\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n collection as _collection,\n collectionData as _collectionData,\n doc as _doc,\n docData as _docData,\n snapToData as _snapToData,\n fromRef as _fromRef\n} from 'rxfire/firestore/lite';\n\nexport const collectionSnapshots = ɵzoneWrap(_collection, true);\nexport const collectionData = ɵzoneWrap(_collectionData, true);\nexport const docSnapshots = ɵzoneWrap(_doc, true);\nexport const docData = ɵzoneWrap(_docData, true);\nexport const snapToData = ɵzoneWrap(_snapToData, true);\nexport const fromRef = ɵzoneWrap(_fromRef, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/firestore/lite';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n addDoc as _addDoc,\n arrayRemove as _arrayRemove,\n arrayUnion as _arrayUnion,\n collection as _collection,\n collectionGroup as _collectionGroup,\n connectFirestoreEmulator as _connectFirestoreEmulator,\n deleteDoc as _deleteDoc,\n deleteField as _deleteField,\n doc as _doc,\n documentId as _documentId,\n endAt as _endAt,\n endBefore as _endBefore,\n getDoc as _getDoc,\n getDocs as _getDocs,\n getFirestore as _getFirestore,\n increment as _increment,\n initializeFirestore as _initializeFirestore,\n limit as _limit,\n limitToLast as _limitToLast,\n orderBy as _orderBy,\n query as _query,\n queryEqual as _queryEqual,\n refEqual as _refEqual,\n runTransaction as _runTransaction,\n serverTimestamp as _serverTimestamp,\n setDoc as _setDoc,\n setLogLevel as _setLogLevel,\n snapshotEqual as _snapshotEqual,\n startAfter as _startAfter,\n startAt as _startAt,\n terminate as _terminate,\n updateDoc as _updateDoc,\n where as _where,\n writeBatch as _writeBatch\n} from 'firebase/firestore/lite';\n\nexport const addDoc = ɵzoneWrap(_addDoc, true);\nexport const arrayRemove = ɵzoneWrap(_arrayRemove, true);\nexport const arrayUnion = ɵzoneWrap(_arrayUnion, true);\nexport const collection = ɵzoneWrap(_collection, true);\nexport const collectionGroup = ɵzoneWrap(_collectionGroup, true);\nexport const connectFirestoreEmulator = ɵzoneWrap(_connectFirestoreEmulator, true);\nexport const deleteDoc = ɵzoneWrap(_deleteDoc, true);\nexport const deleteField = ɵzoneWrap(_deleteField, true);\nexport const doc = ɵzoneWrap(_doc, true);\nexport const documentId = ɵzoneWrap(_documentId, true);\nexport const endAt = ɵzoneWrap(_endAt, true);\nexport const endBefore = ɵzoneWrap(_endBefore, true);\nexport const getDoc = ɵzoneWrap(_getDoc, true);\nexport const getDocs = ɵzoneWrap(_getDocs, true);\nexport const getFirestore = ɵzoneWrap(_getFirestore, true);\nexport const increment = ɵzoneWrap(_increment, true);\nexport const initializeFirestore = ɵzoneWrap(_initializeFirestore, true);\nexport const limit = ɵzoneWrap(_limit, true);\nexport const limitToLast = ɵzoneWrap(_limitToLast, true);\nexport const orderBy = ɵzoneWrap(_orderBy, true);\nexport const query = ɵzoneWrap(_query, true);\nexport const queryEqual = ɵzoneWrap(_queryEqual, true);\nexport const refEqual = ɵzoneWrap(_refEqual, true);\nexport const runTransaction = ɵzoneWrap(_runTransaction, true);\nexport const serverTimestamp = ɵzoneWrap(_serverTimestamp, true);\nexport const setDoc = ɵzoneWrap(_setDoc, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\nexport const snapshotEqual = ɵzoneWrap(_snapshotEqual, true);\nexport const startAfter = ɵzoneWrap(_startAfter, true);\nexport const startAt = ɵzoneWrap(_startAt, true);\nexport const terminate = ɵzoneWrap(_terminate, true);\nexport const updateDoc = ɵzoneWrap(_updateDoc, true);\nexport const where = ɵzoneWrap(_where, true);\nexport const writeBatch = ɵzoneWrap(_writeBatch, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_collection","_collectionData","_doc","_docData","_snapToData","_fromRef","_addDoc","_arrayRemove","_arrayUnion","_collectionGroup","_connectFirestoreEmulator","_deleteDoc","_deleteField","_documentId","_endAt","_endBefore","_getDoc","_getDocs","_getFirestore","_increment","_initializeFirestore","_limit","_limitToLast","_orderBy","_query","_queryEqual","_refEqual","_runTransaction","_serverTimestamp","_setDoc","_setLogLevel","_snapshotEqual","_startAfter","_startAt","_terminate","_updateDoc","_where","_writeBatch"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-firestore-lite.js","sources":["../../../src/firestore/lite/lite.ts","../../../src/firestore/lite/lite.module.ts","../../../src/firestore/lite/rxfire.ts","../../../src/firestore/lite/firebase.ts","../../../src/firestore/lite/angular-fire-firestore-lite.ts"],"sourcesContent":["import { Firestore as FirebaseFirestore } from 'firebase/firestore/lite';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Firestore extends FirebaseFirestore {}\n\nexport class Firestore {\n constructor(firestore: FirebaseFirestore) {\n return firestore;\n }\n}\n\nexport const FIRESTORE_PROVIDER_NAME = 'firestore/lite';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirestoreInstances extends Array<FirebaseFirestore> {}\n\nexport class FirestoreInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME);\n }\n}\n\nexport const firestoreInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { Firestore as FirebaseFirestore } from 'firebase/firestore/lite';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Firestore, FirestoreInstances, FIRESTORE_PROVIDER_NAME } from './lite';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nexport const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken<Firestore[]>('angularfire2.firestore-lite-instances');\n\nexport function defaultFirestoreInstanceFactory(provided: FirebaseFirestore[]|undefined, defaultApp: FirebaseApp) {\n const defaultFirestore = ɵgetDefaultInstanceOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME, provided, defaultApp);\n return defaultFirestore && new Firestore(defaultFirestore);\n}\n\nexport function firestoreInstanceFactory(fn: (injector: Injector) => FirebaseFirestore) {\n return (zone: NgZone, injector: Injector) => {\n const firestore = zone.runOutsideAngular(() => fn(injector));\n return new Firestore(firestore);\n };\n}\n\nconst FIRESTORE_INSTANCES_PROVIDER = {\n provide: FirestoreInstances,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FIRESTORE_INSTANCE_PROVIDER = {\n provide: Firestore,\n useFactory: defaultFirestoreInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FIRESTORE_INSTANCE_PROVIDER,\n FIRESTORE_INSTANCES_PROVIDER,\n ]\n})\nexport class FirestoreModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'lite');\n }\n}\n\nexport function provideFirestore(fn: () => FirebaseFirestore): ModuleWithProviders<FirestoreModule> {\n return {\n ngModule: FirestoreModule,\n providers: [{\n provide: PROVIDED_FIRESTORE_INSTANCES,\n useFactory: firestoreInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Firestore+Auth work better if Auth is loaded first\n [new Optional(), AuthInstances ],\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n collection as _collection,\n collectionData as _collectionData,\n doc as _doc,\n docData as _docData,\n snapToData as _snapToData,\n fromRef as _fromRef\n} from 'rxfire/firestore/lite';\n\nexport const collectionSnapshots = ɵzoneWrap(_collection, true);\nexport const collectionData = ɵzoneWrap(_collectionData, true);\nexport const docSnapshots = ɵzoneWrap(_doc, true);\nexport const docData = ɵzoneWrap(_docData, true);\nexport const snapToData = ɵzoneWrap(_snapToData, true);\nexport const fromRef = ɵzoneWrap(_fromRef, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/firestore/lite';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n addDoc as _addDoc,\n arrayRemove as _arrayRemove,\n arrayUnion as _arrayUnion,\n collection as _collection,\n collectionGroup as _collectionGroup,\n connectFirestoreEmulator as _connectFirestoreEmulator,\n deleteDoc as _deleteDoc,\n deleteField as _deleteField,\n doc as _doc,\n documentId as _documentId,\n endAt as _endAt,\n endBefore as _endBefore,\n getDoc as _getDoc,\n getDocs as _getDocs,\n getFirestore as _getFirestore,\n increment as _increment,\n initializeFirestore as _initializeFirestore,\n limit as _limit,\n limitToLast as _limitToLast,\n orderBy as _orderBy,\n query as _query,\n queryEqual as _queryEqual,\n refEqual as _refEqual,\n runTransaction as _runTransaction,\n serverTimestamp as _serverTimestamp,\n setDoc as _setDoc,\n setLogLevel as _setLogLevel,\n snapshotEqual as _snapshotEqual,\n startAfter as _startAfter,\n startAt as _startAt,\n terminate as _terminate,\n updateDoc as _updateDoc,\n where as _where,\n writeBatch as _writeBatch\n} from 'firebase/firestore/lite';\n\nexport const addDoc = ɵzoneWrap(_addDoc, true);\nexport const arrayRemove = ɵzoneWrap(_arrayRemove, true);\nexport const arrayUnion = ɵzoneWrap(_arrayUnion, true);\nexport const collection = ɵzoneWrap(_collection, true);\nexport const collectionGroup = ɵzoneWrap(_collectionGroup, true);\nexport const connectFirestoreEmulator = ɵzoneWrap(_connectFirestoreEmulator, true);\nexport const deleteDoc = ɵzoneWrap(_deleteDoc, true);\nexport const deleteField = ɵzoneWrap(_deleteField, true);\nexport const doc = ɵzoneWrap(_doc, true);\nexport const documentId = ɵzoneWrap(_documentId, true);\nexport const endAt = ɵzoneWrap(_endAt, true);\nexport const endBefore = ɵzoneWrap(_endBefore, true);\nexport const getDoc = ɵzoneWrap(_getDoc, true);\nexport const getDocs = ɵzoneWrap(_getDocs, true);\nexport const getFirestore = ɵzoneWrap(_getFirestore, true);\nexport const increment = ɵzoneWrap(_increment, true);\nexport const initializeFirestore = ɵzoneWrap(_initializeFirestore, true);\nexport const limit = ɵzoneWrap(_limit, true);\nexport const limitToLast = ɵzoneWrap(_limitToLast, true);\nexport const orderBy = ɵzoneWrap(_orderBy, true);\nexport const query = ɵzoneWrap(_query, true);\nexport const queryEqual = ɵzoneWrap(_queryEqual, true);\nexport const refEqual = ɵzoneWrap(_refEqual, true);\nexport const runTransaction = ɵzoneWrap(_runTransaction, true);\nexport const serverTimestamp = ɵzoneWrap(_serverTimestamp, true);\nexport const setDoc = ɵzoneWrap(_setDoc, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\nexport const snapshotEqual = ɵzoneWrap(_snapshotEqual, true);\nexport const startAfter = ɵzoneWrap(_startAfter, true);\nexport const startAt = ɵzoneWrap(_startAt, true);\nexport const terminate = ɵzoneWrap(_terminate, true);\nexport const updateDoc = ɵzoneWrap(_updateDoc, true);\nexport const where = ɵzoneWrap(_where, true);\nexport const writeBatch = ɵzoneWrap(_writeBatch, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_collection","_collectionData","_doc","_docData","_snapToData","_fromRef","_addDoc","_arrayRemove","_arrayUnion","_collectionGroup","_connectFirestoreEmulator","_deleteDoc","_deleteField","_documentId","_endAt","_endBefore","_getDoc","_getDocs","_getFirestore","_increment","_initializeFirestore","_limit","_limitToLast","_orderBy","_query","_queryEqual","_refEqual","_runTransaction","_serverTimestamp","_setDoc","_setLogLevel","_snapshotEqual","_startAfter","_startAt","_terminate","_updateDoc","_where","_writeBatch"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵmemoizeInstance, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
2
2
  import { timer, from } from 'rxjs';
3
3
  import { concatMap, distinct } from 'rxjs/operators';
4
4
  import * as i0 from '@angular/core';
5
- import { InjectionToken, Optional, NgModule, NgZone } from '@angular/core';
5
+ import { InjectionToken, Optional, NgModule, NgZone, Injector } from '@angular/core';
6
6
  import { AuthInstances } from '@angular/fire/auth';
7
7
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
8
8
  import { registerVersion } from 'firebase/app';
@@ -27,13 +27,11 @@ const firestoreInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInsta
27
27
  const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken('angularfire2.firestore-instances');
28
28
  function defaultFirestoreInstanceFactory(provided, defaultApp) {
29
29
  const defaultFirestore = ɵgetDefaultInstanceOf(FIRESTORE_PROVIDER_NAME, provided, defaultApp);
30
- // TODO how do I throw if it's undefined, unless @Optional(), is there an Angular NULL_INJECTOR token
31
- // or something, can I use an @NgModule providers or something?
32
- return new Firestore(defaultFirestore);
30
+ return defaultFirestore && new Firestore(defaultFirestore);
33
31
  }
34
32
  function firestoreInstanceFactory(fn) {
35
- return (zone) => {
36
- const firestore = ɵmemoizeInstance(fn, zone);
33
+ return (zone, injector) => {
34
+ const firestore = zone.runOutsideAngular(() => fn(injector));
37
35
  return new Firestore(firestore);
38
36
  };
39
37
  }
@@ -71,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
71
69
  ]
72
70
  }]
73
71
  }], ctorParameters: function () { return []; } });
74
- function provideFirestore(fn) {
72
+ function provideFirestore(fn, ...deps) {
75
73
  return {
76
74
  ngModule: FirestoreModule,
77
75
  providers: [{
@@ -80,11 +78,13 @@ function provideFirestore(fn) {
80
78
  multi: true,
81
79
  deps: [
82
80
  NgZone,
81
+ Injector,
83
82
  ɵAngularFireSchedulers,
84
83
  FirebaseApps,
85
84
  // Firestore+Auth work better if Auth is loaded first
86
85
  [new Optional(), AuthInstances],
87
86
  [new Optional(), AppCheckInstances],
87
+ ...deps,
88
88
  ]
89
89
  }]
90
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-firestore.js","sources":["../../../src/firestore/firestore.ts","../../../src/firestore/firestore.module.ts","../../../src/firestore/rxfire.ts","../../../src/firestore/firebase.ts","../../../src/firestore/angular-fire-firestore.ts"],"sourcesContent":["import { Firestore as FirebaseFirestore } from 'firebase/firestore';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Firestore extends FirebaseFirestore {}\n\nexport class Firestore {\n constructor(firestore: FirebaseFirestore) {\n return firestore;\n }\n}\n\nexport const FIRESTORE_PROVIDER_NAME = 'firestore';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirestoreInstances extends Array<FirebaseFirestore> {}\n\nexport class FirestoreInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME);\n }\n}\n\nexport const firestoreInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders } from '@angular/core';\nimport { Firestore as FirebaseFirestore } from 'firebase/firestore';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { ɵmemoizeInstance, ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Firestore, FirestoreInstances, FIRESTORE_PROVIDER_NAME } from './firestore';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken<Firestore[]>('angularfire2.firestore-instances');\n\nexport function defaultFirestoreInstanceFactory(provided: FirebaseFirestore[]|undefined, defaultApp: FirebaseApp) {\n const defaultFirestore = ɵgetDefaultInstanceOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME, provided, defaultApp);\n // TODO how do I throw if it's undefined, unless @Optional(), is there an Angular NULL_INJECTOR token\n // or something, can I use an @NgModule providers or something?\n return new Firestore(defaultFirestore);\n}\n\nexport function firestoreInstanceFactory(fn: () => FirebaseFirestore) {\n return (zone: NgZone) => {\n const firestore = ɵmemoizeInstance<FirebaseFirestore>(fn, zone);\n return new Firestore(firestore);\n };\n}\n\nconst FIRESTORE_INSTANCES_PROVIDER = {\n provide: FirestoreInstances,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FIRESTORE_INSTANCE_PROVIDER = {\n provide: Firestore,\n useFactory: defaultFirestoreInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FIRESTORE_INSTANCE_PROVIDER,\n FIRESTORE_INSTANCES_PROVIDER,\n ]\n})\nexport class FirestoreModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fst');\n }\n}\n\nexport function provideFirestore(fn: () => FirebaseFirestore): ModuleWithProviders<FirestoreModule> {\n return {\n ngModule: FirestoreModule,\n providers: [{\n provide: PROVIDED_FIRESTORE_INSTANCES,\n useFactory: firestoreInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Firestore+Auth work better if Auth is loaded first\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n collectionChanges as _collectionChanges,\n collection as _collection,\n sortedChanges as _sortedChanges,\n auditTrail as _auditTrail,\n collectionData as _collectionData,\n doc as _doc,\n docData as _docData,\n snapToData as _snapToData,\n fromRef as _fromRef\n} from 'rxfire/firestore';\n\nexport const collectionChanges = ɵzoneWrap(_collectionChanges, true);\nexport const collectionSnapshots = ɵzoneWrap(_collection, true);\nexport const sortedChanges = ɵzoneWrap(_sortedChanges, true);\nexport const auditTrail = ɵzoneWrap(_auditTrail, true);\nexport const collectionData = ɵzoneWrap(_collectionData, true);\nexport const docSnapshots = ɵzoneWrap(_doc, true);\nexport const docData = ɵzoneWrap(_docData, true);\nexport const snapToData = ɵzoneWrap(_snapToData, true);\nexport const fromRef = ɵzoneWrap(_fromRef, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/firestore';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n addDoc as _addDoc,\n arrayRemove as _arrayRemove,\n arrayUnion as _arrayUnion,\n clearIndexedDbPersistence as _clearIndexedDbPersistence,\n collection as _collection,\n collectionGroup as _collectionGroup,\n connectFirestoreEmulator as _connectFirestoreEmulator,\n deleteDoc as _deleteDoc,\n deleteField as _deleteField,\n disableNetwork as _disableNetwork,\n doc as _doc,\n documentId as _documentId,\n enableIndexedDbPersistence as _enableIndexedDbPersistence,\n enableMultiTabIndexedDbPersistence as _enableMultiTabIndexedDbPersistence,\n enableNetwork as _enableNetwork,\n endAt as _endAt,\n endBefore as _endBefore,\n getDoc as _getDoc,\n getDocFromCache as _getDocFromCache,\n getDocFromServer as _getDocFromServer,\n getDocs as _getDocs,\n getDocsFromCache as _getDocsFromCache,\n getDocsFromServer as _getDocsFromServer,\n getFirestore as _getFirestore,\n increment as _increment,\n initializeFirestore as _initializeFirestore,\n limit as _limit,\n limitToLast as _limitToLast,\n loadBundle as _loadBundle,\n namedQuery as _namedQuery,\n onSnapshot as _onSnapshot,\n onSnapshotsInSync as _onSnapshotsInSync,\n orderBy as _orderBy,\n query as _query,\n queryEqual as _queryEqual,\n refEqual as _refEqual,\n runTransaction as _runTransaction,\n serverTimestamp as _serverTimestamp,\n setDoc as _setDoc,\n setLogLevel as _setLogLevel,\n snapshotEqual as _snapshotEqual,\n startAfter as _startAfter,\n startAt as _startAt,\n terminate as _terminate,\n updateDoc as _updateDoc,\n waitForPendingWrites as _waitForPendingWrites,\n where as _where,\n writeBatch as _writeBatch\n} from 'firebase/firestore';\n\nexport const addDoc = ɵzoneWrap(_addDoc, true);\nexport const arrayRemove = ɵzoneWrap(_arrayRemove, true);\nexport const arrayUnion = ɵzoneWrap(_arrayUnion, true);\nexport const clearIndexedDbPersistence = ɵzoneWrap(_clearIndexedDbPersistence, true);\nexport const collection = ɵzoneWrap(_collection, true);\nexport const collectionGroup = ɵzoneWrap(_collectionGroup, true);\nexport const connectFirestoreEmulator = ɵzoneWrap(_connectFirestoreEmulator, true);\nexport const deleteDoc = ɵzoneWrap(_deleteDoc, true);\nexport const deleteField = ɵzoneWrap(_deleteField, true);\nexport const disableNetwork = ɵzoneWrap(_disableNetwork, true);\nexport const doc = ɵzoneWrap(_doc, true);\nexport const documentId = ɵzoneWrap(_documentId, true);\nexport const enableIndexedDbPersistence = ɵzoneWrap(_enableIndexedDbPersistence, true);\nexport const enableMultiTabIndexedDbPersistence = ɵzoneWrap(_enableMultiTabIndexedDbPersistence, true);\nexport const enableNetwork = ɵzoneWrap(_enableNetwork, true);\nexport const endAt = ɵzoneWrap(_endAt, true);\nexport const endBefore = ɵzoneWrap(_endBefore, true);\nexport const getDoc = ɵzoneWrap(_getDoc, true);\nexport const getDocFromCache = ɵzoneWrap(_getDocFromCache, true);\nexport const getDocFromServer = ɵzoneWrap(_getDocFromServer, true);\nexport const getDocs = ɵzoneWrap(_getDocs, true);\nexport const getDocsFromCache = ɵzoneWrap(_getDocsFromCache, true);\nexport const getDocsFromServer = ɵzoneWrap(_getDocsFromServer, true);\nexport const getFirestore = ɵzoneWrap(_getFirestore, true);\nexport const increment = ɵzoneWrap(_increment, true);\nexport const initializeFirestore = ɵzoneWrap(_initializeFirestore, true);\nexport const limit = ɵzoneWrap(_limit, true);\nexport const limitToLast = ɵzoneWrap(_limitToLast, true);\nexport const loadBundle = ɵzoneWrap(_loadBundle, true);\nexport const namedQuery = ɵzoneWrap(_namedQuery, true);\nexport const onSnapshot = ɵzoneWrap(_onSnapshot, true);\nexport const onSnapshotsInSync = ɵzoneWrap(_onSnapshotsInSync, true);\nexport const orderBy = ɵzoneWrap(_orderBy, true);\nexport const query = ɵzoneWrap(_query, true);\nexport const queryEqual = ɵzoneWrap(_queryEqual, true);\nexport const refEqual = ɵzoneWrap(_refEqual, true);\nexport const runTransaction = ɵzoneWrap(_runTransaction, true);\nexport const serverTimestamp = ɵzoneWrap(_serverTimestamp, true);\nexport const setDoc = ɵzoneWrap(_setDoc, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\nexport const snapshotEqual = ɵzoneWrap(_snapshotEqual, true);\nexport const startAfter = ɵzoneWrap(_startAfter, true);\nexport const startAt = ɵzoneWrap(_startAt, true);\nexport const terminate = ɵzoneWrap(_terminate, true);\nexport const updateDoc = ɵzoneWrap(_updateDoc, true);\nexport const waitForPendingWrites = ɵzoneWrap(_waitForPendingWrites, true);\nexport const where = ɵzoneWrap(_where, true);\nexport const writeBatch = ɵzoneWrap(_writeBatch, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_collectionChanges","_collection","_sortedChanges","_auditTrail","_collectionData","_doc","_docData","_snapToData","_fromRef","_addDoc","_arrayRemove","_arrayUnion","_clearIndexedDbPersistence","_collectionGroup","_connectFirestoreEmulator","_deleteDoc","_deleteField","_disableNetwork","_documentId","_enableIndexedDbPersistence","_enableMultiTabIndexedDbPersistence","_enableNetwork","_endAt","_endBefore","_getDoc","_getDocFromCache","_getDocFromServer","_getDocs","_getDocsFromCache","_getDocsFromServer","_getFirestore","_increment","_initializeFirestore","_limit","_limitToLast","_loadBundle","_namedQuery","_onSnapshot","_onSnapshotsInSync","_orderBy","_query","_queryEqual","_refEqual","_runTransaction","_serverTimestamp","_setDoc","_setLogLevel","_snapshotEqual","_startAfter","_startAt","_terminate","_updateDoc","_waitForPendingWrites","_where","_writeBatch"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-firestore.js","sources":["../../../src/firestore/firestore.ts","../../../src/firestore/firestore.module.ts","../../../src/firestore/rxfire.ts","../../../src/firestore/firebase.ts","../../../src/firestore/angular-fire-firestore.ts"],"sourcesContent":["import { Firestore as FirebaseFirestore } from 'firebase/firestore';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Firestore extends FirebaseFirestore {}\n\nexport class Firestore {\n constructor(firestore: FirebaseFirestore) {\n return firestore;\n }\n}\n\nexport const FIRESTORE_PROVIDER_NAME = 'firestore';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FirestoreInstances extends Array<FirebaseFirestore> {}\n\nexport class FirestoreInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME);\n }\n}\n\nexport const firestoreInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { Firestore as FirebaseFirestore } from 'firebase/firestore';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Firestore, FirestoreInstances, FIRESTORE_PROVIDER_NAME } from './firestore';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_FIRESTORE_INSTANCES = new InjectionToken<Firestore[]>('angularfire2.firestore-instances');\n\nexport function defaultFirestoreInstanceFactory(provided: FirebaseFirestore[]|undefined, defaultApp: FirebaseApp) {\n const defaultFirestore = ɵgetDefaultInstanceOf<FirebaseFirestore>(FIRESTORE_PROVIDER_NAME, provided, defaultApp);\n return defaultFirestore && new Firestore(defaultFirestore);\n}\n\nexport function firestoreInstanceFactory(fn: (injector: Injector) => FirebaseFirestore) {\n return (zone: NgZone, injector: Injector) => {\n const firestore = zone.runOutsideAngular(() => fn(injector));\n return new Firestore(firestore);\n };\n}\n\nconst FIRESTORE_INSTANCES_PROVIDER = {\n provide: FirestoreInstances,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FIRESTORE_INSTANCE_PROVIDER = {\n provide: Firestore,\n useFactory: defaultFirestoreInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FIRESTORE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FIRESTORE_INSTANCE_PROVIDER,\n FIRESTORE_INSTANCES_PROVIDER,\n ]\n})\nexport class FirestoreModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fst');\n }\n}\n\nexport function provideFirestore(fn: () => FirebaseFirestore, ...deps: any[]): ModuleWithProviders<FirestoreModule> {\n return {\n ngModule: FirestoreModule,\n providers: [{\n provide: PROVIDED_FIRESTORE_INSTANCES,\n useFactory: firestoreInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Firestore+Auth work better if Auth is loaded first\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n collectionChanges as _collectionChanges,\n collection as _collection,\n sortedChanges as _sortedChanges,\n auditTrail as _auditTrail,\n collectionData as _collectionData,\n doc as _doc,\n docData as _docData,\n snapToData as _snapToData,\n fromRef as _fromRef\n} from 'rxfire/firestore';\n\nexport const collectionChanges = ɵzoneWrap(_collectionChanges, true);\nexport const collectionSnapshots = ɵzoneWrap(_collection, true);\nexport const sortedChanges = ɵzoneWrap(_sortedChanges, true);\nexport const auditTrail = ɵzoneWrap(_auditTrail, true);\nexport const collectionData = ɵzoneWrap(_collectionData, true);\nexport const docSnapshots = ɵzoneWrap(_doc, true);\nexport const docData = ɵzoneWrap(_docData, true);\nexport const snapToData = ɵzoneWrap(_snapToData, true);\nexport const fromRef = ɵzoneWrap(_fromRef, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/firestore';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n addDoc as _addDoc,\n arrayRemove as _arrayRemove,\n arrayUnion as _arrayUnion,\n clearIndexedDbPersistence as _clearIndexedDbPersistence,\n collection as _collection,\n collectionGroup as _collectionGroup,\n connectFirestoreEmulator as _connectFirestoreEmulator,\n deleteDoc as _deleteDoc,\n deleteField as _deleteField,\n disableNetwork as _disableNetwork,\n doc as _doc,\n documentId as _documentId,\n enableIndexedDbPersistence as _enableIndexedDbPersistence,\n enableMultiTabIndexedDbPersistence as _enableMultiTabIndexedDbPersistence,\n enableNetwork as _enableNetwork,\n endAt as _endAt,\n endBefore as _endBefore,\n getDoc as _getDoc,\n getDocFromCache as _getDocFromCache,\n getDocFromServer as _getDocFromServer,\n getDocs as _getDocs,\n getDocsFromCache as _getDocsFromCache,\n getDocsFromServer as _getDocsFromServer,\n getFirestore as _getFirestore,\n increment as _increment,\n initializeFirestore as _initializeFirestore,\n limit as _limit,\n limitToLast as _limitToLast,\n loadBundle as _loadBundle,\n namedQuery as _namedQuery,\n onSnapshot as _onSnapshot,\n onSnapshotsInSync as _onSnapshotsInSync,\n orderBy as _orderBy,\n query as _query,\n queryEqual as _queryEqual,\n refEqual as _refEqual,\n runTransaction as _runTransaction,\n serverTimestamp as _serverTimestamp,\n setDoc as _setDoc,\n setLogLevel as _setLogLevel,\n snapshotEqual as _snapshotEqual,\n startAfter as _startAfter,\n startAt as _startAt,\n terminate as _terminate,\n updateDoc as _updateDoc,\n waitForPendingWrites as _waitForPendingWrites,\n where as _where,\n writeBatch as _writeBatch\n} from 'firebase/firestore';\n\nexport const addDoc = ɵzoneWrap(_addDoc, true);\nexport const arrayRemove = ɵzoneWrap(_arrayRemove, true);\nexport const arrayUnion = ɵzoneWrap(_arrayUnion, true);\nexport const clearIndexedDbPersistence = ɵzoneWrap(_clearIndexedDbPersistence, true);\nexport const collection = ɵzoneWrap(_collection, true);\nexport const collectionGroup = ɵzoneWrap(_collectionGroup, true);\nexport const connectFirestoreEmulator = ɵzoneWrap(_connectFirestoreEmulator, true);\nexport const deleteDoc = ɵzoneWrap(_deleteDoc, true);\nexport const deleteField = ɵzoneWrap(_deleteField, true);\nexport const disableNetwork = ɵzoneWrap(_disableNetwork, true);\nexport const doc = ɵzoneWrap(_doc, true);\nexport const documentId = ɵzoneWrap(_documentId, true);\nexport const enableIndexedDbPersistence = ɵzoneWrap(_enableIndexedDbPersistence, true);\nexport const enableMultiTabIndexedDbPersistence = ɵzoneWrap(_enableMultiTabIndexedDbPersistence, true);\nexport const enableNetwork = ɵzoneWrap(_enableNetwork, true);\nexport const endAt = ɵzoneWrap(_endAt, true);\nexport const endBefore = ɵzoneWrap(_endBefore, true);\nexport const getDoc = ɵzoneWrap(_getDoc, true);\nexport const getDocFromCache = ɵzoneWrap(_getDocFromCache, true);\nexport const getDocFromServer = ɵzoneWrap(_getDocFromServer, true);\nexport const getDocs = ɵzoneWrap(_getDocs, true);\nexport const getDocsFromCache = ɵzoneWrap(_getDocsFromCache, true);\nexport const getDocsFromServer = ɵzoneWrap(_getDocsFromServer, true);\nexport const getFirestore = ɵzoneWrap(_getFirestore, true);\nexport const increment = ɵzoneWrap(_increment, true);\nexport const initializeFirestore = ɵzoneWrap(_initializeFirestore, true);\nexport const limit = ɵzoneWrap(_limit, true);\nexport const limitToLast = ɵzoneWrap(_limitToLast, true);\nexport const loadBundle = ɵzoneWrap(_loadBundle, true);\nexport const namedQuery = ɵzoneWrap(_namedQuery, true);\nexport const onSnapshot = ɵzoneWrap(_onSnapshot, true);\nexport const onSnapshotsInSync = ɵzoneWrap(_onSnapshotsInSync, true);\nexport const orderBy = ɵzoneWrap(_orderBy, true);\nexport const query = ɵzoneWrap(_query, true);\nexport const queryEqual = ɵzoneWrap(_queryEqual, true);\nexport const refEqual = ɵzoneWrap(_refEqual, true);\nexport const runTransaction = ɵzoneWrap(_runTransaction, true);\nexport const serverTimestamp = ɵzoneWrap(_serverTimestamp, true);\nexport const setDoc = ɵzoneWrap(_setDoc, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\nexport const snapshotEqual = ɵzoneWrap(_snapshotEqual, true);\nexport const startAfter = ɵzoneWrap(_startAfter, true);\nexport const startAt = ɵzoneWrap(_startAt, true);\nexport const terminate = ɵzoneWrap(_terminate, true);\nexport const updateDoc = ɵzoneWrap(_updateDoc, true);\nexport const waitForPendingWrites = ɵzoneWrap(_waitForPendingWrites, true);\nexport const where = ɵzoneWrap(_where, true);\nexport const writeBatch = ɵzoneWrap(_writeBatch, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_collectionChanges","_collection","_sortedChanges","_auditTrail","_collectionData","_doc","_docData","_snapToData","_fromRef","_addDoc","_arrayRemove","_arrayUnion","_clearIndexedDbPersistence","_collectionGroup","_connectFirestoreEmulator","_deleteDoc","_deleteField","_disableNetwork","_documentId","_enableIndexedDbPersistence","_enableMultiTabIndexedDbPersistence","_enableNetwork","_endAt","_endBefore","_getDoc","_getDocFromCache","_getDocFromServer","_getDocs","_getDocsFromCache","_getDocsFromServer","_getFirestore","_increment","_initializeFirestore","_limit","_limitToLast","_loadBundle","_namedQuery","_onSnapshot","_onSnapshotsInSync","_orderBy","_query","_queryEqual","_refEqual","_runTransaction","_serverTimestamp","_setDoc","_setLogLevel","_snapshotEqual","_startAfter","_startAt","_terminate","_updateDoc","_waitForPendingWrites","_where","_writeBatch"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Optional, NgModule, NgZone } from '@angular/core';
3
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵmemoizeInstance, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
2
+ import { InjectionToken, Optional, NgModule, NgZone, Injector } from '@angular/core';
3
+ import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
4
4
  import { timer, from } from 'rxjs';
5
5
  import { concatMap, distinct } from 'rxjs/operators';
6
6
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
@@ -27,11 +27,11 @@ const functionInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstan
27
27
  const PROVIDED_FUNCTIONS_INSTANCES = new InjectionToken('angularfire2.functions-instances');
28
28
  function defaultFunctionsInstanceFactory(provided, defaultApp) {
29
29
  const defaultAuth = ɵgetDefaultInstanceOf(FUNCTIONS_PROVIDER_NAME, provided, defaultApp);
30
- return new Functions(defaultAuth);
30
+ return defaultAuth && new Functions(defaultAuth);
31
31
  }
32
32
  function functionsInstanceFactory(fn) {
33
- return (zone) => {
34
- const functions = ɵmemoizeInstance(fn, zone);
33
+ return (zone, injector) => {
34
+ const functions = zone.runOutsideAngular(() => fn(injector));
35
35
  return new Functions(functions);
36
36
  };
37
37
  }
@@ -69,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
69
69
  ]
70
70
  }]
71
71
  }], ctorParameters: function () { return []; } });
72
- function provideFunctions(fn) {
72
+ function provideFunctions(fn, ...deps) {
73
73
  return {
74
74
  ngModule: FunctionsModule,
75
75
  providers: [{
@@ -78,11 +78,13 @@ function provideFunctions(fn) {
78
78
  multi: true,
79
79
  deps: [
80
80
  NgZone,
81
+ Injector,
81
82
  ɵAngularFireSchedulers,
82
83
  FirebaseApps,
83
84
  // Defensively load Auth first, if provided
84
85
  [new Optional(), AuthInstances],
85
86
  [new Optional(), AppCheckInstances],
87
+ ...deps,
86
88
  ]
87
89
  }]
88
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-functions.js","sources":["../../../src/functions/functions.ts","../../../src/functions/functions.module.ts","../../../src/functions/rxfire.ts","../../../src/functions/firebase.ts","../../../src/functions/angular-fire-functions.ts"],"sourcesContent":["import { Functions as FirebaseFunctions } from 'firebase/functions';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Functions extends FirebaseFunctions {}\n\nexport class Functions {\n constructor(functions: FirebaseFunctions) {\n return functions;\n }\n}\n\nexport const FUNCTIONS_PROVIDER_NAME = 'functions';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FunctionsInstances extends Array<FirebaseFunctions> {}\n\nexport class FunctionsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME);\n }\n}\n\nexport const functionInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders } from '@angular/core';\nimport { Functions as FirebaseFunctions } from 'firebase/functions';\nimport { ɵgetDefaultInstanceOf, ɵmemoizeInstance, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Functions, FunctionsInstances, FUNCTIONS_PROVIDER_NAME } from './functions';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_FUNCTIONS_INSTANCES = new InjectionToken<Functions[]>('angularfire2.functions-instances');\n\nexport function defaultFunctionsInstanceFactory(provided: FirebaseFunctions[]|undefined, defaultApp: FirebaseApp) {\n const defaultAuth = ɵgetDefaultInstanceOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME, provided, defaultApp);\n return new Functions(defaultAuth);\n}\n\nexport function functionsInstanceFactory(fn: () => FirebaseFunctions) {\n return (zone: NgZone) => {\n const functions = ɵmemoizeInstance<FirebaseFunctions>(fn, zone);\n return new Functions(functions);\n };\n}\n\nconst FUNCTIONS_INSTANCES_PROVIDER = {\n provide: FunctionsInstances,\n deps: [\n [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FUNCTIONS_INSTANCE_PROVIDER = {\n provide: Functions,\n useFactory: defaultFunctionsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FUNCTIONS_INSTANCE_PROVIDER,\n FUNCTIONS_INSTANCES_PROVIDER,\n ]\n})\nexport class FunctionsModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fn');\n }\n}\n\nexport function provideFunctions(fn: () => FirebaseFunctions): ModuleWithProviders<FunctionsModule> {\n return {\n ngModule: FunctionsModule,\n providers: [{\n provide: PROVIDED_FUNCTIONS_INSTANCES,\n useFactory: functionsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Defensively load Auth first, if provided\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n httpsCallable as _httpsCallable\n} from 'rxfire/functions';\n\nexport const httpsCallableData = ɵzoneWrap(_httpsCallable, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/functions';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n connectFunctionsEmulator as _connectFunctionsEmulator,\n getFunctions as _getFunctions,\n httpsCallable as _httpsCallable\n} from 'firebase/functions';\n\nexport const connectFunctionsEmulator = ɵzoneWrap(_connectFunctionsEmulator, true);\nexport const getFunctions = ɵzoneWrap(_getFunctions, true);\nexport const httpsCallable = ɵzoneWrap(_httpsCallable, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_httpsCallable","_connectFunctionsEmulator","_getFunctions"],"mappings":";;;;;;;;;;;;;MASa,SAAS;IACpB,YAAY,SAA4B;QACtC,OAAO,SAAS,CAAC;KAClB;CACF;AAEM,MAAM,uBAAuB,GAAG,WAAW,CAAC;MAKtC,kBAAkB;IAC7B;QACE,OAAO,kBAAkB,CAAoB,uBAAuB,CAAC,CAAC;KACvE;CACF;MAEY,iBAAiB,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CACjD,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAoB,uBAAuB,CAAC,CAAC,CAAC,EACrF,QAAQ,EAAE;;ACnBL,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAAc,kCAAkC,CAAC,CAAC;SAEhG,+BAA+B,CAAC,QAAuC,EAAE,UAAuB;IAC9G,MAAM,WAAW,GAAG,qBAAqB,CAAoB,uBAAuB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5G,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC;SAEe,wBAAwB,CAAC,EAA2B;IAClE,OAAO,CAAC,IAAY;QAClB,MAAM,SAAS,GAAG,gBAAgB,CAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;KAChD;CACF,CAAC;AAEF,MAAM,mCAAmC,GAAG;IAC1C,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,+BAA+B;IAC3C,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;QAC/C,WAAW;KACZ;CACF,CAAC;MAQW,eAAe;IAC1B;QACE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpD;;4GAHU,eAAe;6GAAf,eAAe;6GAAf,eAAe,aALf;QACT,mCAAmC;QACnC,4BAA4B;KAC7B;2FAEU,eAAe;kBAN3B,QAAQ;mBAAC;oBACR,SAAS,EAAE;wBACT,mCAAmC;wBACnC,4BAA4B;qBAC7B;iBACF;;SAOe,gBAAgB,CAAC,EAA2B;IAC1D,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,CAAC;gBACV,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,wBAAwB,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,MAAM;oBACN,sBAAsB;oBACtB,YAAY;;oBAEZ,CAAC,IAAI,QAAQ,EAAE,EAAE,aAAa,CAAE;oBAChC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAE;iBACrC;aACF,CAAC;KACH,CAAC;AACJ;;ACpEA;MAMa,iBAAiB,GAAG,SAAS,CAACA,eAAc,EAAE,IAAI;;ACN/D;MASa,wBAAwB,GAAG,SAAS,CAACC,0BAAyB,EAAE,IAAI,EAAE;MACtE,YAAY,GAAG,SAAS,CAACC,cAAa,EAAE,IAAI,EAAE;MAC9C,aAAa,GAAG,SAAS,CAACF,eAAc,EAAE,IAAI;;ACX3D;;;;;;"}
1
+ {"version":3,"file":"angular-fire-functions.js","sources":["../../../src/functions/functions.ts","../../../src/functions/functions.module.ts","../../../src/functions/rxfire.ts","../../../src/functions/firebase.ts","../../../src/functions/angular-fire-functions.ts"],"sourcesContent":["import { Functions as FirebaseFunctions } from 'firebase/functions';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Functions extends FirebaseFunctions {}\n\nexport class Functions {\n constructor(functions: FirebaseFunctions) {\n return functions;\n }\n}\n\nexport const FUNCTIONS_PROVIDER_NAME = 'functions';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface FunctionsInstances extends Array<FirebaseFunctions> {}\n\nexport class FunctionsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME);\n }\n}\n\nexport const functionInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, Injector } from '@angular/core';\nimport { Functions as FirebaseFunctions } from 'firebase/functions';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Functions, FunctionsInstances, FUNCTIONS_PROVIDER_NAME } from './functions';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport const PROVIDED_FUNCTIONS_INSTANCES = new InjectionToken<Functions[]>('angularfire2.functions-instances');\n\nexport function defaultFunctionsInstanceFactory(provided: FirebaseFunctions[]|undefined, defaultApp: FirebaseApp) {\n const defaultAuth = ɵgetDefaultInstanceOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME, provided, defaultApp);\n return defaultAuth && new Functions(defaultAuth);\n}\n\nexport function functionsInstanceFactory(fn: (injector: Injector) => FirebaseFunctions) {\n return (zone: NgZone, injector: Injector) => {\n const functions = zone.runOutsideAngular(() => fn(injector));\n return new Functions(functions);\n };\n}\n\nconst FUNCTIONS_INSTANCES_PROVIDER = {\n provide: FunctionsInstances,\n deps: [\n [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_FUNCTIONS_INSTANCE_PROVIDER = {\n provide: Functions,\n useFactory: defaultFunctionsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_FUNCTIONS_INSTANCE_PROVIDER,\n FUNCTIONS_INSTANCES_PROVIDER,\n ]\n})\nexport class FunctionsModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fn');\n }\n}\n\nexport function provideFunctions(fn: () => FirebaseFunctions, ...deps: any[]): ModuleWithProviders<FunctionsModule> {\n return {\n ngModule: FunctionsModule,\n providers: [{\n provide: PROVIDED_FUNCTIONS_INSTANCES,\n useFactory: functionsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n // Defensively load Auth first, if provided\n [new Optional(), AuthInstances ],\n [new Optional(), AppCheckInstances ],\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n httpsCallable as _httpsCallable\n} from 'rxfire/functions';\n\nexport const httpsCallableData = ɵzoneWrap(_httpsCallable, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/functions';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n connectFunctionsEmulator as _connectFunctionsEmulator,\n getFunctions as _getFunctions,\n httpsCallable as _httpsCallable\n} from 'firebase/functions';\n\nexport const connectFunctionsEmulator = ɵzoneWrap(_connectFunctionsEmulator, true);\nexport const getFunctions = ɵzoneWrap(_getFunctions, true);\nexport const httpsCallable = ɵzoneWrap(_httpsCallable, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_httpsCallable","_connectFunctionsEmulator","_getFunctions"],"mappings":";;;;;;;;;;;;;MASa,SAAS;IACpB,YAAY,SAA4B;QACtC,OAAO,SAAS,CAAC;KAClB;CACF;AAEM,MAAM,uBAAuB,GAAG,WAAW,CAAC;MAKtC,kBAAkB;IAC7B;QACE,OAAO,kBAAkB,CAAoB,uBAAuB,CAAC,CAAC;KACvE;CACF;MAEY,iBAAiB,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CACjD,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAoB,uBAAuB,CAAC,CAAC,CAAC,EACrF,QAAQ,EAAE;;ACnBL,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAAc,kCAAkC,CAAC,CAAC;SAEhG,+BAA+B,CAAC,QAAuC,EAAE,UAAuB;IAC9G,MAAM,WAAW,GAAG,qBAAqB,CAAoB,uBAAuB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5G,OAAO,WAAW,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;SAEe,wBAAwB,CAAC,EAA6C;IACpF,OAAO,CAAC,IAAY,EAAE,QAAkB;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;KAChD;CACF,CAAC;AAEF,MAAM,mCAAmC,GAAG;IAC1C,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,+BAA+B;IAC3C,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;QAC/C,WAAW;KACZ;CACF,CAAC;MAQW,eAAe;IAC1B;QACE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpD;;4GAHU,eAAe;6GAAf,eAAe;6GAAf,eAAe,aALf;QACT,mCAAmC;QACnC,4BAA4B;KAC7B;2FAEU,eAAe;kBAN3B,QAAQ;mBAAC;oBACR,SAAS,EAAE;wBACT,mCAAmC;wBACnC,4BAA4B;qBAC7B;iBACF;;SAOe,gBAAgB,CAAC,EAA2B,EAAE,GAAG,IAAW;IAC1E,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,CAAC;gBACV,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,wBAAwB,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,MAAM;oBACN,QAAQ;oBACR,sBAAsB;oBACtB,YAAY;;oBAEZ,CAAC,IAAI,QAAQ,EAAE,EAAE,aAAa,CAAE;oBAChC,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAE;oBACpC,GAAG,IAAI;iBACR;aACF,CAAC;KACH,CAAC;AACJ;;ACtEA;MAMa,iBAAiB,GAAG,SAAS,CAACA,eAAc,EAAE,IAAI;;ACN/D;MASa,wBAAwB,GAAG,SAAS,CAACC,0BAAyB,EAAE,IAAI,EAAE;MACtE,YAAY,GAAG,SAAS,CAACC,cAAa,EAAE,IAAI,EAAE;MAC9C,aAAa,GAAG,SAAS,CAACF,eAAc,EAAE,IAAI;;ACX3D;;;;;;"}
@@ -1,8 +1,8 @@
1
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵmemoizeInstance, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
2
2
  import { timer, from } from 'rxjs';
3
3
  import { concatMap, distinct } from 'rxjs/operators';
4
4
  import * as i0 from '@angular/core';
5
- import { InjectionToken, Optional, APP_INITIALIZER, NgModule, NgZone } from '@angular/core';
5
+ import { InjectionToken, Optional, APP_INITIALIZER, NgModule, NgZone, Injector } from '@angular/core';
6
6
  import { isSupported as isSupported$1, deleteToken as deleteToken$1, getMessaging as getMessaging$1, getToken as getToken$1, onMessage as onMessage$1 } from 'firebase/messaging';
7
7
  export * from 'firebase/messaging';
8
8
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
@@ -25,14 +25,18 @@ const PROVIDED_MESSAGING_INSTANCES = new InjectionToken('angularfire2.messaging-
25
25
  const IS_SUPPORTED = new InjectionToken('angularfire2.messaging.isSupported');
26
26
  const isSupportedSymbol = Symbol('angularfire2.messaging.isSupported');
27
27
  function defaultMessagingInstanceFactory(isSupported, provided, defaultApp) {
28
- const defaultAuth = isSupported ?
29
- ɵgetDefaultInstanceOf(MESSAGING_PROVIDER_NAME, provided, defaultApp) :
30
- undefined;
31
- return new Messaging(defaultAuth);
28
+ if (!isSupported) {
29
+ return null;
30
+ }
31
+ const defaultMessaging = ɵgetDefaultInstanceOf(MESSAGING_PROVIDER_NAME, provided, defaultApp);
32
+ return defaultMessaging && new Messaging(defaultMessaging);
32
33
  }
33
34
  function messagingInstanceFactory(fn) {
34
- return (zone, isSupported) => {
35
- const messaging = isSupported ? ɵmemoizeInstance(fn, zone) : undefined;
35
+ return (zone, isSupported, injector) => {
36
+ if (!isSupported) {
37
+ return null;
38
+ }
39
+ const messaging = zone.runOutsideAngular(() => fn(injector));
36
40
  return new Messaging(messaging);
37
41
  };
38
42
  }
@@ -81,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
81
85
  ]
82
86
  }]
83
87
  }], ctorParameters: function () { return []; } });
84
- function provideMessaging(fn) {
88
+ function provideMessaging(fn, ...deps) {
85
89
  return {
86
90
  ngModule: MessagingModule,
87
91
  providers: [{
@@ -94,8 +98,10 @@ function provideMessaging(fn) {
94
98
  deps: [
95
99
  NgZone,
96
100
  IS_SUPPORTED,
101
+ Injector,
97
102
  ɵAngularFireSchedulers,
98
103
  FirebaseApps,
104
+ ...deps,
99
105
  ],
100
106
  }]
101
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-messaging.js","sources":["../../../src/messaging/messaging.ts","../../../src/messaging/messaging.module.ts","../../../src/messaging/firebase.ts","../../../src/messaging/angular-fire-messaging.ts"],"sourcesContent":["import { Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Messaging extends FirebaseMessaging {}\n\nexport class Messaging {\n constructor(messaging: FirebaseMessaging) {\n return messaging;\n }\n}\n\nexport const MESSAGING_PROVIDER_NAME = 'messaging';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface MessagingInstances extends Array<FirebaseMessaging> {}\n\nexport class MessagingInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME);\n }\n}\n\nexport const messagingInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\nimport { isSupported, Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { ɵgetDefaultInstanceOf, ɵmemoizeInstance, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Messaging, MessagingInstances, MESSAGING_PROVIDER_NAME } from './messaging';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nconst PROVIDED_MESSAGING_INSTANCES = new InjectionToken<Messaging[]>('angularfire2.messaging-instances');\nconst IS_SUPPORTED = new InjectionToken<boolean>('angularfire2.messaging.isSupported');\n\nconst isSupportedSymbol = Symbol('angularfire2.messaging.isSupported');\n\nexport function defaultMessagingInstanceFactory(isSupported: boolean, provided: FirebaseMessaging[]|undefined, defaultApp: FirebaseApp) {\n const defaultAuth = isSupported ?\n ɵgetDefaultInstanceOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME, provided, defaultApp) :\n undefined;\n return new Messaging(defaultAuth);\n}\n\nexport function messagingInstanceFactory(fn: () => FirebaseMessaging) {\n return (zone: NgZone, isSupported: boolean) => {\n const messaging = isSupported ? ɵmemoizeInstance<FirebaseMessaging>(fn, zone) : undefined;\n return new Messaging(messaging);\n };\n}\n\nconst MESSAGING_INSTANCES_PROVIDER = {\n provide: MessagingInstances,\n deps: [\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n ]\n};\n\nconst DEFAULT_MESSAGING_INSTANCE_PROVIDER = {\n provide: Messaging,\n useFactory: defaultMessagingInstanceFactory,\n deps: [\n IS_SUPPORTED,\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_MESSAGING_INSTANCE_PROVIDER,\n MESSAGING_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: () => isSupported().then(it => globalThis[isSupportedSymbol] = it),\n multi: true,\n },\n ]\n})\nexport class MessagingModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fcm');\n }\n}\n\nexport function provideMessaging(fn: () => FirebaseMessaging): ModuleWithProviders<MessagingModule> {\n return {\n ngModule: MessagingModule,\n providers: [{\n provide: IS_SUPPORTED,\n useFactory: () => globalThis[isSupportedSymbol],\n }, {\n provide: PROVIDED_MESSAGING_INSTANCES,\n useFactory: messagingInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n IS_SUPPORTED,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ],\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/messaging';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n deleteToken as _deleteToken,\n getMessaging as _getMessaging,\n getToken as _getToken,\n isSupported as _isSupported,\n onMessage as _onMessage\n} from 'firebase/messaging';\n\nexport const deleteToken = ɵzoneWrap(_deleteToken, true);\nexport const getMessaging = ɵzoneWrap(_getMessaging, true);\nexport const getToken = ɵzoneWrap(_getToken, true);\nexport const isSupported = ɵzoneWrap(_isSupported, true);\nexport const onMessage = ɵzoneWrap(_onMessage, false);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["isSupported","_deleteToken","_getMessaging","_getToken","_isSupported","_onMessage"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-messaging.js","sources":["../../../src/messaging/messaging.ts","../../../src/messaging/messaging.module.ts","../../../src/messaging/firebase.ts","../../../src/messaging/angular-fire-messaging.ts"],"sourcesContent":["import { Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Messaging extends FirebaseMessaging {}\n\nexport class Messaging {\n constructor(messaging: FirebaseMessaging) {\n return messaging;\n }\n}\n\nexport const MESSAGING_PROVIDER_NAME = 'messaging';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface MessagingInstances extends Array<FirebaseMessaging> {}\n\nexport class MessagingInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME);\n }\n}\n\nexport const messagingInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, APP_INITIALIZER, Injector } from '@angular/core';\nimport { isSupported, Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Messaging, MessagingInstances, MESSAGING_PROVIDER_NAME } from './messaging';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nconst PROVIDED_MESSAGING_INSTANCES = new InjectionToken<Messaging[]>('angularfire2.messaging-instances');\nconst IS_SUPPORTED = new InjectionToken<boolean>('angularfire2.messaging.isSupported');\n\nconst isSupportedSymbol = Symbol('angularfire2.messaging.isSupported');\n\nexport function defaultMessagingInstanceFactory(isSupported: boolean, provided: FirebaseMessaging[]|undefined, defaultApp: FirebaseApp) {\n if (!isSupported) { return null; }\n const defaultMessaging = ɵgetDefaultInstanceOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME, provided, defaultApp);\n return defaultMessaging && new Messaging(defaultMessaging);\n}\n\nexport function messagingInstanceFactory(fn: (injector: Injector) => FirebaseMessaging) {\n return (zone: NgZone, isSupported: boolean, injector: Injector) => {\n if (!isSupported) { return null; }\n const messaging = zone.runOutsideAngular(() => fn(injector));\n return new Messaging(messaging);\n };\n}\n\nconst MESSAGING_INSTANCES_PROVIDER = {\n provide: MessagingInstances,\n deps: [\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n ]\n};\n\nconst DEFAULT_MESSAGING_INSTANCE_PROVIDER = {\n provide: Messaging,\n useFactory: defaultMessagingInstanceFactory,\n deps: [\n IS_SUPPORTED,\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_MESSAGING_INSTANCE_PROVIDER,\n MESSAGING_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: () => isSupported().then(it => globalThis[isSupportedSymbol] = it),\n multi: true,\n },\n ]\n})\nexport class MessagingModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fcm');\n }\n}\n\nexport function provideMessaging(fn: () => FirebaseMessaging, ...deps: any[]): ModuleWithProviders<MessagingModule> {\n return {\n ngModule: MessagingModule,\n providers: [{\n provide: IS_SUPPORTED,\n useFactory: () => globalThis[isSupportedSymbol],\n }, {\n provide: PROVIDED_MESSAGING_INSTANCES,\n useFactory: messagingInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n IS_SUPPORTED,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/messaging';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n deleteToken as _deleteToken,\n getMessaging as _getMessaging,\n getToken as _getToken,\n isSupported as _isSupported,\n onMessage as _onMessage\n} from 'firebase/messaging';\n\nexport const deleteToken = ɵzoneWrap(_deleteToken, true);\nexport const getMessaging = ɵzoneWrap(_getMessaging, true);\nexport const getToken = ɵzoneWrap(_getToken, true);\nexport const isSupported = ɵzoneWrap(_isSupported, true);\nexport const onMessage = ɵzoneWrap(_onMessage, false);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["isSupported","_deleteToken","_getMessaging","_getToken","_isSupported","_onMessage"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵmemoizeInstance, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
2
2
  import { timer, from } from 'rxjs';
3
3
  import { concatMap, distinct } from 'rxjs/operators';
4
4
  import * as i0 from '@angular/core';
5
- import { InjectionToken, Optional, NgModule, NgZone } from '@angular/core';
5
+ import { InjectionToken, Optional, PLATFORM_ID, NgModule, NgZone, Injector } from '@angular/core';
6
6
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
7
7
  import { registerVersion } from 'firebase/app';
8
+ import { isPlatformBrowser } from '@angular/common';
8
9
  import { traceUntil as traceUntil$1, traceWhile as traceWhile$1, traceUntilComplete as traceUntilComplete$1, traceUntilFirst as traceUntilFirst$1 } from 'rxfire/performance';
9
10
  import { getPerformance as getPerformance$1, initializePerformance as initializePerformance$1, trace as trace$1 } from 'firebase/performance';
10
11
  export * from 'firebase/performance';
@@ -23,13 +24,22 @@ class PerformanceInstances {
23
24
  const performanceInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(PERFORMANCE_PROVIDER_NAME))), distinct());
24
25
 
25
26
  const PROVIDED_PERFORMANCE_INSTANCES = new InjectionToken('angularfire2.performance-instances');
26
- function defaultPerformanceInstanceFactory(provided, defaultApp) {
27
+ function defaultPerformanceInstanceFactory(provided, defaultApp,
28
+ // tslint:disable-next-line:ban-types
29
+ platform) {
30
+ if (!isPlatformBrowser(platform)) {
31
+ return null;
32
+ }
27
33
  const defaultPerformance = ɵgetDefaultInstanceOf(PERFORMANCE_PROVIDER_NAME, provided, defaultApp);
28
- return new Performance(defaultPerformance);
34
+ return defaultPerformance && new Performance(defaultPerformance);
29
35
  }
30
36
  function performanceInstanceFactory(fn) {
31
- return (zone) => {
32
- const performance = ɵmemoizeInstance(fn, zone);
37
+ // tslint:disable-next-line:ban-types
38
+ return (zone, platform, injector) => {
39
+ if (!isPlatformBrowser(platform)) {
40
+ return null;
41
+ }
42
+ const performance = zone.runOutsideAngular(() => fn(injector));
33
43
  return new Performance(performance);
34
44
  };
35
45
  }
@@ -45,6 +55,7 @@ const DEFAULT_PERFORMANCE_INSTANCE_PROVIDER = {
45
55
  deps: [
46
56
  [new Optional(), PROVIDED_PERFORMANCE_INSTANCES],
47
57
  FirebaseApp,
58
+ PLATFORM_ID,
48
59
  ]
49
60
  };
50
61
  class PerformanceModule {
@@ -67,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
67
78
  ]
68
79
  }]
69
80
  }], ctorParameters: function () { return []; } });
70
- function providePerformance(fn) {
81
+ function providePerformance(fn, ...deps) {
71
82
  return {
72
83
  ngModule: PerformanceModule,
73
84
  providers: [{
@@ -76,8 +87,11 @@ function providePerformance(fn) {
76
87
  multi: true,
77
88
  deps: [
78
89
  NgZone,
90
+ PLATFORM_ID,
91
+ Injector,
79
92
  ɵAngularFireSchedulers,
80
93
  FirebaseApps,
94
+ ...deps,
81
95
  ]
82
96
  }]
83
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-performance.js","sources":["../../../src/performance/performance.ts","../../../src/performance/performance.module.ts","../../../src/performance/rxfire.ts","../../../src/performance/firebase.ts","../../../src/performance/angular-fire-performance.ts"],"sourcesContent":["import { FirebasePerformance } from 'firebase/performance';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Performance extends FirebasePerformance {}\n\nexport class Performance {\n constructor(performance: FirebasePerformance) {\n return performance;\n }\n}\n\nexport const PERFORMANCE_PROVIDER_NAME = 'performance';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface PerformanceInstances extends Array<FirebasePerformance> {}\n\nexport class PerformanceInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME);\n }\n}\n\nexport const performanceInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders } from '@angular/core';\nimport { FirebasePerformance } from 'firebase/performance';\nimport { ɵgetDefaultInstanceOf, ɵmemoizeInstance, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Performance, PerformanceInstances, PERFORMANCE_PROVIDER_NAME } from './performance';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nexport const PROVIDED_PERFORMANCE_INSTANCES = new InjectionToken<Performance[]>('angularfire2.performance-instances');\n\nexport function defaultPerformanceInstanceFactory(provided: FirebasePerformance[]|undefined, defaultApp: FirebaseApp) {\n const defaultPerformance = ɵgetDefaultInstanceOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME, provided, defaultApp);\n return new Performance(defaultPerformance);\n}\n\nexport function performanceInstanceFactory(fn: () => FirebasePerformance) {\n return (zone: NgZone) => {\n const performance = ɵmemoizeInstance<FirebasePerformance>(fn, zone);\n return new Performance(performance);\n };\n}\n\nconst PERFORMANCE_INSTANCES_PROVIDER = {\n provide: PerformanceInstances,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_PERFORMANCE_INSTANCE_PROVIDER = {\n provide: Performance,\n useFactory: defaultPerformanceInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_PERFORMANCE_INSTANCE_PROVIDER,\n PERFORMANCE_INSTANCES_PROVIDER,\n ]\n})\nexport class PerformanceModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'perf');\n }\n}\n\nexport function providePerformance(fn: () => FirebasePerformance): ModuleWithProviders<PerformanceModule> {\n return {\n ngModule: PerformanceModule,\n providers: [{\n provide: PROVIDED_PERFORMANCE_INSTANCES,\n useFactory: performanceInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n traceUntil as _traceUntil,\n traceWhile as _traceWhile,\n traceUntilComplete as _traceUntilComplete,\n traceUntilFirst as _traceUntilFirst\n} from 'rxfire/performance';\n\nexport const traceUntil = ɵzoneWrap(_traceUntil, true);\nexport const traceWhile = ɵzoneWrap(_traceWhile, true);\nexport const traceUntilComplete = ɵzoneWrap(_traceUntilComplete, true);\nexport const traceUntilFirst = ɵzoneWrap(_traceUntilFirst, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/performance';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getPerformance as _getPerformance,\n initializePerformance as _initializePerformance,\n trace as _trace\n} from 'firebase/performance';\n\nexport const getPerformance = ɵzoneWrap(_getPerformance, true);\nexport const initializePerformance = ɵzoneWrap(_initializePerformance, true);\nexport const trace = ɵzoneWrap(_trace, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_traceUntil","_traceWhile","_traceUntilComplete","_traceUntilFirst","_getPerformance","_initializePerformance","_trace"],"mappings":";;;;;;;;;;;MASa,WAAW;IACtB,YAAY,WAAgC;QAC1C,OAAO,WAAW,CAAC;KACpB;CACF;AAEM,MAAM,yBAAyB,GAAG,aAAa,CAAC;MAK1C,oBAAoB;IAC/B;QACE,OAAO,kBAAkB,CAAsB,yBAAyB,CAAC,CAAC;KAC3E;CACF;MAEY,oBAAoB,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CACpD,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAsB,yBAAyB,CAAC,CAAC,CAAC,EACzF,QAAQ,EAAE;;ACrBL,MAAM,8BAA8B,GAAG,IAAI,cAAc,CAAgB,oCAAoC,CAAC,CAAC;SAEtG,iCAAiC,CAAC,QAAyC,EAAE,UAAuB;IAClH,MAAM,kBAAkB,GAAG,qBAAqB,CAAsB,yBAAyB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvH,OAAO,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAC7C,CAAC;SAEe,0BAA0B,CAAC,EAA6B;IACtE,OAAO,CAAC,IAAY;QAClB,MAAM,WAAW,GAAG,gBAAgB,CAAsB,EAAE,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,8BAA8B,GAAG;IACrC,OAAO,EAAE,oBAAoB;IAC7B,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,8BAA8B,CAAE;KAClD;CACF,CAAC;AAEF,MAAM,qCAAqC,GAAG;IAC5C,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,iCAAiC;IAC7C,IAAI,EAAE;QACJ,CAAC,IAAI,QAAQ,EAAE,EAAE,8BAA8B,CAAE;QACjD,WAAW;KACZ;CACF,CAAC;MAQW,iBAAiB;IAC5B;QACE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACtD;;8GAHU,iBAAiB;+GAAjB,iBAAiB;+GAAjB,iBAAiB,aALjB;QACT,qCAAqC;QACrC,8BAA8B;KAC/B;2FAEU,iBAAiB;kBAN7B,QAAQ;mBAAC;oBACR,SAAS,EAAE;wBACT,qCAAqC;wBACrC,8BAA8B;qBAC/B;iBACF;;SAOe,kBAAkB,CAAC,EAA6B;IAC9D,OAAO;QACL,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,CAAC;gBACV,OAAO,EAAE,8BAA8B;gBACvC,UAAU,EAAE,0BAA0B,CAAC,EAAE,CAAC;gBAC1C,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,MAAM;oBACN,sBAAsB;oBACtB,YAAY;iBACb;aACF,CAAC;KACH,CAAC;AACJ;;AC/DA;MASa,UAAU,GAAG,SAAS,CAACA,YAAW,EAAE,IAAI,EAAE;MAC1C,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,kBAAkB,GAAG,SAAS,CAACC,oBAAmB,EAAE,IAAI,EAAE;MAC1D,eAAe,GAAG,SAAS,CAACC,iBAAgB,EAAE,IAAI;;ACZ/D;MASa,cAAc,GAAG,SAAS,CAACC,gBAAe,EAAE,IAAI,EAAE;MAClD,qBAAqB,GAAG,SAAS,CAACC,uBAAsB,EAAE,IAAI,EAAE;MAChE,KAAK,GAAG,SAAS,CAACC,OAAM,EAAE,IAAI;;ACX3C;;;;;;"}
1
+ {"version":3,"file":"angular-fire-performance.js","sources":["../../../src/performance/performance.ts","../../../src/performance/performance.module.ts","../../../src/performance/rxfire.ts","../../../src/performance/firebase.ts","../../../src/performance/angular-fire-performance.ts"],"sourcesContent":["import { FirebasePerformance } from 'firebase/performance';\nimport { ɵgetAllInstancesOf } from '@angular/fire';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// tslint:disable-next-line:no-empty-interface\nexport interface Performance extends FirebasePerformance {}\n\nexport class Performance {\n constructor(performance: FirebasePerformance) {\n return performance;\n }\n}\n\nexport const PERFORMANCE_PROVIDER_NAME = 'performance';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface PerformanceInstances extends Array<FirebasePerformance> {}\n\nexport class PerformanceInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME);\n }\n}\n\nexport const performanceInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME))),\n distinct(),\n);\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, PLATFORM_ID, Injector } from '@angular/core';\nimport { FirebasePerformance } from 'firebase/performance';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Performance, PerformanceInstances, PERFORMANCE_PROVIDER_NAME } from './performance';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { isPlatformBrowser } from '@angular/common';\n\nexport const PROVIDED_PERFORMANCE_INSTANCES = new InjectionToken<Performance[]>('angularfire2.performance-instances');\n\nexport function defaultPerformanceInstanceFactory(\n provided: FirebasePerformance[]|undefined,\n defaultApp: FirebaseApp,\n // tslint:disable-next-line:ban-types\n platform: Object\n) {\n if (!isPlatformBrowser(platform)) { return null; }\n const defaultPerformance = ɵgetDefaultInstanceOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME, provided, defaultApp);\n return defaultPerformance && new Performance(defaultPerformance);\n}\n\nexport function performanceInstanceFactory(fn: (injector: Injector) => FirebasePerformance) {\n // tslint:disable-next-line:ban-types\n return (zone: NgZone, platform: Object, injector: Injector) => {\n if (!isPlatformBrowser(platform)) { return null; }\n const performance = zone.runOutsideAngular(() => fn(injector));\n return new Performance(performance);\n };\n}\n\nconst PERFORMANCE_INSTANCES_PROVIDER = {\n provide: PerformanceInstances,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_PERFORMANCE_INSTANCE_PROVIDER = {\n provide: Performance,\n useFactory: defaultPerformanceInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_PERFORMANCE_INSTANCE_PROVIDER,\n PERFORMANCE_INSTANCES_PROVIDER,\n ]\n})\nexport class PerformanceModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'perf');\n }\n}\n\nexport function providePerformance(fn: () => FirebasePerformance, ...deps: any[]): ModuleWithProviders<PerformanceModule> {\n return {\n ngModule: PerformanceModule,\n providers: [{\n provide: PROVIDED_PERFORMANCE_INSTANCES,\n useFactory: performanceInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n PLATFORM_ID,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }]\n };\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n traceUntil as _traceUntil,\n traceWhile as _traceWhile,\n traceUntilComplete as _traceUntilComplete,\n traceUntilFirst as _traceUntilFirst\n} from 'rxfire/performance';\n\nexport const traceUntil = ɵzoneWrap(_traceUntil, true);\nexport const traceWhile = ɵzoneWrap(_traceWhile, true);\nexport const traceUntilComplete = ɵzoneWrap(_traceUntilComplete, true);\nexport const traceUntilFirst = ɵzoneWrap(_traceUntilFirst, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/performance';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getPerformance as _getPerformance,\n initializePerformance as _initializePerformance,\n trace as _trace\n} from 'firebase/performance';\n\nexport const getPerformance = ɵzoneWrap(_getPerformance, true);\nexport const initializePerformance = ɵzoneWrap(_initializePerformance, true);\nexport const trace = ɵzoneWrap(_trace, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_traceUntil","_traceWhile","_traceUntilComplete","_traceUntilFirst","_getPerformance","_initializePerformance","_trace"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵmemoizeInstance, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
2
2
  import { timer, from } from 'rxjs';
3
3
  import { concatMap, distinct } from 'rxjs/operators';
4
4
  import * as i0 from '@angular/core';
5
- import { InjectionToken, Optional, NgModule, NgZone } from '@angular/core';
5
+ import { InjectionToken, Optional, APP_INITIALIZER, NgModule, NgZone, Injector } from '@angular/core';
6
+ 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';
7
+ export * from 'firebase/remote-config';
6
8
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
7
9
  import { registerVersion } from 'firebase/app';
8
10
  import { getValue as getValue$1, getString as getString$1, getNumber as getNumber$1, getBoolean as getBoolean$1, getAll as getAll$1 } from 'rxfire/remote-config';
9
- 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, setLogLevel as setLogLevel$1 } from 'firebase/remote-config';
10
- export * from 'firebase/remote-config';
11
11
 
12
12
  class RemoteConfig {
13
13
  constructor(remoteConfig) {
@@ -23,13 +23,21 @@ class RemoteConfigInstances {
23
23
  const remoteConfigInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(REMOTE_CONFIG_PROVIDER_NAME))), distinct());
24
24
 
25
25
  const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken('angularfire2.remote-config-instances');
26
- function defaultRemoteConfigInstanceFactory(provided, defaultApp) {
26
+ const IS_SUPPORTED = new InjectionToken('angularfire2.remote-config.isSupported');
27
+ const isSupportedSymbol = Symbol('angularfire2.remote-config.isSupported');
28
+ function defaultRemoteConfigInstanceFactory(isSupported, provided, defaultApp) {
29
+ if (!isSupported) {
30
+ return null;
31
+ }
27
32
  const defaultRemoteConfig = ɵgetDefaultInstanceOf(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);
28
- return new RemoteConfig(defaultRemoteConfig);
33
+ return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);
29
34
  }
30
35
  function remoteConfigInstanceFactory(fn) {
31
- return (zone) => {
32
- const remoteConfig = ɵmemoizeInstance(fn, zone);
36
+ return (zone, isSupported, injector) => {
37
+ if (!isSupported) {
38
+ return null;
39
+ }
40
+ const remoteConfig = zone.runOutsideAngular(() => fn(injector));
33
41
  return new RemoteConfig(remoteConfig);
34
42
  };
35
43
  }
@@ -43,6 +51,7 @@ const DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {
43
51
  provide: RemoteConfig,
44
52
  useFactory: defaultRemoteConfigInstanceFactory,
45
53
  deps: [
54
+ IS_SUPPORTED,
46
55
  [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES],
47
56
  FirebaseApp,
48
57
  ]
@@ -57,6 +66,11 @@ RemoteConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
57
66
  RemoteConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: RemoteConfigModule, providers: [
58
67
  DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
59
68
  REMOTE_CONFIG_INSTANCES_PROVIDER,
69
+ {
70
+ provide: APP_INITIALIZER,
71
+ useValue: () => isSupported$1().then(it => globalThis[isSupportedSymbol] = it),
72
+ multi: true,
73
+ },
60
74
  ] });
61
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: RemoteConfigModule, decorators: [{
62
76
  type: NgModule,
@@ -64,20 +78,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
64
78
  providers: [
65
79
  DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
66
80
  REMOTE_CONFIG_INSTANCES_PROVIDER,
81
+ {
82
+ provide: APP_INITIALIZER,
83
+ useValue: () => isSupported$1().then(it => globalThis[isSupportedSymbol] = it),
84
+ multi: true,
85
+ },
67
86
  ]
68
87
  }]
69
88
  }], ctorParameters: function () { return []; } });
70
- function provideRemoteConfig(fn) {
89
+ function provideRemoteConfig(fn, ...deps) {
71
90
  return {
72
91
  ngModule: RemoteConfigModule,
73
92
  providers: [{
93
+ provide: IS_SUPPORTED,
94
+ useFactory: () => globalThis[isSupportedSymbol],
95
+ }, {
74
96
  provide: PROVIDED_REMOTE_CONFIG_INSTANCES,
75
97
  useFactory: remoteConfigInstanceFactory(fn),
76
98
  multi: true,
77
99
  deps: [
78
100
  NgZone,
101
+ IS_SUPPORTED,
102
+ Injector,
79
103
  ɵAngularFireSchedulers,
80
104
  FirebaseApps,
105
+ ...deps,
81
106
  ]
82
107
  }]
83
108
  };
@@ -101,11 +126,12 @@ const getNumber = ɵzoneWrap(getNumber$2, true);
101
126
  const getRemoteConfig = ɵzoneWrap(getRemoteConfig$1, true);
102
127
  const getString = ɵzoneWrap(getString$2, true);
103
128
  const getValue = ɵzoneWrap(getValue$2, true);
129
+ const isSupported = ɵzoneWrap(isSupported$1, true);
104
130
  const setLogLevel = ɵzoneWrap(setLogLevel$1, true);
105
131
 
106
132
  /**
107
133
  * Generated bundle index. Do not edit.
108
134
  */
109
135
 
110
- export { RemoteConfig, RemoteConfigInstances, RemoteConfigModule, activate, ensureInitialized, fetchAndActivate, fetchConfig, getAll, getAllChanges, getBoolean, getBooleanChanges, getNumber, getNumberChanges, getRemoteConfig, getString, getStringChanges, getValue, getValueChanges, provideRemoteConfig, remoteConfigInstance$, setLogLevel };
136
+ export { RemoteConfig, RemoteConfigInstances, RemoteConfigModule, activate, ensureInitialized, fetchAndActivate, fetchConfig, getAll, getAllChanges, getBoolean, getBooleanChanges, getNumber, getNumberChanges, getRemoteConfig, getString, getStringChanges, getValue, getValueChanges, isSupported, provideRemoteConfig, remoteConfigInstance$, setLogLevel };
111
137
  //# sourceMappingURL=angular-fire-remote-config.js.map