@angular/fire 18.0.1 → 19.0.0-canary.45ccd39
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.
- package/README.md +2 -2
- package/analytics/analytics.module.d.ts +2 -2
- package/analytics/firebase.d.ts +3 -3
- package/analytics/screen-tracking.service.d.ts +1 -1
- package/auth/rxfire.d.ts +2 -2
- package/compat/database/database.d.ts +1 -1
- package/compat/firestore/firestore.d.ts +1 -1
- package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
- package/compat/storage/storage.d.ts +1 -1
- package/compat/storage/storage.module.d.ts +1 -1
- package/data-connect/data-connect.d.ts +9 -0
- package/data-connect/data-connect.module.d.ts +13 -0
- package/data-connect/firebase.d.ts +12 -0
- package/{vertexai-preview → data-connect}/index.d.ts +1 -1
- package/data-connect/package.json +3 -0
- package/data-connect/public_api.d.ts +3 -0
- package/database/rxfire.d.ts +4 -4
- package/docs/install-and-setup.md +10 -5
- package/docs/vertexai.md +3 -3
- package/fesm2022/angular-fire-analytics.mjs +25 -52
- package/fesm2022/angular-fire-analytics.mjs.map +1 -1
- package/fesm2022/angular-fire-app-check.mjs +4 -4
- package/fesm2022/angular-fire-app-check.mjs.map +1 -1
- package/fesm2022/angular-fire-app.mjs +4 -4
- package/fesm2022/angular-fire-app.mjs.map +1 -1
- package/fesm2022/angular-fire-auth-guard.mjs +7 -7
- package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
- package/fesm2022/angular-fire-auth.mjs +7 -7
- package/fesm2022/angular-fire-auth.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-analytics.mjs +15 -15
- package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
- package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-auth.mjs +10 -9
- package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-database.mjs +20 -19
- package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-firestore.mjs +25 -24
- package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-functions.mjs +7 -7
- package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
- package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-performance.mjs +10 -10
- package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-remote-config.mjs +10 -9
- package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-storage.mjs +20 -18
- package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
- package/fesm2022/angular-fire-compat.mjs +4 -4
- package/fesm2022/angular-fire-compat.mjs.map +1 -1
- package/fesm2022/angular-fire-data-connect.mjs +100 -0
- package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
- package/fesm2022/angular-fire-database.mjs +8 -8
- package/fesm2022/angular-fire-database.mjs.map +1 -1
- package/fesm2022/angular-fire-firestore-lite.mjs +11 -10
- package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
- package/fesm2022/angular-fire-firestore.mjs +14 -13
- package/fesm2022/angular-fire-firestore.mjs.map +1 -1
- package/fesm2022/angular-fire-functions.mjs +4 -4
- package/fesm2022/angular-fire-functions.mjs.map +1 -1
- package/fesm2022/angular-fire-messaging.mjs +15 -42
- package/fesm2022/angular-fire-messaging.mjs.map +1 -1
- package/fesm2022/angular-fire-performance.mjs +6 -6
- package/fesm2022/angular-fire-performance.mjs.map +1 -1
- package/fesm2022/angular-fire-remote-config.mjs +20 -47
- package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
- package/fesm2022/angular-fire-storage.mjs +4 -4
- package/fesm2022/angular-fire-storage.mjs.map +1 -1
- package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +8 -8
- package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
- package/fesm2022/angular-fire.mjs +101 -105
- package/fesm2022/angular-fire.mjs.map +1 -1
- package/firestore/firebase.d.ts +2 -1
- package/firestore/lite/firebase.d.ts +2 -1
- package/firestore/lite/rxfire.d.ts +4 -4
- package/firestore/rxfire.d.ts +7 -7
- package/messaging/firebase.d.ts +2 -2
- package/messaging/messaging.module.d.ts +2 -2
- package/package.json +21 -76
- package/performance/rxfire.d.ts +2 -2
- package/publish.sh +1 -0
- package/remote-config/firebase.d.ts +2 -2
- package/remote-config/remote-config.module.d.ts +2 -2
- package/remote-config/rxfire.d.ts +5 -5
- package/schematics/add/index.js +1 -13
- package/schematics/deploy/actions.js +138 -394
- package/schematics/deploy/builder.js +139 -61
- package/schematics/setup/index.js +94 -64
- package/schematics/update/index.js +1 -7
- package/schematics/update/v7/index.js +1 -67
- package/schematics/versions.json +2 -3
- package/vertexai/firebase.d.ts +4 -0
- package/vertexai/index.d.ts +5 -0
- package/vertexai/package.json +3 -0
- package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
- package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
- package/zones.d.ts +1 -11
- package/analytics/is-analytics-supported-factory.d.ts +0 -4
- package/analytics/overrides.d.ts +0 -1
- package/esm2022/analytics/analytics.mjs +0 -16
- package/esm2022/analytics/analytics.module.mjs +0 -101
- package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
- package/esm2022/analytics/firebase.mjs +0 -17
- package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
- package/esm2022/analytics/overrides.mjs +0 -3
- package/esm2022/analytics/public_api.mjs +0 -6
- package/esm2022/analytics/screen-tracking.service.mjs +0 -148
- package/esm2022/analytics/user-tracking.service.mjs +0 -44
- package/esm2022/angular-fire.mjs +0 -5
- package/esm2022/app/angular-fire-app.mjs +0 -5
- package/esm2022/app/app.mjs +0 -15
- package/esm2022/app/app.module.mjs +0 -91
- package/esm2022/app/firebase.mjs +0 -13
- package/esm2022/app/public_api.mjs +0 -4
- package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
- package/esm2022/app-check/app-check.mjs +0 -10
- package/esm2022/app-check/app-check.module.mjs +0 -80
- package/esm2022/app-check/firebase.mjs +0 -10
- package/esm2022/app-check/public_api.mjs +0 -5
- package/esm2022/auth/angular-fire-auth.mjs +0 -5
- package/esm2022/auth/auth.mjs +0 -16
- package/esm2022/auth/auth.module.mjs +0 -73
- package/esm2022/auth/firebase.mjs +0 -59
- package/esm2022/auth/public_api.mjs +0 -5
- package/esm2022/auth/rxfire.mjs +0 -7
- package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
- package/esm2022/auth-guard/auth-guard.mjs +0 -53
- package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
- package/esm2022/auth-guard/public_api.mjs +0 -3
- package/esm2022/compat/analytics/analytics.mjs +0 -160
- package/esm2022/compat/analytics/analytics.module.mjs +0 -35
- package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
- package/esm2022/compat/analytics/base.mjs +0 -11
- package/esm2022/compat/analytics/public_api.mjs +0 -5
- package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
- package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
- package/esm2022/compat/angular-fire-compat.mjs +0 -5
- package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
- package/esm2022/compat/auth/auth.mjs +0 -161
- package/esm2022/compat/auth/auth.module.mjs +0 -20
- package/esm2022/compat/auth/base.mjs +0 -39
- package/esm2022/compat/auth/public_api.mjs +0 -4
- package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
- package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
- package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
- package/esm2022/compat/auth-guard/public_api.mjs +0 -3
- package/esm2022/compat/cache.mjs +0 -33
- package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
- package/esm2022/compat/database/database.mjs +0 -119
- package/esm2022/compat/database/database.module.mjs +0 -20
- package/esm2022/compat/database/interfaces.mjs +0 -2
- package/esm2022/compat/database/list/audit-trail.mjs +0 -47
- package/esm2022/compat/database/list/changes.mjs +0 -85
- package/esm2022/compat/database/list/create-reference.mjs +0 -44
- package/esm2022/compat/database/list/data-operation.mjs +0 -11
- package/esm2022/compat/database/list/remove.mjs +0 -16
- package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
- package/esm2022/compat/database/list/state-changes.mjs +0 -9
- package/esm2022/compat/database/list/utils.mjs +0 -8
- package/esm2022/compat/database/object/create-reference.mjs +0 -19
- package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
- package/esm2022/compat/database/observable/fromRef.mjs +0 -48
- package/esm2022/compat/database/public_api.mjs +0 -9
- package/esm2022/compat/database/utils.mjs +0 -36
- package/esm2022/compat/firebase.app.mjs +0 -6
- package/esm2022/compat/firebase.app.module.mjs +0 -71
- package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
- package/esm2022/compat/firestore/collection/changes.mjs +0 -108
- package/esm2022/compat/firestore/collection/collection.mjs +0 -123
- package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
- package/esm2022/compat/firestore/document/document.mjs +0 -87
- package/esm2022/compat/firestore/firestore.mjs +0 -257
- package/esm2022/compat/firestore/firestore.module.mjs +0 -32
- package/esm2022/compat/firestore/interfaces.mjs +0 -2
- package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
- package/esm2022/compat/firestore/public_api.mjs +0 -9
- package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
- package/esm2022/compat/functions/base.mjs +0 -8
- package/esm2022/compat/functions/functions.mjs +0 -69
- package/esm2022/compat/functions/functions.module.mjs +0 -20
- package/esm2022/compat/functions/public_api.mjs +0 -4
- package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
- package/esm2022/compat/messaging/base.mjs +0 -9
- package/esm2022/compat/messaging/messaging.mjs +0 -81
- package/esm2022/compat/messaging/messaging.module.mjs +0 -20
- package/esm2022/compat/messaging/public_api.mjs +0 -3
- package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
- package/esm2022/compat/performance/base.mjs +0 -9
- package/esm2022/compat/performance/performance.mjs +0 -105
- package/esm2022/compat/performance/performance.module.mjs +0 -27
- package/esm2022/compat/performance/performance.service.mjs +0 -28
- package/esm2022/compat/performance/public_api.mjs +0 -4
- package/esm2022/compat/proxy.mjs +0 -58
- package/esm2022/compat/public_api.mjs +0 -5
- package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
- package/esm2022/compat/remote-config/base.mjs +0 -20
- package/esm2022/compat/remote-config/interfaces.mjs +0 -2
- package/esm2022/compat/remote-config/public_api.mjs +0 -3
- package/esm2022/compat/remote-config/remote-config.mjs +0 -206
- package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
- package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
- package/esm2022/compat/storage/interfaces.mjs +0 -2
- package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
- package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
- package/esm2022/compat/storage/public_api.mjs +0 -7
- package/esm2022/compat/storage/ref.mjs +0 -28
- package/esm2022/compat/storage/storage.mjs +0 -95
- package/esm2022/compat/storage/storage.module.mjs +0 -22
- package/esm2022/compat/storage/task.mjs +0 -21
- package/esm2022/core.mjs +0 -43
- package/esm2022/database/angular-fire-database.mjs +0 -5
- package/esm2022/database/database.mjs +0 -16
- package/esm2022/database/database.module.mjs +0 -76
- package/esm2022/database/firebase.mjs +0 -44
- package/esm2022/database/public_api.mjs +0 -5
- package/esm2022/database/rxfire.mjs +0 -13
- package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
- package/esm2022/firestore/firebase.mjs +0 -73
- package/esm2022/firestore/firestore.mjs +0 -16
- package/esm2022/firestore/firestore.module.mjs +0 -76
- package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
- package/esm2022/firestore/lite/firebase.mjs +0 -48
- package/esm2022/firestore/lite/lite.mjs +0 -16
- package/esm2022/firestore/lite/lite.module.mjs +0 -75
- package/esm2022/firestore/lite/public_api.mjs +0 -5
- package/esm2022/firestore/lite/rxfire.mjs +0 -12
- package/esm2022/firestore/public_api.mjs +0 -5
- package/esm2022/firestore/rxfire.mjs +0 -15
- package/esm2022/functions/angular-fire-functions.mjs +0 -5
- package/esm2022/functions/firebase.mjs +0 -9
- package/esm2022/functions/functions.mjs +0 -16
- package/esm2022/functions/functions.module.mjs +0 -76
- package/esm2022/functions/public_api.mjs +0 -5
- package/esm2022/functions/rxfire.mjs +0 -5
- package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
- package/esm2022/messaging/firebase.mjs +0 -10
- package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
- package/esm2022/messaging/messaging.mjs +0 -16
- package/esm2022/messaging/messaging.module.mjs +0 -93
- package/esm2022/messaging/overrides.mjs +0 -3
- package/esm2022/messaging/public_api.mjs +0 -4
- package/esm2022/performance/angular-fire-performance.mjs +0 -5
- package/esm2022/performance/firebase.mjs +0 -8
- package/esm2022/performance/performance.mjs +0 -16
- package/esm2022/performance/performance.module.mjs +0 -83
- package/esm2022/performance/public_api.mjs +0 -5
- package/esm2022/performance/rxfire.mjs +0 -8
- package/esm2022/public_api.mjs +0 -3
- package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
- package/esm2022/remote-config/firebase.mjs +0 -17
- package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
- package/esm2022/remote-config/overrides.mjs +0 -3
- package/esm2022/remote-config/public_api.mjs +0 -5
- package/esm2022/remote-config/remote-config.mjs +0 -16
- package/esm2022/remote-config/remote-config.module.mjs +0 -93
- package/esm2022/remote-config/rxfire.mjs +0 -9
- package/esm2022/storage/angular-fire-storage.mjs +0 -5
- package/esm2022/storage/firebase.mjs +0 -20
- package/esm2022/storage/public_api.mjs +0 -5
- package/esm2022/storage/rxfire.mjs +0 -6
- package/esm2022/storage/storage.mjs +0 -16
- package/esm2022/storage/storage.module.mjs +0 -76
- package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
- package/esm2022/vertexai-preview/firebase.mjs +0 -7
- package/esm2022/vertexai-preview/public_api.mjs +0 -4
- package/esm2022/vertexai-preview/vertexai.mjs +0 -16
- package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
- package/esm2022/zones.mjs +0 -194
- package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
- package/messaging/is-messaging-supported-factory.d.ts +0 -4
- package/messaging/overrides.d.ts +0 -1
- package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
- package/remote-config/overrides.d.ts +0 -1
- package/schematics/common.js +0 -81
- package/schematics/deploy/functions-templates.js +0 -57
- package/schematics/firebaseTools.js +0 -78
- package/schematics/interfaces.js +0 -16
- package/schematics/setup/prompts.js +0 -195
- package/schematics/utils.js +0 -189
- package/vertexai-preview/firebase.d.ts +0 -4
- package/vertexai-preview/package.json +0 -3
- /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { ComponentFactoryResolver, Injectable, NgZone, Optional } from '@angular/core';
|
|
2
|
-
import { VERSION } from '@angular/fire';
|
|
3
|
-
import { ɵscreenViewEvent } from '@angular/fire/analytics';
|
|
4
|
-
import { Title } from '@angular/platform-browser';
|
|
5
|
-
import { Router } from '@angular/router';
|
|
6
|
-
import firebase from 'firebase/compat/app';
|
|
7
|
-
import { switchMap } from 'rxjs/operators';
|
|
8
|
-
import { AngularFireAnalytics } from './analytics';
|
|
9
|
-
import { UserTrackingService } from './user-tracking.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "./analytics";
|
|
12
|
-
import * as i2 from "@angular/router";
|
|
13
|
-
import * as i3 from "@angular/platform-browser";
|
|
14
|
-
import * as i4 from "./user-tracking.service";
|
|
15
|
-
const SCREEN_VIEW_EVENT = 'screen_view';
|
|
16
|
-
export class ScreenTrackingService {
|
|
17
|
-
disposable;
|
|
18
|
-
constructor(analytics, router, title, componentFactoryResolver, zone, userTrackingService) {
|
|
19
|
-
firebase.registerVersion('angularfire', VERSION.full, 'compat-screen-tracking');
|
|
20
|
-
if (!router || !analytics) {
|
|
21
|
-
return this;
|
|
22
|
-
}
|
|
23
|
-
zone.runOutsideAngular(() => {
|
|
24
|
-
this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap(async (params) => {
|
|
25
|
-
if (userTrackingService) {
|
|
26
|
-
await userTrackingService.initialized;
|
|
27
|
-
}
|
|
28
|
-
return await analytics.logEvent(SCREEN_VIEW_EVENT, params);
|
|
29
|
-
})).subscribe();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
ngOnDestroy() {
|
|
33
|
-
if (this.disposable) {
|
|
34
|
-
this.disposable.unsubscribe();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1.AngularFireAnalytics }, { token: i2.Router, optional: true }, { token: i3.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: i4.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService });
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}], ctorParameters: () => [{ type: i1.AngularFireAnalytics }, { type: i2.Router, decorators: [{
|
|
43
|
-
type: Optional
|
|
44
|
-
}] }, { type: i3.Title, decorators: [{
|
|
45
|
-
type: Optional
|
|
46
|
-
}] }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: i4.UserTrackingService, decorators: [{
|
|
47
|
-
type: Optional
|
|
48
|
-
}] }] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXRyYWNraW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2FuYWx5dGljcy9zY3JlZW4tdHJhY2tpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUU5RCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQztBQUd4QyxNQUFNLE9BQU8scUJBQXFCO0lBRXhCLFVBQVUsQ0FBMkI7SUFFN0MsWUFDRSxTQUErQixFQUNuQixNQUFjLEVBQ2QsS0FBWSxFQUN4Qix3QkFBa0QsRUFDbEQsSUFBWSxFQUNBLG1CQUF3QztRQUVwRCxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUM7UUFBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUM1RSxTQUFTLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxFQUFFO2dCQUN2QixJQUFJLG1CQUFtQixFQUFFLENBQUM7b0JBQ3hCLE1BQU0sbUJBQW1CLENBQUMsV0FBVyxDQUFDO2dCQUN4QyxDQUFDO2dCQUNELE9BQU8sTUFBTSxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdELENBQUMsQ0FBQyxDQUNMLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7dUdBOUJVLHFCQUFxQjsyR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFPTixRQUFROzswQkFDUixRQUFROzswQkFHUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IMm1c2NyZWVuVmlld0V2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hbmFseXRpY3MnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQW5hbHl0aWNzIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xuaW1wb3J0IHsgVXNlclRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vdXNlci10cmFja2luZy5zZXJ2aWNlJztcblxuY29uc3QgU0NSRUVOX1ZJRVdfRVZFTlQgPSAnc2NyZWVuX3ZpZXcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2NyZWVuVHJhY2tpbmdTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIGRpc3Bvc2FibGU6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3M6IEFuZ3VsYXJGaXJlQW5hbHl0aWNzLFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcjogUm91dGVyLFxuICAgIEBPcHRpb25hbCgpIHRpdGxlOiBUaXRsZSxcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKCkgdXNlclRyYWNraW5nU2VydmljZTogVXNlclRyYWNraW5nU2VydmljZSxcbiAgKSB7XG4gICAgZmlyZWJhc2UucmVnaXN0ZXJWZXJzaW9uKCdhbmd1bGFyZmlyZScsIFZFUlNJT04uZnVsbCwgJ2NvbXBhdC1zY3JlZW4tdHJhY2tpbmcnKTtcbiAgICBpZiAoIXJvdXRlciB8fCAhYW5hbHl0aWNzKSB7IHJldHVybiB0aGlzOyB9XG4gICAgem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmRpc3Bvc2FibGUgPSDJtXNjcmVlblZpZXdFdmVudChyb3V0ZXIsIHRpdGxlLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKGFzeW5jIHBhcmFtcyA9PiB7XG4gICAgICAgICAgICBpZiAodXNlclRyYWNraW5nU2VydmljZSkge1xuICAgICAgICAgICAgICBhd2FpdCB1c2VyVHJhY2tpbmdTZXJ2aWNlLmluaXRpYWxpemVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGFuYWx5dGljcy5sb2dFdmVudChTQ1JFRU5fVklFV19FVkVOVCwgcGFyYW1zKTtcbiAgICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmRpc3Bvc2FibGUpIHtcbiAgICAgIHRoaXMuZGlzcG9zYWJsZS51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { isPlatformServer } from '@angular/common';
|
|
2
|
-
import { Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { VERSION } from '@angular/fire';
|
|
4
|
-
import { AngularFireAuth } from '@angular/fire/compat/auth';
|
|
5
|
-
import firebase from 'firebase/compat/app';
|
|
6
|
-
import { AngularFireAnalytics } from './analytics';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./analytics";
|
|
9
|
-
import * as i2 from "@angular/fire/compat/auth";
|
|
10
|
-
export class UserTrackingService {
|
|
11
|
-
initialized;
|
|
12
|
-
disposables = [];
|
|
13
|
-
// TODO a user properties injector
|
|
14
|
-
constructor(analytics,
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
16
|
-
platformId, auth, zone) {
|
|
17
|
-
firebase.registerVersion('angularfire', VERSION.full, 'compat-user-tracking');
|
|
18
|
-
if (!isPlatformServer(platformId)) {
|
|
19
|
-
let resolveInitialized;
|
|
20
|
-
this.initialized = zone.runOutsideAngular(() => new Promise(resolve => resolveInitialized = resolve));
|
|
21
|
-
this.disposables = [
|
|
22
|
-
auth.authState.subscribe(user => {
|
|
23
|
-
analytics.setUserId(user?.uid);
|
|
24
|
-
resolveInitialized();
|
|
25
|
-
}),
|
|
26
|
-
auth.credential.subscribe(credential => {
|
|
27
|
-
if (credential) {
|
|
28
|
-
const method = credential.user.isAnonymous ? 'anonymous' : credential.additionalUserInfo.providerId;
|
|
29
|
-
if (credential.additionalUserInfo.isNewUser) {
|
|
30
|
-
analytics.logEvent('sign_up', { method });
|
|
31
|
-
}
|
|
32
|
-
analytics.logEvent('login', { method });
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.initialized = Promise.resolve();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this.disposables.forEach(it => it.unsubscribe());
|
|
43
|
-
}
|
|
44
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.AngularFireAnalytics }, { token: PLATFORM_ID }, { token: i2.AngularFireAuth }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
45
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: UserTrackingService });
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: UserTrackingService, decorators: [{
|
|
48
|
-
type: Injectable
|
|
49
|
-
}], ctorParameters: () => [{ type: i1.AngularFireAnalytics }, { type: Object, decorators: [{
|
|
50
|
-
type: Inject,
|
|
51
|
-
args: [PLATFORM_ID]
|
|
52
|
-
}] }, { type: i2.AngularFireAuth }, { type: i0.NgZone }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci10cmFja2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9hbmFseXRpY3MvdXNlci10cmFja2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBR25ELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsV0FBVyxDQUFnQjtJQUNuQixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxrQ0FBa0M7SUFDbEMsWUFDRSxTQUErQjtJQUMvQix3REFBd0Q7SUFDbkMsVUFBa0IsRUFDdkMsSUFBcUIsRUFDckIsSUFBWTtRQUVaLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLGtCQUFrQixDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN0RyxJQUFJLENBQUMsV0FBVyxHQUFHO2dCQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM5QixTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDL0Isa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDO2dCQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNyQyxJQUFJLFVBQVUsRUFBRSxDQUFDO3dCQUNmLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7d0JBQ3BHLElBQUksVUFBVSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDOzRCQUM1QyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7d0JBQzVDLENBQUM7d0JBQ0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUMxQyxDQUFDO2dCQUNILENBQUMsQ0FBQzthQUNMLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLENBQUM7SUFFSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQzt1R0F4Q1UsbUJBQW1CLHNEQVNwQixXQUFXOzJHQVRWLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBVU4sTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBdXRoIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQvYXV0aCc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQW5hbHl0aWNzIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXNlclRyYWNraW5nU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgaW5pdGlhbGl6ZWQ6IFByb21pc2U8dm9pZD47XG4gIHByaXZhdGUgZGlzcG9zYWJsZXM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgLy8gVE9ETyBhIHVzZXIgcHJvcGVydGllcyBpbmplY3RvclxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3M6IEFuZ3VsYXJGaXJlQW5hbHl0aWNzLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIGF1dGg6IEFuZ3VsYXJGaXJlQXV0aCxcbiAgICB6b25lOiBOZ1pvbmUsXG4gICkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdjb21wYXQtdXNlci10cmFja2luZycpO1xuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgbGV0IHJlc29sdmVJbml0aWFsaXplZDtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZUluaXRpYWxpemVkID0gcmVzb2x2ZSkpO1xuICAgICAgdGhpcy5kaXNwb3NhYmxlcyA9IFtcbiAgICAgICAgICBhdXRoLmF1dGhTdGF0ZS5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgICAgICBhbmFseXRpY3Muc2V0VXNlcklkKHVzZXI/LnVpZCk7XG4gICAgICAgICAgICByZXNvbHZlSW5pdGlhbGl6ZWQoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBhdXRoLmNyZWRlbnRpYWwuc3Vic2NyaWJlKGNyZWRlbnRpYWwgPT4ge1xuICAgICAgICAgICAgaWYgKGNyZWRlbnRpYWwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0aG9kID0gY3JlZGVudGlhbC51c2VyLmlzQW5vbnltb3VzID8gJ2Fub255bW91cycgOiBjcmVkZW50aWFsLmFkZGl0aW9uYWxVc2VySW5mby5wcm92aWRlcklkO1xuICAgICAgICAgICAgICBpZiAoY3JlZGVudGlhbC5hZGRpdGlvbmFsVXNlckluZm8uaXNOZXdVc2VyKSB7XG4gICAgICAgICAgICAgICAgYW5hbHl0aWNzLmxvZ0V2ZW50KCdzaWduX3VwJywgeyBtZXRob2QgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYW5hbHl0aWNzLmxvZ0V2ZW50KCdsb2dpbicsIHsgbWV0aG9kIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVkID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRpc3Bvc2FibGVzLmZvckVhY2goaXQgPT4gaXQudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWNvbXBhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYW5ndWxhci1maXJlLWNvbXBhdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWNvbXBhdC1hdXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9hdXRoL2FuZ3VsYXItZmlyZS1jb21wYXQtYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { isPlatformServer } from '@angular/common';
|
|
2
|
-
import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { keepUnstableUntilFirst, ɵAngularFireSchedulers } from '@angular/fire';
|
|
4
|
-
import { AppCheckInstances } from '@angular/fire/app-check';
|
|
5
|
-
import { ɵapplyMixins, ɵlazySDKProxy } from '@angular/fire/compat';
|
|
6
|
-
import { FIREBASE_APP_NAME, FIREBASE_OPTIONS, ɵcacheInstance, ɵfirebaseAppFactory } from '@angular/fire/compat';
|
|
7
|
-
import { Observable, Subject, from, merge, of } from 'rxjs';
|
|
8
|
-
import { filter, first, map, observeOn, shareReplay, subscribeOn, switchMap, switchMapTo } from 'rxjs/operators';
|
|
9
|
-
import { proxyPolyfillCompat } from './base';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/fire";
|
|
12
|
-
import * as i2 from "@angular/fire/app-check";
|
|
13
|
-
export const USE_EMULATOR = new InjectionToken('angularfire2.auth.use-emulator');
|
|
14
|
-
export const SETTINGS = new InjectionToken('angularfire2.auth.settings');
|
|
15
|
-
export const TENANT_ID = new InjectionToken('angularfire2.auth.tenant-id');
|
|
16
|
-
export const LANGUAGE_CODE = new InjectionToken('angularfire2.auth.langugage-code');
|
|
17
|
-
export const USE_DEVICE_LANGUAGE = new InjectionToken('angularfire2.auth.use-device-language');
|
|
18
|
-
export const PERSISTENCE = new InjectionToken('angularfire.auth.persistence');
|
|
19
|
-
export const ɵauthFactory = (app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence) => ɵcacheInstance(`${app.name}.auth`, 'AngularFireAuth', app.name, () => {
|
|
20
|
-
const auth = zone.runOutsideAngular(() => app.auth());
|
|
21
|
-
if (useEmulator) {
|
|
22
|
-
auth.useEmulator(...useEmulator);
|
|
23
|
-
}
|
|
24
|
-
if (tenantId) {
|
|
25
|
-
auth.tenantId = tenantId;
|
|
26
|
-
}
|
|
27
|
-
auth.languageCode = languageCode;
|
|
28
|
-
if (useDeviceLanguage) {
|
|
29
|
-
auth.useDeviceLanguage();
|
|
30
|
-
}
|
|
31
|
-
if (settings) {
|
|
32
|
-
for (const [k, v] of Object.entries(settings)) {
|
|
33
|
-
auth.settings[k] = v;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (persistence) {
|
|
37
|
-
auth.setPersistence(persistence);
|
|
38
|
-
}
|
|
39
|
-
return auth;
|
|
40
|
-
}, [useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence]);
|
|
41
|
-
export class AngularFireAuth {
|
|
42
|
-
/**
|
|
43
|
-
* Observable of authentication state; as of Firebase 4.0 this is only triggered via sign-in/out
|
|
44
|
-
*/
|
|
45
|
-
authState;
|
|
46
|
-
/**
|
|
47
|
-
* Observable of the currently signed-in user's JWT token used to identify the user to a Firebase service (or null).
|
|
48
|
-
*/
|
|
49
|
-
idToken;
|
|
50
|
-
/**
|
|
51
|
-
* Observable of the currently signed-in user (or null).
|
|
52
|
-
*/
|
|
53
|
-
user;
|
|
54
|
-
/**
|
|
55
|
-
* Observable of the currently signed-in user's IdTokenResult object which contains the ID token JWT string and other
|
|
56
|
-
* helper properties for getting different data associated with the token as well as all the decoded payload claims
|
|
57
|
-
* (or null).
|
|
58
|
-
*/
|
|
59
|
-
idTokenResult;
|
|
60
|
-
/**
|
|
61
|
-
* Observable of the currently signed-in user's credential, or null
|
|
62
|
-
*/
|
|
63
|
-
credential;
|
|
64
|
-
constructor(options, name,
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
66
|
-
platformId, zone, schedulers, useEmulator, // can't use the tuple here
|
|
67
|
-
settings, // can't use firebase.auth.AuthSettings here
|
|
68
|
-
tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {
|
|
69
|
-
const logins = new Subject();
|
|
70
|
-
const auth = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap(() => zone.runOutsideAngular(() => import('firebase/compat/auth'))), map(() => ɵfirebaseAppFactory(options, zone, name)), map(app => ɵauthFactory(app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence)), shareReplay({ bufferSize: 1, refCount: false }));
|
|
71
|
-
if (isPlatformServer(platformId)) {
|
|
72
|
-
this.authState = this.user = this.idToken = this.idTokenResult = this.credential = of(null);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
// HACK, as we're exporting auth.Auth, rather than auth, developers importing firebase.auth
|
|
76
|
-
// (e.g, `import { auth } from 'firebase/compat/app'`) are getting an undefined auth object unexpectedly
|
|
77
|
-
// as we're completely lazy. Let's eagerly load the Auth SDK here.
|
|
78
|
-
// There could potentially be race conditions still... but this greatly decreases the odds while
|
|
79
|
-
// we reevaluate the API.
|
|
80
|
-
auth.pipe(first()).subscribe();
|
|
81
|
-
const redirectResult = auth.pipe(switchMap(auth => auth.getRedirectResult().then(it => it, () => null)), keepUnstableUntilFirst, shareReplay({ bufferSize: 1, refCount: false }));
|
|
82
|
-
const authStateChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onAuthStateChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));
|
|
83
|
-
const idTokenChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onIdTokenChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));
|
|
84
|
-
this.authState = redirectResult.pipe(switchMapTo(authStateChanged), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
|
|
85
|
-
this.user = redirectResult.pipe(switchMapTo(idTokenChanged), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
|
|
86
|
-
this.idToken = this.user.pipe(switchMap(user => user ? from(user.getIdToken()) : of(null)));
|
|
87
|
-
this.idTokenResult = this.user.pipe(switchMap(user => user ? from(user.getIdTokenResult()) : of(null)));
|
|
88
|
-
this.credential = merge(redirectResult, logins,
|
|
89
|
-
// pipe in null authState to make credential zipable, just a weird devexp if
|
|
90
|
-
// authState and user go null to still have a credential
|
|
91
|
-
this.authState.pipe(filter(it => !it))).pipe(
|
|
92
|
-
// handle the { user: { } } when a user is already logged in, rather have null
|
|
93
|
-
// TODO handle the type corcersion better
|
|
94
|
-
map(credential => credential?.user ? credential : null), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
|
|
95
|
-
}
|
|
96
|
-
return ɵlazySDKProxy(this, auth, zone, { spy: {
|
|
97
|
-
apply: (name, _, val) => {
|
|
98
|
-
// If they call a signIn or createUser function listen into the promise
|
|
99
|
-
// this will give us the user credential, push onto the logins Subject
|
|
100
|
-
// to be consumed in .credential
|
|
101
|
-
if (name.startsWith('signIn') || name.startsWith('createUser')) {
|
|
102
|
-
// TODO fix the types, the trouble is UserCredential has everything optional
|
|
103
|
-
val.then((user) => logins.next(user));
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
} });
|
|
107
|
-
}
|
|
108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuth, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
109
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuth, providedIn: 'any' });
|
|
110
|
-
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuth, decorators: [{
|
|
112
|
-
type: Injectable,
|
|
113
|
-
args: [{
|
|
114
|
-
providedIn: 'any'
|
|
115
|
-
}]
|
|
116
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
117
|
-
type: Inject,
|
|
118
|
-
args: [FIREBASE_OPTIONS]
|
|
119
|
-
}] }, { type: undefined, decorators: [{
|
|
120
|
-
type: Optional
|
|
121
|
-
}, {
|
|
122
|
-
type: Inject,
|
|
123
|
-
args: [FIREBASE_APP_NAME]
|
|
124
|
-
}] }, { type: Object, decorators: [{
|
|
125
|
-
type: Inject,
|
|
126
|
-
args: [PLATFORM_ID]
|
|
127
|
-
}] }, { type: i0.NgZone }, { type: i1.ɵAngularFireSchedulers }, { type: undefined, decorators: [{
|
|
128
|
-
type: Optional
|
|
129
|
-
}, {
|
|
130
|
-
type: Inject,
|
|
131
|
-
args: [USE_EMULATOR]
|
|
132
|
-
}] }, { type: undefined, decorators: [{
|
|
133
|
-
type: Optional
|
|
134
|
-
}, {
|
|
135
|
-
type: Inject,
|
|
136
|
-
args: [SETTINGS]
|
|
137
|
-
}] }, { type: undefined, decorators: [{
|
|
138
|
-
type: Optional
|
|
139
|
-
}, {
|
|
140
|
-
type: Inject,
|
|
141
|
-
args: [TENANT_ID]
|
|
142
|
-
}] }, { type: undefined, decorators: [{
|
|
143
|
-
type: Optional
|
|
144
|
-
}, {
|
|
145
|
-
type: Inject,
|
|
146
|
-
args: [LANGUAGE_CODE]
|
|
147
|
-
}] }, { type: undefined, decorators: [{
|
|
148
|
-
type: Optional
|
|
149
|
-
}, {
|
|
150
|
-
type: Inject,
|
|
151
|
-
args: [USE_DEVICE_LANGUAGE]
|
|
152
|
-
}] }, { type: undefined, decorators: [{
|
|
153
|
-
type: Optional
|
|
154
|
-
}, {
|
|
155
|
-
type: Inject,
|
|
156
|
-
args: [PERSISTENCE]
|
|
157
|
-
}] }, { type: i2.AppCheckInstances, decorators: [{
|
|
158
|
-
type: Optional
|
|
159
|
-
}] }] });
|
|
160
|
-
ɵapplyMixins(AngularFireAuth, [proxyPolyfillCompat]);
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFpQixZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFlLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzdILE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDOzs7O0FBTTdDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBdUIsZ0NBQWdDLENBQUMsQ0FBQztBQUV2RyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQTZCLDRCQUE0QixDQUFDLENBQUM7QUFDckcsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxD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QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE5nWm9uZSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBrZWVwVW5zdGFibGVVbnRpbEZpcnN0LCDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQXBwQ2hlY2tJbnN0YW5jZXMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyDJtVByb21pc2VQcm94eSwgybVhcHBseU1peGlucywgybVsYXp5U0RLUHJveHkgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUywgRmlyZWJhc2VBcHAsIMm1Y2FjaGVJbnN0YW5jZSwgybVmaXJlYmFzZUFwcEZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbSwgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAsIG9ic2VydmVPbiwgc2hhcmVSZXBsYXksIHN1YnNjcmliZU9uLCBzd2l0Y2hNYXAsIHN3aXRjaE1hcFRvIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcHJveHlQb2x5ZmlsbENvbXBhdCB9IGZyb20gJy4vYmFzZSc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJGaXJlQXV0aCBleHRlbmRzIMm1UHJvbWlzZVByb3h5PGZpcmViYXNlLmF1dGguQXV0aD4ge31cblxudHlwZSBVc2VFbXVsYXRvckFyZ3VtZW50cyA9IFBhcmFtZXRlcnM8ZmlyZWJhc2UuYXV0aC5BdXRoWyd1c2VFbXVsYXRvciddPjtcbmV4cG9ydCBjb25zdCBVU0VfRU1VTEFUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlRW11bGF0b3JBcmd1bWVudHM+KCdhbmd1bGFyZmlyZTIuYXV0aC51c2UtZW11bGF0b3InKTtcblxuZXhwb3J0IGNvbnN0IFNFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPGZpcmViYXNlLmF1dGguQXV0aFNldHRpbmdzPignYW5ndWxhcmZpcmUyLmF1dGguc2V0dGluZ3MnKTtcbmV4cG9ydCBjb25zdCBURU5BTlRfSUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmF1dGgudGVuYW50LWlkJyk7XG5leHBvcnQgY29uc3QgTEFOR1VBR0VfQ09ERSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZTIuYXV0aC5sYW5ndWdhZ2UtY29kZScpO1xuZXhwb3J0IGNvbnN0IFVTRV9ERVZJQ0VfTEFOR1VBR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2FuZ3VsYXJmaXJlMi5hdXRoLnVzZS1kZXZpY2UtbGFuZ3VhZ2UnKTtcbmV4cG9ydCBjb25zdCBQRVJTSVNURU5DRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZS5hdXRoLnBlcnNpc3RlbmNlJyk7XG5cbmV4cG9ydCBjb25zdCDJtWF1dGhGYWN0b3J5ID0gKFxuICBhcHA6IEZpcmViYXNlQXBwLCB6b25lOiBOZ1pvbmUsIHVzZUVtdWxhdG9yOiBVc2VFbXVsYXRvckFyZ3VtZW50c3xudWxsLFxuICB0ZW5hbnRJZDogc3RyaW5nLCBsYW5ndWFnZUNvZGU6IHN0cmluZ3xudWxsLCB1c2VEZXZpY2VMYW5ndWFnZTogYm9vbGVhbnxudWxsLFxuICBzZXR0aW5nczogZmlyZWJhc2UuYXV0aC5BdXRoU2V0dGluZ3N8bnVsbCwgcGVyc2lzdGVuY2U6IHN0cmluZ3xudWxsLFxuKSA9PiDJtWNhY2hlSW5zdGFuY2UoYCR7YXBwLm5hbWV9LmF1dGhgLCAnQW5ndWxhckZpcmVBdXRoJywgYXBwLm5hbWUsICgpID0+IHtcbiAgY29uc3QgYXV0aCA9IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gYXBwLmF1dGgoKSk7XG4gIGlmICh1c2VFbXVsYXRvcikge1xuICAgIGF1dGgudXNlRW11bGF0b3IoLi4udXNlRW11bGF0b3IpO1xuICB9XG4gIGlmICh0ZW5hbnRJZCkge1xuICAgIGF1dGgudGVuYW50SWQgPSB0ZW5hbnRJZDtcbiAgfVxuICBhdXRoLmxhbmd1YWdlQ29kZSA9IGxhbmd1YWdlQ29kZTtcbiAgaWYgKHVzZURldmljZUxhbmd1YWdlKSB7XG4gICAgYXV0aC51c2VEZXZpY2VMYW5ndWFnZSgpO1xuICB9XG4gIGlmIChzZXR0aW5ncykge1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHNldHRpbmdzKSkge1xuICAgICAgYXV0aC5zZXR0aW5nc1trXSA9IHY7XG4gICAgfVxuICB9XG4gIGlmIChwZXJzaXN0ZW5jZSkge1xuICAgIGF1dGguc2V0UGVyc2lzdGVuY2UocGVyc2lzdGVuY2UpO1xuICB9XG4gIHJldHVybiBhdXRoO1xufSwgW3VzZUVtdWxhdG9yLCB0ZW5hbnRJZCwgbGFuZ3VhZ2VDb2RlLCB1c2VEZXZpY2VMYW5ndWFnZSwgc2V0dGluZ3MsIHBlcnNpc3RlbmNlXSk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueSdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVBdXRoIHtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiBhdXRoZW50aWNhdGlvbiBzdGF0ZTsgYXMgb2YgRmlyZWJhc2UgNC4wIHRoaXMgaXMgb25seSB0cmlnZ2VyZWQgdmlhIHNpZ24taW4vb3V0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXV0aFN0YXRlOiBPYnNlcnZhYmxlPGZpcmViYXNlLlVzZXJ8bnVsbD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGN1cnJlbnRseSBzaWduZWQtaW4gdXNlcidzIEpXVCB0b2tlbiB1c2VkIHRvIGlkZW50aWZ5IHRoZSB1c2VyIHRvIGEgRmlyZWJhc2Ugc2VydmljZSAob3IgbnVsbCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWRUb2tlbjogT2JzZXJ2YWJsZTxzdHJpbmd8bnVsbD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGN1cnJlbnRseSBzaWduZWQtaW4gdXNlciAob3IgbnVsbCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlcjogT2JzZXJ2YWJsZTxmaXJlYmFzZS5Vc2VyfG51bGw+O1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSBjdXJyZW50bHkgc2lnbmVkLWluIHVzZXIncyBJZFRva2VuUmVzdWx0IG9iamVjdCB3aGljaCBjb250YWlucyB0aGUgSUQgdG9rZW4gSldUIHN0cmluZyBhbmQgb3RoZXJcbiAgICogaGVscGVyIHByb3BlcnRpZXMgZm9yIGdldHRpbmcgZGlmZmVyZW50IGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSB0b2tlbiBhcyB3ZWxsIGFzIGFsbCB0aGUgZGVjb2RlZCBwYXlsb2FkIGNsYWltc1xuICAgKiAob3IgbnVsbCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWRUb2tlblJlc3VsdDogT2JzZXJ2YWJsZTxmaXJlYmFzZS5hdXRoLklkVG9rZW5SZXN1bHR8bnVsbD47XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGN1cnJlbnRseSBzaWduZWQtaW4gdXNlcidzIGNyZWRlbnRpYWwsIG9yIG51bGxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsOiBPYnNlcnZhYmxlPFJlcXVpcmVkPGZpcmViYXNlLmF1dGguVXNlckNyZWRlbnRpYWw+fG51bGw+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRklSRUJBU0VfT1BUSU9OUykgb3B0aW9uczogRmlyZWJhc2VPcHRpb25zLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRklSRUJBU0VfQVBQX05BTUUpIG5hbWU6IHN0cmluZ3xudWxsfHVuZGVmaW5lZCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgc2NoZWR1bGVyczogybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChVU0VfRU1VTEFUT1IpIHVzZUVtdWxhdG9yOiBhbnksIC8vIGNhbid0IHVzZSB0aGUgdHVwbGUgaGVyZVxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoU0VUVElOR1MpIHNldHRpbmdzOiBhbnksIC8vIGNhbid0IHVzZSBmaXJlYmFzZS5hdXRoLkF1dGhTZXR0aW5ncyBoZXJlXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChURU5BTlRfSUQpIHRlbmFudElkOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTEFOR1VBR0VfQ09ERSkgbGFuZ3VhZ2VDb2RlOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFX0RFVklDRV9MQU5HVUFHRSkgdXNlRGV2aWNlTGFuZ3VhZ2U6IGJvb2xlYW4gfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUEVSU0lTVEVOQ0UpIHBlcnNpc3RlbmNlOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIF9hcHBDaGVja0luc3RhbmNlczogQXBwQ2hlY2tJbnN0YW5jZXMsXG4gICkge1xuICAgIGNvbnN0IGxvZ2lucyA9IG5ldyBTdWJqZWN0PFJlcXVpcmVkPGZpcmViYXNlLmF1dGguVXNlckNyZWRlbnRpYWw+PigpO1xuXG4gICAgY29uc3QgYXV0aCA9IG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLm91dHNpZGVBbmd1bGFyKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGltcG9ydCgnZmlyZWJhc2UvY29tcGF0L2F1dGgnKSkpLFxuICAgICAgbWFwKCgpID0+IMm1ZmlyZWJhc2VBcHBGYWN0b3J5KG9wdGlvbnMsIHpvbmUsIG5hbWUpKSxcbiAgICAgIG1hcChhcHAgPT4gybVhdXRoRmFjdG9yeShhcHAsIHpvbmUsIHVzZUVtdWxhdG9yLCB0ZW5hbnRJZCwgbGFuZ3VhZ2VDb2RlLCB1c2VEZXZpY2VMYW5ndWFnZSwgc2V0dGluZ3MsIHBlcnNpc3RlbmNlKSksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiBmYWxzZSB9KSxcbiAgICApO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkpIHtcblxuICAgICAgdGhpcy5hdXRoU3RhdGUgPSB0aGlzLnVzZXIgPSB0aGlzLmlkVG9rZW4gPSB0aGlzLmlkVG9rZW5SZXN1bHQgPSB0aGlzLmNyZWRlbnRpYWwgPSBvZihudWxsKTtcblxuICAgIH0gZWxzZSB7XG5cbiAgICAgIC8vIEhBQ0ssIGFzIHdlJ3JlIGV4cG9ydGluZyBhdXRoLkF1dGgsIHJhdGhlciB0aGFuIGF1dGgsIGRldmVsb3BlcnMgaW1wb3J0aW5nIGZpcmViYXNlLmF1dGhcbiAgICAgIC8vICAgICAgIChlLmcsIGBpbXBvcnQgeyBhdXRoIH0gZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCdgKSBhcmUgZ2V0dGluZyBhbiB1bmRlZmluZWQgYXV0aCBvYmplY3QgdW5leHBlY3RlZGx5XG4gICAgICAvLyAgICAgICBhcyB3ZSdyZSBjb21wbGV0ZWx5IGxhenkuIExldCdzIGVhZ2VybHkgbG9hZCB0aGUgQXV0aCBTREsgaGVyZS5cbiAgICAgIC8vICAgICAgIFRoZXJlIGNvdWxkIHBvdGVudGlhbGx5IGJlIHJhY2UgY29uZGl0aW9ucyBzdGlsbC4uLiBidXQgdGhpcyBncmVhdGx5IGRlY3JlYXNlcyB0aGUgb2RkcyB3aGlsZVxuICAgICAgLy8gICAgICAgd2UgcmVldmFsdWF0ZSB0aGUgQVBJLlxuICAgICAgYXV0aC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgpO1xuXG4gICAgICBjb25zdCByZWRpcmVjdFJlc3VsdCA9IGF1dGgucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGF1dGggPT4gYXV0aC5nZXRSZWRpcmVjdFJlc3VsdCgpLnRoZW4oaXQgPT4gaXQsICgpID0+IG51bGwpKSxcbiAgICAgICAga2VlcFVuc3RhYmxlVW50aWxGaXJzdCxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSksXG4gICAgICApO1xuXG4gICAgICBjb25zdCBhdXRoU3RhdGVDaGFuZ2VkID0gYXV0aC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXV0aCA9PiBuZXcgT2JzZXJ2YWJsZTxmaXJlYmFzZS5Vc2VyfG51bGw+KHN1YiA9PlxuICAgICAgICAgICh7IHVuc3Vic2NyaWJlOiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGF1dGgub25BdXRoU3RhdGVDaGFuZ2VkKFxuICAgICAgICAgICAgbmV4dCA9PiBzdWIubmV4dChuZXh0KSxcbiAgICAgICAgICAgIGVyciA9PiBzdWIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICgpID0+IHN1Yi5jb21wbGV0ZSgpXG4gICAgICAgICAgKSl9KVxuICAgICAgICApKSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGlkVG9rZW5DaGFuZ2VkID0gYXV0aC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYXV0aCA9PiBuZXcgT2JzZXJ2YWJsZTxmaXJlYmFzZS5Vc2VyfG51bGw+KHN1YiA9PlxuICAgICAgICAgICh7IHVuc3Vic2NyaWJlOiB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGF1dGgub25JZFRva2VuQ2hhbmdlZChcbiAgICAgICAgICAgIG5leHQgPT4gc3ViLm5leHQobmV4dCksXG4gICAgICAgICAgICBlcnIgPT4gc3ViLmVycm9yKGVyciksXG4gICAgICAgICAgICAoKSA9PiBzdWIuY29tcGxldGUoKVxuICAgICAgICAgICkpfSlcbiAgICAgICAgKSlcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuYXV0aFN0YXRlID0gcmVkaXJlY3RSZXN1bHQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwVG8oYXV0aFN0YXRlQ2hhbmdlZCksXG4gICAgICAgIHN1YnNjcmliZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMudXNlciA9IHJlZGlyZWN0UmVzdWx0LnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcFRvKGlkVG9rZW5DaGFuZ2VkKSxcbiAgICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLmluc2lkZUFuZ3VsYXIpLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5pZFRva2VuID0gdGhpcy51c2VyLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh1c2VyID0+IHVzZXIgPyBmcm9tKHVzZXIuZ2V0SWRUb2tlbigpKSA6IG9mKG51bGwpKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5pZFRva2VuUmVzdWx0ID0gdGhpcy51c2VyLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh1c2VyID0+IHVzZXIgPyBmcm9tKHVzZXIuZ2V0SWRUb2tlblJlc3VsdCgpKSA6IG9mKG51bGwpKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5jcmVkZW50aWFsID0gbWVyZ2UoXG4gICAgICAgIHJlZGlyZWN0UmVzdWx0LFxuICAgICAgICBsb2dpbnMsXG4gICAgICAgIC8vIHBpcGUgaW4gbnVsbCBhdXRoU3RhdGUgdG8gbWFrZSBjcmVkZW50aWFsIHppcGFibGUsIGp1c3QgYSB3ZWlyZCBkZXZleHAgaWZcbiAgICAgICAgLy8gYXV0aFN0YXRlIGFuZCB1c2VyIGdvIG51bGwgdG8gc3RpbGwgaGF2ZSBhIGNyZWRlbnRpYWxcbiAgICAgICAgdGhpcy5hdXRoU3RhdGUucGlwZShmaWx0ZXIoaXQgPT4gIWl0KSlcbiAgICAgICkucGlwZShcbiAgICAgICAgLy8gaGFuZGxlIHRoZSB7IHVzZXI6IHsgfSB9IHdoZW4gYSB1c2VyIGlzIGFscmVhZHkgbG9nZ2VkIGluLCByYXRoZXIgaGF2ZSBudWxsXG4gICAgICAgIC8vIFRPRE8gaGFuZGxlIHRoZSB0eXBlIGNvcmNlcnNpb24gYmV0dGVyXG4gICAgICAgIG1hcChjcmVkZW50aWFsID0+IGNyZWRlbnRpYWw/LnVzZXIgPyBjcmVkZW50aWFsIGFzIFJlcXVpcmVkPGZpcmViYXNlLmF1dGguVXNlckNyZWRlbnRpYWw+IDogbnVsbCksXG4gICAgICAgIHN1YnNjcmliZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKSxcbiAgICAgICk7XG5cbiAgICB9XG5cbiAgICByZXR1cm4gybVsYXp5U0RLUHJveHkodGhpcywgYXV0aCwgem9uZSwgeyBzcHk6IHtcbiAgICAgIGFwcGx5OiAobmFtZSwgXywgdmFsKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZXkgY2FsbCBhIHNpZ25JbiBvciBjcmVhdGVVc2VyIGZ1bmN0aW9uIGxpc3RlbiBpbnRvIHRoZSBwcm9taXNlXG4gICAgICAgIC8vIHRoaXMgd2lsbCBnaXZlIHVzIHRoZSB1c2VyIGNyZWRlbnRpYWwsIHB1c2ggb250byB0aGUgbG9naW5zIFN1YmplY3RcbiAgICAgICAgLy8gdG8gYmUgY29uc3VtZWQgaW4gLmNyZWRlbnRpYWxcbiAgICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aCgnc2lnbkluJykgfHwgbmFtZS5zdGFydHNXaXRoKCdjcmVhdGVVc2VyJykpIHtcbiAgICAgICAgICAvLyBUT0RPIGZpeCB0aGUgdHlwZXMsIHRoZSB0cm91YmxlIGlzIFVzZXJDcmVkZW50aWFsIGhhcyBldmVyeXRoaW5nIG9wdGlvbmFsXG4gICAgICAgICAgdmFsLnRoZW4oKHVzZXI6IGZpcmViYXNlLmF1dGguVXNlckNyZWRlbnRpYWwpID0+IGxvZ2lucy5uZXh0KHVzZXIgYXMgYW55KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9fSk7XG5cbiAgfVxuXG59XG5cbsm1YXBwbHlNaXhpbnMoQW5ndWxhckZpcmVBdXRoLCBbcHJveHlQb2x5ZmlsbENvbXBhdF0pO1xuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { VERSION } from '@angular/fire';
|
|
3
|
-
import firebase from 'firebase/compat/app';
|
|
4
|
-
import { AngularFireAuth } from './auth';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class AngularFireAuthModule {
|
|
7
|
-
constructor() {
|
|
8
|
-
firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');
|
|
9
|
-
}
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthModule });
|
|
12
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
providers: [AngularFireAuth]
|
|
18
|
-
}]
|
|
19
|
-
}], ctorParameters: () => [] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2F1dGgvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7UUFDRSxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7dUdBSFUscUJBQXFCO3dHQUFyQixxQkFBcUI7d0dBQXJCLHFCQUFxQixhQUZyQixDQUFFLGVBQWUsQ0FBRTs7MkZBRW5CLHFCQUFxQjtrQkFIakMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxlQUFlLENBQUU7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQXV0aCB9IGZyb20gJy4vYXV0aCc7XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogWyBBbmd1bGFyRmlyZUF1dGggXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUF1dGhNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmaXJlYmFzZS5yZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnYXV0aC1jb21wYXQnKTtcbiAgfVxufVxuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
|
|
2
|
-
// Export a null object with the same keys as firebase/compat/auth, so Proxy can work with proxy-polyfill in Internet Explorer
|
|
3
|
-
export const proxyPolyfillCompat = {
|
|
4
|
-
name: null,
|
|
5
|
-
config: null,
|
|
6
|
-
emulatorConfig: null,
|
|
7
|
-
app: null,
|
|
8
|
-
applyActionCode: null,
|
|
9
|
-
checkActionCode: null,
|
|
10
|
-
confirmPasswordReset: null,
|
|
11
|
-
createUserWithEmailAndPassword: null,
|
|
12
|
-
currentUser: null,
|
|
13
|
-
fetchSignInMethodsForEmail: null,
|
|
14
|
-
isSignInWithEmailLink: null,
|
|
15
|
-
getRedirectResult: null,
|
|
16
|
-
languageCode: null,
|
|
17
|
-
settings: null,
|
|
18
|
-
onAuthStateChanged: null,
|
|
19
|
-
onIdTokenChanged: null,
|
|
20
|
-
sendSignInLinkToEmail: null,
|
|
21
|
-
sendPasswordResetEmail: null,
|
|
22
|
-
setPersistence: null,
|
|
23
|
-
signInAndRetrieveDataWithCredential: null,
|
|
24
|
-
signInAnonymously: null,
|
|
25
|
-
signInWithCredential: null,
|
|
26
|
-
signInWithCustomToken: null,
|
|
27
|
-
signInWithEmailAndPassword: null,
|
|
28
|
-
signInWithPhoneNumber: null,
|
|
29
|
-
signInWithEmailLink: null,
|
|
30
|
-
signInWithPopup: null,
|
|
31
|
-
signInWithRedirect: null,
|
|
32
|
-
signOut: null,
|
|
33
|
-
tenantId: null,
|
|
34
|
-
updateCurrentUser: null,
|
|
35
|
-
useDeviceLanguage: null,
|
|
36
|
-
useEmulator: null,
|
|
37
|
-
verifyPasswordResetCode: null,
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCw4SEFBOEg7QUFDOUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsSUFBSSxFQUFFLElBQUk7SUFDVixNQUFNLEVBQUUsSUFBSTtJQUNaLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsZUFBZSxFQUFFLElBQUk7SUFDckIsZUFBZSxFQUFFLElBQUk7SUFDckIsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQiw4QkFBOEIsRUFBRSxJQUFJO0lBQ3BDLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLDBCQUEwQixFQUFFLElBQUk7SUFDaEMscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFFBQVEsRUFBRSxJQUFJO0lBQ2Qsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLHFCQUFxQixFQUFFLElBQUk7SUFDM0Isc0JBQXNCLEVBQUUsSUFBSTtJQUM1QixjQUFjLEVBQUUsSUFBSTtJQUNwQixtQ0FBbUMsRUFBRSxJQUFJO0lBQ3pDLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQixxQkFBcUIsRUFBRSxJQUFJO0lBQzNCLDBCQUEwQixFQUFFLElBQUk7SUFDaEMscUJBQXFCLEVBQUUsSUFBSTtJQUMzQixtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsSUFBSTtJQUNkLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQix1QkFBdUIsRUFBRSxJQUFJO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuLy8gRXhwb3J0IGEgbnVsbCBvYmplY3Qgd2l0aCB0aGUgc2FtZSBrZXlzIGFzIGZpcmViYXNlL2NvbXBhdC9hdXRoLCBzbyBQcm94eSBjYW4gd29yayB3aXRoIHByb3h5LXBvbHlmaWxsIGluIEludGVybmV0IEV4cGxvcmVyXG5leHBvcnQgY29uc3QgcHJveHlQb2x5ZmlsbENvbXBhdCA9IHtcbiAgbmFtZTogbnVsbCxcbiAgY29uZmlnOiBudWxsLFxuICBlbXVsYXRvckNvbmZpZzogbnVsbCxcbiAgYXBwOiBudWxsLFxuICBhcHBseUFjdGlvbkNvZGU6IG51bGwsXG4gIGNoZWNrQWN0aW9uQ29kZTogbnVsbCxcbiAgY29uZmlybVBhc3N3b3JkUmVzZXQ6IG51bGwsXG4gIGNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZDogbnVsbCxcbiAgY3VycmVudFVzZXI6IG51bGwsXG4gIGZldGNoU2lnbkluTWV0aG9kc0ZvckVtYWlsOiBudWxsLFxuICBpc1NpZ25JbldpdGhFbWFpbExpbms6IG51bGwsXG4gIGdldFJlZGlyZWN0UmVzdWx0OiBudWxsLFxuICBsYW5ndWFnZUNvZGU6IG51bGwsXG4gIHNldHRpbmdzOiBudWxsLFxuICBvbkF1dGhTdGF0ZUNoYW5nZWQ6IG51bGwsXG4gIG9uSWRUb2tlbkNoYW5nZWQ6IG51bGwsXG4gIHNlbmRTaWduSW5MaW5rVG9FbWFpbDogbnVsbCxcbiAgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbDogbnVsbCxcbiAgc2V0UGVyc2lzdGVuY2U6IG51bGwsXG4gIHNpZ25JbkFuZFJldHJpZXZlRGF0YVdpdGhDcmVkZW50aWFsOiBudWxsLFxuICBzaWduSW5Bbm9ueW1vdXNseTogbnVsbCxcbiAgc2lnbkluV2l0aENyZWRlbnRpYWw6IG51bGwsXG4gIHNpZ25JbldpdGhDdXN0b21Ub2tlbjogbnVsbCxcbiAgc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQ6IG51bGwsXG4gIHNpZ25JbldpdGhQaG9uZU51bWJlcjogbnVsbCxcbiAgc2lnbkluV2l0aEVtYWlsTGluazogbnVsbCxcbiAgc2lnbkluV2l0aFBvcHVwOiBudWxsLFxuICBzaWduSW5XaXRoUmVkaXJlY3Q6IG51bGwsXG4gIHNpZ25PdXQ6IG51bGwsXG4gIHRlbmFudElkOiBudWxsLFxuICB1cGRhdGVDdXJyZW50VXNlcjogbnVsbCxcbiAgdXNlRGV2aWNlTGFuZ3VhZ2U6IG51bGwsXG4gIHVzZUVtdWxhdG9yOiBudWxsLFxuICB2ZXJpZnlQYXNzd29yZFJlc2V0Q29kZTogbnVsbCxcbn07XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import 'firebase/compat/auth'; // removed in build process when not UMD
|
|
2
|
-
export * from './auth';
|
|
3
|
-
export * from './auth.module';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyx3Q0FBd0M7QUFFdkUsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCAnZmlyZWJhc2UvY29tcGF0L2F1dGgnOyAvLyByZW1vdmVkIGluIGJ1aWxkIHByb2Nlc3Mgd2hlbiBub3QgVU1EXG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWNvbXBhdC1hdXRoLWd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9hdXRoLWd1YXJkL2FuZ3VsYXItZmlyZS1jb21wYXQtYXV0aC1ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { AngularFireAuth } from '@angular/fire/compat/auth';
|
|
3
|
-
import { Router } from '@angular/router';
|
|
4
|
-
import { of, pipe } from 'rxjs';
|
|
5
|
-
import { map, switchMap, take } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
|
-
import * as i2 from "@angular/fire/compat/auth";
|
|
9
|
-
export const loggedIn = map(user => !!user);
|
|
10
|
-
export class AngularFireAuthGuard {
|
|
11
|
-
router;
|
|
12
|
-
auth;
|
|
13
|
-
constructor(router, auth) {
|
|
14
|
-
this.router = router;
|
|
15
|
-
this.auth = auth;
|
|
16
|
-
}
|
|
17
|
-
canActivate = (next, state) => {
|
|
18
|
-
const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
|
|
19
|
-
return this.auth.user.pipe(take(1), authPipeFactory(next, state), map(can => {
|
|
20
|
-
if (typeof can === 'boolean') {
|
|
21
|
-
return can;
|
|
22
|
-
}
|
|
23
|
-
else if (Array.isArray(can)) {
|
|
24
|
-
return this.router.createUrlTree(can);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// TODO(EdricChan03): Add tests
|
|
28
|
-
return this.router.parseUrl(can);
|
|
29
|
-
}
|
|
30
|
-
}));
|
|
31
|
-
};
|
|
32
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthGuard, deps: [{ token: i1.Router }, { token: i2.AngularFireAuth }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthGuard, providedIn: 'any' });
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthGuard, decorators: [{
|
|
36
|
-
type: Injectable,
|
|
37
|
-
args: [{
|
|
38
|
-
providedIn: 'any'
|
|
39
|
-
}]
|
|
40
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.AngularFireAuth }] });
|
|
41
|
-
export const canActivate = (pipe) => ({
|
|
42
|
-
canActivate: [AngularFireAuthGuard], data: { authGuardPipe: pipe }
|
|
43
|
-
});
|
|
44
|
-
export const isNotAnonymous = map(user => !!user && !user.isAnonymous);
|
|
45
|
-
export const idTokenResult = switchMap((user) => user ? user.getIdTokenResult() : of(null));
|
|
46
|
-
export const emailVerified = map(user => !!user && user.emailVerified);
|
|
47
|
-
export const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));
|
|
48
|
-
export const hasCustomClaim =
|
|
49
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
50
|
-
(claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));
|
|
51
|
-
export const redirectUnauthorizedTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));
|
|
52
|
-
export const redirectLoggedInTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC1ndWFyZC9hdXRoLWd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBdUMsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBRW5HLE9BQU8sRUFBNkIsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUt0RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBS3RELE1BQU0sT0FBTyxvQkFBb0I7SUFFWDtJQUF3QjtJQUE1QyxZQUFvQixNQUFjLEVBQVUsSUFBcUI7UUFBN0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFNBQUksR0FBSixJQUFJLENBQWlCO0lBQUcsQ0FBQztJQUVyRSxXQUFXLEdBQUcsQ0FBQyxJQUE0QixFQUFFLEtBQTBCLEVBQUUsRUFBRTtRQUN6RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWtDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNSLElBQUksT0FBTyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sK0JBQStCO2dCQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFBO3VHQXBCVSxvQkFBb0I7MkdBQXBCLG9CQUFvQixjQUZuQixLQUFLOzsyRkFFTixvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOztBQXlCRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxDQUFFLG9CQUFvQixDQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRTtDQUNyRSxDQUFDLENBQUM7QUFHSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsSUFBd0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqSCxNQUFNLENBQUMsTUFBTSxjQUFjO0FBQ3pCLGlEQUFpRDtBQUNqRCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FDakMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQzdCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQXV0aCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvY29tcGF0L2F1dGgnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBVbmFyeUZ1bmN0aW9uLCBvZiwgcGlwZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIEF1dGhQaXBlR2VuZXJhdG9yID0gKG5leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiBBdXRoUGlwZTtcbmV4cG9ydCB0eXBlIEF1dGhQaXBlID0gVW5hcnlGdW5jdGlvbjxPYnNlcnZhYmxlPGZpcmViYXNlLlVzZXJ8bnVsbD4sIE9ic2VydmFibGU8Ym9vbGVhbnxzdHJpbmd8YW55W10+PjtcblxuZXhwb3J0IGNvbnN0IGxvZ2dlZEluOiBBdXRoUGlwZSA9IG1hcCh1c2VyID0+ICEhdXNlcik7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueSdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhdXRoOiBBbmd1bGFyRmlyZUF1dGgpIHt9XG5cbiAgY2FuQWN0aXZhdGUgPSAobmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IHtcbiAgICBjb25zdCBhdXRoUGlwZUZhY3RvcnkgPSBuZXh0LmRhdGEuYXV0aEd1YXJkUGlwZSBhcyBBdXRoUGlwZUdlbmVyYXRvciB8fCAoKCkgPT4gbG9nZ2VkSW4pO1xuICAgIHJldHVybiB0aGlzLmF1dGgudXNlci5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIGF1dGhQaXBlRmFjdG9yeShuZXh0LCBzdGF0ZSksXG4gICAgICBtYXAoY2FuID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjYW4gPT09ICdib29sZWFuJykge1xuICAgICAgICAgIHJldHVybiBjYW47XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjYW4pKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoY2FuKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBUT0RPKEVkcmljQ2hhbjAzKTogQWRkIHRlc3RzXG4gICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnBhcnNlVXJsKGNhbik7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCBjYW5BY3RpdmF0ZSA9IChwaXBlOiBBdXRoUGlwZUdlbmVyYXRvcikgPT4gKHtcbiAgY2FuQWN0aXZhdGU6IFsgQW5ndWxhckZpcmVBdXRoR3VhcmQgXSwgZGF0YTogeyBhdXRoR3VhcmRQaXBlOiBwaXBlIH1cbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBpc05vdEFub255bW91czogQXV0aFBpcGUgPSBtYXAodXNlciA9PiAhIXVzZXIgJiYgIXVzZXIuaXNBbm9ueW1vdXMpO1xuZXhwb3J0IGNvbnN0IGlkVG9rZW5SZXN1bHQgPSBzd2l0Y2hNYXAoKHVzZXI6IGZpcmViYXNlLlVzZXJ8bnVsbCkgPT4gdXNlciA/IHVzZXIuZ2V0SWRUb2tlblJlc3VsdCgpIDogb2YobnVsbCkpO1xuZXhwb3J0IGNvbnN0IGVtYWlsVmVyaWZpZWQ6IEF1dGhQaXBlID0gbWFwKHVzZXIgPT4gISF1c2VyICYmIHVzZXIuZW1haWxWZXJpZmllZCk7XG5leHBvcnQgY29uc3QgY3VzdG9tQ2xhaW1zID0gcGlwZShpZFRva2VuUmVzdWx0LCBtYXAoaWRUb2tlblJlc3VsdCA9PiBpZFRva2VuUmVzdWx0ID8gaWRUb2tlblJlc3VsdC5jbGFpbXMgOiBbXSkpO1xuZXhwb3J0IGNvbnN0IGhhc0N1c3RvbUNsYWltOiAoY2xhaW06IHN0cmluZykgPT4gQXV0aFBpcGUgPVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gIChjbGFpbSkgPT4gcGlwZShjdXN0b21DbGFpbXMsIG1hcChjbGFpbXMgPT4gIGNsYWltcy5oYXNPd25Qcm9wZXJ0eShjbGFpbSkpKTtcbmV4cG9ydCBjb25zdCByZWRpcmVjdFVuYXV0aG9yaXplZFRvOiAocmVkaXJlY3Q6IHN0cmluZ3xhbnlbXSkgPT4gQXV0aFBpcGUgPVxuICAocmVkaXJlY3QpID0+IHBpcGUobG9nZ2VkSW4sIG1hcChsb2dnZWRJbiA9PiBsb2dnZWRJbiB8fCByZWRpcmVjdCkpO1xuZXhwb3J0IGNvbnN0IHJlZGlyZWN0TG9nZ2VkSW5UbzogKHJlZGlyZWN0OiBzdHJpbmd8YW55W10pID0+IEF1dGhQaXBlID1cbiAgKHJlZGlyZWN0KSA9PiBwaXBlKGxvZ2dlZEluLCBtYXAobG9nZ2VkSW4gPT4gbG9nZ2VkSW4gJiYgcmVkaXJlY3QgfHwgdHJ1ZSkpO1xuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { VERSION } from '@angular/fire';
|
|
3
|
-
import firebase from 'firebase/compat/app';
|
|
4
|
-
import { AngularFireAuthGuard } from './auth-guard';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class AngularFireAuthGuardModule {
|
|
7
|
-
constructor() {
|
|
8
|
-
firebase.registerVersion('angularfire', VERSION.full, 'auth-guard-compat');
|
|
9
|
-
}
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthGuardModule });
|
|
12
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthGuardModule, providers: [AngularFireAuthGuard] });
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAuthGuardModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
providers: [AngularFireAuthGuard]
|
|
18
|
-
}]
|
|
19
|
-
}], ctorParameters: () => [] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2F1dGgtZ3VhcmQvYXV0aC1ndWFyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQztRQUNFLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUM3RSxDQUFDO3VHQUhVLDBCQUEwQjt3R0FBMUIsMEJBQTBCO3dHQUExQiwwQkFBMEIsYUFGMUIsQ0FBRSxvQkFBb0IsQ0FBRTs7MkZBRXhCLDBCQUEwQjtrQkFIdEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBRTtpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBdXRoR3VhcmQgfSBmcm9tICcuL2F1dGgtZ3VhcmQnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVBdXRoR3VhcmQgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUF1dGhHdWFyZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhdXRoLWd1YXJkLWNvbXBhdCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './auth-guard';
|
|
2
|
-
export * from './auth-guard.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYXV0aC1ndWFyZC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgtZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLWd1YXJkLm1vZHVsZSc7XG4iXX0=
|
package/esm2022/compat/cache.mjs
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { isDevMode } from '@angular/core';
|
|
2
|
-
export function ɵcacheInstance(cacheKey, moduleName, appName, fn, deps) {
|
|
3
|
-
const [, instance, cachedDeps] = globalThis.ɵAngularfireInstanceCache.find((it) => it[0] === cacheKey) || [];
|
|
4
|
-
if (instance) {
|
|
5
|
-
if (!matchDep(deps, cachedDeps)) {
|
|
6
|
-
log('error', `${moduleName} was already initialized on the ${appName} Firebase App with different settings.${IS_HMR ? ' You may need to reload as Firebase is not HMR aware.' : ''}`);
|
|
7
|
-
log('warn', { is: deps, was: cachedDeps });
|
|
8
|
-
}
|
|
9
|
-
return instance;
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
const newInstance = fn();
|
|
13
|
-
globalThis.ɵAngularfireInstanceCache.push([cacheKey, newInstance, deps]);
|
|
14
|
-
return newInstance;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function matchDep(a, b) {
|
|
18
|
-
try {
|
|
19
|
-
return a.toString() === b.toString();
|
|
20
|
-
}
|
|
21
|
-
catch (_) {
|
|
22
|
-
return a === b;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const IS_HMR = typeof module !== 'undefined' && !!module.hot;
|
|
26
|
-
const log = (level, ...args) => {
|
|
27
|
-
if (isDevMode() && typeof console !== 'undefined') {
|
|
28
|
-
// eslint-disable-next-line no-console
|
|
29
|
-
console[level](...args);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
globalThis.ɵAngularfireInstanceCache ||= [];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcGF0L2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLGNBQWMsQ0FBSSxRQUFhLEVBQUUsVUFBa0IsRUFBRSxPQUFlLEVBQUUsRUFBVyxFQUFFLElBQVM7SUFDMUcsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEgsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLFVBQVUsbUNBQW1DLE9BQU8seUNBQXlDLE1BQU0sQ0FBQyxDQUFDLENBQUMsdURBQXVELENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEwsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxXQUFXLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDekIsVUFBVSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLENBQU0sRUFBRSxDQUFNO0lBQzlCLElBQUksQ0FBQztRQUNILE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUUsTUFBYyxDQUFDLEdBQUcsQ0FBQztBQUV0RSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQWtDLEVBQUUsR0FBRyxJQUFTLEVBQUUsRUFBRTtJQUMvRCxJQUFJLFNBQVMsRUFBRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2xELHNDQUFzQztRQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsVUFBVSxDQUFDLHlCQUF5QixLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gybVjYWNoZUluc3RhbmNlPFQ+KGNhY2hlS2V5OiBhbnksIG1vZHVsZU5hbWU6IHN0cmluZywgYXBwTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gVCwgZGVwczogYW55KTogVCB7XG4gIGNvbnN0IFssIGluc3RhbmNlLCBjYWNoZWREZXBzXSA9IGdsb2JhbFRoaXMuybVBbmd1bGFyZmlyZUluc3RhbmNlQ2FjaGUuZmluZCgoaXQ6IGFueSkgPT4gaXRbMF0gPT09IGNhY2hlS2V5KSB8fCBbXTtcbiAgaWYgKGluc3RhbmNlKSB7XG4gICAgaWYgKCFtYXRjaERlcChkZXBzLCBjYWNoZWREZXBzKSkge1xuICAgICAgbG9nKCdlcnJvcicsIGAke21vZHVsZU5hbWV9IHdhcyBhbHJlYWR5IGluaXRpYWxpemVkIG9uIHRoZSAke2FwcE5hbWV9IEZpcmViYXNlIEFwcCB3aXRoIGRpZmZlcmVudCBzZXR0aW5ncy4ke0lTX0hNUiA/ICcgWW91IG1heSBuZWVkIHRvIHJlbG9hZCBhcyBGaXJlYmFzZSBpcyBub3QgSE1SIGF3YXJlLicgOiAnJ31gKTtcbiAgICAgIGxvZygnd2FybicsIHtpczogZGVwcywgd2FzOiBjYWNoZWREZXBzfSk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBuZXdJbnN0YW5jZSA9IGZuKCk7XG4gICAgZ2xvYmFsVGhpcy7JtUFuZ3VsYXJmaXJlSW5zdGFuY2VDYWNoZS5wdXNoKFtjYWNoZUtleSwgbmV3SW5zdGFuY2UsIGRlcHNdKTtcbiAgICByZXR1cm4gbmV3SW5zdGFuY2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF0Y2hEZXAoYTogYW55LCBiOiBhbnkpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYS50b1N0cmluZygpID09PSBiLnRvU3RyaW5nKCk7XG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gYSA9PT0gYjtcbiAgfVxufVxuXG5jb25zdCBJU19ITVIgPSB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiAhIShtb2R1bGUgYXMgYW55KS5ob3Q7XG5cbmNvbnN0IGxvZyA9IChsZXZlbDogJ2xvZyd8J2Vycm9yJ3wnaW5mbyd8J3dhcm4nLCAuLi5hcmdzOiBhbnkpID0+IHtcbiAgaWYgKGlzRGV2TW9kZSgpICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZVtsZXZlbF0oLi4uYXJncyk7XG4gIH1cbn07XG5cbmdsb2JhbFRoaXMuybVBbmd1bGFyZmlyZUluc3RhbmNlQ2FjaGUgfHw9IFtdO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWNvbXBhdC1kYXRhYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZGF0YWJhc2UvYW5ndWxhci1maXJlLWNvbXBhdC1kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|