{"version":3,"file":"angular-fire-remote-config.mjs","sources":["../../../src/remote-config/remote-config.ts","../../../src/remote-config/remote-config.module.ts","../../../src/remote-config/rxfire.ts","../../../src/remote-config/firebase.ts","../../../src/remote-config/angular-fire-remote-config.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfig extends FirebaseRemoteConfig {}\n\nexport class RemoteConfig {\n  constructor(remoteConfig: FirebaseRemoteConfig) {\n    return remoteConfig;\n  }\n}\n\nexport const REMOTE_CONFIG_PROVIDER_NAME = 'remote-config';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfigInstances extends Array<FirebaseRemoteConfig> {}\n\nexport class RemoteConfigInstances {\n  constructor() {\n    return ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME);\n  }\n}\n\nexport const remoteConfigInstance$ = timer(0, 300).pipe(\n  concatMap(() => from(ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME))),\n  distinct(),\n);\n","import { isPlatformServer } from '@angular/common';\nimport {\n  EnvironmentProviders,\n  InjectionToken,\n  Injector,\n  NgModule,\n  NgZone,\n  Optional,\n  PLATFORM_ID,\n  makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { REMOTE_CONFIG_PROVIDER_NAME, RemoteConfig, RemoteConfigInstances } from './remote-config';\n\nexport const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken<RemoteConfig[]>('angularfire2.remote-config-instances');\n\nexport function defaultRemoteConfigInstanceFactory(\n  provided: FirebaseRemoteConfig[]|undefined,\n  defaultApp: FirebaseApp,\n  platformId: object,\n) {\n  if (isPlatformServer(platformId)) { return null; }\n  const defaultRemoteConfig = ɵgetDefaultInstanceOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);\n  return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);\n}\n\nexport function remoteConfigInstanceFactory(fn: (injector: Injector) => FirebaseRemoteConfig) {\n  return (zone: NgZone, injector: Injector, platformId: object) => {\n    if (isPlatformServer(platformId)) { return null; }\n    const remoteConfig = zone.runOutsideAngular(() => fn(injector));\n    return new RemoteConfig(remoteConfig);\n  };\n}\n\nconst REMOTE_CONFIG_INSTANCES_PROVIDER = {\n  provide: RemoteConfigInstances,\n  deps: [\n    [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n  ]\n};\n\nconst DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {\n  provide: RemoteConfig,\n  useFactory: defaultRemoteConfigInstanceFactory,\n  deps: [\n    [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n    FirebaseApp,\n    PLATFORM_ID,\n  ]\n};\n\n@NgModule({\n  providers: [\n    DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n    REMOTE_CONFIG_INSTANCES_PROVIDER,\n  ]\n})\nexport class RemoteConfigModule {\n  constructor() {\n    registerVersion('angularfire', VERSION.full, 'rc');\n  }\n}\n\nexport function provideRemoteConfig(\n  fn: (injector: Injector) => FirebaseRemoteConfig, ...deps: any[]\n): EnvironmentProviders {\n  registerVersion('angularfire', VERSION.full, 'rc');\n\n  return makeEnvironmentProviders([\n    DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n    REMOTE_CONFIG_INSTANCES_PROVIDER,\n    {\n      provide: PROVIDED_REMOTE_CONFIG_INSTANCES,\n      useFactory: remoteConfigInstanceFactory(fn),\n      multi: true,\n      deps: [\n        NgZone,\n        Injector,\n        PLATFORM_ID,\n        ɵAngularFireSchedulers,\n        FirebaseApps,\n        ...deps,\n      ]\n    }\n  ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n  getAll as _getAll,\n  getBoolean as _getBoolean,\n  getNumber as _getNumber,\n  getString as _getString,\n  getValue as _getValue\n} from 'rxfire/remote-config';\n\nexport const getAllChanges = ɵzoneWrap(_getAll, true);\nexport const getBooleanChanges = ɵzoneWrap(_getBoolean, true);\nexport const getNumberChanges = ɵzoneWrap(_getNumber, true);\nexport const getStringChanges = ɵzoneWrap(_getString, true);\nexport const getValueChanges = ɵzoneWrap(_getValue, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/remote-config';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n  activate as _activate,\n  ensureInitialized as _ensureInitialized,\n  fetchAndActivate as _fetchAndActivate,\n  fetchConfig as _fetchConfig,\n  getAll as _getAll,\n  getBoolean as _getBoolean,\n  getNumber as _getNumber,\n  getRemoteConfig as _getRemoteConfig,\n  getString as _getString,\n  getValue as _getValue,\n  isSupported as _isSupported,\n  setCustomSignals as _setCustomSignals,\n  setLogLevel as _setLogLevel\n} from 'firebase/remote-config';\n\nexport const activate = ɵzoneWrap(_activate, true);\nexport const ensureInitialized = ɵzoneWrap(_ensureInitialized, true);\nexport const fetchAndActivate = ɵzoneWrap(_fetchAndActivate, true);\nexport const fetchConfig = ɵzoneWrap(_fetchConfig, true);\nexport const getAll = ɵzoneWrap(_getAll, true);\nexport const getBoolean = ɵzoneWrap(_getBoolean, true);\nexport const getNumber = ɵzoneWrap(_getNumber, true);\nexport const getRemoteConfig = ɵzoneWrap(_getRemoteConfig, true);\nexport const getString = ɵzoneWrap(_getString, true);\nexport const getValue = ɵzoneWrap(_getValue, true);\nexport const isSupported = ɵzoneWrap(_isSupported, true);\nexport const setCustomSignals = ɵzoneWrap(_setCustomSignals, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getAll","_getBoolean","_getNumber","_getString","_getValue","_activate","_ensureInitialized","_fetchAndActivate","_fetchConfig","_getRemoteConfig","_isSupported","_setCustomSignals","_setLogLevel"],"mappings":"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"}