@angular/fire 18.0.0-rc.0 → 18.0.1-canary.3639e41

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 (96) hide show
  1. package/esm2022/analytics/analytics.module.mjs +5 -5
  2. package/esm2022/analytics/screen-tracking.service.mjs +4 -4
  3. package/esm2022/analytics/user-tracking.service.mjs +4 -4
  4. package/esm2022/app/app.module.mjs +5 -5
  5. package/esm2022/app-check/app-check.module.mjs +5 -5
  6. package/esm2022/auth/auth.module.mjs +5 -5
  7. package/esm2022/auth-guard/auth-guard.mjs +4 -4
  8. package/esm2022/auth-guard/auth-guard.module.mjs +5 -5
  9. package/esm2022/compat/analytics/analytics.mjs +4 -4
  10. package/esm2022/compat/analytics/analytics.module.mjs +5 -5
  11. package/esm2022/compat/analytics/screen-tracking.service.mjs +4 -4
  12. package/esm2022/compat/analytics/user-tracking.service.mjs +4 -4
  13. package/esm2022/compat/auth/auth.mjs +4 -4
  14. package/esm2022/compat/auth/auth.module.mjs +5 -5
  15. package/esm2022/compat/auth-guard/auth-guard.mjs +4 -4
  16. package/esm2022/compat/auth-guard/auth-guard.module.mjs +5 -5
  17. package/esm2022/compat/database/database.mjs +4 -4
  18. package/esm2022/compat/database/database.module.mjs +5 -5
  19. package/esm2022/compat/firebase.app.module.mjs +5 -5
  20. package/esm2022/compat/firestore/firestore.mjs +4 -4
  21. package/esm2022/compat/firestore/firestore.module.mjs +5 -5
  22. package/esm2022/compat/functions/functions.mjs +4 -4
  23. package/esm2022/compat/functions/functions.module.mjs +5 -5
  24. package/esm2022/compat/messaging/messaging.mjs +4 -4
  25. package/esm2022/compat/messaging/messaging.module.mjs +5 -5
  26. package/esm2022/compat/performance/performance.mjs +4 -4
  27. package/esm2022/compat/performance/performance.module.mjs +5 -5
  28. package/esm2022/compat/performance/performance.service.mjs +4 -4
  29. package/esm2022/compat/remote-config/remote-config.mjs +4 -4
  30. package/esm2022/compat/remote-config/remote-config.module.mjs +5 -5
  31. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +8 -8
  32. package/esm2022/compat/storage/storage.mjs +4 -4
  33. package/esm2022/compat/storage/storage.module.mjs +5 -5
  34. package/esm2022/database/database.module.mjs +5 -5
  35. package/esm2022/firestore/firestore.module.mjs +5 -5
  36. package/esm2022/firestore/lite/lite.module.mjs +5 -5
  37. package/esm2022/functions/functions.module.mjs +5 -5
  38. package/esm2022/messaging/messaging.module.mjs +5 -5
  39. package/esm2022/performance/performance.module.mjs +5 -5
  40. package/esm2022/remote-config/remote-config.module.mjs +5 -5
  41. package/esm2022/storage/storage.module.mjs +5 -5
  42. package/esm2022/vertexai-preview/vertexai.module.mjs +5 -5
  43. package/esm2022/zones.mjs +4 -4
  44. package/fesm2022/angular-fire-analytics.mjs +297 -410
  45. package/fesm2022/angular-fire-analytics.mjs.map +1 -7
  46. package/fesm2022/angular-fire-app-check.mjs +91 -162
  47. package/fesm2022/angular-fire-app-check.mjs.map +1 -7
  48. package/fesm2022/angular-fire-app.mjs +108 -181
  49. package/fesm2022/angular-fire-app.mjs.map +1 -7
  50. package/fesm2022/angular-fire-auth-guard.mjs +73 -83
  51. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -7
  52. package/fesm2022/angular-fire-auth.mjs +142 -421
  53. package/fesm2022/angular-fire-auth.mjs.map +1 -7
  54. package/fesm2022/angular-fire-compat-analytics.mjs +271 -262
  55. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -7
  56. package/fesm2022/angular-fire-compat-auth-guard.mjs +72 -83
  57. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -7
  58. package/fesm2022/angular-fire-compat-auth.mjs +214 -215
  59. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -7
  60. package/fesm2022/angular-fire-compat-database.mjs +378 -375
  61. package/fesm2022/angular-fire-compat-database.mjs.map +1 -7
  62. package/fesm2022/angular-fire-compat-firestore.mjs +677 -537
  63. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -7
  64. package/fesm2022/angular-fire-compat-functions.mjs +94 -98
  65. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -7
  66. package/fesm2022/angular-fire-compat-messaging.mjs +107 -107
  67. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -7
  68. package/fesm2022/angular-fire-compat-performance.mjs +152 -158
  69. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -7
  70. package/fesm2022/angular-fire-compat-remote-config.mjs +232 -216
  71. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -7
  72. package/fesm2022/angular-fire-compat-storage.mjs +231 -226
  73. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -7
  74. package/fesm2022/angular-fire-compat.mjs +153 -140
  75. package/fesm2022/angular-fire-compat.mjs.map +1 -7
  76. package/fesm2022/angular-fire-database.mjs +136 -376
  77. package/fesm2022/angular-fire-database.mjs.map +1 -7
  78. package/fesm2022/angular-fire-firestore-lite.mjs +139 -388
  79. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -7
  80. package/fesm2022/angular-fire-firestore.mjs +167 -526
  81. package/fesm2022/angular-fire-firestore.mjs.map +1 -7
  82. package/fesm2022/angular-fire-functions.mjs +93 -166
  83. package/fesm2022/angular-fire-functions.mjs.map +1 -7
  84. package/fesm2022/angular-fire-messaging.mjs +118 -196
  85. package/fesm2022/angular-fire-messaging.mjs.map +1 -7
  86. package/fesm2022/angular-fire-performance.mjs +104 -178
  87. package/fesm2022/angular-fire-performance.mjs.map +1 -7
  88. package/fesm2022/angular-fire-remote-config.mjs +132 -254
  89. package/fesm2022/angular-fire-remote-config.mjs.map +1 -7
  90. package/fesm2022/angular-fire-storage.mjs +105 -225
  91. package/fesm2022/angular-fire-storage.mjs.map +1 -7
  92. package/fesm2022/angular-fire-vertexai-preview.mjs +85 -146
  93. package/fesm2022/angular-fire-vertexai-preview.mjs.map +1 -7
  94. package/fesm2022/angular-fire.mjs +213 -183
  95. package/fesm2022/angular-fire.mjs.map +1 -7
  96. package/package.json +7 -7
@@ -1,195 +1,122 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from2, except, desc) => {
10
- if (from2 && typeof from2 === "object" || typeof from2 === "function") {
11
- for (let key of __getOwnPropNames(from2))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
-
19
- // angular-fire-app.mjs
20
- var angular_fire_app_exports = {};
21
- __export(angular_fire_app_exports, {
22
- FirebaseApp: () => FirebaseApp,
23
- FirebaseAppModule: () => FirebaseAppModule,
24
- FirebaseApps: () => FirebaseApps,
25
- deleteApp: () => deleteApp,
26
- firebaseApp$: () => firebaseApp$,
27
- getApp: () => getApp2,
28
- getApps: () => getApps2,
29
- initializeApp: () => initializeApp,
30
- initializeServerApp: () => initializeServerApp,
31
- onLog: () => onLog,
32
- provideFirebaseApp: () => provideFirebaseApp,
33
- registerVersion: () => registerVersion2,
34
- setLogLevel: () => setLogLevel
35
- });
36
-
37
- // public_api.mjs
38
- var public_api_exports = {};
39
- __export(public_api_exports, {
40
- FirebaseApp: () => FirebaseApp,
41
- FirebaseAppModule: () => FirebaseAppModule,
42
- FirebaseApps: () => FirebaseApps,
43
- deleteApp: () => deleteApp,
44
- firebaseApp$: () => firebaseApp$,
45
- getApp: () => getApp2,
46
- getApps: () => getApps2,
47
- initializeApp: () => initializeApp,
48
- initializeServerApp: () => initializeServerApp,
49
- onLog: () => onLog,
50
- provideFirebaseApp: () => provideFirebaseApp,
51
- registerVersion: () => registerVersion2,
52
- setLogLevel: () => setLogLevel
53
- });
1
+ import { getApps as getApps$1, getApp as getApp$1, registerVersion as registerVersion$1, deleteApp as deleteApp$1, initializeApp as initializeApp$1, initializeServerApp as initializeServerApp$1, onLog as onLog$1, setLogLevel as setLogLevel$1 } from 'firebase/app';
2
+ export * from 'firebase/app';
3
+ import { timer, from } from 'rxjs';
4
+ import { concatMap, distinct } from 'rxjs/operators';
5
+ import * as i0 from '@angular/core';
6
+ import { InjectionToken, Optional, PLATFORM_ID, VERSION as VERSION$1, NgModule, Inject, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
7
+ import { VERSION, ɵAngularFireSchedulers as _AngularFireSchedulers, ɵzoneWrap as _zoneWrap } from '@angular/fire';
54
8
 
55
- // app.mjs
56
- import { getApps } from "firebase/app";
57
- import { from, timer } from "rxjs";
58
- import { concatMap, distinct } from "rxjs/operators";
59
- var FirebaseApp = class {
60
- constructor(app) {
61
- return app;
62
- }
63
- };
64
- var FirebaseApps = class {
65
- constructor() {
66
- return getApps();
67
- }
68
- };
69
- var firebaseApp$ = timer(0, 300).pipe(concatMap(() => from(getApps())), distinct());
9
+ class FirebaseApp {
10
+ constructor(app) {
11
+ return app;
12
+ }
13
+ }
14
+ class FirebaseApps {
15
+ constructor() {
16
+ return getApps$1();
17
+ }
18
+ }
19
+ const firebaseApp$ = timer(0, 300).pipe(concatMap(() => from(getApps$1())), distinct());
70
20
 
71
- // app.module.mjs
72
- import { Inject, InjectionToken, Injector, VERSION as NG_VERSION, NgModule, NgZone, Optional, PLATFORM_ID, makeEnvironmentProviders } from "@angular/core";
73
- import { VERSION, ɵAngularFireSchedulers } from "@angular/fire";
74
- import { getApp, registerVersion } from "firebase/app";
75
- import * as i0 from "@angular/core";
76
21
  function defaultFirebaseAppFactory(provided) {
77
- if (provided && provided.length === 1) {
78
- return provided[0];
79
- }
80
- return new FirebaseApp(getApp());
22
+ // Use the provided app, if there is only one, otherwise fetch the default app
23
+ if (provided && provided.length === 1) {
24
+ return provided[0];
25
+ }
26
+ return new FirebaseApp(getApp$1());
81
27
  }
82
- var PROVIDED_FIREBASE_APPS = new InjectionToken("angularfire2._apps");
83
- var DEFAULT_FIREBASE_APP_PROVIDER = {
84
- provide: FirebaseApp,
85
- useFactory: defaultFirebaseAppFactory,
86
- deps: [
87
- [new Optional(), PROVIDED_FIREBASE_APPS]
88
- ]
28
+ // With FIREBASE_APPS I wanted to capture the default app instance, if it is initialized by
29
+ // the reserved URL; ɵPROVIDED_FIREBASE_APPS is not for public consumption and serves to ensure that all
30
+ // provideFirebaseApp(...) calls are satisfied before FirebaseApp$ or FirebaseApp is resolved
31
+ const PROVIDED_FIREBASE_APPS = new InjectionToken('angularfire2._apps');
32
+ // Injecting FirebaseApp will now only inject the default Firebase App
33
+ // this allows allows beginners to import /__/firebase/init.js to auto initialize Firebase App
34
+ // from the reserved URL.
35
+ const DEFAULT_FIREBASE_APP_PROVIDER = {
36
+ provide: FirebaseApp,
37
+ useFactory: defaultFirebaseAppFactory,
38
+ deps: [
39
+ [new Optional(), PROVIDED_FIREBASE_APPS],
40
+ ],
89
41
  };
90
- var FIREBASE_APPS_PROVIDER = {
91
- provide: FirebaseApps,
92
- deps: [
93
- [new Optional(), PROVIDED_FIREBASE_APPS]
94
- ]
42
+ const FIREBASE_APPS_PROVIDER = {
43
+ provide: FirebaseApps,
44
+ deps: [
45
+ [new Optional(), PROVIDED_FIREBASE_APPS],
46
+ ],
95
47
  };
96
48
  function firebaseAppFactory(fn) {
97
- return (zone, injector) => {
98
- const platformId = injector.get(PLATFORM_ID);
99
- registerVersion("angularfire", VERSION.full, "core");
100
- registerVersion("angularfire", VERSION.full, "app");
101
- registerVersion("angular", NG_VERSION.full, platformId.toString());
102
- const app = zone.runOutsideAngular(() => fn(injector));
103
- return new FirebaseApp(app);
104
- };
49
+ return (zone, injector) => {
50
+ const platformId = injector.get(PLATFORM_ID);
51
+ registerVersion$1('angularfire', VERSION.full, 'core');
52
+ registerVersion$1('angularfire', VERSION.full, 'app');
53
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
54
+ registerVersion$1('angular', VERSION$1.full, platformId.toString());
55
+ const app = zone.runOutsideAngular(() => fn(injector));
56
+ return new FirebaseApp(app);
57
+ };
105
58
  }
106
- var FirebaseAppModule = class _FirebaseAppModule {
107
- // eslint-disable-next-line @typescript-eslint/ban-types
108
- constructor(platformId) {
109
- registerVersion("angularfire", VERSION.full, "core");
110
- registerVersion("angularfire", VERSION.full, "app");
111
- registerVersion("angular", NG_VERSION.full, platformId.toString());
112
- }
113
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: _FirebaseAppModule, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule });
114
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.3", ngImport: i0, type: _FirebaseAppModule });
115
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: _FirebaseAppModule, providers: [
116
- DEFAULT_FIREBASE_APP_PROVIDER,
117
- FIREBASE_APPS_PROVIDER
118
- ] });
119
- };
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: FirebaseAppModule, decorators: [{
121
- type: NgModule,
122
- args: [{
123
- providers: [
124
- DEFAULT_FIREBASE_APP_PROVIDER,
125
- FIREBASE_APPS_PROVIDER
126
- ]
127
- }]
128
- }], ctorParameters: () => [{ type: Object, decorators: [{
129
- type: Inject,
130
- args: [PLATFORM_ID]
131
- }] }] });
132
- function provideFirebaseApp(fn, ...deps) {
133
- return makeEnvironmentProviders([
134
- DEFAULT_FIREBASE_APP_PROVIDER,
135
- FIREBASE_APPS_PROVIDER,
136
- {
137
- provide: PROVIDED_FIREBASE_APPS,
138
- useFactory: firebaseAppFactory(fn),
139
- multi: true,
140
- deps: [
141
- NgZone,
142
- Injector,
143
- ɵAngularFireSchedulers,
144
- ...deps
145
- ]
59
+ class FirebaseAppModule {
60
+ // eslint-disable-next-line @typescript-eslint/ban-types
61
+ constructor(platformId) {
62
+ registerVersion$1('angularfire', VERSION.full, 'core');
63
+ registerVersion$1('angularfire', VERSION.full, 'app');
64
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
65
+ registerVersion$1('angular', VERSION$1.full, platformId.toString());
146
66
  }
147
- ]);
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FirebaseAppModule, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule });
68
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: FirebaseAppModule });
69
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FirebaseAppModule, providers: [
70
+ DEFAULT_FIREBASE_APP_PROVIDER,
71
+ FIREBASE_APPS_PROVIDER,
72
+ ] });
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FirebaseAppModule, decorators: [{
75
+ type: NgModule,
76
+ args: [{
77
+ providers: [
78
+ DEFAULT_FIREBASE_APP_PROVIDER,
79
+ FIREBASE_APPS_PROVIDER,
80
+ ]
81
+ }]
82
+ }], ctorParameters: () => [{ type: Object, decorators: [{
83
+ type: Inject,
84
+ args: [PLATFORM_ID]
85
+ }] }] });
86
+ // Calling initializeApp({ ... }, 'name') multiple times will add more FirebaseApps into the FIREBASE_APPS
87
+ // injection scope. This allows developers to more easily work with multiple Firebase Applications. Downside
88
+ // is that DI for app name and options doesn't really make sense anymore.
89
+ function provideFirebaseApp(fn, ...deps) {
90
+ return makeEnvironmentProviders([
91
+ DEFAULT_FIREBASE_APP_PROVIDER,
92
+ FIREBASE_APPS_PROVIDER,
93
+ {
94
+ provide: PROVIDED_FIREBASE_APPS,
95
+ useFactory: firebaseAppFactory(fn),
96
+ multi: true,
97
+ deps: [
98
+ NgZone,
99
+ Injector,
100
+ _AngularFireSchedulers,
101
+ ...deps,
102
+ ],
103
+ }
104
+ ]);
148
105
  }
149
106
 
150
- // firebase.mjs
151
- var firebase_exports = {};
152
- __export(firebase_exports, {
153
- deleteApp: () => deleteApp,
154
- getApp: () => getApp2,
155
- getApps: () => getApps2,
156
- initializeApp: () => initializeApp,
157
- initializeServerApp: () => initializeServerApp,
158
- onLog: () => onLog,
159
- registerVersion: () => registerVersion2,
160
- setLogLevel: () => setLogLevel
161
- });
162
- __reExport(firebase_exports, app_star);
163
- import * as app_star from "firebase/app";
164
- import { ɵzoneWrap } from "@angular/fire";
165
- import { deleteApp as _deleteApp, getApp as _getApp, getApps as _getApps, initializeApp as _initializeApp, initializeServerApp as _initializeServerApp, onLog as _onLog, registerVersion as _registerVersion, setLogLevel as _setLogLevel } from "firebase/app";
166
- var deleteApp = ɵzoneWrap(_deleteApp, true);
167
- var getApp2 = ɵzoneWrap(_getApp, true);
168
- var getApps2 = ɵzoneWrap(_getApps, true);
169
- var initializeApp = ɵzoneWrap(_initializeApp, true);
170
- var initializeServerApp = ɵzoneWrap(_initializeServerApp, true);
171
- var onLog = ɵzoneWrap(_onLog, true);
172
- var registerVersion2 = ɵzoneWrap(_registerVersion, true);
173
- var setLogLevel = ɵzoneWrap(_setLogLevel, true);
107
+ // DO NOT MODIFY, this file is autogenerated by tools/build.ts
108
+ const deleteApp = _zoneWrap(deleteApp$1, true);
109
+ const getApp = _zoneWrap(getApp$1, true);
110
+ const getApps = _zoneWrap(getApps$1, true);
111
+ const initializeApp = _zoneWrap(initializeApp$1, true);
112
+ const initializeServerApp = _zoneWrap(initializeServerApp$1, true);
113
+ const onLog = _zoneWrap(onLog$1, true);
114
+ const registerVersion = _zoneWrap(registerVersion$1, true);
115
+ const setLogLevel = _zoneWrap(setLogLevel$1, true);
174
116
 
175
- // public_api.mjs
176
- __reExport(public_api_exports, firebase_exports);
117
+ /**
118
+ * Generated bundle index. Do not edit.
119
+ */
177
120
 
178
- // angular-fire-app.mjs
179
- __reExport(angular_fire_app_exports, public_api_exports);
180
- export {
181
- FirebaseApp,
182
- FirebaseAppModule,
183
- FirebaseApps,
184
- deleteApp,
185
- firebaseApp$,
186
- getApp2 as getApp,
187
- getApps2 as getApps,
188
- initializeApp,
189
- initializeServerApp,
190
- onLog,
191
- provideFirebaseApp,
192
- registerVersion2 as registerVersion,
193
- setLogLevel
194
- };
121
+ export { FirebaseApp, FirebaseAppModule, FirebaseApps, deleteApp, firebaseApp$, getApp, getApps, initializeApp, initializeServerApp, onLog, provideFirebaseApp, registerVersion, setLogLevel };
195
122
  //# sourceMappingURL=angular-fire-app.mjs.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/app/angular-fire-app.ts", "../../../src/app/public_api.ts", "../../../src/app/app.ts", "../../../src/app/app.module.ts", "../../../src/app/firebase.ts"],
4
- "sourcesContent": ["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n", "export { FirebaseApp, FirebaseApps, firebaseApp$ } from './app';\nexport { provideFirebaseApp, FirebaseAppModule } from './app.module';\nexport * from './firebase';\n", "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"],
5
- "mappings": "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",
6
- "names": ["getApp", "getApps", "registerVersion", "getApp", "getApps", "registerVersion", "getApp", "getApps", "registerVersion"]
7
- }
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,86 +1,76 @@
1
- // auth-guard.mjs
2
- import { Injectable } from "@angular/core";
3
- import { Auth, user } from "@angular/fire/auth";
4
- import { Router } from "@angular/router";
5
- import { of, pipe } from "rxjs";
6
- import { map, switchMap, take } from "rxjs/operators";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/router";
9
- import * as i2 from "@angular/fire/auth";
10
- var loggedIn = map((user2) => !!user2);
11
- var AuthGuard = class _AuthGuard {
12
- router;
13
- auth;
14
- constructor(router, auth) {
15
- this.router = router;
16
- this.auth = auth;
17
- }
18
- canActivate = (next, state) => {
19
- const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
20
- return user(this.auth).pipe(take(1), authPipeFactory(next, state), map((can) => {
21
- if (typeof can === "boolean") {
22
- return can;
23
- } else if (Array.isArray(can)) {
24
- return this.router.createUrlTree(can);
25
- } else {
26
- return this.router.parseUrl(can);
27
- }
28
- }));
29
- };
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: _AuthGuard, deps: [{ token: i1.Router }, { token: i2.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
31
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: _AuthGuard, providedIn: "any" });
32
- };
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i0, type: AuthGuard, decorators: [{
34
- type: Injectable,
35
- args: [{
36
- providedIn: "any"
37
- }]
38
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.Auth }] });
39
- var canActivate = (pipe2) => ({
40
- canActivate: [AuthGuard],
41
- data: { authGuardPipe: pipe2 }
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/fire/auth';
4
+ import { user } from '@angular/fire/auth';
5
+ import * as i1 from '@angular/router';
6
+ import { of, pipe } from 'rxjs';
7
+ import { map, take, switchMap } from 'rxjs/operators';
8
+ import { VERSION } from '@angular/fire';
9
+ import { registerVersion } from 'firebase/app';
10
+
11
+ const loggedIn = map(user => !!user);
12
+ class AuthGuard {
13
+ router;
14
+ auth;
15
+ constructor(router, auth) {
16
+ this.router = router;
17
+ this.auth = auth;
18
+ }
19
+ canActivate = (next, state) => {
20
+ const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
21
+ return user(this.auth).pipe(take(1), authPipeFactory(next, state), map(can => {
22
+ if (typeof can === 'boolean') {
23
+ return can;
24
+ }
25
+ else if (Array.isArray(can)) {
26
+ return this.router.createUrlTree(can);
27
+ }
28
+ else {
29
+ // TODO(EdricChan03): Add tests
30
+ return this.router.parseUrl(can);
31
+ }
32
+ }));
33
+ };
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.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: "18.0.0", ngImport: i0, type: AuthGuard, providedIn: 'any' });
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuard, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'any'
41
+ }]
42
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.Auth }] });
43
+ const canActivate = (pipe) => ({
44
+ canActivate: [AuthGuard], data: { authGuardPipe: pipe }
42
45
  });
43
- var isNotAnonymous = map((user2) => !!user2 && !user2.isAnonymous);
44
- var idTokenResult = switchMap((user2) => user2 ? user2.getIdTokenResult() : of(null));
45
- var emailVerified = map((user2) => !!user2 && user2.emailVerified);
46
- var customClaims = pipe(idTokenResult, map((idTokenResult2) => idTokenResult2 ? idTokenResult2.claims : []));
47
- var hasCustomClaim = (
48
- // eslint-disable-next-line no-prototype-builtins
49
- (claim) => pipe(customClaims, map((claims) => claims.hasOwnProperty(claim)))
50
- );
51
- var redirectUnauthorizedTo = (redirect) => pipe(loggedIn, map((loggedIn2) => loggedIn2 || redirect));
52
- var redirectLoggedInTo = (redirect) => pipe(loggedIn, map((loggedIn2) => loggedIn2 && redirect || true));
46
+ const isNotAnonymous = map(user => !!user && !user.isAnonymous);
47
+ const idTokenResult = switchMap((user) => user ? user.getIdTokenResult() : of(null));
48
+ const emailVerified = map(user => !!user && user.emailVerified);
49
+ const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));
50
+ const hasCustomClaim =
51
+ // eslint-disable-next-line no-prototype-builtins
52
+ (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));
53
+ const redirectUnauthorizedTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));
54
+ const redirectLoggedInTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));
55
+
56
+ class AuthGuardModule {
57
+ constructor() {
58
+ registerVersion('angularfire', VERSION.full, 'auth-guard');
59
+ }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
61
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule });
62
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule, providers: [AuthGuard] });
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule, decorators: [{
65
+ type: NgModule,
66
+ args: [{
67
+ providers: [AuthGuard]
68
+ }]
69
+ }], ctorParameters: () => [] });
70
+
71
+ /**
72
+ * Generated bundle index. Do not edit.
73
+ */
53
74
 
54
- // auth-guard.module.mjs
55
- import { NgModule } from "@angular/core";
56
- import { VERSION } from "@angular/fire";
57
- import { registerVersion } from "firebase/app";
58
- import * as i02 from "@angular/core";
59
- var AuthGuardModule = class _AuthGuardModule {
60
- constructor() {
61
- registerVersion("angularfire", VERSION.full, "auth-guard");
62
- }
63
- static ɵfac = i02.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i02, type: _AuthGuardModule, deps: [], target: i02.ɵɵFactoryTarget.NgModule });
64
- static ɵmod = i02.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.3", ngImport: i02, type: _AuthGuardModule });
65
- static ɵinj = i02.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i02, type: _AuthGuardModule, providers: [AuthGuard] });
66
- };
67
- i02.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.3", ngImport: i02, type: AuthGuardModule, decorators: [{
68
- type: NgModule,
69
- args: [{
70
- providers: [AuthGuard]
71
- }]
72
- }], ctorParameters: () => [] });
73
- export {
74
- AuthGuard,
75
- AuthGuardModule,
76
- canActivate,
77
- customClaims,
78
- emailVerified,
79
- hasCustomClaim,
80
- idTokenResult,
81
- isNotAnonymous,
82
- loggedIn,
83
- redirectLoggedInTo,
84
- redirectUnauthorizedTo
85
- };
75
+ export { AuthGuard, AuthGuardModule, canActivate, customClaims, emailVerified, hasCustomClaim, idTokenResult, isNotAnonymous, loggedIn, redirectLoggedInTo, redirectUnauthorizedTo };
86
76
  //# sourceMappingURL=angular-fire-auth-guard.mjs.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/auth-guard/auth-guard.ts", "../../../src/auth-guard/auth-guard.module.ts"],
4
- "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"],
5
- "mappings": ";AAAA,SAAS,kBAAkB;AAC3B,SAAS,MAAM,YAAY;AAC3B,SAA8C,cAAmC;AAEjF,SAAoC,IAAI,YAAY;AACpD,SAAS,KAAK,WAAW,YAAY;;;;AAK9B,IAAM,WAAqB,IAAI,CAAAA,UAAQ,CAAC,CAACA,KAAI;AAK9C,IAAO,YAAP,MAAO,WAAS;EAEA;EAAwB;EAA5C,YAAoB,QAAwB,MAAU;AAAlC,SAAA,SAAA;AAAwB,SAAA,OAAA;EAAa;EAEzD,cAAc,CAAC,MAA8B,UAA8B;AACzE,UAAM,kBAAkB,KAAK,KAAK,kBAAuC,MAAM;AAC/E,WAAO,KAAK,KAAK,IAAI,EAAE,KACrB,KAAK,CAAC,GACN,gBAAgB,MAAM,KAAK,GAC3B,IAAI,SAAM;AACR,UAAI,OAAO,QAAQ,WAAW;AAC5B,eAAO;MACT,WAAW,MAAM,QAAQ,GAAG,GAAG;AAC7B,eAAO,KAAK,OAAO,cAAc,GAAG;MACtC,OAAO;AAEL,eAAO,KAAK,OAAO,SAAS,GAAG;MACjC;IACF,CAAC,CAAC;EAEN;0GApBW,YAAS,MAAA,CAAA,EAAA,OAAA,UAAA,GAAA,EAAA,OAAA,QAAA,CAAA,GAAA,QAAA,mBAAA,WAAA,CAAA;8GAAT,YAAS,YAFR,MAAK,CAAA;;gGAEN,WAAS,YAAA,CAAA;QAHrB;SAAW;IACV,YAAY;GACb;;AAyBM,IAAM,cAAc,CAACC,WAA6B;EACvD,aAAa,CAAE,SAAS;EAAI,MAAM,EAAE,eAAeA,MAAI;;AAGlD,IAAM,iBAA2B,IAAI,CAAAD,UAAQ,CAAC,CAACA,SAAQ,CAACA,MAAK,WAAW;AACxE,IAAM,gBAAgB,UAAU,CAACA,UAAoBA,QAAOA,MAAK,iBAAgB,IAAK,GAAG,IAAI,CAAC;AAC9F,IAAM,gBAA0B,IAAI,CAAAA,UAAQ,CAAC,CAACA,SAAQA,MAAK,aAAa;AACxE,IAAM,eAAe,KAAK,eAAe,IAAI,CAAAE,mBAAiBA,iBAAgBA,eAAc,SAAS,CAAA,CAAE,CAAC;AACxG,IAAM;;EAEX,CAAC,UAAU,KAAK,cAAc,IAAI,YAAW,OAAO,eAAe,KAAK,CAAC,CAAC;;AACrE,IAAM,yBACX,CAAC,aAAa,KAAK,UAAU,IAAI,CAAAC,cAAYA,aAAY,QAAQ,CAAC;AAC7D,IAAM,qBACX,CAAC,aAAa,KAAK,UAAU,IAAI,CAAAA,cAAYA,aAAY,YAAY,IAAI,CAAC;;;ACrD5E,SAAS,gBAAgB;AACzB,SAAS,eAAe;AACxB,SAAS,uBAAuB;;AAM1B,IAAO,kBAAP,MAAO,iBAAe;EAC1B,cAAA;AACE,oBAAgB,eAAe,QAAQ,MAAM,YAAY;EAC3D;4GAHW,kBAAe,MAAA,CAAA,GAAA,QAAA,oBAAA,SAAA,CAAA;6GAAf,iBAAe,CAAA;6GAAf,kBAAe,WAFf,CAAE,SAAS,EAAE,CAAA;;kGAEb,iBAAe,YAAA,CAAA;QAH3B;SAAS;IACR,WAAW,CAAE,SAAS;GACvB;;",
6
- "names": ["user", "pipe", "idTokenResult", "loggedIn"]
7
- }
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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"}