UNPKG

@angular/fire

Version:
1 lines 8.13 kB
{"version":3,"file":"angular-fire-performance.mjs","sources":["../../../src/performance/performance.ts","../../../src/performance/performance.module.ts","../../../src/performance/rxfire.ts","../../../src/performance/firebase.ts","../../../src/performance/angular-fire-performance.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { FirebasePerformance } from 'firebase/performance';\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 Performance extends FirebasePerformance {}\n\nexport class Performance {\n constructor(performance: FirebasePerformance) {\n return performance;\n }\n}\n\nexport const PERFORMANCE_PROVIDER_NAME = 'performance';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface PerformanceInstances extends Array<FirebasePerformance> {}\n\nexport class PerformanceInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME);\n }\n}\n\nexport const performanceInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME))),\n distinct(),\n);\n","import { isPlatformBrowser } 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 { FirebasePerformance } from 'firebase/performance';\nimport { PERFORMANCE_PROVIDER_NAME, Performance, PerformanceInstances } from './performance';\n\nexport const PROVIDED_PERFORMANCE_INSTANCES = new InjectionToken<Performance[]>('angularfire2.performance-instances');\n\nexport function defaultPerformanceInstanceFactory(\n provided: FirebasePerformance[]|undefined,\n defaultApp: FirebaseApp,\n // eslint-disable-next-line @typescript-eslint/ban-types\n platform: Object\n) {\n if (!isPlatformBrowser(platform)) { return null; }\n const defaultPerformance = ɵgetDefaultInstanceOf<FirebasePerformance>(PERFORMANCE_PROVIDER_NAME, provided, defaultApp);\n return defaultPerformance && new Performance(defaultPerformance);\n}\n\nexport function performanceInstanceFactory(fn: (injector: Injector) => FirebasePerformance) {\n // eslint-disable-next-line @typescript-eslint/ban-types\n return (zone: NgZone, platform: Object, injector: Injector) => {\n if (!isPlatformBrowser(platform)) { return null; }\n const performance = zone.runOutsideAngular(() => fn(injector));\n return new Performance(performance);\n };\n}\n\nconst PERFORMANCE_INSTANCES_PROVIDER = {\n provide: PerformanceInstances,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n ]\n};\n\nconst DEFAULT_PERFORMANCE_INSTANCE_PROVIDER = {\n provide: Performance,\n useFactory: defaultPerformanceInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_PERFORMANCE_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_PERFORMANCE_INSTANCE_PROVIDER,\n PERFORMANCE_INSTANCES_PROVIDER,\n ]\n})\nexport class PerformanceModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'perf');\n }\n}\n\nexport function providePerformance(\n fn: (injector: Injector) => FirebasePerformance, ...deps: any[]\n): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'perf');\n\n return makeEnvironmentProviders([\n DEFAULT_PERFORMANCE_INSTANCE_PROVIDER,\n PERFORMANCE_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_PERFORMANCE_INSTANCES,\n useFactory: performanceInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n PLATFORM_ID,\n Injector,\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 traceUntil as _traceUntil,\n traceUntilComplete as _traceUntilComplete,\n traceUntilFirst as _traceUntilFirst,\n traceWhile as _traceWhile\n} from 'rxfire/performance';\n\nexport const traceUntil = ɵzoneWrap(_traceUntil, true);\nexport const traceUntilComplete = ɵzoneWrap(_traceUntilComplete, true);\nexport const traceUntilFirst = ɵzoneWrap(_traceUntilFirst, true);\nexport const traceWhile = ɵzoneWrap(_traceWhile, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/performance';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getPerformance as _getPerformance,\n initializePerformance as _initializePerformance,\n trace as _trace\n} from 'firebase/performance';\n\nexport const getPerformance = ɵzoneWrap(_getPerformance, true);\nexport const initializePerformance = ɵzoneWrap(_initializePerformance, true);\nexport const trace = ɵzoneWrap(_trace, true, 2);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_traceUntil","_traceUntilComplete","_traceUntilFirst","_traceWhile","_getPerformance","_initializePerformance","_trace"],"mappings":"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"}