@angular/fire 7.1.0-rc.5 → 7.2.0-canary.390691b

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 (72) hide show
  1. package/analytics/analytics.module.d.ts +3 -5
  2. package/analytics/firebase.d.ts +2 -2
  3. package/analytics/overrides.d.ts +1 -0
  4. package/analytics/screen-tracking.service.d.ts +2 -4
  5. package/analytics/user-tracking.service.d.ts +2 -4
  6. package/auth-guard/angular-fire-auth-guard.d.ts +5 -0
  7. package/auth-guard/auth-guard.d.ts +29 -0
  8. package/auth-guard/auth-guard.module.d.ts +7 -0
  9. package/auth-guard/package.json +11 -0
  10. package/auth-guard/public_api.d.ts +2 -0
  11. package/bundles/angular-fire-analytics.umd.js +63 -84
  12. package/bundles/angular-fire-analytics.umd.js.map +1 -1
  13. package/bundles/angular-fire-auth-guard.umd.js +109 -0
  14. package/bundles/angular-fire-auth-guard.umd.js.map +1 -0
  15. package/bundles/angular-fire-firestore-lite.umd.js +323 -6
  16. package/bundles/angular-fire-firestore-lite.umd.js.map +1 -1
  17. package/bundles/angular-fire-firestore.umd.js.map +1 -1
  18. package/bundles/angular-fire-messaging.umd.js +12 -18
  19. package/bundles/angular-fire-messaging.umd.js.map +1 -1
  20. package/bundles/angular-fire-remote-config.umd.js +12 -18
  21. package/bundles/angular-fire-remote-config.umd.js.map +1 -1
  22. package/bundles/angular-fire.umd.js +49 -6
  23. package/bundles/angular-fire.umd.js.map +1 -1
  24. package/core.d.ts +12 -0
  25. package/docs/version-7-upgrade.md +2 -2
  26. package/esm2015/analytics/analytics.module.js +9 -24
  27. package/esm2015/analytics/firebase.js +3 -3
  28. package/esm2015/analytics/overrides.js +3 -0
  29. package/esm2015/analytics/screen-tracking.service.js +22 -30
  30. package/esm2015/analytics/user-tracking.service.js +24 -23
  31. package/esm2015/auth-guard/angular-fire-auth-guard.js +5 -0
  32. package/esm2015/auth-guard/auth-guard.js +49 -0
  33. package/esm2015/auth-guard/auth-guard.module.js +20 -0
  34. package/esm2015/auth-guard/public_api.js +3 -0
  35. package/esm2015/core.js +47 -2
  36. package/esm2015/firestore/firestore.module.js +1 -1
  37. package/esm2015/firestore/lite/lite.module.js +5 -2
  38. package/esm2015/messaging/firebase.js +3 -3
  39. package/esm2015/messaging/messaging.module.js +9 -17
  40. package/esm2015/messaging/overrides.js +3 -0
  41. package/esm2015/remote-config/firebase.js +3 -3
  42. package/esm2015/remote-config/overrides.js +3 -0
  43. package/esm2015/remote-config/remote-config.module.js +8 -16
  44. package/esm2015/zones.js +3 -2
  45. package/fesm2015/angular-fire-analytics.js +53 -70
  46. package/fesm2015/angular-fire-analytics.js.map +1 -1
  47. package/fesm2015/angular-fire-auth-guard.js +72 -0
  48. package/fesm2015/angular-fire-auth-guard.js.map +1 -0
  49. package/fesm2015/angular-fire-firestore-lite.js +4 -1
  50. package/fesm2015/angular-fire-firestore-lite.js.map +1 -1
  51. package/fesm2015/angular-fire-firestore.js.map +1 -1
  52. package/fesm2015/angular-fire-messaging.js +11 -17
  53. package/fesm2015/angular-fire-messaging.js.map +1 -1
  54. package/fesm2015/angular-fire-remote-config.js +11 -17
  55. package/fesm2015/angular-fire-remote-config.js.map +1 -1
  56. package/fesm2015/angular-fire.js +49 -3
  57. package/fesm2015/angular-fire.js.map +1 -1
  58. package/firestore/firestore.module.d.ts +1 -1
  59. package/firestore/lite/lite.module.d.ts +1 -1
  60. package/messaging/firebase.d.ts +2 -2
  61. package/messaging/messaging.module.d.ts +2 -2
  62. package/messaging/overrides.d.ts +1 -0
  63. package/package.json +9 -10
  64. package/remote-config/firebase.d.ts +2 -2
  65. package/remote-config/overrides.d.ts +1 -0
  66. package/remote-config/remote-config.module.d.ts +2 -2
  67. package/schematics/deploy/actions.js +21 -13
  68. package/schematics/firebaseTools.js +22 -2
  69. package/schematics/setup/index.js +11 -3
  70. package/schematics/setup/prompts.js +1 -1
  71. package/schematics/utils.js +1 -1
  72. package/schematics/versions.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-analytics.js","sources":["../../../src/analytics/analytics.ts","../../../src/analytics/firebase.ts","../../../src/analytics/user-tracking.service.ts","../../../src/analytics/screen-tracking.service.ts","../../../src/analytics/analytics.module.ts","../../../src/analytics/angular-fire-analytics.ts"],"sourcesContent":["import { Analytics as FirebaseAnalytics } from 'firebase/analytics';\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 Analytics extends FirebaseAnalytics {}\n\nexport class Analytics {\n constructor(analytics: FirebaseAnalytics) {\n return analytics;\n }\n}\n\nexport const ANALYTICS_PROVIDER_NAME = 'analytics';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface AnalyticsInstances extends Array<FirebaseAnalytics> {}\n\nexport class AnalyticsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME);\n }\n}\n\nexport const analyticInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME))),\n distinct(),\n);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/analytics';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAnalytics as _getAnalytics,\n initializeAnalytics as _initializeAnalytics,\n isSupported as _isSupported,\n logEvent as _logEvent,\n setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled,\n setCurrentScreen as _setCurrentScreen,\n settings as _settings,\n setUserId as _setUserId,\n setUserProperties as _setUserProperties\n} from 'firebase/analytics';\n\nexport const getAnalytics = ɵzoneWrap(_getAnalytics, true);\nexport const initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);\nexport const isSupported = ɵzoneWrap(_isSupported, true);\nexport const logEvent = ɵzoneWrap(_logEvent, true);\nexport const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true);\nexport const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true);\nexport const settings = ɵzoneWrap(_settings, true);\nexport const setUserId = ɵzoneWrap(_setUserId, true);\nexport const setUserProperties = ɵzoneWrap(_setUserProperties, true);\n","import { Inject, Injectable, Injector, NgZone, OnDestroy } from '@angular/core';\nimport { Analytics } from './analytics';\nimport { Subscription } from 'rxjs';\nimport { VERSION } from '@angular/fire';\nimport { Auth, authState } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { setUserId } from './firebase';\nimport { analyticsInstanceFactory, defaultAnalyticsInstanceFactory, isSupportedPromiseSymbol, PROVIDED_ANALYTICS_INSTANCE_FACTORIES } from './analytics.module';\nimport { FirebaseApp } from '@angular/fire/app';\n\n@Injectable()\nexport class UserTrackingService implements OnDestroy {\n\n public readonly initialized: Promise<void>;\n private readonly disposables: Array<Subscription> = [];\n\n constructor(\n auth: Auth,\n zone: NgZone,\n @Inject(PROVIDED_ANALYTICS_INSTANCE_FACTORIES) analyticsInstanceFactories: Array<(injector: Injector) => Analytics>,\n injector: Injector,\n firebaseApp: FirebaseApp,\n ) {\n registerVersion('angularfire', VERSION.full, 'user-tracking');\n // Analytics is not ready to be injected yet, as the APP_INITIALIZER hasn't evulated yet, do this the hard way\n const analyticsInstance: Promise<Analytics|null> = globalThis[isSupportedPromiseSymbol].then((isSupported: boolean) => {\n const analyticsInstances = analyticsInstanceFactories.map(fn => analyticsInstanceFactory(fn)(zone, isSupported, injector));\n return defaultAnalyticsInstanceFactory(isSupported, analyticsInstances, firebaseApp);\n });\n let resolveInitialized: () => void;\n this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));\n this.disposables = [\n // TODO add credential tracking back in\n authState(auth).subscribe(user => {\n analyticsInstance.then(analytics => analytics && setUserId(analytics, user?.uid));\n resolveInitialized();\n }),\n ];\n }\n\n ngOnDestroy() {\n this.disposables.forEach(it => it.unsubscribe());\n }\n}\n","import { Inject, ComponentFactoryResolver, Injectable, NgZone, OnDestroy, Optional, Injector } from '@angular/core';\nimport { of, Subscription, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';\nimport { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { VERSION } from '@angular/fire';\nimport { FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\n\nimport { Analytics } from './analytics';\nimport { logEvent } from './firebase';\nimport { UserTrackingService } from './user-tracking.service';\nimport { analyticsInstanceFactory, defaultAnalyticsInstanceFactory, isSupportedPromiseSymbol, PROVIDED_ANALYTICS_INSTANCE_FACTORIES } from './analytics.module';\n\nconst FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';\nconst FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';\nconst FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';\nconst FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';\nconst FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';\nconst FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';\nconst FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';\nconst OUTLET_KEY = 'outlet';\nconst PAGE_PATH_KEY = 'page_path';\nconst PAGE_TITLE_KEY = 'page_title';\nconst SCREEN_CLASS_KEY = 'screen_class';\nconst SCREEN_NAME_KEY = 'screen_name';\nconst SCREEN_VIEW_EVENT = 'screen_view';\nconst EVENT_ORIGIN_AUTO = 'auto';\nconst SCREEN_INSTANCE_DELIMITER = '#';\n\n// this is an INT64 in iOS/Android but use INT32 cause javascript\nlet nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;\n\nconst knownScreenInstanceIDs: { [key: string]: number } = {};\n\nconst getScreenInstanceID = (params: { [key: string]: any }) => {\n // unique the screen class against the outlet name\n const screenInstanceKey = [\n params[SCREEN_CLASS_KEY],\n params[OUTLET_KEY]\n ].join(SCREEN_INSTANCE_DELIMITER);\n if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {\n return knownScreenInstanceIDs[screenInstanceKey];\n } else {\n const ret = nextScreenInstanceID++;\n knownScreenInstanceIDs[screenInstanceKey] = ret;\n return ret;\n }\n};\n\nexport const ɵscreenViewEvent = (\n router: Router,\n title: Title|null,\n componentFactoryResolver: ComponentFactoryResolver,\n): Observable<{\n [SCREEN_NAME_KEY]: string,\n [PAGE_PATH_KEY]: string,\n [FIREBASE_EVENT_ORIGIN_KEY]: 'auto',\n [FIREBASE_SCREEN_NAME_KEY]: string,\n [OUTLET_KEY]: string,\n [PAGE_TITLE_KEY]?: string,\n [SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: number,\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: number,\n}> => {\n const activationEndEvents = router.events.pipe(filter<ActivationEnd>(e => e instanceof ActivationEnd));\n return activationEndEvents.pipe(\n switchMap<ActivationEnd, Observable<Record<string, any>|null>>(activationEnd => {\n // router parseUrl is having trouble with outlets when they're empty\n // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty\n const urlTree = router.parseUrl(router.url.replace(/(?:\\().+(?:\\))/g, a => a.replace('://', ':///')));\n const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';\n const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);\n\n if (!actualSnapshot) {\n return of(null);\n }\n\n let actualDeep = actualSnapshot;\n while (actualDeep.firstChild) {\n actualDeep = actualDeep.firstChild;\n }\n const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';\n\n const params = {\n [SCREEN_NAME_KEY]: screenName,\n [PAGE_PATH_KEY]: `/${pagePath}`,\n [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,\n [FIREBASE_SCREEN_NAME_KEY]: screenName,\n [OUTLET_KEY]: activationEnd.snapshot.outlet\n };\n if (title) {\n params[PAGE_TITLE_KEY] = title.getTitle();\n }\n\n let component = actualSnapshot.component;\n if (component) {\n if (component === ɵEmptyOutletComponent) {\n let deepSnapshot = activationEnd.snapshot;\n // TODO when might there be mutple children, different outlets? explore\n while (deepSnapshot.firstChild) {\n deepSnapshot = deepSnapshot.firstChild;\n }\n component = deepSnapshot.component;\n }\n } else {\n component = activationEnd.snapshot.component;\n }\n\n if (typeof component === 'string') {\n return of({ ...params, [SCREEN_CLASS_KEY]: component });\n } else if (component) {\n const componentFactory = componentFactoryResolver.resolveComponentFactory(component);\n return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });\n }\n // lazy loads cause extra activations, ignore\n return of(null);\n }),\n filter(it => !!it),\n map(params => ({\n [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),\n ...params\n })),\n groupBy(it => it[OUTLET_KEY]),\n mergeMap(it => it.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n startWith<any, any>(undefined),\n pairwise(),\n map(([prior, current]) =>\n prior ? {\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],\n ...current\n } : current\n ),\n ))\n );\n};\n\n@Injectable()\nexport class ScreenTrackingService implements OnDestroy {\n\n private disposable: Subscription | undefined;\n\n constructor(\n @Optional() router: Router,\n @Optional() title: Title,\n componentFactoryResolver: ComponentFactoryResolver,\n zone: NgZone,\n @Optional() userTrackingService: UserTrackingService,\n firebaseApp: FirebaseApp,\n @Inject(PROVIDED_ANALYTICS_INSTANCE_FACTORIES) analyticsInstanceFactories: Array<(injector: Injector) => Analytics>,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'screen-tracking');\n if (!router) { return this; }\n // Analytics is not ready to be injected yet, as the APP_INITIALIZER hasn't evulated yet, do this the hard way\n const analyticsInstance: Promise<Analytics|null> = globalThis[isSupportedPromiseSymbol].then((isSupported: boolean) => {\n const analyticsInstances = analyticsInstanceFactories.map(fn => analyticsInstanceFactory(fn)(zone, isSupported, injector));\n return defaultAnalyticsInstanceFactory(isSupported, analyticsInstances, firebaseApp);\n });\n zone.runOutsideAngular(() => {\n this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(\n switchMap(async params => {\n if (userTrackingService) {\n await userTrackingService.initialized;\n }\n const analytics = await analyticsInstance;\n if (!analytics) { return; }\n return logEvent(analytics, SCREEN_VIEW_EVENT, params);\n })\n ).subscribe();\n });\n }\n\n ngOnDestroy() {\n if (this.disposable) {\n this.disposable.unsubscribe();\n }\n }\n\n}\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, APP_INITIALIZER, Injector } from '@angular/core';\nimport { Analytics as FirebaseAnalytics, isSupported } from 'firebase/analytics';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION } from '@angular/fire';\nimport { Analytics, ANALYTICS_PROVIDER_NAME, AnalyticsInstances } from './analytics';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { ScreenTrackingService } from './screen-tracking.service';\nimport { UserTrackingService } from './user-tracking.service';\n\nexport const PROVIDED_ANALYTICS_INSTANCE_FACTORIES = new InjectionToken<Array<(injector: Injector) => Analytics>>('angularfire2.analytics-instances.factory');\nexport const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken<Analytics[]>('angularfire2.analytics-instances');\nconst IS_SUPPORTED = new InjectionToken<boolean>('angularfire2.analytics.isSupported');\n\nconst isSupportedValueSymbol = Symbol('angularfire2.analytics.isSupported.value');\nexport const isSupportedPromiseSymbol = Symbol('angularfire2.analytics.isSupported');\n\nglobalThis[isSupportedPromiseSymbol] ||= isSupported().then(it => globalThis[isSupportedValueSymbol] = it);\n\nexport function defaultAnalyticsInstanceFactory(isSupported: boolean, provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp) {\n if (!isSupported) { return null; }\n const defaultAnalytics = ɵgetDefaultInstanceOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME, provided, defaultApp);\n return defaultAnalytics && new Analytics(defaultAnalytics);\n}\n\nexport function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics) {\n return (zone: NgZone, isSupported: boolean, injector: Injector) => {\n if (!isSupported) { return null; }\n const analytics = zone.runOutsideAngular(() => fn(injector));\n return new Analytics(analytics);\n };\n}\n\nconst ANALYTICS_INSTANCES_PROVIDER = {\n provide: AnalyticsInstances,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {\n provide: Analytics,\n useFactory: defaultAnalyticsInstanceFactory,\n deps: [\n IS_SUPPORTED,\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: () => globalThis[isSupportedPromiseSymbol],\n multi: true,\n }\n ]\n})\nexport class AnalyticsModule {\n constructor(\n @Optional() _screenTracking: ScreenTrackingService,\n @Optional() _userTracking: UserTrackingService,\n ) {\n registerVersion('angularfire', VERSION.full, 'analytics');\n }\n}\n\nexport function provideAnalytics(fn: (injector: Injector) => FirebaseAnalytics, ...deps: any[]): ModuleWithProviders<AnalyticsModule> {\n return {\n ngModule: AnalyticsModule,\n providers: [{\n provide: IS_SUPPORTED,\n useFactory: () => globalThis[isSupportedValueSymbol],\n }, {\n provide: PROVIDED_ANALYTICS_INSTANCE_FACTORIES,\n useValue: fn,\n multi: true,\n }, {\n provide: PROVIDED_ANALYTICS_INSTANCES,\n useFactory: analyticsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n IS_SUPPORTED,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }]\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_getAnalytics","_initializeAnalytics","_isSupported","_logEvent","_setAnalyticsCollectionEnabled","_setCurrentScreen","_settings","_setUserId","_setUserProperties","isSupported"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-analytics.js","sources":["../../../src/analytics/analytics.ts","../../../src/analytics/overrides.ts","../../../src/analytics/firebase.ts","../../../src/analytics/user-tracking.service.ts","../../../src/analytics/screen-tracking.service.ts","../../../src/analytics/analytics.module.ts","../../../src/analytics/angular-fire-analytics.ts"],"sourcesContent":["import { Analytics as FirebaseAnalytics } from 'firebase/analytics';\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 Analytics extends FirebaseAnalytics {}\n\nexport class Analytics {\n constructor(analytics: FirebaseAnalytics) {\n return analytics;\n }\n}\n\nexport const ANALYTICS_PROVIDER_NAME = 'analytics';\n\n// tslint:disable-next-line:no-empty-interface\nexport interface AnalyticsInstances extends Array<FirebaseAnalytics> {}\n\nexport class AnalyticsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME);\n }\n}\n\nexport const analyticInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME))),\n distinct(),\n);\n","import { ɵisAnalyticsSupportedFactory } from '@angular/fire';\n\nexport const isSupported = ɵisAnalyticsSupportedFactory.async;\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/analytics';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAnalytics as _getAnalytics,\n initializeAnalytics as _initializeAnalytics,\n logEvent as _logEvent,\n setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled,\n setCurrentScreen as _setCurrentScreen,\n settings as _settings,\n setUserId as _setUserId,\n setUserProperties as _setUserProperties\n} from 'firebase/analytics';\n\nexport {\n isSupported\n} from './overrides';\n\nexport const getAnalytics = ɵzoneWrap(_getAnalytics, true);\nexport const initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);\nexport const logEvent = ɵzoneWrap(_logEvent, true);\nexport const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true);\nexport const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true);\nexport const settings = ɵzoneWrap(_settings, true);\nexport const setUserId = ɵzoneWrap(_setUserId, true);\nexport const setUserProperties = ɵzoneWrap(_setUserProperties, true);\n","import { Injectable, Injector, NgZone, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { VERSION } from '@angular/fire';\nimport { Auth, authState } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\n\nimport { Analytics } from './analytics';\nimport { setUserId, isSupported } from './firebase';\n\n@Injectable()\nexport class UserTrackingService implements OnDestroy {\n\n public readonly initialized: Promise<void>;\n private disposables: Array<Subscription> = [];\n\n constructor(\n auth: Auth,\n zone: NgZone,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'user-tracking');\n let resolveInitialized: () => void;\n this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (analytics) {\n this.disposables = [\n // TODO add credential tracking back in\n authState(auth).subscribe(user => {\n setUserId(analytics, user?.uid);\n resolveInitialized();\n }),\n ];\n } else {\n resolveInitialized();\n }\n });\n }\n\n ngOnDestroy() {\n this.disposables.forEach(it => it.unsubscribe());\n }\n}\n","import { ComponentFactoryResolver, Injectable, NgZone, OnDestroy, Optional, Injector } from '@angular/core';\nimport { of, Subscription, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';\nimport { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { VERSION } from '@angular/fire';\nimport { registerVersion } from 'firebase/app';\n\nimport { Analytics } from './analytics';\nimport { logEvent, isSupported } from './firebase';\nimport { UserTrackingService } from './user-tracking.service';\n\nconst FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';\nconst FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';\nconst FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';\nconst FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';\nconst FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';\nconst FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';\nconst FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';\nconst OUTLET_KEY = 'outlet';\nconst PAGE_PATH_KEY = 'page_path';\nconst PAGE_TITLE_KEY = 'page_title';\nconst SCREEN_CLASS_KEY = 'screen_class';\nconst SCREEN_NAME_KEY = 'screen_name';\nconst SCREEN_VIEW_EVENT = 'screen_view';\nconst EVENT_ORIGIN_AUTO = 'auto';\nconst SCREEN_INSTANCE_DELIMITER = '#';\n\n// this is an INT64 in iOS/Android but use INT32 cause javascript\nlet nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;\n\nconst knownScreenInstanceIDs: { [key: string]: number } = {};\n\nconst getScreenInstanceID = (params: { [key: string]: any }) => {\n // unique the screen class against the outlet name\n const screenInstanceKey = [\n params[SCREEN_CLASS_KEY],\n params[OUTLET_KEY]\n ].join(SCREEN_INSTANCE_DELIMITER);\n if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {\n return knownScreenInstanceIDs[screenInstanceKey];\n } else {\n const ret = nextScreenInstanceID++;\n knownScreenInstanceIDs[screenInstanceKey] = ret;\n return ret;\n }\n};\n\nexport const ɵscreenViewEvent = (\n router: Router,\n title: Title|null,\n componentFactoryResolver: ComponentFactoryResolver,\n): Observable<{\n [SCREEN_NAME_KEY]: string,\n [PAGE_PATH_KEY]: string,\n [FIREBASE_EVENT_ORIGIN_KEY]: 'auto',\n [FIREBASE_SCREEN_NAME_KEY]: string,\n [OUTLET_KEY]: string,\n [PAGE_TITLE_KEY]?: string,\n [SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: number,\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: number,\n}> => {\n const activationEndEvents = router.events.pipe(filter<ActivationEnd>(e => e instanceof ActivationEnd));\n return activationEndEvents.pipe(\n switchMap<ActivationEnd, Observable<Record<string, any>|null>>(activationEnd => {\n // router parseUrl is having trouble with outlets when they're empty\n // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty\n const urlTree = router.parseUrl(router.url.replace(/(?:\\().+(?:\\))/g, a => a.replace('://', ':///')));\n const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';\n const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);\n\n if (!actualSnapshot) {\n return of(null);\n }\n\n let actualDeep = actualSnapshot;\n while (actualDeep.firstChild) {\n actualDeep = actualDeep.firstChild;\n }\n const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';\n\n const params = {\n [SCREEN_NAME_KEY]: screenName,\n [PAGE_PATH_KEY]: `/${pagePath}`,\n [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,\n [FIREBASE_SCREEN_NAME_KEY]: screenName,\n [OUTLET_KEY]: activationEnd.snapshot.outlet\n };\n if (title) {\n params[PAGE_TITLE_KEY] = title.getTitle();\n }\n\n let component = actualSnapshot.component;\n if (component) {\n if (component === ɵEmptyOutletComponent) {\n let deepSnapshot = activationEnd.snapshot;\n // TODO when might there be mutple children, different outlets? explore\n while (deepSnapshot.firstChild) {\n deepSnapshot = deepSnapshot.firstChild;\n }\n component = deepSnapshot.component;\n }\n } else {\n component = activationEnd.snapshot.component;\n }\n\n if (typeof component === 'string') {\n return of({ ...params, [SCREEN_CLASS_KEY]: component });\n } else if (component) {\n const componentFactory = componentFactoryResolver.resolveComponentFactory(component);\n return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });\n }\n // lazy loads cause extra activations, ignore\n return of(null);\n }),\n filter(it => !!it),\n map(params => ({\n [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),\n ...params\n })),\n groupBy(it => it[OUTLET_KEY]),\n mergeMap(it => it.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n startWith<any, any>(undefined),\n pairwise(),\n map(([prior, current]) =>\n prior ? {\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],\n ...current\n } : current\n ),\n ))\n );\n};\n\n@Injectable()\nexport class ScreenTrackingService implements OnDestroy {\n\n private disposable: Subscription | undefined;\n\n constructor(\n @Optional() router: Router,\n @Optional() title: Title,\n componentFactoryResolver: ComponentFactoryResolver,\n zone: NgZone,\n @Optional() userTrackingService: UserTrackingService,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'screen-tracking');\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (!router || !analytics) { return; }\n zone.runOutsideAngular(() => {\n this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(\n switchMap(async params => {\n if (userTrackingService) { await userTrackingService.initialized; }\n return logEvent(analytics, SCREEN_VIEW_EVENT, params);\n })\n ).subscribe();\n });\n });\n }\n\n ngOnDestroy() {\n if (this.disposable) {\n this.disposable.unsubscribe();\n }\n }\n\n}\n","import { NgModule, Optional, NgZone, InjectionToken, ModuleWithProviders, APP_INITIALIZER, Injector } from '@angular/core';\nimport { Analytics as FirebaseAnalytics } from 'firebase/analytics';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION, ɵisAnalyticsSupportedFactory } from '@angular/fire';\nimport { Analytics, ANALYTICS_PROVIDER_NAME, AnalyticsInstances } from './analytics';\nimport { FirebaseApps, FirebaseApp } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { ScreenTrackingService } from './screen-tracking.service';\nimport { UserTrackingService } from './user-tracking.service';\n\nexport const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken<Analytics[]>('angularfire2.analytics-instances');\n\nexport function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp) {\n if (!ɵisAnalyticsSupportedFactory.sync()) { return null; }\n const defaultAnalytics = ɵgetDefaultInstanceOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME, provided, defaultApp);\n return defaultAnalytics && new Analytics(defaultAnalytics);\n}\n\nexport function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics) {\n return (zone: NgZone, injector: Injector) => {\n if (!ɵisAnalyticsSupportedFactory.sync()) { return null; }\n const analytics = zone.runOutsideAngular(() => fn(injector));\n return new Analytics(analytics);\n };\n}\n\nconst ANALYTICS_INSTANCES_PROVIDER = {\n provide: AnalyticsInstances,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {\n provide: Analytics,\n useFactory: defaultAnalyticsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: ɵisAnalyticsSupportedFactory.async,\n multi: true,\n }\n ]\n})\nexport class AnalyticsModule {\n constructor(\n @Optional() _screenTrackingService: ScreenTrackingService,\n @Optional() _userTrackingService: UserTrackingService,\n ) {\n registerVersion('angularfire', VERSION.full, 'analytics');\n }\n}\n\nexport function provideAnalytics(fn: (injector: Injector) => FirebaseAnalytics, ...deps: any[]): ModuleWithProviders<AnalyticsModule> {\n return {\n ngModule: AnalyticsModule,\n providers: [{\n provide: PROVIDED_ANALYTICS_INSTANCES,\n useFactory: analyticsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }]\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_getAnalytics","_initializeAnalytics","_logEvent","_setAnalyticsCollectionEnabled","_setCurrentScreen","_settings","_setUserId","_setUserProperties"],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/router';
4
+ import { of, pipe } from 'rxjs';
5
+ import { map, take, switchMap } from 'rxjs/operators';
6
+ import * as i2 from '@angular/fire/auth';
7
+ import { user } from '@angular/fire/auth';
8
+ import { registerVersion } from 'firebase/app';
9
+ import { VERSION } from '@angular/fire';
10
+
11
+ const loggedIn = map(user => !!user);
12
+ class AuthGuard {
13
+ constructor(router, auth) {
14
+ this.router = router;
15
+ this.auth = auth;
16
+ this.canActivate = (next, state) => {
17
+ const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
18
+ return user(this.auth).pipe(take(1), authPipeFactory(next, state), map(can => {
19
+ if (typeof can === 'boolean') {
20
+ return can;
21
+ }
22
+ else if (Array.isArray(can)) {
23
+ return this.router.createUrlTree(can);
24
+ }
25
+ else {
26
+ // TODO(EdricChan03): Add tests
27
+ return this.router.parseUrl(can);
28
+ }
29
+ }));
30
+ };
31
+ }
32
+ }
33
+ AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuard, providedIn: 'any' });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuard, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'any'
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Auth }]; } });
41
+ const canActivate = (pipe) => ({
42
+ canActivate: [AuthGuard], data: { authGuardPipe: pipe }
43
+ });
44
+ const isNotAnonymous = map(user => !!user && !user.isAnonymous);
45
+ const idTokenResult = switchMap((user) => user ? user.getIdTokenResult() : of(null));
46
+ const emailVerified = map(user => !!user && user.emailVerified);
47
+ const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));
48
+ const hasCustomClaim = (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));
49
+ const redirectUnauthorizedTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));
50
+ const redirectLoggedInTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));
51
+
52
+ class AuthGuardModule {
53
+ constructor() {
54
+ registerVersion('angularfire', VERSION.full, 'auth-guard');
55
+ }
56
+ }
57
+ AuthGuardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
58
+ AuthGuardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule });
59
+ AuthGuardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule, providers: [AuthGuard] });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule, decorators: [{
61
+ type: NgModule,
62
+ args: [{
63
+ providers: [AuthGuard]
64
+ }]
65
+ }], ctorParameters: function () { return []; } });
66
+
67
+ /**
68
+ * Generated bundle index. Do not edit.
69
+ */
70
+
71
+ export { AuthGuard, AuthGuardModule, canActivate, customClaims, emailVerified, hasCustomClaim, idTokenResult, isNotAnonymous, loggedIn, redirectLoggedInTo, redirectUnauthorizedTo };
72
+ //# sourceMappingURL=angular-fire-auth-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fire-auth-guard.js","sources":["../../../src/auth-guard/auth-guard.ts","../../../src/auth-guard/auth-guard.module.ts","../../../src/auth-guard/angular-fire-auth-guard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable, of, pipe, UnaryFunction } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport { Auth, user } from '@angular/fire/auth';\nimport { User } from 'firebase/auth';\n\nexport type AuthPipeGenerator = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => AuthPipe;\nexport type AuthPipe = UnaryFunction<Observable<User|null>, Observable<boolean|string|any[]>>;\n\nexport const loggedIn: AuthPipe = map(user => !!user);\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(private router: Router, private auth: Auth) {}\n\n canActivate = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const authPipeFactory = next.data.authGuardPipe as AuthPipeGenerator || (() => loggedIn);\n return user(this.auth).pipe(\n take(1),\n authPipeFactory(next, state),\n map(can => {\n if (typeof can === 'boolean') {\n return can;\n } else if (Array.isArray(can)) {\n return this.router.createUrlTree(can);\n } else {\n // TODO(EdricChan03): Add tests\n return this.router.parseUrl(can);\n }\n })\n );\n }\n\n}\n\nexport const canActivate = (pipe: AuthPipeGenerator) => ({\n canActivate: [ AuthGuard ], data: { authGuardPipe: pipe }\n});\n\nexport const isNotAnonymous: AuthPipe = map(user => !!user && !user.isAnonymous);\nexport const idTokenResult = switchMap((user: User|null) => user ? user.getIdTokenResult() : of(null));\nexport const emailVerified: AuthPipe = map(user => !!user && user.emailVerified);\nexport const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));\nexport const hasCustomClaim: (claim: string) => AuthPipe =\n (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));\nexport const redirectUnauthorizedTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));\nexport const redirectLoggedInTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));\n","import { NgModule } from '@angular/core';\nimport { AuthGuard } from './auth-guard';\nimport { registerVersion } from 'firebase/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AuthGuard ]\n})\nexport class AuthGuardModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'auth-guard');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;MAUa,QAAQ,GAAa,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE;MAKzC,SAAS;IAEpB,YAAoB,MAAc,EAAU,IAAU;QAAlC,WAAM,GAAN,MAAM,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAM;QAEtD,gBAAW,GAAG,CAAC,IAA4B,EAAE,KAA0B;YACrE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAkC,KAAK,MAAM,QAAQ,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACzB,IAAI,CAAC,CAAC,CAAC,EACP,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAC5B,GAAG,CAAC,GAAG;gBACL,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;oBAC5B,OAAO,GAAG,CAAC;iBACZ;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBACvC;qBAAM;;oBAEL,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAClC;aACF,CAAC,CACH,CAAC;SACH,CAAA;KAlByD;;sGAF/C,SAAS;0GAAT,SAAS,cAFR,KAAK;2FAEN,SAAS;kBAHrB,UAAU;mBAAC;oBACV,UAAU,EAAE,KAAK;iBAClB;;MAyBY,WAAW,GAAG,CAAC,IAAuB,MAAM;IACvD,WAAW,EAAE,CAAE,SAAS,CAAE,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;CAC1D,EAAE;MAEU,cAAc,GAAa,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MACpE,aAAa,GAAG,SAAS,CAAC,CAAC,IAAe,KAAK,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;MAC1F,aAAa,GAAa,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;MACpE,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,aAAa,GAAG,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE;MACpG,cAAc,GACzB,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,IAAK,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;MACjE,sBAAsB,GACjC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,EAAE;MACzD,kBAAkB,GAC7B,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC;;MC5C/D,eAAe;IAC1B;QACE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KAC5D;;4GAHU,eAAe;6GAAf,eAAe;6GAAf,eAAe,aAFf,CAAE,SAAS,CAAE;2FAEb,eAAe;kBAH3B,QAAQ;mBAAC;oBACR,SAAS,EAAE,CAAE,SAAS,CAAE;iBACzB;;;ACPD;;;;;;"}
@@ -6,6 +6,7 @@ import { InjectionToken, Optional, NgModule, NgZone, Injector } from '@angular/c
6
6
  import { AuthInstances } from '@angular/fire/auth';
7
7
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
8
8
  import { registerVersion } from 'firebase/app';
9
+ import { AppCheckInstances } from '@angular/fire/app-check';
9
10
  import { collection as collection$1, collectionData as collectionData$1, doc as doc$1, docData as docData$1, snapToData as snapToData$1, fromRef as fromRef$1 } from 'rxfire/firestore/lite';
10
11
  import { addDoc as addDoc$1, arrayRemove as arrayRemove$1, arrayUnion as arrayUnion$1, collection as collection$2, collectionGroup as collectionGroup$1, connectFirestoreEmulator as connectFirestoreEmulator$1, deleteDoc as deleteDoc$1, deleteField as deleteField$1, doc as doc$2, documentId as documentId$1, endAt as endAt$1, endBefore as endBefore$1, getDoc as getDoc$1, getDocs as getDocs$1, getFirestore as getFirestore$1, increment as increment$1, initializeFirestore as initializeFirestore$1, limit as limit$1, limitToLast as limitToLast$1, orderBy as orderBy$1, query as query$1, queryEqual as queryEqual$1, refEqual as refEqual$1, runTransaction as runTransaction$1, serverTimestamp as serverTimestamp$1, setDoc as setDoc$1, setLogLevel as setLogLevel$1, snapshotEqual as snapshotEqual$1, startAfter as startAfter$1, startAt as startAt$1, terminate as terminate$1, updateDoc as updateDoc$1, where as where$1, writeBatch as writeBatch$1 } from 'firebase/firestore/lite';
11
12
  export * from 'firebase/firestore/lite';
@@ -68,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
68
69
  ]
69
70
  }]
70
71
  }], ctorParameters: function () { return []; } });
71
- function provideFirestore(fn) {
72
+ function provideFirestore(fn, ...deps) {
72
73
  return {
73
74
  ngModule: FirestoreModule,
74
75
  providers: [{
@@ -82,6 +83,8 @@ function provideFirestore(fn) {
82
83
  FirebaseApps,
83
84
  // Firestore+Auth work better if Auth is loaded first
84
85
  [new Optional(), AuthInstances],
86
+ [new Optional(), AppCheckInstances],
87
+ ...deps,
85
88
  ]
86
89
  }]
87
90
  };
@@ -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, 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
+ {"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';\nimport { AppCheckInstances } from '@angular/fire/app-check';\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: (injector: Injector) => 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 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 +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, 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":";;;;;;;;;;;;;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,kBAAkB,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAClD,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,gBAAgB,GAAG,qBAAqB,CAAoB,uBAAuB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjH,OAAO,gBAAgB,IAAI,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC7D,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,KAAK,CAAC,CAAC;KACrD;;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;MAca,iBAAiB,GAAG,SAAS,CAACA,mBAAkB,EAAE,IAAI,EAAE;MACxD,mBAAmB,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MACnD,aAAa,GAAG,SAAS,CAACC,eAAc,EAAE,IAAI,EAAE;MAChD,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,cAAc,GAAG,SAAS,CAACC,gBAAe,EAAE,IAAI,EAAE;MAClD,YAAY,GAAG,SAAS,CAACC,KAAI,EAAE,IAAI,EAAE;MACrC,OAAO,GAAG,SAAS,CAACC,SAAQ,EAAE,IAAI,EAAE;MACpC,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,OAAO,GAAG,SAAS,CAACC,SAAQ,EAAE,IAAI;;ACtB/C;MAsDa,MAAM,GAAG,SAAS,CAACC,QAAO,EAAE,IAAI,EAAE;MAClC,WAAW,GAAG,SAAS,CAACC,aAAY,EAAE,IAAI,EAAE;MAC5C,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,yBAAyB,GAAG,SAAS,CAACC,2BAA0B,EAAE,IAAI,EAAE;MACxE,UAAU,GAAG,SAAS,CAACX,YAAW,EAAE,IAAI,EAAE;MAC1C,eAAe,GAAG,SAAS,CAACY,iBAAgB,EAAE,IAAI,EAAE;MACpD,wBAAwB,GAAG,SAAS,CAACC,0BAAyB,EAAE,IAAI,EAAE;MACtE,SAAS,GAAG,SAAS,CAACC,WAAU,EAAE,IAAI,EAAE;MACxC,WAAW,GAAG,SAAS,CAACC,aAAY,EAAE,IAAI,EAAE;MAC5C,cAAc,GAAG,SAAS,CAACC,gBAAe,EAAE,IAAI,EAAE;MAClD,GAAG,GAAG,SAAS,CAACZ,KAAI,EAAE,IAAI,EAAE;MAC5B,UAAU,GAAG,SAAS,CAACa,YAAW,EAAE,IAAI,EAAE;MAC1C,0BAA0B,GAAG,SAAS,CAACC,4BAA2B,EAAE,IAAI,EAAE;MAC1E,kCAAkC,GAAG,SAAS,CAACC,oCAAmC,EAAE,IAAI,EAAE;MAC1F,aAAa,GAAG,SAAS,CAACC,eAAc,EAAE,IAAI,EAAE;MAChD,KAAK,GAAG,SAAS,CAACC,OAAM,EAAE,IAAI,EAAE;MAChC,SAAS,GAAG,SAAS,CAACC,WAAU,EAAE,IAAI,EAAE;MACxC,MAAM,GAAG,SAAS,CAACC,QAAO,EAAE,IAAI,EAAE;MAClC,eAAe,GAAG,SAAS,CAACC,iBAAgB,EAAE,IAAI,EAAE;MACpD,gBAAgB,GAAG,SAAS,CAACC,kBAAiB,EAAE,IAAI,EAAE;MACtD,OAAO,GAAG,SAAS,CAACC,SAAQ,EAAE,IAAI,EAAE;MACpC,gBAAgB,GAAG,SAAS,CAACC,kBAAiB,EAAE,IAAI,EAAE;MACtD,iBAAiB,GAAG,SAAS,CAACC,mBAAkB,EAAE,IAAI,EAAE;MACxD,YAAY,GAAG,SAAS,CAACC,cAAa,EAAE,IAAI,EAAE;MAC9C,SAAS,GAAG,SAAS,CAACC,WAAU,EAAE,IAAI,EAAE;MACxC,mBAAmB,GAAG,SAAS,CAACC,qBAAoB,EAAE,IAAI,EAAE;MAC5D,KAAK,GAAG,SAAS,CAACC,OAAM,EAAE,IAAI,EAAE;MAChC,WAAW,GAAG,SAAS,CAACC,aAAY,EAAE,IAAI,EAAE;MAC5C,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,iBAAiB,GAAG,SAAS,CAACC,mBAAkB,EAAE,IAAI,EAAE;MACxD,OAAO,GAAG,SAAS,CAACC,SAAQ,EAAE,IAAI,EAAE;MACpC,KAAK,GAAG,SAAS,CAACC,OAAM,EAAE,IAAI,EAAE;MAChC,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,QAAQ,GAAG,SAAS,CAACC,UAAS,EAAE,IAAI,EAAE;MACtC,cAAc,GAAG,SAAS,CAACC,gBAAe,EAAE,IAAI,EAAE;MAClD,eAAe,GAAG,SAAS,CAACC,iBAAgB,EAAE,IAAI,EAAE;MACpD,MAAM,GAAG,SAAS,CAACC,QAAO,EAAE,IAAI,EAAE;MAClC,WAAW,GAAG,SAAS,CAACC,aAAY,EAAE,IAAI,EAAE;MAC5C,aAAa,GAAG,SAAS,CAACC,eAAc,EAAE,IAAI,EAAE;MAChD,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI,EAAE;MAC1C,OAAO,GAAG,SAAS,CAACC,SAAQ,EAAE,IAAI,EAAE;MACpC,SAAS,GAAG,SAAS,CAACC,WAAU,EAAE,IAAI,EAAE;MACxC,SAAS,GAAG,SAAS,CAACC,WAAU,EAAE,IAAI,EAAE;MACxC,oBAAoB,GAAG,SAAS,CAACC,sBAAqB,EAAE,IAAI,EAAE;MAC9D,KAAK,GAAG,SAAS,CAACC,OAAM,EAAE,IAAI,EAAE;MAChC,UAAU,GAAG,SAAS,CAACC,YAAW,EAAE,IAAI;;ACrGrD;;;;;;"}
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: (injector: Injector) => 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,12 +1,12 @@
1
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf, ɵisMessagingSupportedFactory, ɵ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
5
  import { InjectionToken, Optional, APP_INITIALIZER, NgModule, NgZone, Injector } from '@angular/core';
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
- export * from 'firebase/messaging';
8
6
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
9
7
  import { registerVersion } from 'firebase/app';
8
+ import { deleteToken as deleteToken$1, getMessaging as getMessaging$1, getToken as getToken$1, onMessage as onMessage$1 } from 'firebase/messaging';
9
+ export * from 'firebase/messaging';
10
10
 
11
11
  class Messaging {
12
12
  constructor(messaging) {
@@ -22,18 +22,16 @@ class MessagingInstances {
22
22
  const messagingInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(MESSAGING_PROVIDER_NAME))), distinct());
23
23
 
24
24
  const PROVIDED_MESSAGING_INSTANCES = new InjectionToken('angularfire2.messaging-instances');
25
- const IS_SUPPORTED = new InjectionToken('angularfire2.messaging.isSupported');
26
- const isSupportedSymbol = Symbol('angularfire2.messaging.isSupported');
27
- function defaultMessagingInstanceFactory(isSupported, provided, defaultApp) {
28
- if (!isSupported) {
25
+ function defaultMessagingInstanceFactory(provided, defaultApp) {
26
+ if (!ɵisMessagingSupportedFactory.sync()) {
29
27
  return null;
30
28
  }
31
29
  const defaultMessaging = ɵgetDefaultInstanceOf(MESSAGING_PROVIDER_NAME, provided, defaultApp);
32
30
  return defaultMessaging && new Messaging(defaultMessaging);
33
31
  }
34
32
  function messagingInstanceFactory(fn) {
35
- return (zone, isSupported, injector) => {
36
- if (!isSupported) {
33
+ return (zone, injector) => {
34
+ if (!ɵisMessagingSupportedFactory.sync()) {
37
35
  return null;
38
36
  }
39
37
  const messaging = zone.runOutsideAngular(() => fn(injector));
@@ -50,7 +48,6 @@ const DEFAULT_MESSAGING_INSTANCE_PROVIDER = {
50
48
  provide: Messaging,
51
49
  useFactory: defaultMessagingInstanceFactory,
52
50
  deps: [
53
- IS_SUPPORTED,
54
51
  [new Optional(), PROVIDED_MESSAGING_INSTANCES],
55
52
  FirebaseApp,
56
53
  ]
@@ -67,7 +64,7 @@ MessagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
67
64
  MESSAGING_INSTANCES_PROVIDER,
68
65
  {
69
66
  provide: APP_INITIALIZER,
70
- useValue: () => isSupported$1().then(it => globalThis[isSupportedSymbol] = it),
67
+ useValue: ɵisMessagingSupportedFactory.async,
71
68
  multi: true,
72
69
  },
73
70
  ] });
@@ -79,7 +76,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
79
76
  MESSAGING_INSTANCES_PROVIDER,
80
77
  {
81
78
  provide: APP_INITIALIZER,
82
- useValue: () => isSupported$1().then(it => globalThis[isSupportedSymbol] = it),
79
+ useValue: ɵisMessagingSupportedFactory.async,
83
80
  multi: true,
84
81
  },
85
82
  ]
@@ -89,15 +86,11 @@ function provideMessaging(fn, ...deps) {
89
86
  return {
90
87
  ngModule: MessagingModule,
91
88
  providers: [{
92
- provide: IS_SUPPORTED,
93
- useFactory: () => globalThis[isSupportedSymbol],
94
- }, {
95
89
  provide: PROVIDED_MESSAGING_INSTANCES,
96
90
  useFactory: messagingInstanceFactory(fn),
97
91
  multi: true,
98
92
  deps: [
99
93
  NgZone,
100
- IS_SUPPORTED,
101
94
  Injector,
102
95
  ɵAngularFireSchedulers,
103
96
  FirebaseApps,
@@ -107,11 +100,12 @@ function provideMessaging(fn, ...deps) {
107
100
  };
108
101
  }
109
102
 
103
+ const isSupported = ɵisMessagingSupportedFactory.async;
104
+
110
105
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
111
106
  const deleteToken = ɵzoneWrap(deleteToken$1, true);
112
107
  const getMessaging = ɵzoneWrap(getMessaging$1, true);
113
108
  const getToken = ɵzoneWrap(getToken$1, true);
114
- const isSupported = ɵzoneWrap(isSupported$1, true);
115
109
  const onMessage = ɵzoneWrap(onMessage$1, false);
116
110
 
117
111
  /**
@@ -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, 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
+ {"version":3,"file":"angular-fire-messaging.js","sources":["../../../src/messaging/messaging.ts","../../../src/messaging/messaging.module.ts","../../../src/messaging/overrides.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, Injector, APP_INITIALIZER } from '@angular/core';\nimport { Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { ɵgetDefaultInstanceOf, ɵAngularFireSchedulers, VERSION, ɵisMessagingSupportedFactory } 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');\n\nexport function defaultMessagingInstanceFactory(provided: FirebaseMessaging[]|undefined, defaultApp: FirebaseApp) {\n if (!ɵisMessagingSupportedFactory.sync()) { 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, injector: Injector) => {\n if (!ɵisMessagingSupportedFactory.sync()) { 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 [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: ɵisMessagingSupportedFactory.async,\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: PROVIDED_MESSAGING_INSTANCES,\n useFactory: messagingInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n }]\n };\n}\n","import { ɵisMessagingSupportedFactory } from '@angular/fire';\n\nexport const isSupported = ɵisMessagingSupportedFactory.async;\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 onMessage as _onMessage\n} from 'firebase/messaging';\n\nexport {\n isSupported\n} from './overrides';\n\nexport const deleteToken = ɵzoneWrap(_deleteToken, true);\nexport const getMessaging = ɵzoneWrap(_getMessaging, true);\nexport const getToken = ɵzoneWrap(_getToken, true);\nexport const onMessage = ɵzoneWrap(_onMessage, false);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_deleteToken","_getMessaging","_getToken","_onMessage"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, VERSION, ɵAngularFireSchedulers, ɵzoneWrap } from '@angular/fire';
1
+ import { ɵgetAllInstancesOf, ɵisRemoteConfigSupportedFactory, ɵ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
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';
8
6
  import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
9
7
  import { registerVersion } from 'firebase/app';
10
8
  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,18 +23,16 @@ 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
- 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) {
26
+ function defaultRemoteConfigInstanceFactory(provided, defaultApp) {
27
+ if (!ɵisRemoteConfigSupportedFactory.sync()) {
30
28
  return null;
31
29
  }
32
30
  const defaultRemoteConfig = ɵgetDefaultInstanceOf(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);
33
31
  return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);
34
32
  }
35
33
  function remoteConfigInstanceFactory(fn) {
36
- return (zone, isSupported, injector) => {
37
- if (!isSupported) {
34
+ return (zone, injector) => {
35
+ if (!ɵisRemoteConfigSupportedFactory.sync()) {
38
36
  return null;
39
37
  }
40
38
  const remoteConfig = zone.runOutsideAngular(() => fn(injector));
@@ -51,7 +49,6 @@ const DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {
51
49
  provide: RemoteConfig,
52
50
  useFactory: defaultRemoteConfigInstanceFactory,
53
51
  deps: [
54
- IS_SUPPORTED,
55
52
  [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES],
56
53
  FirebaseApp,
57
54
  ]
@@ -68,7 +65,7 @@ RemoteConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
68
65
  REMOTE_CONFIG_INSTANCES_PROVIDER,
69
66
  {
70
67
  provide: APP_INITIALIZER,
71
- useValue: () => isSupported$1().then(it => globalThis[isSupportedSymbol] = it),
68
+ useValue: ɵisRemoteConfigSupportedFactory.async,
72
69
  multi: true,
73
70
  },
74
71
  ] });
@@ -80,7 +77,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImpor
80
77
  REMOTE_CONFIG_INSTANCES_PROVIDER,
81
78
  {
82
79
  provide: APP_INITIALIZER,
83
- useValue: () => isSupported$1().then(it => globalThis[isSupportedSymbol] = it),
80
+ useValue: ɵisRemoteConfigSupportedFactory.async,
84
81
  multi: true,
85
82
  },
86
83
  ]
@@ -90,15 +87,11 @@ function provideRemoteConfig(fn, ...deps) {
90
87
  return {
91
88
  ngModule: RemoteConfigModule,
92
89
  providers: [{
93
- provide: IS_SUPPORTED,
94
- useFactory: () => globalThis[isSupportedSymbol],
95
- }, {
96
90
  provide: PROVIDED_REMOTE_CONFIG_INSTANCES,
97
91
  useFactory: remoteConfigInstanceFactory(fn),
98
92
  multi: true,
99
93
  deps: [
100
94
  NgZone,
101
- IS_SUPPORTED,
102
95
  Injector,
103
96
  ɵAngularFireSchedulers,
104
97
  FirebaseApps,
@@ -115,6 +108,8 @@ const getNumberChanges = ɵzoneWrap(getNumber$1, true);
115
108
  const getBooleanChanges = ɵzoneWrap(getBoolean$1, true);
116
109
  const getAllChanges = ɵzoneWrap(getAll$1, true);
117
110
 
111
+ const isSupported = ɵisRemoteConfigSupportedFactory.async;
112
+
118
113
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
119
114
  const activate = ɵzoneWrap(activate$1, true);
120
115
  const ensureInitialized = ɵzoneWrap(ensureInitialized$1, true);
@@ -126,7 +121,6 @@ const getNumber = ɵzoneWrap(getNumber$2, true);
126
121
  const getRemoteConfig = ɵzoneWrap(getRemoteConfig$1, true);
127
122
  const getString = ɵzoneWrap(getString$2, true);
128
123
  const getValue = ɵzoneWrap(getValue$2, true);
129
- const isSupported = ɵzoneWrap(isSupported$1, true);
130
124
  const setLogLevel = ɵzoneWrap(setLogLevel$1, true);
131
125
 
132
126
  /**