UNPKG

@angular/fire

Version:
1 lines 6.34 kB
{"version":3,"file":"angular-fire-ai.mjs","sources":["../../../src/ai/ai.ts","../../../src/ai/ai.module.ts","../../../src/ai/firebase.ts","../../../src/ai/angular-fire-ai.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { AI as FirebaseAI } from 'firebase/ai';\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 AI extends FirebaseAI {}\n\nexport class AI {\n constructor(ai: FirebaseAI) {\n return ai;\n }\n}\n\nexport const AI_PROVIDER_NAME = 'AI';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AIInstances extends Array<FirebaseAI> {}\n\nexport class AIInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAI>(AI_PROVIDER_NAME);\n }\n}\n\nexport const AIInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAI>(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 { AI as FirebaseAI } from 'firebase/ai';\nimport { registerVersion } from 'firebase/app';\nimport { AI, AIInstances, AI_PROVIDER_NAME } from './ai';\n\nexport const PROVIDED_AI_INSTANCES = new InjectionToken<AI[]>('angularfire2.ai-instances');\n\nexport function defaultAIInstanceFactory(provided: FirebaseAI[]|undefined, defaultApp: FirebaseApp) {\n const defaultAI = ɵgetDefaultInstanceOf<FirebaseAI>(AI_PROVIDER_NAME, provided, defaultApp);\n return defaultAI && new AI(defaultAI);\n}\n\nexport function AIInstanceFactory(fn: (injector: Injector) => FirebaseAI) {\n return (zone: NgZone, injector: Injector) => {\n const ai = zone.runOutsideAngular(() => fn(injector));\n return new AI(ai);\n };\n}\n\nconst AI_INSTANCES_PROVIDER = {\n provide: AIInstances,\n deps: [\n [new Optional(), PROVIDED_AI_INSTANCES ],\n ]\n};\n\nconst DEFAULT_AI_INSTANCE_PROVIDER = {\n provide: AI,\n useFactory: defaultAIInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_AI_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_AI_INSTANCE_PROVIDER,\n AI_INSTANCES_PROVIDER,\n ]\n})\nexport class AIModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'ai');\n }\n}\n\nexport function provideAI(fn: (injector: Injector) => FirebaseAI, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'ai');\n\n return makeEnvironmentProviders([\n DEFAULT_AI_INSTANCE_PROVIDER,\n AI_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_AI_INSTANCES,\n useFactory: AIInstanceFactory(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/ai';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAI as _getAI,\n getGenerativeModel as _getGenerativeModel,\n getImagenModel as _getImagenModel,\n getVertexAI as _getVertexAI\n} from 'firebase/ai';\n\nexport const getAI = ɵzoneWrap(_getAI, true);\nexport const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true);\nexport const getImagenModel = ɵzoneWrap(_getImagenModel, 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","_getAI","_getGenerativeModel","_getImagenModel","_getVertexAI"],"mappings":"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"}