{"version":3,"file":"angular-fire-functions.mjs","sources":["../../../src/functions/functions.ts","../../../src/functions/functions.module.ts","../../../src/functions/rxfire.ts","../../../src/functions/firebase.ts","../../../src/functions/angular-fire-functions.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Functions as FirebaseFunctions } from 'firebase/functions';\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 Functions extends FirebaseFunctions {}\n\nexport class Functions {\n  constructor(functions: FirebaseFunctions) {\n    return functions;\n  }\n}\n\nexport const FUNCTIONS_PROVIDER_NAME = 'functions';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface FunctionsInstances extends Array<FirebaseFunctions> {}\n\nexport class FunctionsInstances {\n  constructor() {\n    return ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME);\n  }\n}\n\nexport const functionInstance$ = timer(0, 300).pipe(\n  concatMap(() => from(ɵgetAllInstancesOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME))),\n  distinct(),\n);\n","import {\n  EnvironmentProviders,\n  InjectionToken,\n  Injector,\n  NgModule,\n  NgZone,\n  Optional,\n  makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { AppCheckInstances } from '@angular/fire/app-check';\nimport { AuthInstances } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { Functions as FirebaseFunctions } from 'firebase/functions';\nimport { FUNCTIONS_PROVIDER_NAME, Functions, FunctionsInstances } from './functions';\n\nexport const PROVIDED_FUNCTIONS_INSTANCES = new InjectionToken<Functions[]>('angularfire2.functions-instances');\n\nexport function defaultFunctionsInstanceFactory(provided: FirebaseFunctions[]|undefined, defaultApp: FirebaseApp) {\n  const defaultAuth = ɵgetDefaultInstanceOf<FirebaseFunctions>(FUNCTIONS_PROVIDER_NAME, provided, defaultApp);\n  return defaultAuth && new Functions(defaultAuth);\n}\n\nexport function functionsInstanceFactory(fn: (injector: Injector) => FirebaseFunctions) {\n  return (zone: NgZone, injector: Injector) => {\n    const functions = zone.runOutsideAngular(() => fn(injector));\n    return new Functions(functions);\n  };\n}\n\nconst FUNCTIONS_INSTANCES_PROVIDER = {\n  provide: FunctionsInstances,\n  deps: [\n    [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n  ]\n};\n\nconst DEFAULT_FUNCTIONS_INSTANCE_PROVIDER = {\n  provide: Functions,\n  useFactory: defaultFunctionsInstanceFactory,\n  deps: [\n    [new Optional(), PROVIDED_FUNCTIONS_INSTANCES ],\n    FirebaseApp,\n  ]\n};\n\n@NgModule({\n  providers: [\n    DEFAULT_FUNCTIONS_INSTANCE_PROVIDER,\n    FUNCTIONS_INSTANCES_PROVIDER,\n  ]\n})\nexport class FunctionsModule {\n  constructor() {\n    registerVersion('angularfire', VERSION.full, 'fn');\n  }\n}\n\nexport function provideFunctions(fn: (injector: Injector) => FirebaseFunctions, ...deps: any[]): EnvironmentProviders {\n  registerVersion('angularfire', VERSION.full, 'fn');\n\n  return makeEnvironmentProviders([\n    DEFAULT_FUNCTIONS_INSTANCE_PROVIDER,\n    FUNCTIONS_INSTANCES_PROVIDER,\n    {\n      provide: PROVIDED_FUNCTIONS_INSTANCES,\n      useFactory: functionsInstanceFactory(fn),\n      multi: true,\n      deps: [\n        NgZone,\n        Injector,\n        ɵAngularFireSchedulers,\n        FirebaseApps,\n        // Defensively load Auth first, if provided\n        [new Optional(), AuthInstances ],\n        [new Optional(), AppCheckInstances ],\n        ...deps,\n      ]\n    }\n  ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n  httpsCallable as _httpsCallable\n} from 'rxfire/functions';\n\nexport const httpsCallableData = ɵzoneWrap(_httpsCallable, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/functions';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n  connectFunctionsEmulator as _connectFunctionsEmulator,\n  getFunctions as _getFunctions,\n  httpsCallable as _httpsCallable,\n  httpsCallableFromURL as _httpsCallableFromURL\n} from 'firebase/functions';\n\nexport const connectFunctionsEmulator = ɵzoneWrap(_connectFunctionsEmulator, true);\nexport const getFunctions = ɵzoneWrap(_getFunctions, true);\nexport const httpsCallable = ɵzoneWrap(_httpsCallable, true);\nexport const httpsCallableFromURL = ɵzoneWrap(_httpsCallableFromURL, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_httpsCallable","_connectFunctionsEmulator","_getFunctions","_httpsCallableFromURL"],"mappings":"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"}