@angular/fire 20.1.0 → 21.0.0-canary.20260927232311.sha-38dfc3f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +41 -32
  2. package/ai/package.json +2 -1
  3. package/analytics/package.json +2 -1
  4. package/app/package.json +2 -1
  5. package/app-check/package.json +2 -1
  6. package/auth/package.json +2 -1
  7. package/auth-guard/package.json +2 -1
  8. package/compat/analytics/package.json +2 -1
  9. package/compat/auth/package.json +2 -1
  10. package/compat/auth-guard/package.json +2 -1
  11. package/compat/database/package.json +2 -1
  12. package/compat/firestore/package.json +2 -1
  13. package/compat/functions/package.json +2 -1
  14. package/compat/messaging/package.json +2 -1
  15. package/compat/package.json +2 -1
  16. package/compat/performance/package.json +2 -1
  17. package/compat/remote-config/package.json +2 -1
  18. package/compat/storage/package.json +2 -1
  19. package/data-connect/package.json +2 -1
  20. package/database/package.json +2 -1
  21. package/docs/ai.md +52 -0
  22. package/docs/analytics.md +2 -5
  23. package/docs/app-check.md +6 -8
  24. package/docs/app-hosting.md +95 -0
  25. package/docs/auth.md +214 -29
  26. package/docs/compat/auth/router-guards.md +1 -1
  27. package/docs/compat.md +1 -1
  28. package/docs/data-connect.md +56 -0
  29. package/docs/database.md +14 -12
  30. package/docs/deploy/getting-started.md +2 -0
  31. package/docs/firestore.md +7 -7
  32. package/docs/functions.md +3 -5
  33. package/docs/install-and-setup.md +45 -24
  34. package/docs/install-firebase-tools.md +2 -0
  35. package/docs/messaging.md +83 -52
  36. package/docs/performance.md +3 -5
  37. package/docs/remote-config.md +3 -5
  38. package/docs/storage.md +3 -5
  39. package/docs/version-21-upgrade.md +90 -0
  40. package/docs/zones.md +45 -1
  41. package/fesm2022/angular-fire-ai.mjs +8 -8
  42. package/fesm2022/angular-fire-ai.mjs.map +1 -1
  43. package/fesm2022/angular-fire-analytics.mjs +10 -10
  44. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  45. package/fesm2022/angular-fire-app-check.mjs +4 -4
  46. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  47. package/fesm2022/angular-fire-app.mjs +5 -6
  48. package/fesm2022/angular-fire-app.mjs.map +1 -1
  49. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  50. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  51. package/fesm2022/angular-fire-auth.mjs +4 -4
  52. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  53. package/fesm2022/angular-fire-compat-analytics.mjs +17 -21
  54. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  55. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  56. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  57. package/fesm2022/angular-fire-compat-auth.mjs +9 -11
  58. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  59. package/fesm2022/angular-fire-compat-database.mjs +11 -13
  60. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  61. package/fesm2022/angular-fire-compat-firestore.mjs +12 -14
  62. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  63. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  64. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  65. package/fesm2022/angular-fire-compat-messaging.mjs +9 -11
  66. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  67. package/fesm2022/angular-fire-compat-performance.mjs +13 -17
  68. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  69. package/fesm2022/angular-fire-compat-remote-config.mjs +11 -16
  70. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  71. package/fesm2022/angular-fire-compat-storage.mjs +16 -18
  72. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  73. package/fesm2022/angular-fire-compat.mjs +8 -9
  74. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  75. package/fesm2022/angular-fire-data-connect.mjs +4 -4
  76. package/fesm2022/angular-fire-data-connect.mjs.map +1 -1
  77. package/fesm2022/angular-fire-database.mjs +4 -4
  78. package/fesm2022/angular-fire-database.mjs.map +1 -1
  79. package/fesm2022/angular-fire-firestore-lite.mjs +4 -4
  80. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  81. package/fesm2022/angular-fire-firestore.mjs +9 -6
  82. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  83. package/fesm2022/angular-fire-functions.mjs +4 -4
  84. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  85. package/fesm2022/angular-fire-messaging.mjs +10 -6
  86. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  87. package/fesm2022/angular-fire-performance.mjs +5 -8
  88. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  89. package/fesm2022/angular-fire-remote-config.mjs +7 -6
  90. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  91. package/fesm2022/angular-fire-storage.mjs +4 -4
  92. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  93. package/fesm2022/angular-fire.mjs +4 -6
  94. package/fesm2022/angular-fire.mjs.map +1 -1
  95. package/firestore/lite/package.json +2 -1
  96. package/firestore/package.json +2 -1
  97. package/functions/package.json +2 -1
  98. package/messaging/package.json +2 -1
  99. package/package.json +73 -69
  100. package/performance/package.json +2 -1
  101. package/publish.sh +1 -1
  102. package/remote-config/package.json +2 -1
  103. package/schematics/add/index.js +1 -1
  104. package/schematics/deploy/actions.js +76 -85
  105. package/schematics/deploy/builder.js +161 -170
  106. package/schematics/deploy/schema.json +6 -3
  107. package/schematics/migration.json +4 -4
  108. package/schematics/setup/index.js +174 -172
  109. package/schematics/update/v21/index.js +1 -0
  110. package/schematics/update/v7/index.js +1 -1
  111. package/storage/package.json +2 -1
  112. package/{ai/index.d.ts → types/angular-fire-ai.d.ts} +4 -4
  113. package/{app/index.d.ts → types/angular-fire-app.d.ts} +1 -1
  114. package/{auth-guard/index.d.ts → types/angular-fire-auth-guard.d.ts} +2 -2
  115. package/{compat/analytics/index.d.ts → types/angular-fire-compat-analytics.d.ts} +2 -2
  116. package/{compat/auth-guard/index.d.ts → types/angular-fire-compat-auth-guard.d.ts} +2 -2
  117. package/{compat/auth/index.d.ts → types/angular-fire-compat-auth.d.ts} +1 -1
  118. package/{compat/database/index.d.ts → types/angular-fire-compat-database.d.ts} +5 -6
  119. package/{compat/firestore/index.d.ts → types/angular-fire-compat-firestore.d.ts} +5 -11
  120. package/{compat/functions/index.d.ts → types/angular-fire-compat-functions.d.ts} +1 -1
  121. package/{compat/messaging/index.d.ts → types/angular-fire-compat-messaging.d.ts} +2 -2
  122. package/{compat/performance/index.d.ts → types/angular-fire-compat-performance.d.ts} +2 -2
  123. package/{compat/remote-config/index.d.ts → types/angular-fire-compat-remote-config.d.ts} +3 -3
  124. package/{compat/storage/index.d.ts → types/angular-fire-compat-storage.d.ts} +18 -18
  125. package/{compat/index.d.ts → types/angular-fire-compat.d.ts} +2 -2
  126. package/{firestore/lite/index.d.ts → types/angular-fire-firestore-lite.d.ts} +1 -1
  127. package/{firestore/index.d.ts → types/angular-fire-firestore.d.ts} +6 -3
  128. package/{messaging/index.d.ts → types/angular-fire-messaging.d.ts} +6 -2
  129. package/{remote-config/index.d.ts → types/angular-fire-remote-config.d.ts} +3 -2
  130. package/docs/firebase.json +0 -16
  131. package/docs/install-angular-cli-windows10.md +0 -82
  132. package/docs/vertexai.md +0 -53
  133. package/fesm2022/angular-fire-vertexai.mjs +0 -102
  134. package/fesm2022/angular-fire-vertexai.mjs.map +0 -1
  135. package/schematics/update/index.js +0 -1
  136. package/vertexai/index.d.ts +0 -33
  137. package/vertexai/package.json +0 -3
  138. /package/{analytics/index.d.ts → types/angular-fire-analytics.d.ts} +0 -0
  139. /package/{app-check/index.d.ts → types/angular-fire-app-check.d.ts} +0 -0
  140. /package/{auth/index.d.ts → types/angular-fire-auth.d.ts} +0 -0
  141. /package/{data-connect/index.d.ts → types/angular-fire-data-connect.d.ts} +0 -0
  142. /package/{database/index.d.ts → types/angular-fire-database.d.ts} +0 -0
  143. /package/{functions/index.d.ts → types/angular-fire-functions.d.ts} +0 -0
  144. /package/{performance/index.d.ts → types/angular-fire-performance.d.ts} +0 -0
  145. /package/{storage/index.d.ts → types/angular-fire-storage.d.ts} +0 -0
  146. /package/{index.d.ts → types/angular-fire.d.ts} +0 -0
@@ -1 +1 @@
1
- {"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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"}
1
+ {"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 \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 \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 getLiveGenerativeModel as _getLiveGenerativeModel,\n startAudioConversation as _startAudioConversation\n} from 'firebase/ai';\n\nexport const getAI = ɵzoneWrap(_getAI, true);\nexport const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true);\nexport const getLiveGenerativeModel = ɵzoneWrap(_getLiveGenerativeModel, true);\nexport const startAudioConversation = ɵzoneWrap(_startAudioConversation, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getAI","_getGenerativeModel","_getLiveGenerativeModel","_startAudioConversation"],"mappings":"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"}
@@ -70,10 +70,10 @@ class UserTrackingService {
70
70
  ngOnDestroy() {
71
71
  this.disposables.forEach(it => it.unsubscribe());
72
72
  }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.Auth }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
74
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: UserTrackingService });
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.Auth }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
74
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: UserTrackingService });
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: UserTrackingService, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: UserTrackingService, decorators: [{
77
77
  type: Injectable
78
78
  }], ctorParameters: () => [{ type: i1.Auth }, { type: i0.NgZone }, { type: i0.Injector }] });
79
79
 
@@ -198,10 +198,10 @@ class ScreenTrackingService {
198
198
  this.disposable.unsubscribe();
199
199
  }
200
200
  }
201
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1$1.Router, optional: true }, { token: i2.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: UserTrackingService, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
202
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ScreenTrackingService });
201
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1$1.Router, optional: true }, { token: i2.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: UserTrackingService, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
202
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ScreenTrackingService });
203
203
  }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ScreenTrackingService, decorators: [{
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ScreenTrackingService, decorators: [{
205
205
  type: Injectable
206
206
  }], ctorParameters: () => [{ type: i1$1.Router, decorators: [{
207
207
  type: Optional
@@ -247,14 +247,14 @@ class AnalyticsModule {
247
247
  constructor(_screenTrackingService, _userTrackingService) {
248
248
  registerVersion('angularfire', VERSION.full, 'analytics');
249
249
  }
250
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AnalyticsModule, deps: [{ token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
251
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: AnalyticsModule });
252
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AnalyticsModule, providers: [
250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AnalyticsModule, deps: [{ token: ScreenTrackingService, optional: true }, { token: UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
251
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: AnalyticsModule });
252
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AnalyticsModule, providers: [
253
253
  DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
254
254
  ANALYTICS_INSTANCES_PROVIDER
255
255
  ] });
256
256
  }
257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AnalyticsModule, decorators: [{
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AnalyticsModule, decorators: [{
258
258
  type: NgModule,
259
259
  args: [{
260
260
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-analytics.mjs","sources":["../../../src/analytics/analytics.ts","../../../src/analytics/firebase.ts","../../../src/analytics/user-tracking.service.ts","../../../src/analytics/screen-tracking.service.ts","../../../src/analytics/analytics.module.ts","../../../src/analytics/angular-fire-analytics.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Analytics as FirebaseAnalytics } from 'firebase/analytics';\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 Analytics extends FirebaseAnalytics {}\n\nexport class Analytics {\n constructor(analytics: FirebaseAnalytics) {\n return analytics;\n }\n}\n\nexport const ANALYTICS_PROVIDER_NAME = 'analytics';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AnalyticsInstances extends Array<FirebaseAnalytics> {}\n\nexport class AnalyticsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME);\n }\n}\n\nexport const analyticInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME))),\n distinct(),\n);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/analytics';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAnalytics as _getAnalytics,\n getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId,\n initializeAnalytics as _initializeAnalytics,\n isSupported as _isSupported,\n logEvent as _logEvent,\n setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled,\n setConsent as _setConsent,\n setCurrentScreen as _setCurrentScreen,\n setDefaultEventParameters as _setDefaultEventParameters,\n setUserId as _setUserId,\n setUserProperties as _setUserProperties,\n settings as _settings\n} from 'firebase/analytics';\n\nexport const getAnalytics = ɵzoneWrap(_getAnalytics, true);\nexport const getGoogleAnalyticsClientId = ɵzoneWrap(_getGoogleAnalyticsClientId, true);\nexport const initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);\nexport const isSupported = ɵzoneWrap(_isSupported, false);\nexport const logEvent = ɵzoneWrap(_logEvent, false, 2);\nexport const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true, 2);\nexport const setConsent = ɵzoneWrap(_setConsent, true, 2);\nexport const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true, 2);\nexport const setDefaultEventParameters = ɵzoneWrap(_setDefaultEventParameters, true, 2);\nexport const setUserId = ɵzoneWrap(_setUserId, true, 2);\nexport const setUserProperties = ɵzoneWrap(_setUserProperties, true, 2);\nexport const settings = ɵzoneWrap(_settings, true);\n","import { Injectable, Injector, NgZone, OnDestroy } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Auth, authState } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { Subscription } from 'rxjs';\nimport { Analytics } from './analytics';\nimport { isSupported, setUserId } from './firebase';\n\n@Injectable()\nexport class UserTrackingService implements OnDestroy {\n\n public readonly initialized: Promise<void>;\n private disposables: Subscription[] = [];\n\n constructor(\n auth: Auth,\n zone: NgZone,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'user-tracking');\n let resolveInitialized: () => void;\n this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (analytics) {\n this.disposables = [\n // TODO add credential tracking back in\n authState(auth).subscribe(user => {\n setUserId(analytics, user?.uid);\n resolveInitialized();\n }),\n ];\n } else {\n resolveInitialized();\n }\n });\n }\n\n ngOnDestroy() {\n this.disposables.forEach(it => it.unsubscribe());\n }\n}\n","import { ComponentFactoryResolver, Injectable, Injector, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Title } from '@angular/platform-browser';\nimport { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';\nimport { registerVersion } from 'firebase/app';\nimport { Observable, Subscription, of } from 'rxjs';\nimport { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';\nimport { Analytics } from './analytics';\nimport { isSupported, logEvent } from './firebase';\nimport { UserTrackingService } from './user-tracking.service';\n\nconst FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';\nconst FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';\nconst FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';\nconst FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';\nconst FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';\nconst FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';\nconst FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';\nconst OUTLET_KEY = 'outlet';\nconst PAGE_PATH_KEY = 'page_path';\nconst PAGE_TITLE_KEY = 'page_title';\nconst SCREEN_CLASS_KEY = 'screen_class';\nconst SCREEN_NAME_KEY = 'screen_name';\nconst SCREEN_VIEW_EVENT = 'screen_view';\nconst EVENT_ORIGIN_AUTO = 'auto';\nconst SCREEN_INSTANCE_DELIMITER = '#';\n\n// this is an INT64 in iOS/Android but use INT32 cause javascript\nlet nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;\n\nconst knownScreenInstanceIDs: Record<string, number> = {};\n\nconst getScreenInstanceID = (params: Record<string, any>) => {\n // unique the screen class against the outlet name\n const screenInstanceKey = [\n params[SCREEN_CLASS_KEY],\n params[OUTLET_KEY]\n ].join(SCREEN_INSTANCE_DELIMITER);\n // eslint-disable-next-line no-prototype-builtins\n if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {\n return knownScreenInstanceIDs[screenInstanceKey];\n } else {\n const ret = nextScreenInstanceID++;\n knownScreenInstanceIDs[screenInstanceKey] = ret;\n return ret;\n }\n};\n\nexport const ɵscreenViewEvent = (\n router: Router,\n title: Title|null,\n componentFactoryResolver: ComponentFactoryResolver,\n): Observable<{\n [SCREEN_NAME_KEY]: string,\n [PAGE_PATH_KEY]: string,\n [FIREBASE_EVENT_ORIGIN_KEY]: 'auto',\n [FIREBASE_SCREEN_NAME_KEY]: string,\n [OUTLET_KEY]: string,\n [PAGE_TITLE_KEY]?: string,\n [SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: number,\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: number,\n}> => {\n const activationEndEvents = router.events.pipe(filter<ActivationEnd>(e => e instanceof ActivationEnd));\n return activationEndEvents.pipe(\n switchMap<ActivationEnd, Observable<Record<string, any>|null>>(activationEnd => {\n // router parseUrl is having trouble with outlets when they're empty\n // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty\n const urlTree = router.parseUrl(router.url.replace(/(?:\\().+(?:\\))/g, a => a.replace('://', ':///')));\n const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';\n const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);\n\n if (!actualSnapshot) {\n return of(null);\n }\n\n let actualDeep = actualSnapshot;\n while (actualDeep.firstChild) {\n actualDeep = actualDeep.firstChild;\n }\n const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';\n\n const params = {\n [SCREEN_NAME_KEY]: screenName,\n [PAGE_PATH_KEY]: `/${pagePath}`,\n [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,\n [FIREBASE_SCREEN_NAME_KEY]: screenName,\n [OUTLET_KEY]: activationEnd.snapshot.outlet\n };\n if (title) {\n params[PAGE_TITLE_KEY] = title.getTitle();\n }\n\n let component = actualSnapshot.component;\n if (component) {\n if (component === ɵEmptyOutletComponent) {\n let deepSnapshot = activationEnd.snapshot;\n // TODO when might there be mutple children, different outlets? explore\n while (deepSnapshot.firstChild) {\n deepSnapshot = deepSnapshot.firstChild;\n }\n component = deepSnapshot.component;\n }\n } else {\n component = activationEnd.snapshot.component;\n }\n\n if (typeof component === 'string') {\n return of({ ...params, [SCREEN_CLASS_KEY]: component });\n } else if (component) {\n const componentFactory = componentFactoryResolver.resolveComponentFactory(component);\n return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });\n }\n // lazy loads cause extra activations, ignore\n return of(null);\n }),\n filter(it => !!it),\n map(params => ({\n [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),\n ...params\n })),\n groupBy(it => it[OUTLET_KEY]),\n mergeMap(it => it.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n startWith<any, any>(undefined),\n pairwise(),\n map(([prior, current]) =>\n prior ? {\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],\n ...current\n } : current\n ),\n ))\n );\n};\n\n@Injectable()\nexport class ScreenTrackingService implements OnDestroy {\n\n private disposable: Subscription | undefined;\n\n constructor(\n @Optional() router: Router,\n @Optional() title: Title,\n componentFactoryResolver: ComponentFactoryResolver,\n zone: NgZone,\n @Optional() userTrackingService: UserTrackingService,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'screen-tracking');\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (!router || !analytics) { return; }\n zone.runOutsideAngular(() => {\n this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(\n switchMap(async params => {\n if (userTrackingService) { await userTrackingService.initialized; }\n return logEvent(analytics, SCREEN_VIEW_EVENT, params);\n })\n ).subscribe();\n });\n });\n }\n\n ngOnDestroy() {\n if (this.disposable) {\n this.disposable.unsubscribe();\n }\n }\n\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 { Analytics as FirebaseAnalytics } from 'firebase/analytics';\nimport { registerVersion } from 'firebase/app';\nimport { ANALYTICS_PROVIDER_NAME, Analytics, AnalyticsInstances } from './analytics';\nimport { ScreenTrackingService } from './screen-tracking.service';\nimport { UserTrackingService } from './user-tracking.service';\n\nexport const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken<Analytics[]>('angularfire2.analytics-instances');\n\nexport function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp, platformId: object) {\n if (!isPlatformBrowser(platformId)) { return null; }\n const defaultAnalytics = ɵgetDefaultInstanceOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME, provided, defaultApp);\n return defaultAnalytics && new Analytics(defaultAnalytics);\n}\n\nexport function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics) {\n return (zone: NgZone, injector: Injector, platformId: object) => {\n if (!isPlatformBrowser(platformId)) { return null; }\n const analytics = zone.runOutsideAngular(() => fn(injector));\n return new Analytics(analytics);\n };\n}\n\nconst ANALYTICS_INSTANCES_PROVIDER = {\n provide: AnalyticsInstances,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {\n provide: Analytics,\n useFactory: defaultAnalyticsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER\n ]\n})\nexport class AnalyticsModule {\n constructor(\n @Optional() _screenTrackingService: ScreenTrackingService,\n @Optional() _userTrackingService: UserTrackingService,\n ) {\n registerVersion('angularfire', VERSION.full, 'analytics');\n }\n}\n\nexport function provideAnalytics(fn: (injector: Injector) => FirebaseAnalytics, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'analytics');\n\n return makeEnvironmentProviders([\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_ANALYTICS_INSTANCES,\n useFactory: analyticsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵzoneWrap","_getAnalytics","_getGoogleAnalyticsClientId","_initializeAnalytics","_isSupported","_logEvent","_setAnalyticsCollectionEnabled","_setConsent","_setCurrentScreen","_setDefaultEventParameters","_setUserId","_setUserProperties","_settings","ɵEmptyOutletComponent","i1","i3.UserTrackingService","ɵgetDefaultInstanceOf","i1.ScreenTrackingService","i2.UserTrackingService","ɵAngularFireSchedulers"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-analytics.mjs","sources":["../../../src/analytics/analytics.ts","../../../src/analytics/firebase.ts","../../../src/analytics/user-tracking.service.ts","../../../src/analytics/screen-tracking.service.ts","../../../src/analytics/analytics.module.ts","../../../src/analytics/angular-fire-analytics.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Analytics as FirebaseAnalytics } from 'firebase/analytics';\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 \nexport interface Analytics extends FirebaseAnalytics {}\n\nexport class Analytics {\n constructor(analytics: FirebaseAnalytics) {\n return analytics;\n }\n}\n\nexport const ANALYTICS_PROVIDER_NAME = 'analytics';\n\n \nexport interface AnalyticsInstances extends Array<FirebaseAnalytics> {}\n\nexport class AnalyticsInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME);\n }\n}\n\nexport const analyticInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME))),\n distinct(),\n);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/analytics';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAnalytics as _getAnalytics,\n getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId,\n initializeAnalytics as _initializeAnalytics,\n isSupported as _isSupported,\n logEvent as _logEvent,\n setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled,\n setConsent as _setConsent,\n setCurrentScreen as _setCurrentScreen,\n setDefaultEventParameters as _setDefaultEventParameters,\n setUserId as _setUserId,\n setUserProperties as _setUserProperties,\n settings as _settings\n} from 'firebase/analytics';\n\nexport const getAnalytics = ɵzoneWrap(_getAnalytics, true);\nexport const getGoogleAnalyticsClientId = ɵzoneWrap(_getGoogleAnalyticsClientId, true);\nexport const initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);\nexport const isSupported = ɵzoneWrap(_isSupported, false);\nexport const logEvent = ɵzoneWrap(_logEvent, false, 2);\nexport const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true, 2);\nexport const setConsent = ɵzoneWrap(_setConsent, true, 2);\nexport const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true, 2);\nexport const setDefaultEventParameters = ɵzoneWrap(_setDefaultEventParameters, true, 2);\nexport const setUserId = ɵzoneWrap(_setUserId, true, 2);\nexport const setUserProperties = ɵzoneWrap(_setUserProperties, true, 2);\nexport const settings = ɵzoneWrap(_settings, true);\n","import { Injectable, Injector, NgZone, OnDestroy } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Auth, authState } from '@angular/fire/auth';\nimport { registerVersion } from 'firebase/app';\nimport { Subscription } from 'rxjs';\nimport { Analytics } from './analytics';\nimport { isSupported, setUserId } from './firebase';\n\n@Injectable()\nexport class UserTrackingService implements OnDestroy {\n\n public readonly initialized: Promise<void>;\n private disposables: Subscription[] = [];\n\n constructor(\n auth: Auth,\n zone: NgZone,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'user-tracking');\n let resolveInitialized: () => void;\n this.initialized = zone.runOutsideAngular(() => new Promise(resolve => { resolveInitialized = resolve; }));\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (analytics) {\n this.disposables = [\n // TODO add credential tracking back in\n authState(auth).subscribe(user => {\n setUserId(analytics, user?.uid);\n resolveInitialized();\n }),\n ];\n } else {\n resolveInitialized();\n }\n });\n }\n\n ngOnDestroy() {\n this.disposables.forEach(it => it.unsubscribe());\n }\n}\n","import { ComponentFactoryResolver, Injectable, Injector, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { Title } from '@angular/platform-browser';\nimport { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';\nimport { registerVersion } from 'firebase/app';\nimport { Observable, Subscription, of } from 'rxjs';\nimport { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';\nimport { Analytics } from './analytics';\nimport { isSupported, logEvent } from './firebase';\nimport { UserTrackingService } from './user-tracking.service';\n\nconst FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';\nconst FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';\nconst FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';\nconst FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';\nconst FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';\nconst FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';\nconst FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';\nconst OUTLET_KEY = 'outlet';\nconst PAGE_PATH_KEY = 'page_path';\nconst PAGE_TITLE_KEY = 'page_title';\nconst SCREEN_CLASS_KEY = 'screen_class';\nconst SCREEN_NAME_KEY = 'screen_name';\nconst SCREEN_VIEW_EVENT = 'screen_view';\nconst EVENT_ORIGIN_AUTO = 'auto';\nconst SCREEN_INSTANCE_DELIMITER = '#';\n\n// this is an INT64 in iOS/Android but use INT32 cause javascript\nlet nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;\n\nconst knownScreenInstanceIDs: Record<string, number> = {};\n\nconst getScreenInstanceID = (params: Record<string, any>) => {\n // unique the screen class against the outlet name\n const screenInstanceKey = [\n params[SCREEN_CLASS_KEY],\n params[OUTLET_KEY]\n ].join(SCREEN_INSTANCE_DELIMITER);\n // eslint-disable-next-line no-prototype-builtins\n if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {\n return knownScreenInstanceIDs[screenInstanceKey];\n } else {\n const ret = nextScreenInstanceID++;\n knownScreenInstanceIDs[screenInstanceKey] = ret;\n return ret;\n }\n};\n\nexport const ɵscreenViewEvent = (\n router: Router,\n title: Title|null,\n componentFactoryResolver: ComponentFactoryResolver,\n): Observable<{\n [SCREEN_NAME_KEY]: string,\n [PAGE_PATH_KEY]: string,\n [FIREBASE_EVENT_ORIGIN_KEY]: 'auto',\n [FIREBASE_SCREEN_NAME_KEY]: string,\n [OUTLET_KEY]: string,\n [PAGE_TITLE_KEY]?: string,\n [SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_CLASS_KEY]: string,\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: number,\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: string,\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: number,\n}> => {\n const activationEndEvents = router.events.pipe(filter<ActivationEnd>(e => e instanceof ActivationEnd));\n return activationEndEvents.pipe(\n switchMap<ActivationEnd, Observable<Record<string, any>|null>>(activationEnd => {\n // router parseUrl is having trouble with outlets when they're empty\n // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty\n const urlTree = router.parseUrl(router.url.replace(/(?:\\().+(?:\\))/g, a => a.replace('://', ':///')));\n const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';\n const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);\n\n if (!actualSnapshot) {\n return of(null);\n }\n\n let actualDeep = actualSnapshot;\n while (actualDeep.firstChild) {\n actualDeep = actualDeep.firstChild;\n }\n const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';\n\n const params = {\n [SCREEN_NAME_KEY]: screenName,\n [PAGE_PATH_KEY]: `/${pagePath}`,\n [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,\n [FIREBASE_SCREEN_NAME_KEY]: screenName,\n [OUTLET_KEY]: activationEnd.snapshot.outlet\n };\n if (title) {\n params[PAGE_TITLE_KEY] = title.getTitle();\n }\n\n let component = actualSnapshot.component;\n if (component) {\n if (component === ɵEmptyOutletComponent) {\n let deepSnapshot = activationEnd.snapshot;\n // TODO when might there be mutple children, different outlets? explore\n while (deepSnapshot.firstChild) {\n deepSnapshot = deepSnapshot.firstChild;\n }\n component = deepSnapshot.component;\n }\n } else {\n component = activationEnd.snapshot.component;\n }\n\n if (typeof component === 'string') {\n return of({ ...params, [SCREEN_CLASS_KEY]: component });\n } else if (component) {\n const componentFactory = componentFactoryResolver.resolveComponentFactory(component);\n return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });\n }\n // lazy loads cause extra activations, ignore\n return of(null);\n }),\n filter(it => !!it),\n map(params => ({\n [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],\n [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),\n ...params\n })),\n groupBy(it => it[OUTLET_KEY]),\n mergeMap(it => it.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n startWith<any, any>(undefined),\n pairwise(),\n map(([prior, current]) =>\n prior ? {\n [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],\n [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],\n [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],\n ...current\n } : current\n ),\n ))\n );\n};\n\n@Injectable()\nexport class ScreenTrackingService implements OnDestroy {\n\n private disposable: Subscription | undefined;\n\n constructor(\n @Optional() router: Router,\n @Optional() title: Title,\n componentFactoryResolver: ComponentFactoryResolver,\n zone: NgZone,\n @Optional() userTrackingService: UserTrackingService,\n injector: Injector,\n ) {\n registerVersion('angularfire', VERSION.full, 'screen-tracking');\n // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI\n // may not be done when services are initialized. Guard the functionality by first ensuring\n // that the (global) promise has resolved, then get Analytics from the injector.\n isSupported().then(() => {\n const analytics = injector.get(Analytics);\n if (!router || !analytics) { return; }\n zone.runOutsideAngular(() => {\n this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(\n switchMap(async params => {\n if (userTrackingService) { await userTrackingService.initialized; }\n return logEvent(analytics, SCREEN_VIEW_EVENT, params);\n })\n ).subscribe();\n });\n });\n }\n\n ngOnDestroy() {\n if (this.disposable) {\n this.disposable.unsubscribe();\n }\n }\n\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 { Analytics as FirebaseAnalytics } from 'firebase/analytics';\nimport { registerVersion } from 'firebase/app';\nimport { ANALYTICS_PROVIDER_NAME, Analytics, AnalyticsInstances } from './analytics';\nimport { ScreenTrackingService } from './screen-tracking.service';\nimport { UserTrackingService } from './user-tracking.service';\n\nexport const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken<Analytics[]>('angularfire2.analytics-instances');\n\nexport function defaultAnalyticsInstanceFactory(provided: FirebaseAnalytics[]|undefined, defaultApp: FirebaseApp, platformId: object) {\n if (!isPlatformBrowser(platformId)) { return null; }\n const defaultAnalytics = ɵgetDefaultInstanceOf<FirebaseAnalytics>(ANALYTICS_PROVIDER_NAME, provided, defaultApp);\n return defaultAnalytics && new Analytics(defaultAnalytics);\n}\n\nexport function analyticsInstanceFactory(fn: (injector: Injector) => FirebaseAnalytics) {\n return (zone: NgZone, injector: Injector, platformId: object) => {\n if (!isPlatformBrowser(platformId)) { return null; }\n const analytics = zone.runOutsideAngular(() => fn(injector));\n return new Analytics(analytics);\n };\n}\n\nconst ANALYTICS_INSTANCES_PROVIDER = {\n provide: AnalyticsInstances,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n ]\n};\n\nconst DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {\n provide: Analytics,\n useFactory: defaultAnalyticsInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_ANALYTICS_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER\n ]\n})\nexport class AnalyticsModule {\n constructor(\n @Optional() _screenTrackingService: ScreenTrackingService,\n @Optional() _userTrackingService: UserTrackingService,\n ) {\n registerVersion('angularfire', VERSION.full, 'analytics');\n }\n}\n\nexport function provideAnalytics(fn: (injector: Injector) => FirebaseAnalytics, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'analytics');\n\n return makeEnvironmentProviders([\n DEFAULT_ANALYTICS_INSTANCE_PROVIDER,\n ANALYTICS_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_ANALYTICS_INSTANCES,\n useFactory: analyticsInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵzoneWrap","_getAnalytics","_getGoogleAnalyticsClientId","_initializeAnalytics","_isSupported","_logEvent","_setAnalyticsCollectionEnabled","_setConsent","_setCurrentScreen","_setDefaultEventParameters","_setUserId","_setUserProperties","_settings","ɵEmptyOutletComponent","i1","i3.UserTrackingService","ɵgetDefaultInstanceOf","i1.ScreenTrackingService","i2.UserTrackingService","ɵAngularFireSchedulers"],"mappings":"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"}
@@ -58,14 +58,14 @@ class AppCheckModule {
58
58
  constructor() {
59
59
  registerVersion('angularfire', VERSION.full, 'app-check');
60
60
  }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AppCheckModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
62
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: AppCheckModule });
63
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AppCheckModule, providers: [
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppCheckModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
62
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: AppCheckModule });
63
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppCheckModule, providers: [
64
64
  DEFAULT_APP_CHECK_INSTANCE_PROVIDER,
65
65
  APP_CHECK_INSTANCES_PROVIDER,
66
66
  ] });
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AppCheckModule, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppCheckModule, decorators: [{
69
69
  type: NgModule,
70
70
  args: [{
71
71
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-app-check.mjs","sources":["../../../src/app-check/app-check.ts","../../../src/app-check/app-check.module.ts","../../../src/app-check/firebase.ts","../../../src/app-check/angular-fire-app-check.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { AppCheck as FirebaseAppCheck } from 'firebase/app-check';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\nexport const APP_CHECK_PROVIDER_NAME = 'app-check';\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 AppCheck extends FirebaseAppCheck {}\n\nexport class AppCheck {\n constructor(appCheck: FirebaseAppCheck) {\n return appCheck;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AppCheckInstances extends Array<AppCheck> {}\n\nexport class AppCheckInstances {\n constructor() {\n return ɵgetAllInstancesOf<AppCheck>(APP_CHECK_PROVIDER_NAME);\n }\n}\n\nexport const appCheckInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAppCheck>(APP_CHECK_PROVIDER_NAME))),\n distinct(),\n);\n","import { isPlatformServer } from '@angular/common';\nimport {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n isDevMode,\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 { AppCheck as FirebaseAppCheck } from 'firebase/app-check';\nimport { APP_CHECK_PROVIDER_NAME, AppCheck, AppCheckInstances } from './app-check';\n\nexport const PROVIDED_APP_CHECK_INSTANCES = new InjectionToken<AppCheck[]>('angularfire2.app-check-instances');\n\nexport function defaultAppCheckInstanceFactory(provided: FirebaseAppCheck[]|undefined, defaultApp: FirebaseApp) {\n const defaultAppCheck = ɵgetDefaultInstanceOf<FirebaseAppCheck>(APP_CHECK_PROVIDER_NAME, provided, defaultApp);\n return defaultAppCheck && new AppCheck(defaultAppCheck);\n}\n\nconst LOCALHOSTS = ['localhost', '0.0.0.0', '127.0.0.1'];\nconst isLocalhost = typeof window !== 'undefined' && LOCALHOSTS.includes(window.location.hostname);\n\nexport function appCheckInstanceFactory(fn: (injector: Injector) => FirebaseAppCheck) {\n return (zone: NgZone, injector: Injector, platformId: unknown) => {\n // Node should use admin token provider, browser devmode and localhost should use debug token\n if (!isPlatformServer(platformId) && (isDevMode() || isLocalhost)) {\n globalThis.FIREBASE_APPCHECK_DEBUG_TOKEN ??= true;\n }\n const appCheck = zone.runOutsideAngular(() => fn(injector));\n return new AppCheck(appCheck);\n };\n}\n\nconst APP_CHECK_INSTANCES_PROVIDER = {\n provide: AppCheckInstances,\n deps: [\n [new Optional(), PROVIDED_APP_CHECK_INSTANCES ],\n ]\n};\n\nconst DEFAULT_APP_CHECK_INSTANCE_PROVIDER = {\n provide: AppCheck,\n useFactory: defaultAppCheckInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_APP_CHECK_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_APP_CHECK_INSTANCE_PROVIDER,\n APP_CHECK_INSTANCES_PROVIDER,\n ]\n})\nexport class AppCheckModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'app-check');\n }\n}\n\nexport function provideAppCheck(fn: (injector: Injector) => FirebaseAppCheck, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'app-check');\n return makeEnvironmentProviders([\n DEFAULT_APP_CHECK_INSTANCE_PROVIDER,\n APP_CHECK_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_APP_CHECK_INSTANCES,\n useFactory: appCheckInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/app-check';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getLimitedUseToken as _getLimitedUseToken,\n getToken as _getToken,\n initializeAppCheck as _initializeAppCheck,\n onTokenChanged as _onTokenChanged,\n setTokenAutoRefreshEnabled as _setTokenAutoRefreshEnabled\n} from 'firebase/app-check';\n\nexport const getLimitedUseToken = ɵzoneWrap(_getLimitedUseToken, true, 2);\nexport const getToken = ɵzoneWrap(_getToken, true);\nexport const initializeAppCheck = ɵzoneWrap(_initializeAppCheck, true);\nexport const onTokenChanged = ɵzoneWrap(_onTokenChanged, true);\nexport const setTokenAutoRefreshEnabled = ɵzoneWrap(_setTokenAutoRefreshEnabled, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getLimitedUseToken","_getToken","_initializeAppCheck","_onTokenChanged","_setTokenAutoRefreshEnabled"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-app-check.mjs","sources":["../../../src/app-check/app-check.ts","../../../src/app-check/app-check.module.ts","../../../src/app-check/firebase.ts","../../../src/app-check/angular-fire-app-check.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { AppCheck as FirebaseAppCheck } from 'firebase/app-check';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\nexport const APP_CHECK_PROVIDER_NAME = 'app-check';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n \nexport interface AppCheck extends FirebaseAppCheck {}\n\nexport class AppCheck {\n constructor(appCheck: FirebaseAppCheck) {\n return appCheck;\n }\n}\n\n \nexport interface AppCheckInstances extends Array<AppCheck> {}\n\nexport class AppCheckInstances {\n constructor() {\n return ɵgetAllInstancesOf<AppCheck>(APP_CHECK_PROVIDER_NAME);\n }\n}\n\nexport const appCheckInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAppCheck>(APP_CHECK_PROVIDER_NAME))),\n distinct(),\n);\n","import { isPlatformServer } from '@angular/common';\nimport {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n isDevMode,\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 { AppCheck as FirebaseAppCheck } from 'firebase/app-check';\nimport { APP_CHECK_PROVIDER_NAME, AppCheck, AppCheckInstances } from './app-check';\n\nexport const PROVIDED_APP_CHECK_INSTANCES = new InjectionToken<AppCheck[]>('angularfire2.app-check-instances');\n\nexport function defaultAppCheckInstanceFactory(provided: FirebaseAppCheck[]|undefined, defaultApp: FirebaseApp) {\n const defaultAppCheck = ɵgetDefaultInstanceOf<FirebaseAppCheck>(APP_CHECK_PROVIDER_NAME, provided, defaultApp);\n return defaultAppCheck && new AppCheck(defaultAppCheck);\n}\n\nconst LOCALHOSTS = ['localhost', '0.0.0.0', '127.0.0.1'];\nconst isLocalhost = typeof window !== 'undefined' && LOCALHOSTS.includes(window.location.hostname);\n\nexport function appCheckInstanceFactory(fn: (injector: Injector) => FirebaseAppCheck) {\n return (zone: NgZone, injector: Injector, platformId: unknown) => {\n // Node should use admin token provider, browser devmode and localhost should use debug token\n if (!isPlatformServer(platformId) && (isDevMode() || isLocalhost)) {\n globalThis.FIREBASE_APPCHECK_DEBUG_TOKEN ??= true;\n }\n const appCheck = zone.runOutsideAngular(() => fn(injector));\n return new AppCheck(appCheck);\n };\n}\n\nconst APP_CHECK_INSTANCES_PROVIDER = {\n provide: AppCheckInstances,\n deps: [\n [new Optional(), PROVIDED_APP_CHECK_INSTANCES ],\n ]\n};\n\nconst DEFAULT_APP_CHECK_INSTANCE_PROVIDER = {\n provide: AppCheck,\n useFactory: defaultAppCheckInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_APP_CHECK_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_APP_CHECK_INSTANCE_PROVIDER,\n APP_CHECK_INSTANCES_PROVIDER,\n ]\n})\nexport class AppCheckModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'app-check');\n }\n}\n\nexport function provideAppCheck(fn: (injector: Injector) => FirebaseAppCheck, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'app-check');\n return makeEnvironmentProviders([\n DEFAULT_APP_CHECK_INSTANCE_PROVIDER,\n APP_CHECK_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_APP_CHECK_INSTANCES,\n useFactory: appCheckInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/app-check';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getLimitedUseToken as _getLimitedUseToken,\n getToken as _getToken,\n initializeAppCheck as _initializeAppCheck,\n onTokenChanged as _onTokenChanged,\n setTokenAutoRefreshEnabled as _setTokenAutoRefreshEnabled\n} from 'firebase/app-check';\n\nexport const getLimitedUseToken = ɵzoneWrap(_getLimitedUseToken, true, 2);\nexport const getToken = ɵzoneWrap(_getToken, true);\nexport const initializeAppCheck = ɵzoneWrap(_initializeAppCheck, true);\nexport const onTokenChanged = ɵzoneWrap(_onTokenChanged, true);\nexport const setTokenAutoRefreshEnabled = ɵzoneWrap(_setTokenAutoRefreshEnabled, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getLimitedUseToken","_getToken","_initializeAppCheck","_onTokenChanged","_setTokenAutoRefreshEnabled"],"mappings":"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"}
@@ -57,21 +57,20 @@ function firebaseAppFactory(fn) {
57
57
  };
58
58
  }
59
59
  class FirebaseAppModule {
60
- // eslint-disable-next-line @typescript-eslint/ban-types
61
60
  constructor(platformId) {
62
61
  registerVersion$1('angularfire', VERSION.full, 'core');
63
62
  registerVersion$1('angularfire', VERSION.full, 'app');
64
63
  // eslint-disable-next-line @typescript-eslint/no-base-to-string
65
64
  registerVersion$1('angular', VERSION$1.full, platformId.toString());
66
65
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FirebaseAppModule, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule });
68
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: FirebaseAppModule });
69
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FirebaseAppModule, providers: [
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FirebaseAppModule, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule });
67
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: FirebaseAppModule });
68
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FirebaseAppModule, providers: [
70
69
  DEFAULT_FIREBASE_APP_PROVIDER,
71
70
  FIREBASE_APPS_PROVIDER,
72
71
  ] });
73
72
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FirebaseAppModule, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FirebaseAppModule, decorators: [{
75
74
  type: NgModule,
76
75
  args: [{
77
76
  providers: [
@@ -79,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
79
78
  FIREBASE_APPS_PROVIDER,
80
79
  ]
81
80
  }]
82
- }], ctorParameters: () => [{ type: Object, decorators: [{
81
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
83
82
  type: Inject,
84
83
  args: [PLATFORM_ID]
85
84
  }] }] });
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-app.mjs","sources":["../../../src/app/app.ts","../../../src/app/app.module.ts","../../../src/app/firebase.ts","../../../src/app/angular-fire-app.ts"],"sourcesContent":["import { FirebaseApp as IFirebaseApp, getApps } from 'firebase/app';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// Need to turn the FirebaseApp interface exported by firebase/app into a class\n// as types don't work in Angular DI. We want developers to be able to inject FirebaseApp like so\n// constructor(app: FirebaseApp)\n// the cleanest way to achieve this that I found is to export a new interface and class\n// the interface just extends the interface you want to turn into the class. This informs tyepscript\n// that the class has all the same methods/properties as the interface you want to extend without\n// breaking if Firebase adds/removes APIs in future releases. This was a big problem for @angular/fire\n// back when we constructed our own class. Then in the \"new class\" we just return the FirebaseApp in the\n// constructor, this also has the added benefit of Firebase methods taking our DI class without\n// casting. E.g,\n// constructor(private app: FirebaseApp) { }\n// ngOnDestroy() { deleteApp(this.app); }\n//\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface FirebaseApp extends IFirebaseApp {}\n\nexport class FirebaseApp {\n constructor(app: IFirebaseApp) {\n return app;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface FirebaseApps extends Array<IFirebaseApp> {}\n\nexport class FirebaseApps {\n constructor() {\n return getApps();\n }\n}\n\nexport const firebaseApp$ = timer(0, 300).pipe(\n concatMap(() => from(getApps())),\n distinct(),\n);\n","import {\n EnvironmentProviders,\n Inject,\n InjectionToken,\n Injector,\n VERSION as NG_VERSION,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers } from '@angular/fire';\nimport { FirebaseApp as IFirebaseApp, getApp, registerVersion } from 'firebase/app';\nimport { FirebaseApp, FirebaseApps } from './app';\n\nexport function defaultFirebaseAppFactory(provided: FirebaseApp[]|undefined) {\n // Use the provided app, if there is only one, otherwise fetch the default app\n if (provided && provided.length === 1) { return provided[0]; }\n return new FirebaseApp(getApp());\n}\n\n// With FIREBASE_APPS I wanted to capture the default app instance, if it is initialized by\n// the reserved URL; ɵPROVIDED_FIREBASE_APPS is not for public consumption and serves to ensure that all\n// provideFirebaseApp(...) calls are satisfied before FirebaseApp$ or FirebaseApp is resolved\nexport const PROVIDED_FIREBASE_APPS = new InjectionToken<FirebaseApp[]>('angularfire2._apps');\n\n// Injecting FirebaseApp will now only inject the default Firebase App\n// this allows allows beginners to import /__/firebase/init.js to auto initialize Firebase App\n// from the reserved URL.\nconst DEFAULT_FIREBASE_APP_PROVIDER = {\n provide: FirebaseApp,\n useFactory: defaultFirebaseAppFactory,\n deps: [\n [new Optional(), PROVIDED_FIREBASE_APPS ],\n ],\n};\n\nconst FIREBASE_APPS_PROVIDER = {\n provide: FirebaseApps,\n deps: [\n [new Optional(), PROVIDED_FIREBASE_APPS ],\n ],\n};\n\nexport function firebaseAppFactory(fn: (injector: Injector) => IFirebaseApp) {\n return (zone: NgZone, injector: Injector) => {\n const platformId = injector.get(PLATFORM_ID);\n registerVersion('angularfire', VERSION.full, 'core');\n registerVersion('angularfire', VERSION.full, 'app');\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n registerVersion('angular', NG_VERSION.full, platformId.toString());\n\n const app = zone.runOutsideAngular(() => fn(injector));\n return new FirebaseApp(app);\n };\n}\n\n@NgModule({\n providers: [\n DEFAULT_FIREBASE_APP_PROVIDER,\n FIREBASE_APPS_PROVIDER,\n ]\n})\nexport class FirebaseAppModule {\n // eslint-disable-next-line @typescript-eslint/ban-types\n constructor(@Inject(PLATFORM_ID) platformId: Object) {\n registerVersion('angularfire', VERSION.full, 'core');\n registerVersion('angularfire', VERSION.full, 'app');\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n registerVersion('angular', NG_VERSION.full, platformId.toString());\n }\n}\n\n// Calling initializeApp({ ... }, 'name') multiple times will add more FirebaseApps into the FIREBASE_APPS\n// injection scope. This allows developers to more easily work with multiple Firebase Applications. Downside\n// is that DI for app name and options doesn't really make sense anymore.\nexport function provideFirebaseApp(fn: (injector: Injector) => IFirebaseApp, ...deps: any[]): EnvironmentProviders {\n return makeEnvironmentProviders([\n DEFAULT_FIREBASE_APP_PROVIDER,\n FIREBASE_APPS_PROVIDER,\n {\n provide: PROVIDED_FIREBASE_APPS,\n useFactory: firebaseAppFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n ...deps,\n ],\n }\n ])\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/app';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n deleteApp as _deleteApp,\n getApp as _getApp,\n getApps as _getApps,\n initializeApp as _initializeApp,\n initializeServerApp as _initializeServerApp,\n onLog as _onLog,\n registerVersion as _registerVersion,\n setLogLevel as _setLogLevel\n} from 'firebase/app';\n\nexport const deleteApp = ɵzoneWrap(_deleteApp, true);\nexport const getApp = ɵzoneWrap(_getApp, true);\nexport const getApps = ɵzoneWrap(_getApps, true);\nexport const initializeApp = ɵzoneWrap(_initializeApp, true);\nexport const initializeServerApp = ɵzoneWrap(_initializeServerApp, true);\nexport const onLog = ɵzoneWrap(_onLog, true);\nexport const registerVersion = ɵzoneWrap(_registerVersion, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["getApps","getApp","registerVersion","NG_VERSION","ɵAngularFireSchedulers","ɵzoneWrap","_deleteApp","_getApp","_getApps","_initializeApp","_initializeServerApp","_onLog","_registerVersion","_setLogLevel"],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-app.mjs","sources":["../../../src/app/app.ts","../../../src/app/app.module.ts","../../../src/app/firebase.ts","../../../src/app/angular-fire-app.ts"],"sourcesContent":["import { FirebaseApp as IFirebaseApp, getApps } from 'firebase/app';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// Need to turn the FirebaseApp interface exported by firebase/app into a class\n// as types don't work in Angular DI. We want developers to be able to inject FirebaseApp like so\n// constructor(app: FirebaseApp)\n// the cleanest way to achieve this that I found is to export a new interface and class\n// the interface just extends the interface you want to turn into the class. This informs tyepscript\n// that the class has all the same methods/properties as the interface you want to extend without\n// breaking if Firebase adds/removes APIs in future releases. This was a big problem for @angular/fire\n// back when we constructed our own class. Then in the \"new class\" we just return the FirebaseApp in the\n// constructor, this also has the added benefit of Firebase methods taking our DI class without\n// casting. E.g,\n// constructor(private app: FirebaseApp) { }\n// ngOnDestroy() { deleteApp(this.app); }\n//\n \nexport interface FirebaseApp extends IFirebaseApp {}\n\nexport class FirebaseApp {\n constructor(app: IFirebaseApp) {\n return app;\n }\n}\n\n \nexport interface FirebaseApps extends Array<IFirebaseApp> {}\n\nexport class FirebaseApps {\n constructor() {\n return getApps();\n }\n}\n\nexport const firebaseApp$ = timer(0, 300).pipe(\n concatMap(() => from(getApps())),\n distinct(),\n);\n","import {\n EnvironmentProviders,\n Inject,\n InjectionToken,\n Injector,\n VERSION as NG_VERSION,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers } from '@angular/fire';\nimport { FirebaseApp as IFirebaseApp, getApp, registerVersion } from 'firebase/app';\nimport { FirebaseApp, FirebaseApps } from './app';\n\nexport function defaultFirebaseAppFactory(provided: FirebaseApp[]|undefined) {\n // Use the provided app, if there is only one, otherwise fetch the default app\n if (provided && provided.length === 1) { return provided[0]; }\n return new FirebaseApp(getApp());\n}\n\n// With FIREBASE_APPS I wanted to capture the default app instance, if it is initialized by\n// the reserved URL; ɵPROVIDED_FIREBASE_APPS is not for public consumption and serves to ensure that all\n// provideFirebaseApp(...) calls are satisfied before FirebaseApp$ or FirebaseApp is resolved\nexport const PROVIDED_FIREBASE_APPS = new InjectionToken<FirebaseApp[]>('angularfire2._apps');\n\n// Injecting FirebaseApp will now only inject the default Firebase App\n// this allows allows beginners to import /__/firebase/init.js to auto initialize Firebase App\n// from the reserved URL.\nconst DEFAULT_FIREBASE_APP_PROVIDER = {\n provide: FirebaseApp,\n useFactory: defaultFirebaseAppFactory,\n deps: [\n [new Optional(), PROVIDED_FIREBASE_APPS ],\n ],\n};\n\nconst FIREBASE_APPS_PROVIDER = {\n provide: FirebaseApps,\n deps: [\n [new Optional(), PROVIDED_FIREBASE_APPS ],\n ],\n};\n\nexport function firebaseAppFactory(fn: (injector: Injector) => IFirebaseApp) {\n return (zone: NgZone, injector: Injector) => {\n const platformId = injector.get(PLATFORM_ID);\n registerVersion('angularfire', VERSION.full, 'core');\n registerVersion('angularfire', VERSION.full, 'app');\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n registerVersion('angular', NG_VERSION.full, platformId.toString());\n\n const app = zone.runOutsideAngular(() => fn(injector));\n return new FirebaseApp(app);\n };\n}\n\n@NgModule({\n providers: [\n DEFAULT_FIREBASE_APP_PROVIDER,\n FIREBASE_APPS_PROVIDER,\n ]\n})\nexport class FirebaseAppModule {\n constructor(@Inject(PLATFORM_ID) platformId: object) {\n registerVersion('angularfire', VERSION.full, 'core');\n registerVersion('angularfire', VERSION.full, 'app');\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n registerVersion('angular', NG_VERSION.full, platformId.toString());\n }\n}\n\n// Calling initializeApp({ ... }, 'name') multiple times will add more FirebaseApps into the FIREBASE_APPS\n// injection scope. This allows developers to more easily work with multiple Firebase Applications. Downside\n// is that DI for app name and options doesn't really make sense anymore.\nexport function provideFirebaseApp(fn: (injector: Injector) => IFirebaseApp, ...deps: any[]): EnvironmentProviders {\n return makeEnvironmentProviders([\n DEFAULT_FIREBASE_APP_PROVIDER,\n FIREBASE_APPS_PROVIDER,\n {\n provide: PROVIDED_FIREBASE_APPS,\n useFactory: firebaseAppFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n ...deps,\n ],\n }\n ])\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/app';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n deleteApp as _deleteApp,\n getApp as _getApp,\n getApps as _getApps,\n initializeApp as _initializeApp,\n initializeServerApp as _initializeServerApp,\n onLog as _onLog,\n registerVersion as _registerVersion,\n setLogLevel as _setLogLevel\n} from 'firebase/app';\n\nexport const deleteApp = ɵzoneWrap(_deleteApp, true);\nexport const getApp = ɵzoneWrap(_getApp, true);\nexport const getApps = ɵzoneWrap(_getApps, true);\nexport const initializeApp = ɵzoneWrap(_initializeApp, true);\nexport const initializeServerApp = ɵzoneWrap(_initializeServerApp, true);\nexport const onLog = ɵzoneWrap(_onLog, true);\nexport const registerVersion = ɵzoneWrap(_registerVersion, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["getApps","getApp","registerVersion","NG_VERSION","ɵAngularFireSchedulers","ɵzoneWrap","_deleteApp","_getApp","_getApps","_initializeApp","_initializeServerApp","_onLog","_registerVersion","_setLogLevel"],"mappings":";;;;;;;;MAoBa,WAAW,CAAA;AACtB,IAAA,WAAA,CAAY,GAAiB,EAAA;AAC3B,QAAA,OAAO,GAAG;IACZ;AACD;MAKY,YAAY,CAAA;AACvB,IAAA,WAAA,GAAA;QACE,OAAOA,SAAO,EAAE;IAClB;AACD;AAEM,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAC5C,SAAS,CAAC,MAAM,IAAI,CAACA,SAAO,EAAE,CAAC,CAAC,EAChC,QAAQ,EAAE;;ACrBN,SAAU,yBAAyB,CAAC,QAAiC,EAAA;;IAEzE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAAE,QAAA,OAAO,QAAQ,CAAC,CAAC,CAAC;IAAE;AAC7D,IAAA,OAAO,IAAI,WAAW,CAACC,QAAM,EAAE,CAAC;AAClC;AAEA;AACA;AACA;AACO,MAAM,sBAAsB,GAAG,IAAI,cAAc,CAAgB,oBAAoB,CAAC;AAE7F;AACA;AACA;AACA,MAAM,6BAA6B,GAAG;AACpC,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,UAAU,EAAE,yBAAyB;AACrC,IAAA,IAAI,EAAE;AACJ,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,sBAAsB,CAAE;AAC1C,KAAA;CACF;AAED,MAAM,sBAAsB,GAAG;AAC7B,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,IAAI,EAAE;AACJ,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,sBAAsB,CAAE;AAC1C,KAAA;CACF;AAEK,SAAU,kBAAkB,CAAC,EAAwC,EAAA;AACzE,IAAA,OAAO,CAAC,IAAY,EAAE,QAAkB,KAAI;QAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5CC,iBAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;QACpDA,iBAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;;AAEnD,QAAAA,iBAAe,CAAC,SAAS,EAAEC,SAAU,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAElE,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;AACtD,QAAA,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC;AAC7B,IAAA,CAAC;AACH;MAQa,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAiC,UAAkB,EAAA;QACjDD,iBAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;QACpDA,iBAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;;AAEnD,QAAAA,iBAAe,CAAC,SAAS,EAAEC,SAAU,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;IACpE;AANW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBACR,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGADpB,iBAAiB,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,SAAA,EALjB;YACT,6BAA6B;YAC7B,sBAAsB;AACvB,SAAA,EAAA,CAAA;;4FAEU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;wBACT,6BAA6B;wBAC7B,sBAAsB;AACvB;AACF,iBAAA;;0BAEc,MAAM;2BAAC,WAAW;;AAQjC;AACA;AACA;SACgB,kBAAkB,CAAC,EAAwC,EAAE,GAAG,IAAW,EAAA;AACzF,IAAA,OAAO,wBAAwB,CAAC;QAC9B,6BAA6B;QAC7B,sBAAsB;AACtB,QAAA;AACE,YAAA,OAAO,EAAE,sBAAsB;AAC/B,YAAA,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC;AAClC,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,IAAI,EAAE;gBACJ,MAAM;gBACN,QAAQ;gBACRC,sBAAsB;AACtB,gBAAA,GAAG,IAAI;AACR,aAAA;AACF;AACF,KAAA,CAAC;AACJ;;AC5FA;AAcO,MAAM,SAAS,GAAGC,SAAS,CAACC,WAAU,EAAE,IAAI;AAC5C,MAAM,MAAM,GAAGD,SAAS,CAACE,QAAO,EAAE,IAAI;AACtC,MAAM,OAAO,GAAGF,SAAS,CAACG,SAAQ,EAAE,IAAI;AACxC,MAAM,aAAa,GAAGH,SAAS,CAACI,eAAc,EAAE,IAAI;AACpD,MAAM,mBAAmB,GAAGJ,SAAS,CAACK,qBAAoB,EAAE,IAAI;AAChE,MAAM,KAAK,GAAGL,SAAS,CAACM,OAAM,EAAE,IAAI;AACpC,MAAM,eAAe,GAAGN,SAAS,CAACO,iBAAgB,EAAE,IAAI;AACxD,MAAM,WAAW,GAAGP,SAAS,CAACQ,aAAY,EAAE,IAAI;;ACrBvD;;AAEG;;"}
@@ -31,10 +31,10 @@ class AuthGuard {
31
31
  }
32
32
  }));
33
33
  };
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
35
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthGuard, providedIn: 'any' });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthGuard, providedIn: 'any' });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthGuard, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthGuard, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'any'
@@ -57,11 +57,11 @@ class AuthGuardModule {
57
57
  constructor() {
58
58
  registerVersion('angularfire', VERSION.full, 'auth-guard');
59
59
  }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
61
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: AuthGuardModule });
62
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthGuardModule, providers: [AuthGuard] });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
61
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: AuthGuardModule });
62
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthGuardModule, providers: [AuthGuard] });
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthGuardModule, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthGuardModule, decorators: [{
65
65
  type: NgModule,
66
66
  args: [{
67
67
  providers: [AuthGuard]
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-auth-guard.mjs","sources":["../../../src/auth-guard/auth-guard.ts","../../../src/auth-guard/auth-guard.module.ts","../../../src/auth-guard/angular-fire-auth-guard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Auth, user } from '@angular/fire/auth';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { User } from 'firebase/auth';\nimport { Observable, UnaryFunction, of, pipe } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\n\nexport type AuthPipeGenerator = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => AuthPipe;\nexport type AuthPipe = UnaryFunction<Observable<User|null>, Observable<boolean|string|any[]>>;\n\nexport const loggedIn: AuthPipe = map(user => !!user);\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(private router: Router, private auth: Auth) {}\n\n canActivate = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const authPipeFactory = next.data.authGuardPipe as AuthPipeGenerator || (() => loggedIn);\n return user(this.auth).pipe(\n take(1),\n authPipeFactory(next, state),\n map(can => {\n if (typeof can === 'boolean') {\n return can;\n } else if (Array.isArray(can)) {\n return this.router.createUrlTree(can);\n } else {\n // TODO(EdricChan03): Add tests\n return this.router.parseUrl(can);\n }\n })\n );\n }\n\n}\n\nexport const canActivate = (pipe: AuthPipeGenerator) => ({\n canActivate: [ AuthGuard ], data: { authGuardPipe: pipe }\n});\n\nexport const isNotAnonymous: AuthPipe = map(user => !!user && !user.isAnonymous);\nexport const idTokenResult = switchMap((user: User|null) => user ? user.getIdTokenResult() : of(null));\nexport const emailVerified: AuthPipe = map(user => !!user && user.emailVerified);\nexport const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));\nexport const hasCustomClaim: (claim: string) => AuthPipe =\n // eslint-disable-next-line no-prototype-builtins\n (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));\nexport const redirectUnauthorizedTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));\nexport const redirectLoggedInTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));\n","import { NgModule } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { registerVersion } from 'firebase/app';\nimport { AuthGuard } from './auth-guard';\n\n@NgModule({\n providers: [ AuthGuard ]\n})\nexport class AuthGuardModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'auth-guard');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-auth-guard.mjs","sources":["../../../src/auth-guard/auth-guard.ts","../../../src/auth-guard/auth-guard.module.ts","../../../src/auth-guard/angular-fire-auth-guard.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Auth, user } from '@angular/fire/auth';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { User } from 'firebase/auth';\nimport { Observable, UnaryFunction, of, pipe } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\n\nexport type AuthPipeGenerator = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => AuthPipe;\nexport type AuthPipe = UnaryFunction<Observable<User|null>, Observable<boolean|string|any[]>>;\n\nexport const loggedIn: AuthPipe = map(user => !!user);\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(private router: Router, private auth: Auth) {}\n\n canActivate = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const authPipeFactory = next.data.authGuardPipe as AuthPipeGenerator || (() => loggedIn);\n return user(this.auth).pipe(\n take(1),\n authPipeFactory(next, state),\n map(can => {\n if (typeof can === 'boolean') {\n return can;\n } else if (Array.isArray(can)) {\n return this.router.createUrlTree(can);\n } else {\n // TODO(EdricChan03): Add tests\n return this.router.parseUrl(can);\n }\n })\n );\n }\n\n}\n\nexport const canActivate = (pipe: AuthPipeGenerator) => ({\n canActivate: [ AuthGuard ], data: { authGuardPipe: pipe }\n});\n\nexport const isNotAnonymous: AuthPipe = map(user => !!user && !user.isAnonymous);\nexport const idTokenResult = switchMap((user: User|null) => user ? user.getIdTokenResult() : of(null));\nexport const emailVerified: AuthPipe = map(user => !!user && user.emailVerified);\nexport const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));\nexport const hasCustomClaim: (claim: string) => AuthPipe =\n // eslint-disable-next-line no-prototype-builtins\n (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));\nexport const redirectUnauthorizedTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));\nexport const redirectLoggedInTo: (redirect: string|any[]) => AuthPipe =\n (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));\n","import { NgModule } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport { registerVersion } from 'firebase/app';\nimport { AuthGuard } from './auth-guard';\n\n@NgModule({\n providers: [ AuthGuard ]\n})\nexport class AuthGuardModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'auth-guard');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -52,14 +52,14 @@ class AuthModule {
52
52
  constructor() {
53
53
  registerVersion('angularfire', VERSION.full, 'auth');
54
54
  }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: AuthModule });
57
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthModule, providers: [
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: AuthModule });
57
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthModule, providers: [
58
58
  DEFAULT_AUTH_INSTANCE_PROVIDER,
59
59
  AUTH_INSTANCES_PROVIDER,
60
60
  ] });
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: AuthModule, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AuthModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-auth.mjs","sources":["../../../src/auth/auth.ts","../../../src/auth/auth.module.ts","../../../src/auth/rxfire.ts","../../../src/auth/firebase.ts","../../../src/auth/angular-fire-auth.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Auth as FirebaseAuth } from 'firebase/auth';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\nexport const AUTH_PROVIDER_NAME = 'auth';\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 Auth extends FirebaseAuth {}\n\nexport class Auth {\n constructor(auth: FirebaseAuth) {\n return auth;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AuthInstances extends Array<FirebaseAuth> {}\n\nexport class AuthInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAuth>(AUTH_PROVIDER_NAME);\n }\n}\n\nexport const authInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAuth>(AUTH_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 { Auth as FirebaseAuth } from 'firebase/auth';\nimport { AUTH_PROVIDER_NAME, Auth, AuthInstances } from './auth';\n\nexport const PROVIDED_AUTH_INSTANCES = new InjectionToken<Auth[]>('angularfire2.auth-instances');\n\nexport function defaultAuthInstanceFactory(provided: FirebaseAuth[]|undefined, defaultApp: FirebaseApp) {\n const defaultAuth = ɵgetDefaultInstanceOf<FirebaseAuth>(AUTH_PROVIDER_NAME, provided, defaultApp);\n return defaultAuth && new Auth(defaultAuth);\n}\n\nexport function authInstanceFactory(fn: (injector: Injector) => FirebaseAuth) {\n return (zone: NgZone, injector: Injector) => {\n const auth = zone.runOutsideAngular(() => fn(injector));\n return new Auth(auth);\n };\n}\n\nconst AUTH_INSTANCES_PROVIDER = {\n provide: AuthInstances,\n deps: [\n [new Optional(), PROVIDED_AUTH_INSTANCES ],\n ]\n};\n\nconst DEFAULT_AUTH_INSTANCE_PROVIDER = {\n provide: Auth,\n useFactory: defaultAuthInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_AUTH_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_AUTH_INSTANCE_PROVIDER,\n AUTH_INSTANCES_PROVIDER,\n ]\n})\nexport class AuthModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'auth');\n }\n}\n\nexport function provideAuth(fn: (injector: Injector) => FirebaseAuth, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'auth');\n return makeEnvironmentProviders([\n DEFAULT_AUTH_INSTANCE_PROVIDER,\n AUTH_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_AUTH_INSTANCES,\n useFactory: authInstanceFactory(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\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n authState as _authState,\n idToken as _idToken,\n user as _user\n} from 'rxfire/auth';\n\nexport const authState = ɵzoneWrap(_authState, true);\nexport const idToken = ɵzoneWrap(_idToken, true);\nexport const user = ɵzoneWrap(_user, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/auth';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n applyActionCode as _applyActionCode,\n beforeAuthStateChanged as _beforeAuthStateChanged,\n checkActionCode as _checkActionCode,\n confirmPasswordReset as _confirmPasswordReset,\n connectAuthEmulator as _connectAuthEmulator,\n createUserWithEmailAndPassword as _createUserWithEmailAndPassword,\n deleteUser as _deleteUser,\n fetchSignInMethodsForEmail as _fetchSignInMethodsForEmail,\n getAdditionalUserInfo as _getAdditionalUserInfo,\n getAuth as _getAuth,\n getIdToken as _getIdToken,\n getIdTokenResult as _getIdTokenResult,\n getMultiFactorResolver as _getMultiFactorResolver,\n getRedirectResult as _getRedirectResult,\n initializeAuth as _initializeAuth,\n initializeRecaptchaConfig as _initializeRecaptchaConfig,\n isSignInWithEmailLink as _isSignInWithEmailLink,\n linkWithCredential as _linkWithCredential,\n linkWithPhoneNumber as _linkWithPhoneNumber,\n linkWithPopup as _linkWithPopup,\n linkWithRedirect as _linkWithRedirect,\n onAuthStateChanged as _onAuthStateChanged,\n onIdTokenChanged as _onIdTokenChanged,\n parseActionCodeURL as _parseActionCodeURL,\n reauthenticateWithCredential as _reauthenticateWithCredential,\n reauthenticateWithPhoneNumber as _reauthenticateWithPhoneNumber,\n reauthenticateWithPopup as _reauthenticateWithPopup,\n reauthenticateWithRedirect as _reauthenticateWithRedirect,\n reload as _reload,\n revokeAccessToken as _revokeAccessToken,\n sendEmailVerification as _sendEmailVerification,\n sendPasswordResetEmail as _sendPasswordResetEmail,\n sendSignInLinkToEmail as _sendSignInLinkToEmail,\n setPersistence as _setPersistence,\n signInAnonymously as _signInAnonymously,\n signInWithCredential as _signInWithCredential,\n signInWithCustomToken as _signInWithCustomToken,\n signInWithEmailAndPassword as _signInWithEmailAndPassword,\n signInWithEmailLink as _signInWithEmailLink,\n signInWithPhoneNumber as _signInWithPhoneNumber,\n signInWithPopup as _signInWithPopup,\n signInWithRedirect as _signInWithRedirect,\n signOut as _signOut,\n unlink as _unlink,\n updateCurrentUser as _updateCurrentUser,\n updateEmail as _updateEmail,\n updatePassword as _updatePassword,\n updatePhoneNumber as _updatePhoneNumber,\n updateProfile as _updateProfile,\n useDeviceLanguage as _useDeviceLanguage,\n validatePassword as _validatePassword,\n verifyBeforeUpdateEmail as _verifyBeforeUpdateEmail,\n verifyPasswordResetCode as _verifyPasswordResetCode\n} from 'firebase/auth';\n\nexport const applyActionCode = ɵzoneWrap(_applyActionCode, true);\nexport const beforeAuthStateChanged = ɵzoneWrap(_beforeAuthStateChanged, true);\nexport const checkActionCode = ɵzoneWrap(_checkActionCode, true);\nexport const confirmPasswordReset = ɵzoneWrap(_confirmPasswordReset, true, 2);\nexport const connectAuthEmulator = ɵzoneWrap(_connectAuthEmulator, true);\nexport const createUserWithEmailAndPassword = ɵzoneWrap(_createUserWithEmailAndPassword, true, 2);\nexport const deleteUser = ɵzoneWrap(_deleteUser, true, 2);\nexport const fetchSignInMethodsForEmail = ɵzoneWrap(_fetchSignInMethodsForEmail, true, 2);\nexport const getAdditionalUserInfo = ɵzoneWrap(_getAdditionalUserInfo, true, 2);\nexport const getAuth = ɵzoneWrap(_getAuth, true);\nexport const getIdToken = ɵzoneWrap(_getIdToken, true);\nexport const getIdTokenResult = ɵzoneWrap(_getIdTokenResult, true);\nexport const getMultiFactorResolver = ɵzoneWrap(_getMultiFactorResolver, true);\nexport const getRedirectResult = ɵzoneWrap(_getRedirectResult, true);\nexport const initializeAuth = ɵzoneWrap(_initializeAuth, true);\nexport const initializeRecaptchaConfig = ɵzoneWrap(_initializeRecaptchaConfig, true);\nexport const isSignInWithEmailLink = ɵzoneWrap(_isSignInWithEmailLink, true);\nexport const linkWithCredential = ɵzoneWrap(_linkWithCredential, true, 2);\nexport const linkWithPhoneNumber = ɵzoneWrap(_linkWithPhoneNumber, true, 2);\nexport const linkWithPopup = ɵzoneWrap(_linkWithPopup, true, 2);\nexport const linkWithRedirect = ɵzoneWrap(_linkWithRedirect, true, 2);\nexport const onAuthStateChanged = ɵzoneWrap(_onAuthStateChanged, true);\nexport const onIdTokenChanged = ɵzoneWrap(_onIdTokenChanged, true);\nexport const parseActionCodeURL = ɵzoneWrap(_parseActionCodeURL, true);\nexport const reauthenticateWithCredential = ɵzoneWrap(_reauthenticateWithCredential, true, 2);\nexport const reauthenticateWithPhoneNumber = ɵzoneWrap(_reauthenticateWithPhoneNumber, true, 2);\nexport const reauthenticateWithPopup = ɵzoneWrap(_reauthenticateWithPopup, true, 2);\nexport const reauthenticateWithRedirect = ɵzoneWrap(_reauthenticateWithRedirect, true, 2);\nexport const reload = ɵzoneWrap(_reload, true, 2);\nexport const revokeAccessToken = ɵzoneWrap(_revokeAccessToken, true, 2);\nexport const sendEmailVerification = ɵzoneWrap(_sendEmailVerification, true, 2);\nexport const sendPasswordResetEmail = ɵzoneWrap(_sendPasswordResetEmail, true, 2);\nexport const sendSignInLinkToEmail = ɵzoneWrap(_sendSignInLinkToEmail, true, 2);\nexport const setPersistence = ɵzoneWrap(_setPersistence, true);\nexport const signInAnonymously = ɵzoneWrap(_signInAnonymously, true, 2);\nexport const signInWithCredential = ɵzoneWrap(_signInWithCredential, true, 2);\nexport const signInWithCustomToken = ɵzoneWrap(_signInWithCustomToken, true, 2);\nexport const signInWithEmailAndPassword = ɵzoneWrap(_signInWithEmailAndPassword, true, 2);\nexport const signInWithEmailLink = ɵzoneWrap(_signInWithEmailLink, true, 2);\nexport const signInWithPhoneNumber = ɵzoneWrap(_signInWithPhoneNumber, true, 2);\nexport const signInWithPopup = ɵzoneWrap(_signInWithPopup, true, 2);\nexport const signInWithRedirect = ɵzoneWrap(_signInWithRedirect, true, 2);\nexport const signOut = ɵzoneWrap(_signOut, true, 2);\nexport const unlink = ɵzoneWrap(_unlink, true, 2);\nexport const updateCurrentUser = ɵzoneWrap(_updateCurrentUser, true, 2);\nexport const updateEmail = ɵzoneWrap(_updateEmail, true, 2);\nexport const updatePassword = ɵzoneWrap(_updatePassword, true, 2);\nexport const updatePhoneNumber = ɵzoneWrap(_updatePhoneNumber, true, 2);\nexport const updateProfile = ɵzoneWrap(_updateProfile, true, 2);\nexport const useDeviceLanguage = ɵzoneWrap(_useDeviceLanguage, true, 2);\nexport const validatePassword = ɵzoneWrap(_validatePassword, true, 2);\nexport const verifyBeforeUpdateEmail = ɵzoneWrap(_verifyBeforeUpdateEmail, true, 2);\nexport const verifyPasswordResetCode = ɵzoneWrap(_verifyPasswordResetCode, true, 2);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_authState","_idToken","_user","_applyActionCode","_beforeAuthStateChanged","_checkActionCode","_confirmPasswordReset","_connectAuthEmulator","_createUserWithEmailAndPassword","_deleteUser","_fetchSignInMethodsForEmail","_getAdditionalUserInfo","_getAuth","_getIdToken","_getIdTokenResult","_getMultiFactorResolver","_getRedirectResult","_initializeAuth","_initializeRecaptchaConfig","_isSignInWithEmailLink","_linkWithCredential","_linkWithPhoneNumber","_linkWithPopup","_linkWithRedirect","_onAuthStateChanged","_onIdTokenChanged","_parseActionCodeURL","_reauthenticateWithCredential","_reauthenticateWithPhoneNumber","_reauthenticateWithPopup","_reauthenticateWithRedirect","_reload","_revokeAccessToken","_sendEmailVerification","_sendPasswordResetEmail","_sendSignInLinkToEmail","_setPersistence","_signInAnonymously","_signInWithCredential","_signInWithCustomToken","_signInWithEmailAndPassword","_signInWithEmailLink","_signInWithPhoneNumber","_signInWithPopup","_signInWithRedirect","_signOut","_unlink","_updateCurrentUser","_updateEmail","_updatePassword","_updatePhoneNumber","_updateProfile","_useDeviceLanguage","_validatePassword","_verifyBeforeUpdateEmail","_verifyPasswordResetCode"],"mappings":";;;;;;;;;;;;AAKO,MAAM,kBAAkB,GAAG,MAAM;MAM3B,IAAI,CAAA;AACf,IAAA,WAAA,CAAY,IAAkB,EAAA;AAC5B,QAAA,OAAO,IAAI;;AAEd;MAKY,aAAa,CAAA;AACxB,IAAA,WAAA,GAAA;AACE,QAAA,OAAOA,kBAAkB,CAAe,kBAAkB,CAAC;;AAE9D;AAEM,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAC7C,SAAS,CAAC,MAAM,IAAI,CAACA,kBAAkB,CAAe,kBAAkB,CAAC,CAAC,CAAC,EAC3E,QAAQ,EAAE;;ACZL,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAS,6BAA6B,CAAC;AAEhF,SAAA,0BAA0B,CAAC,QAAkC,EAAE,UAAuB,EAAA;IACpG,MAAM,WAAW,GAAGC,qBAAqB,CAAe,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC;AACjG,IAAA,OAAO,WAAW,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;AAC7C;AAEM,SAAU,mBAAmB,CAAC,EAAwC,EAAA;AAC1E,IAAA,OAAO,CAAC,IAAY,EAAE,QAAkB,KAAI;AAC1C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;AACvD,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;AACvB,KAAC;AACH;AAEA,MAAM,uBAAuB,GAAG;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,IAAI,EAAE;AACJ,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,uBAAuB,CAAE;AAC3C;CACF;AAED,MAAM,8BAA8B,GAAG;AACrC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,UAAU,EAAE,0BAA0B;AACtC,IAAA,IAAI,EAAE;AACJ,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,uBAAuB,CAAE;QAC1C,WAAW;AACZ;CACF;MAQY,UAAU,CAAA;AACrB,IAAA,WAAA,GAAA;QACE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;;uGAF3C,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAV,UAAU,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,EALV,SAAA,EAAA;YACT,8BAA8B;YAC9B,uBAAuB;AACxB,SAAA,EAAA,CAAA;;2FAEU,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;wBACT,8BAA8B;wBAC9B,uBAAuB;AACxB;AACF,iBAAA;;SAOe,WAAW,CAAC,EAAwC,EAAE,GAAG,IAAW,EAAA;IAClF,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;AACpD,IAAA,OAAO,wBAAwB,CAAC;QAC9B,8BAA8B;QAC9B,uBAAuB;AACvB,QAAA;AACE,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,UAAU,EAAE,mBAAmB,CAAC,EAAE,CAAC;AACnC,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,IAAI,EAAE;gBACJ,MAAM;gBACN,QAAQ;gBACRC,sBAAsB;gBACtB,YAAY;AACZ,gBAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAE;AACpC,gBAAA,GAAG,IAAI;AACR;AACF;AACF,KAAA,CAAC;AACJ;;AC7EA;AAQa,MAAA,SAAS,GAAGC,SAAS,CAACC,WAAU,EAAE,IAAI;AACtC,MAAA,OAAO,GAAGD,SAAS,CAACE,SAAQ,EAAE,IAAI;AAClC,MAAA,IAAI,GAAGF,SAAS,CAACG,MAAK,EAAE,IAAI;;ACVzC;AA2Da,MAAA,eAAe,GAAGH,SAAS,CAACI,iBAAgB,EAAE,IAAI;AAClD,MAAA,sBAAsB,GAAGJ,SAAS,CAACK,wBAAuB,EAAE,IAAI;AAChE,MAAA,eAAe,GAAGL,SAAS,CAACM,iBAAgB,EAAE,IAAI;AACxD,MAAM,oBAAoB,GAAGN,SAAS,CAACO,sBAAqB,EAAE,IAAI,EAAE,CAAC;AAC/D,MAAA,mBAAmB,GAAGP,SAAS,CAACQ,qBAAoB,EAAE,IAAI;AAChE,MAAM,8BAA8B,GAAGR,SAAS,CAACS,gCAA+B,EAAE,IAAI,EAAE,CAAC;AACzF,MAAM,UAAU,GAAGT,SAAS,CAACU,YAAW,EAAE,IAAI,EAAE,CAAC;AACjD,MAAM,0BAA0B,GAAGV,SAAS,CAACW,4BAA2B,EAAE,IAAI,EAAE,CAAC;AACjF,MAAM,qBAAqB,GAAGX,SAAS,CAACY,uBAAsB,EAAE,IAAI,EAAE,CAAC;AACjE,MAAA,OAAO,GAAGZ,SAAS,CAACa,SAAQ,EAAE,IAAI;AAClC,MAAA,UAAU,GAAGb,SAAS,CAACc,YAAW,EAAE,IAAI;AACxC,MAAA,gBAAgB,GAAGd,SAAS,CAACe,kBAAiB,EAAE,IAAI;AACpD,MAAA,sBAAsB,GAAGf,SAAS,CAACgB,wBAAuB,EAAE,IAAI;AAChE,MAAA,iBAAiB,GAAGhB,SAAS,CAACiB,mBAAkB,EAAE,IAAI;AACtD,MAAA,cAAc,GAAGjB,SAAS,CAACkB,gBAAe,EAAE,IAAI;AAChD,MAAA,yBAAyB,GAAGlB,SAAS,CAACmB,2BAA0B,EAAE,IAAI;AACtE,MAAA,qBAAqB,GAAGnB,SAAS,CAACoB,uBAAsB,EAAE,IAAI;AACpE,MAAM,kBAAkB,GAAGpB,SAAS,CAACqB,oBAAmB,EAAE,IAAI,EAAE,CAAC;AACjE,MAAM,mBAAmB,GAAGrB,SAAS,CAACsB,qBAAoB,EAAE,IAAI,EAAE,CAAC;AACnE,MAAM,aAAa,GAAGtB,SAAS,CAACuB,eAAc,EAAE,IAAI,EAAE,CAAC;AACvD,MAAM,gBAAgB,GAAGvB,SAAS,CAACwB,kBAAiB,EAAE,IAAI,EAAE,CAAC;AACvD,MAAA,kBAAkB,GAAGxB,SAAS,CAACyB,oBAAmB,EAAE,IAAI;AACxD,MAAA,gBAAgB,GAAGzB,SAAS,CAAC0B,kBAAiB,EAAE,IAAI;AACpD,MAAA,kBAAkB,GAAG1B,SAAS,CAAC2B,oBAAmB,EAAE,IAAI;AAC9D,MAAM,4BAA4B,GAAG3B,SAAS,CAAC4B,8BAA6B,EAAE,IAAI,EAAE,CAAC;AACrF,MAAM,6BAA6B,GAAG5B,SAAS,CAAC6B,+BAA8B,EAAE,IAAI,EAAE,CAAC;AACvF,MAAM,uBAAuB,GAAG7B,SAAS,CAAC8B,yBAAwB,EAAE,IAAI,EAAE,CAAC;AAC3E,MAAM,0BAA0B,GAAG9B,SAAS,CAAC+B,4BAA2B,EAAE,IAAI,EAAE,CAAC;AACjF,MAAM,MAAM,GAAG/B,SAAS,CAACgC,QAAO,EAAE,IAAI,EAAE,CAAC;AACzC,MAAM,iBAAiB,GAAGhC,SAAS,CAACiC,mBAAkB,EAAE,IAAI,EAAE,CAAC;AAC/D,MAAM,qBAAqB,GAAGjC,SAAS,CAACkC,uBAAsB,EAAE,IAAI,EAAE,CAAC;AACvE,MAAM,sBAAsB,GAAGlC,SAAS,CAACmC,wBAAuB,EAAE,IAAI,EAAE,CAAC;AACzE,MAAM,qBAAqB,GAAGnC,SAAS,CAACoC,uBAAsB,EAAE,IAAI,EAAE,CAAC;AACjE,MAAA,cAAc,GAAGpC,SAAS,CAACqC,gBAAe,EAAE,IAAI;AACtD,MAAM,iBAAiB,GAAGrC,SAAS,CAACsC,mBAAkB,EAAE,IAAI,EAAE,CAAC;AAC/D,MAAM,oBAAoB,GAAGtC,SAAS,CAACuC,sBAAqB,EAAE,IAAI,EAAE,CAAC;AACrE,MAAM,qBAAqB,GAAGvC,SAAS,CAACwC,uBAAsB,EAAE,IAAI,EAAE,CAAC;AACvE,MAAM,0BAA0B,GAAGxC,SAAS,CAACyC,4BAA2B,EAAE,IAAI,EAAE,CAAC;AACjF,MAAM,mBAAmB,GAAGzC,SAAS,CAAC0C,qBAAoB,EAAE,IAAI,EAAE,CAAC;AACnE,MAAM,qBAAqB,GAAG1C,SAAS,CAAC2C,uBAAsB,EAAE,IAAI,EAAE,CAAC;AACvE,MAAM,eAAe,GAAG3C,SAAS,CAAC4C,iBAAgB,EAAE,IAAI,EAAE,CAAC;AAC3D,MAAM,kBAAkB,GAAG5C,SAAS,CAAC6C,oBAAmB,EAAE,IAAI,EAAE,CAAC;AACjE,MAAM,OAAO,GAAG7C,SAAS,CAAC8C,SAAQ,EAAE,IAAI,EAAE,CAAC;AAC3C,MAAM,MAAM,GAAG9C,SAAS,CAAC+C,QAAO,EAAE,IAAI,EAAE,CAAC;AACzC,MAAM,iBAAiB,GAAG/C,SAAS,CAACgD,mBAAkB,EAAE,IAAI,EAAE,CAAC;AAC/D,MAAM,WAAW,GAAGhD,SAAS,CAACiD,aAAY,EAAE,IAAI,EAAE,CAAC;AACnD,MAAM,cAAc,GAAGjD,SAAS,CAACkD,gBAAe,EAAE,IAAI,EAAE,CAAC;AACzD,MAAM,iBAAiB,GAAGlD,SAAS,CAACmD,mBAAkB,EAAE,IAAI,EAAE,CAAC;AAC/D,MAAM,aAAa,GAAGnD,SAAS,CAACoD,eAAc,EAAE,IAAI,EAAE,CAAC;AACvD,MAAM,iBAAiB,GAAGpD,SAAS,CAACqD,mBAAkB,EAAE,IAAI,EAAE,CAAC;AAC/D,MAAM,gBAAgB,GAAGrD,SAAS,CAACsD,kBAAiB,EAAE,IAAI,EAAE,CAAC;AAC7D,MAAM,uBAAuB,GAAGtD,SAAS,CAACuD,yBAAwB,EAAE,IAAI,EAAE,CAAC;AAC3E,MAAM,uBAAuB,GAAGvD,SAAS,CAACwD,yBAAwB,EAAE,IAAI,EAAE,CAAC;;AC/GlF;;AAEG;;;;"}
1
+ {"version":3,"file":"angular-fire-auth.mjs","sources":["../../../src/auth/auth.ts","../../../src/auth/auth.module.ts","../../../src/auth/rxfire.ts","../../../src/auth/firebase.ts","../../../src/auth/angular-fire-auth.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Auth as FirebaseAuth } from 'firebase/auth';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\nexport const AUTH_PROVIDER_NAME = 'auth';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n \nexport interface Auth extends FirebaseAuth {}\n\nexport class Auth {\n constructor(auth: FirebaseAuth) {\n return auth;\n }\n}\n\n \nexport interface AuthInstances extends Array<FirebaseAuth> {}\n\nexport class AuthInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseAuth>(AUTH_PROVIDER_NAME);\n }\n}\n\nexport const authInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseAuth>(AUTH_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 { Auth as FirebaseAuth } from 'firebase/auth';\nimport { AUTH_PROVIDER_NAME, Auth, AuthInstances } from './auth';\n\nexport const PROVIDED_AUTH_INSTANCES = new InjectionToken<Auth[]>('angularfire2.auth-instances');\n\nexport function defaultAuthInstanceFactory(provided: FirebaseAuth[]|undefined, defaultApp: FirebaseApp) {\n const defaultAuth = ɵgetDefaultInstanceOf<FirebaseAuth>(AUTH_PROVIDER_NAME, provided, defaultApp);\n return defaultAuth && new Auth(defaultAuth);\n}\n\nexport function authInstanceFactory(fn: (injector: Injector) => FirebaseAuth) {\n return (zone: NgZone, injector: Injector) => {\n const auth = zone.runOutsideAngular(() => fn(injector));\n return new Auth(auth);\n };\n}\n\nconst AUTH_INSTANCES_PROVIDER = {\n provide: AuthInstances,\n deps: [\n [new Optional(), PROVIDED_AUTH_INSTANCES ],\n ]\n};\n\nconst DEFAULT_AUTH_INSTANCE_PROVIDER = {\n provide: Auth,\n useFactory: defaultAuthInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_AUTH_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_AUTH_INSTANCE_PROVIDER,\n AUTH_INSTANCES_PROVIDER,\n ]\n})\nexport class AuthModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'auth');\n }\n}\n\nexport function provideAuth(fn: (injector: Injector) => FirebaseAuth, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'auth');\n return makeEnvironmentProviders([\n DEFAULT_AUTH_INSTANCE_PROVIDER,\n AUTH_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_AUTH_INSTANCES,\n useFactory: authInstanceFactory(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\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n authState as _authState,\n idToken as _idToken,\n user as _user\n} from 'rxfire/auth';\n\nexport const authState = ɵzoneWrap(_authState, true);\nexport const idToken = ɵzoneWrap(_idToken, true);\nexport const user = ɵzoneWrap(_user, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/auth';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n applyActionCode as _applyActionCode,\n beforeAuthStateChanged as _beforeAuthStateChanged,\n checkActionCode as _checkActionCode,\n confirmPasswordReset as _confirmPasswordReset,\n connectAuthEmulator as _connectAuthEmulator,\n createUserWithEmailAndPassword as _createUserWithEmailAndPassword,\n deleteUser as _deleteUser,\n fetchSignInMethodsForEmail as _fetchSignInMethodsForEmail,\n getAdditionalUserInfo as _getAdditionalUserInfo,\n getAuth as _getAuth,\n getIdToken as _getIdToken,\n getIdTokenResult as _getIdTokenResult,\n getMultiFactorResolver as _getMultiFactorResolver,\n getRedirectResult as _getRedirectResult,\n initializeAuth as _initializeAuth,\n initializeRecaptchaConfig as _initializeRecaptchaConfig,\n isSignInWithEmailLink as _isSignInWithEmailLink,\n linkWithCredential as _linkWithCredential,\n linkWithPhoneNumber as _linkWithPhoneNumber,\n linkWithPopup as _linkWithPopup,\n linkWithRedirect as _linkWithRedirect,\n onAuthStateChanged as _onAuthStateChanged,\n onIdTokenChanged as _onIdTokenChanged,\n parseActionCodeURL as _parseActionCodeURL,\n reauthenticateWithCredential as _reauthenticateWithCredential,\n reauthenticateWithPhoneNumber as _reauthenticateWithPhoneNumber,\n reauthenticateWithPopup as _reauthenticateWithPopup,\n reauthenticateWithRedirect as _reauthenticateWithRedirect,\n reload as _reload,\n revokeAccessToken as _revokeAccessToken,\n sendEmailVerification as _sendEmailVerification,\n sendPasswordResetEmail as _sendPasswordResetEmail,\n sendSignInLinkToEmail as _sendSignInLinkToEmail,\n setPersistence as _setPersistence,\n signInAnonymously as _signInAnonymously,\n signInWithCredential as _signInWithCredential,\n signInWithCustomToken as _signInWithCustomToken,\n signInWithEmailAndPassword as _signInWithEmailAndPassword,\n signInWithEmailLink as _signInWithEmailLink,\n signInWithPhoneNumber as _signInWithPhoneNumber,\n signInWithPopup as _signInWithPopup,\n signInWithRedirect as _signInWithRedirect,\n signOut as _signOut,\n unlink as _unlink,\n updateCurrentUser as _updateCurrentUser,\n updateEmail as _updateEmail,\n updatePassword as _updatePassword,\n updatePhoneNumber as _updatePhoneNumber,\n updateProfile as _updateProfile,\n useDeviceLanguage as _useDeviceLanguage,\n validatePassword as _validatePassword,\n verifyBeforeUpdateEmail as _verifyBeforeUpdateEmail,\n verifyPasswordResetCode as _verifyPasswordResetCode\n} from 'firebase/auth';\n\nexport const applyActionCode = ɵzoneWrap(_applyActionCode, true);\nexport const beforeAuthStateChanged = ɵzoneWrap(_beforeAuthStateChanged, true);\nexport const checkActionCode = ɵzoneWrap(_checkActionCode, true);\nexport const confirmPasswordReset = ɵzoneWrap(_confirmPasswordReset, true, 2);\nexport const connectAuthEmulator = ɵzoneWrap(_connectAuthEmulator, true);\nexport const createUserWithEmailAndPassword = ɵzoneWrap(_createUserWithEmailAndPassword, true, 2);\nexport const deleteUser = ɵzoneWrap(_deleteUser, true, 2);\nexport const fetchSignInMethodsForEmail = ɵzoneWrap(_fetchSignInMethodsForEmail, true, 2);\nexport const getAdditionalUserInfo = ɵzoneWrap(_getAdditionalUserInfo, true, 2);\nexport const getAuth = ɵzoneWrap(_getAuth, true);\nexport const getIdToken = ɵzoneWrap(_getIdToken, true);\nexport const getIdTokenResult = ɵzoneWrap(_getIdTokenResult, true);\nexport const getMultiFactorResolver = ɵzoneWrap(_getMultiFactorResolver, true);\nexport const getRedirectResult = ɵzoneWrap(_getRedirectResult, true);\nexport const initializeAuth = ɵzoneWrap(_initializeAuth, true);\nexport const initializeRecaptchaConfig = ɵzoneWrap(_initializeRecaptchaConfig, true);\nexport const isSignInWithEmailLink = ɵzoneWrap(_isSignInWithEmailLink, true);\nexport const linkWithCredential = ɵzoneWrap(_linkWithCredential, true, 2);\nexport const linkWithPhoneNumber = ɵzoneWrap(_linkWithPhoneNumber, true, 2);\nexport const linkWithPopup = ɵzoneWrap(_linkWithPopup, true, 2);\nexport const linkWithRedirect = ɵzoneWrap(_linkWithRedirect, true, 2);\nexport const onAuthStateChanged = ɵzoneWrap(_onAuthStateChanged, true);\nexport const onIdTokenChanged = ɵzoneWrap(_onIdTokenChanged, true);\nexport const parseActionCodeURL = ɵzoneWrap(_parseActionCodeURL, true);\nexport const reauthenticateWithCredential = ɵzoneWrap(_reauthenticateWithCredential, true, 2);\nexport const reauthenticateWithPhoneNumber = ɵzoneWrap(_reauthenticateWithPhoneNumber, true, 2);\nexport const reauthenticateWithPopup = ɵzoneWrap(_reauthenticateWithPopup, true, 2);\nexport const reauthenticateWithRedirect = ɵzoneWrap(_reauthenticateWithRedirect, true, 2);\nexport const reload = ɵzoneWrap(_reload, true, 2);\nexport const revokeAccessToken = ɵzoneWrap(_revokeAccessToken, true, 2);\nexport const sendEmailVerification = ɵzoneWrap(_sendEmailVerification, true, 2);\nexport const sendPasswordResetEmail = ɵzoneWrap(_sendPasswordResetEmail, true, 2);\nexport const sendSignInLinkToEmail = ɵzoneWrap(_sendSignInLinkToEmail, true, 2);\nexport const setPersistence = ɵzoneWrap(_setPersistence, true);\nexport const signInAnonymously = ɵzoneWrap(_signInAnonymously, true, 2);\nexport const signInWithCredential = ɵzoneWrap(_signInWithCredential, true, 2);\nexport const signInWithCustomToken = ɵzoneWrap(_signInWithCustomToken, true, 2);\nexport const signInWithEmailAndPassword = ɵzoneWrap(_signInWithEmailAndPassword, true, 2);\nexport const signInWithEmailLink = ɵzoneWrap(_signInWithEmailLink, true, 2);\nexport const signInWithPhoneNumber = ɵzoneWrap(_signInWithPhoneNumber, true, 2);\nexport const signInWithPopup = ɵzoneWrap(_signInWithPopup, true, 2);\nexport const signInWithRedirect = ɵzoneWrap(_signInWithRedirect, true, 2);\nexport const signOut = ɵzoneWrap(_signOut, true, 2);\nexport const unlink = ɵzoneWrap(_unlink, true, 2);\nexport const updateCurrentUser = ɵzoneWrap(_updateCurrentUser, true, 2);\nexport const updateEmail = ɵzoneWrap(_updateEmail, true, 2);\nexport const updatePassword = ɵzoneWrap(_updatePassword, true, 2);\nexport const updatePhoneNumber = ɵzoneWrap(_updatePhoneNumber, true, 2);\nexport const updateProfile = ɵzoneWrap(_updateProfile, true, 2);\nexport const useDeviceLanguage = ɵzoneWrap(_useDeviceLanguage, true, 2);\nexport const validatePassword = ɵzoneWrap(_validatePassword, true, 2);\nexport const verifyBeforeUpdateEmail = ɵzoneWrap(_verifyBeforeUpdateEmail, true, 2);\nexport const verifyPasswordResetCode = ɵzoneWrap(_verifyPasswordResetCode, true, 2);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_authState","_idToken","_user","_applyActionCode","_beforeAuthStateChanged","_checkActionCode","_confirmPasswordReset","_connectAuthEmulator","_createUserWithEmailAndPassword","_deleteUser","_fetchSignInMethodsForEmail","_getAdditionalUserInfo","_getAuth","_getIdToken","_getIdTokenResult","_getMultiFactorResolver","_getRedirectResult","_initializeAuth","_initializeRecaptchaConfig","_isSignInWithEmailLink","_linkWithCredential","_linkWithPhoneNumber","_linkWithPopup","_linkWithRedirect","_onAuthStateChanged","_onIdTokenChanged","_parseActionCodeURL","_reauthenticateWithCredential","_reauthenticateWithPhoneNumber","_reauthenticateWithPopup","_reauthenticateWithRedirect","_reload","_revokeAccessToken","_sendEmailVerification","_sendPasswordResetEmail","_sendSignInLinkToEmail","_setPersistence","_signInAnonymously","_signInWithCredential","_signInWithCustomToken","_signInWithEmailAndPassword","_signInWithEmailLink","_signInWithPhoneNumber","_signInWithPopup","_signInWithRedirect","_signOut","_unlink","_updateCurrentUser","_updateEmail","_updatePassword","_updatePhoneNumber","_updateProfile","_useDeviceLanguage","_validatePassword","_verifyBeforeUpdateEmail","_verifyPasswordResetCode"],"mappings":"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"}