{"version":3,"file":"angular-fire-vertexai.mjs","sources":["../../../src/vertexai/vertexai.ts","../../../src/vertexai/vertexai.module.ts","../../../src/vertexai/firebase.ts","../../../src/vertexai/angular-fire-vertexai.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { VertexAI as FirebaseVertexAI } from 'firebase/vertexai';\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 VertexAI extends FirebaseVertexAI {}\n\nexport class VertexAI {\n  constructor(vertexai: FirebaseVertexAI) {\n    return vertexai;\n  }\n}\n\nexport const VERTEX_AI_PROVIDER_NAME = 'vertexai';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface VertexAIInstances extends Array<FirebaseVertexAI> {}\n\nexport class VertexAIInstances {\n  constructor() {\n    return ɵgetAllInstancesOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME);\n  }\n}\n\nexport const vertexAIInstance$ = timer(0, 300).pipe(\n  concatMap(() => from(ɵgetAllInstancesOf<FirebaseVertexAI>(VERTEX_AI_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 { registerVersion } from 'firebase/app';\nimport { VertexAI as FirebaseVertexAI } from 'firebase/vertexai';\nimport { VERTEX_AI_PROVIDER_NAME, VertexAI, VertexAIInstances } from './vertexai';\n\nexport const PROVIDED_VERTEX_AI_INSTANCES = new InjectionToken<VertexAI[]>('angularfire2.vertexai-instances');\n\nexport function defaultVertexAIInstanceFactory(provided: FirebaseVertexAI[]|undefined, defaultApp: FirebaseApp) {\n  const defaultVertexAI = ɵgetDefaultInstanceOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME, provided, defaultApp);\n  return defaultVertexAI && new VertexAI(defaultVertexAI);\n}\n\nexport function vertexAIInstanceFactory(fn: (injector: Injector) => FirebaseVertexAI) {\n  return (zone: NgZone, injector: Injector) => {\n    const vertexAI = zone.runOutsideAngular(() => fn(injector));\n    return new VertexAI(vertexAI);\n  };\n}\n\nconst VERTEX_AI_INSTANCES_PROVIDER = {\n  provide: VertexAIInstances,\n  deps: [\n    [new Optional(), PROVIDED_VERTEX_AI_INSTANCES ],\n  ]\n};\n\nconst DEFAULT_VERTEX_AI_INSTANCE_PROVIDER = {\n  provide: VertexAI,\n  useFactory: defaultVertexAIInstanceFactory,\n  deps: [\n    [new Optional(), PROVIDED_VERTEX_AI_INSTANCES ],\n    FirebaseApp,\n  ]\n};\n\n@NgModule({\n  providers: [\n    DEFAULT_VERTEX_AI_INSTANCE_PROVIDER,\n    VERTEX_AI_INSTANCES_PROVIDER,\n  ]\n})\nexport class VertexAIModule {\n  constructor() {\n    registerVersion('angularfire', VERSION.full, 'vertexai');\n  }\n}\n\nexport function provideVertexAI(fn: (injector: Injector) => FirebaseVertexAI, ...deps: any[]): EnvironmentProviders {\n  registerVersion('angularfire', VERSION.full, 'vertexai');\n\n  return makeEnvironmentProviders([\n    DEFAULT_VERTEX_AI_INSTANCE_PROVIDER,\n    VERTEX_AI_INSTANCES_PROVIDER,\n    {\n      provide: PROVIDED_VERTEX_AI_INSTANCES,\n      useFactory: vertexAIInstanceFactory(fn),\n      multi: true,\n      deps: [\n        NgZone,\n        Injector,\n        ɵAngularFireSchedulers,\n        FirebaseApps,\n        [new Optional(), AppCheckInstances ],\n        ...deps,\n      ]\n    }\n  ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/vertexai';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n  getGenerativeModel as _getGenerativeModel,\n  getVertexAI as _getVertexAI\n} from 'firebase/vertexai';\n\nexport const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true);\nexport const getVertexAI = ɵzoneWrap(_getVertexAI, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getGenerativeModel","_getVertexAI"],"mappings":"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"}