UNPKG

@angular/fire

Version:
103 lines (97 loc) 3.93 kB
import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, VERSION, ɵAngularFireSchedulers as _AngularFireSchedulers, ɵzoneWrap as _zoneWrap } from '@angular/fire'; import { timer, from } from 'rxjs'; import { concatMap, distinct } from 'rxjs/operators'; import * as i0 from '@angular/core'; import { InjectionToken, Optional, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core'; import { FirebaseApp, FirebaseApps } from '@angular/fire/app'; import { AppCheckInstances } from '@angular/fire/app-check'; import { registerVersion } from 'firebase/app'; import { getAI as getAI$1, getGenerativeModel as getGenerativeModel$1, getImagenModel as getImagenModel$1, getVertexAI as getVertexAI$1 } from 'firebase/ai'; export * from 'firebase/ai'; class AI { constructor(ai) { return ai; } } const AI_PROVIDER_NAME = 'AI'; class AIInstances { constructor() { return _getAllInstancesOf(AI_PROVIDER_NAME); } } const AIInstance$ = timer(0, 300).pipe(concatMap(() => from(_getAllInstancesOf(AI_PROVIDER_NAME))), distinct()); const PROVIDED_AI_INSTANCES = new InjectionToken('angularfire2.ai-instances'); function defaultAIInstanceFactory(provided, defaultApp) { const defaultAI = _getDefaultInstanceOf(AI_PROVIDER_NAME, provided, defaultApp); return defaultAI && new AI(defaultAI); } function AIInstanceFactory(fn) { return (zone, injector) => { const ai = zone.runOutsideAngular(() => fn(injector)); return new AI(ai); }; } const AI_INSTANCES_PROVIDER = { provide: AIInstances, deps: [ [new Optional(), PROVIDED_AI_INSTANCES], ] }; const DEFAULT_AI_INSTANCE_PROVIDER = { provide: AI, useFactory: defaultAIInstanceFactory, deps: [ [new Optional(), PROVIDED_AI_INSTANCES], FirebaseApp, ] }; class AIModule { constructor() { registerVersion('angularfire', VERSION.full, 'ai'); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: AIModule }); static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AIModule, providers: [ DEFAULT_AI_INSTANCE_PROVIDER, AI_INSTANCES_PROVIDER, ] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: AIModule, decorators: [{ type: NgModule, args: [{ providers: [ DEFAULT_AI_INSTANCE_PROVIDER, AI_INSTANCES_PROVIDER, ] }] }], ctorParameters: () => [] }); function provideAI(fn, ...deps) { registerVersion('angularfire', VERSION.full, 'ai'); return makeEnvironmentProviders([ DEFAULT_AI_INSTANCE_PROVIDER, AI_INSTANCES_PROVIDER, { provide: PROVIDED_AI_INSTANCES, useFactory: AIInstanceFactory(fn), multi: true, deps: [ NgZone, Injector, _AngularFireSchedulers, FirebaseApps, [new Optional(), AppCheckInstances], ...deps, ] } ]); } // DO NOT MODIFY, this file is autogenerated by tools/build.ts const getAI = _zoneWrap(getAI$1, true); const getGenerativeModel = _zoneWrap(getGenerativeModel$1, true); const getImagenModel = _zoneWrap(getImagenModel$1, true); const getVertexAI = _zoneWrap(getVertexAI$1, true); /** * Generated bundle index. Do not edit. */ export { AI, AIInstance$, AIInstances, AIModule, getAI, getGenerativeModel, getImagenModel, getVertexAI, provideAI }; //# sourceMappingURL=angular-fire-ai.mjs.map