@angular/fire 7.6.1 → 16.0.0-canary.2d48ab0
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 +11 -4
- package/analytics/analytics.module.d.ts +2 -2
- package/analytics/firebase.d.ts +4 -1
- package/analytics/is-analytics-supported-factory.d.ts +4 -0
- package/analytics/screen-tracking.service.d.ts +3 -3
- package/app-check/app-check.d.ts +0 -6
- package/app-check/app-check.module.d.ts +3 -4
- package/app-check/firebase.d.ts +2 -1
- package/app-check/public_api.d.ts +2 -1
- package/auth/auth.module.d.ts +2 -2
- package/auth/firebase.d.ts +3 -1
- package/auth-guard/auth-guard.d.ts +6 -6
- package/compat/analytics/analytics.d.ts +1 -3
- package/compat/analytics/analytics.module.d.ts +1 -1
- package/compat/analytics/screen-tracking.service.d.ts +1 -1
- package/compat/analytics/user-tracking.service.d.ts +1 -1
- package/compat/auth/auth.d.ts +4 -4
- package/compat/auth-guard/auth-guard.d.ts +8 -6
- package/compat/database/database.d.ts +4 -4
- package/compat/database/interfaces.d.ts +14 -14
- package/compat/database/list/audit-trail.d.ts +1 -1
- package/compat/database/list/create-reference.d.ts +1 -1
- package/compat/database/list/data-operation.d.ts +1 -1
- package/compat/database/list/state-changes.d.ts +1 -1
- package/compat/database/object/create-reference.d.ts +1 -1
- package/compat/database/observable/fromRef.d.ts +1 -1
- package/compat/database/utils.d.ts +1 -1
- package/compat/firebase.app.module.d.ts +1 -1
- package/compat/firestore/collection/collection.d.ts +2 -2
- package/compat/firestore/collection-group/collection-group.d.ts +2 -2
- package/compat/firestore/document/document.d.ts +4 -4
- package/compat/firestore/firestore.d.ts +7 -7
- package/compat/firestore/interfaces.d.ts +19 -19
- package/compat/functions/functions.d.ts +3 -3
- package/compat/messaging/messaging.d.ts +2 -2
- package/compat/performance/performance.d.ts +2 -2
- package/compat/proxy.d.ts +8 -8
- package/compat/remote-config/interfaces.d.ts +1 -1
- package/compat/remote-config/remote-config.d.ts +15 -49
- package/compat/storage/interfaces.d.ts +8 -8
- package/compat/storage/observable/fromTask.d.ts +1 -2
- package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
- package/compat/storage/ref.d.ts +1 -1
- package/compat/storage/storage.d.ts +3 -3
- package/compat/storage/task.d.ts +1 -1
- package/core.d.ts +8 -12
- package/database/database.module.d.ts +2 -2
- package/docs/app-check.md +1 -1
- package/docs/auth.md +6 -6
- package/docs/database.md +1 -1
- package/docs/deploy/getting-started.md +2 -2
- package/docs/firestore.md +1 -1
- package/docs/install-and-setup.md +1 -1
- package/docs/install-firebase-tools.md +78 -0
- package/docs/universal/cloud-functions.md +27 -6
- package/docs/universal/getting-started.md +9 -134
- package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +1 -1
- package/esm2022/analytics/analytics.module.mjs +94 -0
- package/esm2022/analytics/firebase.mjs +17 -0
- package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
- package/esm2022/analytics/overrides.mjs +3 -0
- package/esm2022/analytics/screen-tracking.service.mjs +148 -0
- package/esm2022/analytics/user-tracking.service.mjs +44 -0
- package/{esm2015/app/app.js → esm2022/app/app.mjs} +1 -1
- package/esm2022/app/app.module.mjs +85 -0
- package/esm2022/app-check/app-check.mjs +10 -0
- package/esm2022/app-check/app-check.module.mjs +78 -0
- package/esm2022/app-check/firebase.mjs +10 -0
- package/esm2022/app-check/public_api.mjs +5 -0
- package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +1 -1
- package/esm2022/auth/auth.module.mjs +71 -0
- package/esm2022/auth/firebase.mjs +58 -0
- package/esm2022/auth-guard/auth-guard.mjs +53 -0
- package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +7 -7
- package/esm2022/compat/analytics/analytics.mjs +160 -0
- package/esm2022/compat/analytics/analytics.module.mjs +35 -0
- package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
- package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
- package/esm2022/compat/auth/auth.mjs +161 -0
- package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +7 -7
- package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
- package/esm2022/compat/auth-guard/auth-guard.mjs +53 -0
- package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +7 -7
- package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +4 -3
- package/esm2022/compat/database/database.mjs +119 -0
- package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +7 -7
- package/esm2022/compat/database/interfaces.mjs +2 -0
- package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +3 -3
- package/esm2022/compat/database/list/changes.mjs +85 -0
- package/esm2022/compat/database/list/create-reference.mjs +44 -0
- package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +1 -1
- package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +1 -1
- package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +2 -2
- package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +2 -2
- package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +1 -1
- package/esm2022/compat/database/observable/fromRef.mjs +48 -0
- package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +1 -1
- package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +1 -1
- package/esm2022/compat/firebase.app.module.mjs +71 -0
- package/esm2022/compat/firestore/collection/changes.mjs +108 -0
- package/esm2022/compat/firestore/collection/collection.mjs +123 -0
- package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
- package/esm2022/compat/firestore/document/document.mjs +87 -0
- package/esm2022/compat/firestore/firestore.mjs +257 -0
- package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +7 -7
- package/esm2022/compat/firestore/interfaces.mjs +2 -0
- package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
- package/esm2022/compat/functions/functions.mjs +69 -0
- package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +7 -7
- package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
- package/esm2022/compat/messaging/messaging.mjs +81 -0
- package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +7 -7
- package/esm2022/compat/performance/performance.mjs +105 -0
- package/esm2022/compat/performance/performance.module.mjs +27 -0
- package/esm2022/compat/performance/performance.service.mjs +28 -0
- package/esm2022/compat/proxy.mjs +58 -0
- package/esm2022/compat/remote-config/remote-config.mjs +206 -0
- package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +7 -7
- package/esm2022/compat/storage/observable/fromTask.mjs +36 -0
- package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
- package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +3 -3
- package/esm2022/compat/storage/storage.mjs +95 -0
- package/esm2022/compat/storage/storage.module.mjs +22 -0
- package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +2 -2
- package/esm2022/core.mjs +43 -0
- package/{esm2015/database/database.js → esm2022/database/database.mjs} +1 -1
- package/esm2022/database/database.module.mjs +74 -0
- package/esm2022/firestore/firebase.mjs +73 -0
- package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +1 -1
- package/esm2022/firestore/firestore.module.mjs +74 -0
- package/esm2022/firestore/lite/firebase.mjs +48 -0
- package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +1 -1
- package/esm2022/firestore/lite/lite.module.mjs +73 -0
- package/esm2022/firestore/lite/rxfire.mjs +12 -0
- package/esm2022/firestore/rxfire.mjs +15 -0
- package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +1 -1
- package/esm2022/functions/functions.module.mjs +74 -0
- package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
- package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +1 -1
- package/esm2022/messaging/messaging.module.mjs +86 -0
- package/esm2022/messaging/overrides.mjs +3 -0
- package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +1 -1
- package/esm2022/performance/performance.module.mjs +81 -0
- package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
- package/esm2022/remote-config/overrides.mjs +3 -0
- package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +1 -1
- package/esm2022/remote-config/remote-config.module.mjs +86 -0
- package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +1 -1
- package/esm2022/storage/storage.module.mjs +74 -0
- package/esm2022/zones.mjs +194 -0
- package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +68 -41
- package/fesm2022/angular-fire-analytics.mjs.map +1 -0
- package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +18 -25
- package/fesm2022/angular-fire-app-check.mjs.map +1 -0
- package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +10 -9
- package/fesm2022/angular-fire-app.mjs.map +1 -0
- package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +31 -27
- package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
- package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +14 -13
- package/fesm2022/angular-fire-auth.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +43 -41
- package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +30 -26
- package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +38 -16
- package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +138 -132
- package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +119 -98
- package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +13 -12
- package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +25 -19
- package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +29 -34
- package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +35 -22
- package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +30 -23
- package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
- package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +25 -25
- package/fesm2022/angular-fire-compat.mjs.map +1 -0
- package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +11 -12
- package/fesm2022/angular-fire-database.mjs.map +1 -0
- package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +25 -15
- package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
- package/fesm2022/angular-fire-firestore.mjs +180 -0
- package/fesm2022/angular-fire-firestore.mjs.map +1 -0
- package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +12 -13
- package/fesm2022/angular-fire-functions.mjs.map +1 -0
- package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
- package/fesm2022/angular-fire-messaging.mjs.map +1 -0
- package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +11 -11
- package/fesm2022/angular-fire-performance.mjs.map +1 -0
- package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
- package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
- package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +10 -11
- package/fesm2022/angular-fire-storage.mjs.map +1 -0
- package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +33 -58
- package/fesm2022/angular-fire.mjs.map +1 -0
- package/firestore/firebase.d.ts +21 -1
- package/firestore/firestore.module.d.ts +2 -2
- package/firestore/lite/firebase.d.ts +10 -1
- package/firestore/lite/lite.module.d.ts +2 -2
- package/firestore/lite/rxfire.d.ts +3 -1
- package/firestore/rxfire.d.ts +3 -1
- package/functions/functions.module.d.ts +2 -2
- package/messaging/is-messaging-supported-factory.d.ts +4 -0
- package/messaging/messaging.module.d.ts +2 -2
- package/package.json +168 -17
- package/performance/performance.module.d.ts +2 -2
- package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
- package/remote-config/remote-config.module.d.ts +2 -2
- package/schematics/add/index.js +2 -2
- package/schematics/common.js +9 -5
- package/schematics/deploy/actions.js +69 -69
- package/schematics/deploy/builder.js +7 -7
- package/schematics/firebaseTools.js +9 -5
- package/schematics/setup/index.js +27 -27
- package/schematics/setup/prompts.js +22 -18
- package/schematics/update/index.js +1 -1
- package/schematics/update/v7/index.js +7 -7
- package/schematics/utils.js +34 -34
- package/storage/storage.module.d.ts +2 -2
- package/analytics/package.json +0 -11
- package/app/package.json +0 -11
- package/app-check/package.json +0 -11
- package/auth/package.json +0 -11
- package/auth-guard/package.json +0 -11
- package/bundles/angular-fire-analytics.umd.js +0 -673
- package/bundles/angular-fire-analytics.umd.js.map +0 -1
- package/bundles/angular-fire-app-check.umd.js +0 -465
- package/bundles/angular-fire-app-check.umd.js.map +0 -1
- package/bundles/angular-fire-app.umd.js +0 -477
- package/bundles/angular-fire-app.umd.js.map +0 -1
- package/bundles/angular-fire-auth-guard.umd.js +0 -109
- package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
- package/bundles/angular-fire-auth.umd.js +0 -557
- package/bundles/angular-fire-auth.umd.js.map +0 -1
- package/bundles/angular-fire-compat-analytics.umd.js +0 -672
- package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
- package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
- package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
- package/bundles/angular-fire-compat-auth.umd.js +0 -559
- package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
- package/bundles/angular-fire-compat-database.umd.js +0 -799
- package/bundles/angular-fire-compat-database.umd.js.map +0 -1
- package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
- package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
- package/bundles/angular-fire-compat-functions.umd.js +0 -443
- package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
- package/bundles/angular-fire-compat-messaging.umd.js +0 -465
- package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
- package/bundles/angular-fire-compat-performance.umd.js +0 -212
- package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
- package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
- package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
- package/bundles/angular-fire-compat-storage.umd.js +0 -598
- package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
- package/bundles/angular-fire-compat.umd.js +0 -535
- package/bundles/angular-fire-compat.umd.js.map +0 -1
- package/bundles/angular-fire-database.umd.js +0 -557
- package/bundles/angular-fire-database.umd.js.map +0 -1
- package/bundles/angular-fire-firestore-lite.umd.js +0 -531
- package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
- package/bundles/angular-fire-firestore.umd.js +0 -565
- package/bundles/angular-fire-firestore.umd.js.map +0 -1
- package/bundles/angular-fire-functions.umd.js +0 -461
- package/bundles/angular-fire-functions.umd.js.map +0 -1
- package/bundles/angular-fire-messaging.umd.js +0 -473
- package/bundles/angular-fire-messaging.umd.js.map +0 -1
- package/bundles/angular-fire-performance.umd.js +0 -473
- package/bundles/angular-fire-performance.umd.js.map +0 -1
- package/bundles/angular-fire-remote-config.umd.js +0 -499
- package/bundles/angular-fire-remote-config.umd.js.map +0 -1
- package/bundles/angular-fire-storage.umd.js +0 -485
- package/bundles/angular-fire-storage.umd.js.map +0 -1
- package/bundles/angular-fire.umd.js +0 -308
- package/bundles/angular-fire.umd.js.map +0 -1
- package/compat/analytics/package.json +0 -11
- package/compat/auth/package.json +0 -11
- package/compat/auth-guard/package.json +0 -11
- package/compat/database/package.json +0 -11
- package/compat/firestore/package.json +0 -11
- package/compat/functions/package.json +0 -11
- package/compat/messaging/package.json +0 -11
- package/compat/package.json +0 -11
- package/compat/performance/package.json +0 -11
- package/compat/remote-config/package.json +0 -11
- package/compat/storage/package.json +0 -11
- package/database/package.json +0 -11
- package/esm2015/analytics/analytics.module.js +0 -93
- package/esm2015/analytics/firebase.js +0 -14
- package/esm2015/analytics/overrides.js +0 -3
- package/esm2015/analytics/screen-tracking.service.js +0 -139
- package/esm2015/analytics/user-tracking.service.js +0 -43
- package/esm2015/app/app.module.js +0 -84
- package/esm2015/app-check/app-check.js +0 -16
- package/esm2015/app-check/app-check.module.js +0 -81
- package/esm2015/app-check/firebase.js +0 -9
- package/esm2015/app-check/public_api.js +0 -4
- package/esm2015/auth/auth.module.js +0 -71
- package/esm2015/auth/firebase.js +0 -56
- package/esm2015/auth-guard/auth-guard.js +0 -49
- package/esm2015/compat/analytics/analytics.js +0 -163
- package/esm2015/compat/analytics/analytics.module.js +0 -32
- package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
- package/esm2015/compat/analytics/user-tracking.service.js +0 -52
- package/esm2015/compat/auth/auth.js +0 -139
- package/esm2015/compat/auth-guard/auth-guard.js +0 -49
- package/esm2015/compat/database/database.js +0 -117
- package/esm2015/compat/database/interfaces.js +0 -2
- package/esm2015/compat/database/list/changes.js +0 -85
- package/esm2015/compat/database/list/create-reference.js +0 -41
- package/esm2015/compat/database/observable/fromRef.js +0 -47
- package/esm2015/compat/firebase.app.module.js +0 -69
- package/esm2015/compat/firestore/collection/changes.js +0 -107
- package/esm2015/compat/firestore/collection/collection.js +0 -117
- package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
- package/esm2015/compat/firestore/document/document.js +0 -82
- package/esm2015/compat/firestore/firestore.js +0 -254
- package/esm2015/compat/firestore/interfaces.js +0 -2
- package/esm2015/compat/firestore/observable/fromRef.js +0 -39
- package/esm2015/compat/functions/functions.js +0 -68
- package/esm2015/compat/messaging/messaging.js +0 -75
- package/esm2015/compat/performance/performance.js +0 -110
- package/esm2015/compat/performance/performance.module.js +0 -28
- package/esm2015/compat/performance/performance.service.js +0 -27
- package/esm2015/compat/proxy.js +0 -61
- package/esm2015/compat/remote-config/remote-config.js +0 -193
- package/esm2015/compat/storage/observable/fromTask.js +0 -34
- package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
- package/esm2015/compat/storage/storage.js +0 -94
- package/esm2015/compat/storage/storage.module.js +0 -22
- package/esm2015/core.js +0 -79
- package/esm2015/database/database.module.js +0 -74
- package/esm2015/firestore/firebase.js +0 -53
- package/esm2015/firestore/firestore.module.js +0 -74
- package/esm2015/firestore/lite/firebase.js +0 -39
- package/esm2015/firestore/lite/lite.module.js +0 -74
- package/esm2015/firestore/lite/rxfire.js +0 -10
- package/esm2015/firestore/rxfire.js +0 -13
- package/esm2015/functions/functions.module.js +0 -74
- package/esm2015/messaging/messaging.module.js +0 -85
- package/esm2015/messaging/overrides.js +0 -3
- package/esm2015/performance/performance.module.js +0 -81
- package/esm2015/remote-config/overrides.js +0 -3
- package/esm2015/remote-config/remote-config.module.js +0 -85
- package/esm2015/storage/storage.module.js +0 -74
- package/esm2015/zones.js +0 -183
- package/fesm2015/angular-fire-analytics.js.map +0 -1
- package/fesm2015/angular-fire-app-check.js.map +0 -1
- package/fesm2015/angular-fire-app.js.map +0 -1
- package/fesm2015/angular-fire-auth-guard.js.map +0 -1
- package/fesm2015/angular-fire-auth.js.map +0 -1
- package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
- package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
- package/fesm2015/angular-fire-compat-auth.js.map +0 -1
- package/fesm2015/angular-fire-compat-database.js.map +0 -1
- package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
- package/fesm2015/angular-fire-compat-functions.js.map +0 -1
- package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
- package/fesm2015/angular-fire-compat-performance.js.map +0 -1
- package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
- package/fesm2015/angular-fire-compat-storage.js.map +0 -1
- package/fesm2015/angular-fire-compat.js.map +0 -1
- package/fesm2015/angular-fire-database.js.map +0 -1
- package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
- package/fesm2015/angular-fire-firestore.js +0 -159
- package/fesm2015/angular-fire-firestore.js.map +0 -1
- package/fesm2015/angular-fire-functions.js.map +0 -1
- package/fesm2015/angular-fire-messaging.js.map +0 -1
- package/fesm2015/angular-fire-performance.js.map +0 -1
- package/fesm2015/angular-fire-remote-config.js.map +0 -1
- package/fesm2015/angular-fire-storage.js.map +0 -1
- package/fesm2015/angular-fire.js.map +0 -1
- package/firestore/lite/package.json +0 -11
- package/firestore/package.json +0 -11
- package/firestore-protos.js +0 -4
- package/functions/package.json +0 -11
- package/messaging/package.json +0 -11
- package/performance/package.json +0 -11
- package/remote-config/package.json +0 -11
- package/storage/package.json +0 -11
- /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
- /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
- /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
- /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
- /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
- /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
- /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
- /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
- /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
- /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
- /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
- /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
- /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
- /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
- /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
- /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
- /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
- /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
- /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
- /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
- /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
- /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
- /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
- /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
- /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
- /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
- /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
- /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
- /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
- /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
- /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
- /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
- /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
- /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
- /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
- /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
- /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
- /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
- /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
- /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
- /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
- /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
- /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
- /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
- /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
- /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
- /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
- /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
- /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
- /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
- /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
- /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
- /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
- /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
- /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
- /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
- /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
- /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
- /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
- /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
- /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
- /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
- /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
- /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
- /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
- /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
- /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
- /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
- /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
- /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
- /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
- /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
- /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
- /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
- /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
- /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
- /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
- /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
- /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
- /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
- /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
- /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
- /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
- /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
- /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
- /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
- /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
- /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
- /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
- /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
- /package/{angular-fire.d.ts → index.d.ts} +0 -0
- /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
- /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
- /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
- /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
package/esm2015/auth/firebase.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
|
|
2
|
-
export * from 'firebase/auth';
|
|
3
|
-
import { ɵzoneWrap } from '@angular/fire';
|
|
4
|
-
import { applyActionCode as _applyActionCode, beforeAuthStateChanged as _beforeAuthStateChanged, checkActionCode as _checkActionCode, confirmPasswordReset as _confirmPasswordReset, connectAuthEmulator as _connectAuthEmulator, createUserWithEmailAndPassword as _createUserWithEmailAndPassword, deleteUser as _deleteUser, fetchSignInMethodsForEmail as _fetchSignInMethodsForEmail, getAdditionalUserInfo as _getAdditionalUserInfo, getAuth as _getAuth, getIdToken as _getIdToken, getIdTokenResult as _getIdTokenResult, getMultiFactorResolver as _getMultiFactorResolver, getRedirectResult as _getRedirectResult, initializeAuth as _initializeAuth, isSignInWithEmailLink as _isSignInWithEmailLink, linkWithCredential as _linkWithCredential, linkWithPhoneNumber as _linkWithPhoneNumber, linkWithPopup as _linkWithPopup, linkWithRedirect as _linkWithRedirect, multiFactor as _multiFactor, onAuthStateChanged as _onAuthStateChanged, onIdTokenChanged as _onIdTokenChanged, parseActionCodeURL as _parseActionCodeURL, reauthenticateWithCredential as _reauthenticateWithCredential, reauthenticateWithPhoneNumber as _reauthenticateWithPhoneNumber, reauthenticateWithPopup as _reauthenticateWithPopup, reauthenticateWithRedirect as _reauthenticateWithRedirect, reload as _reload, sendEmailVerification as _sendEmailVerification, sendPasswordResetEmail as _sendPasswordResetEmail, sendSignInLinkToEmail as _sendSignInLinkToEmail, setPersistence as _setPersistence, signInAnonymously as _signInAnonymously, signInWithCredential as _signInWithCredential, signInWithCustomToken as _signInWithCustomToken, signInWithEmailAndPassword as _signInWithEmailAndPassword, signInWithEmailLink as _signInWithEmailLink, signInWithPhoneNumber as _signInWithPhoneNumber, signInWithPopup as _signInWithPopup, signInWithRedirect as _signInWithRedirect, signOut as _signOut, unlink as _unlink, updateCurrentUser as _updateCurrentUser, updateEmail as _updateEmail, updatePassword as _updatePassword, updatePhoneNumber as _updatePhoneNumber, updateProfile as _updateProfile, useDeviceLanguage as _useDeviceLanguage, verifyBeforeUpdateEmail as _verifyBeforeUpdateEmail, verifyPasswordResetCode as _verifyPasswordResetCode } from 'firebase/auth';
|
|
5
|
-
export const applyActionCode = ɵzoneWrap(_applyActionCode, true);
|
|
6
|
-
export const beforeAuthStateChanged = ɵzoneWrap(_beforeAuthStateChanged, true);
|
|
7
|
-
export const checkActionCode = ɵzoneWrap(_checkActionCode, true);
|
|
8
|
-
export const confirmPasswordReset = ɵzoneWrap(_confirmPasswordReset, true);
|
|
9
|
-
export const connectAuthEmulator = ɵzoneWrap(_connectAuthEmulator, true);
|
|
10
|
-
export const createUserWithEmailAndPassword = ɵzoneWrap(_createUserWithEmailAndPassword, true);
|
|
11
|
-
export const deleteUser = ɵzoneWrap(_deleteUser, true);
|
|
12
|
-
export const fetchSignInMethodsForEmail = ɵzoneWrap(_fetchSignInMethodsForEmail, true);
|
|
13
|
-
export const getAdditionalUserInfo = ɵzoneWrap(_getAdditionalUserInfo, true);
|
|
14
|
-
export const getAuth = ɵzoneWrap(_getAuth, true);
|
|
15
|
-
export const getIdToken = ɵzoneWrap(_getIdToken, true);
|
|
16
|
-
export const getIdTokenResult = ɵzoneWrap(_getIdTokenResult, true);
|
|
17
|
-
export const getMultiFactorResolver = ɵzoneWrap(_getMultiFactorResolver, true);
|
|
18
|
-
export const getRedirectResult = ɵzoneWrap(_getRedirectResult, true);
|
|
19
|
-
export const initializeAuth = ɵzoneWrap(_initializeAuth, true);
|
|
20
|
-
export const isSignInWithEmailLink = ɵzoneWrap(_isSignInWithEmailLink, true);
|
|
21
|
-
export const linkWithCredential = ɵzoneWrap(_linkWithCredential, true);
|
|
22
|
-
export const linkWithPhoneNumber = ɵzoneWrap(_linkWithPhoneNumber, true);
|
|
23
|
-
export const linkWithPopup = ɵzoneWrap(_linkWithPopup, true);
|
|
24
|
-
export const linkWithRedirect = ɵzoneWrap(_linkWithRedirect, true);
|
|
25
|
-
export const multiFactor = ɵzoneWrap(_multiFactor, true);
|
|
26
|
-
export const onAuthStateChanged = ɵzoneWrap(_onAuthStateChanged, true);
|
|
27
|
-
export const onIdTokenChanged = ɵzoneWrap(_onIdTokenChanged, true);
|
|
28
|
-
export const parseActionCodeURL = ɵzoneWrap(_parseActionCodeURL, true);
|
|
29
|
-
export const reauthenticateWithCredential = ɵzoneWrap(_reauthenticateWithCredential, true);
|
|
30
|
-
export const reauthenticateWithPhoneNumber = ɵzoneWrap(_reauthenticateWithPhoneNumber, true);
|
|
31
|
-
export const reauthenticateWithPopup = ɵzoneWrap(_reauthenticateWithPopup, true);
|
|
32
|
-
export const reauthenticateWithRedirect = ɵzoneWrap(_reauthenticateWithRedirect, true);
|
|
33
|
-
export const reload = ɵzoneWrap(_reload, true);
|
|
34
|
-
export const sendEmailVerification = ɵzoneWrap(_sendEmailVerification, true);
|
|
35
|
-
export const sendPasswordResetEmail = ɵzoneWrap(_sendPasswordResetEmail, true);
|
|
36
|
-
export const sendSignInLinkToEmail = ɵzoneWrap(_sendSignInLinkToEmail, true);
|
|
37
|
-
export const setPersistence = ɵzoneWrap(_setPersistence, true);
|
|
38
|
-
export const signInAnonymously = ɵzoneWrap(_signInAnonymously, true);
|
|
39
|
-
export const signInWithCredential = ɵzoneWrap(_signInWithCredential, true);
|
|
40
|
-
export const signInWithCustomToken = ɵzoneWrap(_signInWithCustomToken, true);
|
|
41
|
-
export const signInWithEmailAndPassword = ɵzoneWrap(_signInWithEmailAndPassword, true);
|
|
42
|
-
export const signInWithEmailLink = ɵzoneWrap(_signInWithEmailLink, true);
|
|
43
|
-
export const signInWithPhoneNumber = ɵzoneWrap(_signInWithPhoneNumber, true);
|
|
44
|
-
export const signInWithPopup = ɵzoneWrap(_signInWithPopup, true);
|
|
45
|
-
export const signInWithRedirect = ɵzoneWrap(_signInWithRedirect, true);
|
|
46
|
-
export const signOut = ɵzoneWrap(_signOut, true);
|
|
47
|
-
export const unlink = ɵzoneWrap(_unlink, true);
|
|
48
|
-
export const updateCurrentUser = ɵzoneWrap(_updateCurrentUser, true);
|
|
49
|
-
export const updateEmail = ɵzoneWrap(_updateEmail, true);
|
|
50
|
-
export const updatePassword = ɵzoneWrap(_updatePassword, true);
|
|
51
|
-
export const updatePhoneNumber = ɵzoneWrap(_updatePhoneNumber, true);
|
|
52
|
-
export const updateProfile = ɵzoneWrap(_updateProfile, true);
|
|
53
|
-
export const useDeviceLanguage = ɵzoneWrap(_useDeviceLanguage, true);
|
|
54
|
-
export const verifyBeforeUpdateEmail = ɵzoneWrap(_verifyBeforeUpdateEmail, true);
|
|
55
|
-
export const verifyPasswordResetCode = ɵzoneWrap(_verifyPasswordResetCode, true);
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC9maXJlYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsY0FBYyxlQUFlLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxzQkFBc0IsSUFBSSx1QkFBdUIsRUFDakQsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxvQkFBb0IsSUFBSSxxQkFBcUIsRUFDN0MsbUJBQW1CLElBQUksb0JBQW9CLEVBQzNDLDhCQUE4QixJQUFJLCtCQUErQixFQUNqRSxVQUFVLElBQUksV0FBVyxFQUN6QiwwQkFBMEIsSUFBSSwyQkFBMkIsRUFDekQscUJBQXFCLElBQUksc0JBQXNCLEVBQy9DLE9BQU8sSUFBSSxRQUFRLEVBQ25CLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyxzQkFBc0IsSUFBSSx1QkFBdUIsRUFDakQsaUJBQWlCLElBQUksa0JBQWtCLEVBQ3ZDLGNBQWMsSUFBSSxlQUFlLEVBQ2pDLHFCQUFxQixJQUFJLHNCQUFzQixFQUMvQyxrQkFBa0IsSUFBSSxtQkFBbUIsRUFDekMsbUJBQW1CLElBQUksb0JBQW9CLEVBQzNDLGFBQWEsSUFBSSxjQUFjLEVBQy9CLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyxXQUFXLElBQUksWUFBWSxFQUMzQixrQkFBa0IsSUFBSSxtQkFBbUIsRUFDekMsZ0JBQWdCLElBQUksaUJBQWlCLEVBQ3JDLGtCQUFrQixJQUFJLG1CQUFtQixFQUN6Qyw0QkFBNEIsSUFBSSw2QkFBNkIsRUFDN0QsNkJBQTZCLElBQUksOEJBQThCLEVBQy9ELHVCQUF1QixJQUFJLHdCQUF3QixFQUNuRCwwQkFBMEIsSUFBSSwyQkFBMkIsRUFDekQsTUFBTSxJQUFJLE9BQU8sRUFD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VyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmV4cG9ydCAqIGZyb20gJ2ZpcmViYXNlL2F1dGgnO1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgYXBwbHlBY3Rpb25Db2RlIGFzIF9hcHBseUFjdGlvbkNvZGUsXG4gIGJlZm9yZUF1dGhTdGF0ZUNoYW5nZWQgYXMgX2JlZm9yZUF1dGhTdGF0ZUNoYW5nZWQsXG4gIGNoZWNrQWN0aW9uQ29kZSBhcyBfY2hlY2tBY3Rpb25Db2RlLFxuICBjb25maXJtUGFzc3dvcmRSZXNldCBhcyBfY29uZmlybVBhc3N3b3JkUmVzZXQsXG4gIGNvbm5lY3RBdXRoRW11bGF0b3IgYXMgX2Nvbm5lY3RBdXRoRW11bGF0b3IsXG4gIGNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZCBhcyBfY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkLFxuICBkZWxldGVVc2VyIGFzIF9kZWxldGVVc2VyLFxuICBmZXRjaFNpZ25Jbk1ldGhvZHNGb3JFbWFpbCBhcyBfZmV0Y2hTaWduSW5NZXRob2RzRm9yRW1haWwsXG4gIGdldEFkZGl0aW9uYWxVc2VySW5mbyBhcyBfZ2V0QWRkaXRpb25hbFVzZXJJbmZvLFxuICBnZXRBdXRoIGFzIF9nZXRBdXRoLFxuICBnZXRJZFRva2VuIGFzIF9nZXRJZFRva2VuLFxuICBnZXRJZFRva2VuUmVzdWx0IGFzIF9nZXRJZFRva2VuUmVzdWx0LFxuICBnZXRNdWx0aUZhY3RvclJlc29sdmVyIGFzIF9nZXRNdWx0aUZhY3RvclJlc29sdmVyLFxuICBnZXRSZWRpcmVjdFJlc3VsdCBhcyBfZ2V0UmVkaXJlY3RSZXN1bHQsXG4gIGluaXRpYWxpemVBdXRoIGFzIF9pbml0aWFsaXplQXV0aCxcbiAgaXNTaWduSW5XaXRoRW1haWxMaW5rIGFzIF9pc1NpZ25JbldpdGhFbWFpbExpbmssXG4gIGxpbmtXaXRoQ3JlZGVudGlhbCBhcyBfbGlua1dpdGhDcmVkZW50aWFsLFxuICBsaW5rV2l0aFBob25lTnVtYmVyIGFzIF9saW5rV2l0aFBob25lTnVtYmVyLFxuICBsaW5rV2l0aFBvcHVwIGFzIF9saW5rV2l0aFBvcHVwLFxuICBsaW5rV2l0aFJlZGlyZWN0IGFzIF9saW5rV2l0aFJlZGlyZWN0LFxuICBtdWx0aUZhY3RvciBhcyBfbXVsdGlGYWN0b3IsXG4gIG9uQXV0aFN0YXRlQ2hhbmdlZCBhcyBfb25BdXRoU3RhdGVDaGFuZ2VkLFxuICBvbklkVG9rZW5DaGFuZ2VkIGFzIF9vbklkVG9rZW5DaGFuZ2VkLFxuICBwYXJzZUFjdGlvbkNvZGVVUkwgYXMgX3BhcnNlQWN0aW9uQ29kZVVSTCxcbiAgcmVhdXRoZW50aWNhdGVXaXRoQ3JlZGVudGlhbCBhcyBfcmVhdXRoZW50aWNhdGVXaXRoQ3JlZGVudGlhbCxcbiAgcmVhdXRoZW50aWNhdGVXaXRoUGhvbmVOdW1iZXIgYXMgX3JlYXV0aGVudGljYXRlV2l0aFBob25lTnVtYmVyLFxuICByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCBhcyBfcmVhdXRoZW50aWNhdGVXaXRoUG9wdXAsXG4gIHJlYXV0aGVudGljYXRlV2l0aFJlZGlyZWN0IGFzIF9yZWF1dGhlbnRpY2F0ZVdpdGhSZWRpcmVjdCxcbiAgcmVsb2FkIGFzIF9yZWxvYWQsXG4gIHNlbmRFbWFpbFZlcmlmaWNhdGlvbiBhcyBfc2VuZEVtYWlsVmVyaWZpY2F0aW9uLFxuICBzZW5kUGFzc3dvcmRSZXNldEVtYWlsIGFzIF9zZW5kUGFzc3dvcmRSZXNldEVtYWlsLFxuICBzZW5kU2lnbkluTGlua1RvRW1haWwgYXMgX3NlbmRTaWduSW5MaW5rVG9FbWFpbCxcbiAgc2V0UGVyc2lzdGVuY2UgYXMgX3NldFBlcnNpc3RlbmNlLFxuICBzaWduSW5Bbm9ueW1vdXNseSBhcyBfc2lnbkluQW5vbnltb3VzbHksXG4gIHNpZ25JbldpdGhDcmVkZW50aWFsIGFzIF9zaWduSW5XaXRoQ3JlZGVudGlhbCxcbiAgc2lnbkluV2l0aEN1c3RvbVRva2VuIGFzIF9zaWduSW5XaXRoQ3VzdG9tVG9rZW4sXG4gIHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkIGFzIF9zaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCxcbiAgc2lnbkluV2l0aEVtYWlsTGluayBhcyBfc2lnbkluV2l0aEVtYWlsTGluayxcbiAgc2lnbkluV2l0aFBob25lTnVtYmVyIGFzIF9zaWduSW5XaXRoUGhvbmVOdW1iZXIsXG4gIHNpZ25JbldpdGhQb3B1cCBhcyBfc2lnbkluV2l0aFBvcHVwLFxuICBzaWduSW5XaXRoUmVkaXJlY3QgYXMgX3NpZ25JbldpdGhSZWRpcmVjdCxcbiAgc2lnbk91dCBhcyBfc2lnbk91dCxcbiAgdW5saW5rIGFzIF91bmxpbmssXG4gIHVwZGF0ZUN1cnJlbnRVc2VyIGFzIF91cGRhdGVDdXJyZW50VXNlcixcbiAgdXBkYXRlRW1haWwgYXMgX3VwZGF0ZUVtYWlsLFxuICB1cGRhdGVQYXNzd29yZCBhcyBfdXBkYXRlUGFzc3dvcmQsXG4gIHVwZGF0ZVBob25lTnVtYmVyIGFzIF91cGRhdGVQaG9uZU51bWJlcixcbiAgdXBkYXRlUHJvZmlsZSBhcyBfdXBkYXRlUHJvZmlsZSxcbiAgdXNlRGV2aWNlTGFuZ3VhZ2UgYXMgX3VzZURldmljZUxhbmd1YWdlLFxuICB2ZXJpZnlCZWZvcmVVcGRhdGVFbWFpbCBhcyBfdmVyaWZ5QmVmb3JlVXBkYXRlRW1haWwsXG4gIHZlcmlmeVBhc3N3b3JkUmVzZXRDb2RlIGFzIF92ZXJpZnlQYXNzd29yZFJlc2V0Q29kZVxufSBmcm9tICdmaXJlYmFzZS9hdXRoJztcblxuZXhwb3J0IGNvbnN0IGFwcGx5QWN0aW9uQ29kZSA9IMm1em9uZVdyYXAoX2FwcGx5QWN0aW9uQ29kZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgYmVmb3JlQXV0aFN0YXRlQ2hhbmdlZCA9IMm1em9uZVdyYXAoX2JlZm9yZUF1dGhTdGF0ZUNoYW5nZWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNoZWNrQWN0aW9uQ29kZSA9IMm1em9uZVdyYXAoX2NoZWNrQWN0aW9uQ29kZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY29uZmlybVBhc3N3b3JkUmVzZXQgPSDJtXpvbmVXcmFwKF9jb25maXJtUGFzc3dvcmRSZXNldCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY29ubmVjdEF1dGhFbXVsYXRvciA9IMm1em9uZVdyYXAoX2Nvbm5lY3RBdXRoRW11bGF0b3IsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZCA9IMm1em9uZVdyYXAoX2NyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZGVsZXRlVXNlciA9IMm1em9uZVdyYXAoX2RlbGV0ZVVzZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGZldGNoU2lnbkluTWV0aG9kc0ZvckVtYWlsID0gybV6b25lV3JhcChfZmV0Y2hTaWduSW5NZXRob2RzRm9yRW1haWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldEFkZGl0aW9uYWxVc2VySW5mbyA9IMm1em9uZVdyYXAoX2dldEFkZGl0aW9uYWxVc2VySW5mbywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0QXV0aCA9IMm1em9uZVdyYXAoX2dldEF1dGgsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldElkVG9rZW4gPSDJtXpvbmVXcmFwKF9nZXRJZFRva2VuLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRJZFRva2VuUmVzdWx0ID0gybV6b25lV3JhcChfZ2V0SWRUb2tlblJlc3VsdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0TXVsdGlGYWN0b3JSZXNvbHZlciA9IMm1em9uZVdyYXAoX2dldE11bHRpRmFjdG9yUmVzb2x2ZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldFJlZGlyZWN0UmVzdWx0ID0gybV6b25lV3JhcChfZ2V0UmVkaXJlY3RSZXN1bHQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVBdXRoID0gybV6b25lV3JhcChfaW5pdGlhbGl6ZUF1dGgsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGlzU2lnbkluV2l0aEVtYWlsTGluayA9IMm1em9uZVdyYXAoX2lzU2lnbkluV2l0aEVtYWlsTGluaywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgbGlua1dpdGhDcmVkZW50aWFsID0gybV6b25lV3JhcChfbGlua1dpdGhDcmVkZW50aWFsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsaW5rV2l0aFBob25lTnVtYmVyID0gybV6b25lV3JhcChfbGlua1dpdGhQaG9uZU51bWJlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgbGlua1dpdGhQb3B1cCA9IMm1em9uZVdyYXAoX2xpbmtXaXRoUG9wdXAsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGxpbmtXaXRoUmVkaXJlY3QgPSDJtXpvbmVXcmFwKF9saW5rV2l0aFJlZGlyZWN0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBtdWx0aUZhY3RvciA9IMm1em9uZVdyYXAoX211bHRpRmFjdG9yLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBvbkF1dGhTdGF0ZUNoYW5nZWQgPSDJtXpvbmVXcmFwKF9vbkF1dGhTdGF0ZUNoYW5nZWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IG9uSWRUb2tlbkNoYW5nZWQgPSDJtXpvbmVXcmFwKF9vbklkVG9rZW5DaGFuZ2VkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBwYXJzZUFjdGlvbkNvZGVVUkwgPSDJtXpvbmVXcmFwKF9wYXJzZUFjdGlvbkNvZGVVUkwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHJlYXV0aGVudGljYXRlV2l0aENyZWRlbnRpYWwgPSDJtXpvbmVXcmFwKF9yZWF1dGhlbnRpY2F0ZVdpdGhDcmVkZW50aWFsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWF1dGhlbnRpY2F0ZVdpdGhQaG9uZU51bWJlciA9IMm1em9uZVdyYXAoX3JlYXV0aGVudGljYXRlV2l0aFBob25lTnVtYmVyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCA9IMm1em9uZVdyYXAoX3JlYXV0aGVudGljYXRlV2l0aFBvcHVwLCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWF1dGhlbnRpY2F0ZVdpdGhSZWRpcmVjdCA9IMm1em9uZVdyYXAoX3JlYXV0aGVudGljYXRlV2l0aFJlZGlyZWN0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWxvYWQgPSDJtXpvbmVXcmFwKF9yZWxvYWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNlbmRFbWFpbFZlcmlmaWNhdGlvbiA9IMm1em9uZVdyYXAoX3NlbmRFbWFpbFZlcmlmaWNhdGlvbiwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCA9IMm1em9uZVdyYXAoX3NlbmRQYXNzd29yZFJlc2V0RW1haWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNlbmRTaWduSW5MaW5rVG9FbWFpbCA9IMm1em9uZVdyYXAoX3NlbmRTaWduSW5MaW5rVG9FbWFpbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2V0UGVyc2lzdGVuY2UgPSDJtXpvbmVXcmFwKF9zZXRQZXJzaXN0ZW5jZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluQW5vbnltb3VzbHkgPSDJtXpvbmVXcmFwKF9zaWduSW5Bbm9ueW1vdXNseSwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluV2l0aENyZWRlbnRpYWwgPSDJtXpvbmVXcmFwKF9zaWduSW5XaXRoQ3JlZGVudGlhbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluV2l0aEN1c3RvbVRva2VuID0gybV6b25lV3JhcChfc2lnbkluV2l0aEN1c3RvbVRva2VuLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCA9IMm1em9uZVdyYXAoX3NpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoRW1haWxMaW5rID0gybV6b25lV3JhcChfc2lnbkluV2l0aEVtYWlsTGluaywgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluV2l0aFBob25lTnVtYmVyID0gybV6b25lV3JhcChfc2lnbkluV2l0aFBob25lTnVtYmVyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoUG9wdXAgPSDJtXpvbmVXcmFwKF9zaWduSW5XaXRoUG9wdXAsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNpZ25JbldpdGhSZWRpcmVjdCA9IMm1em9uZVdyYXAoX3NpZ25JbldpdGhSZWRpcmVjdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbk91dCA9IMm1em9uZVdyYXAoX3NpZ25PdXQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHVubGluayA9IMm1em9uZVdyYXAoX3VubGluaywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlQ3VycmVudFVzZXIgPSDJtXpvbmVXcmFwKF91cGRhdGVDdXJyZW50VXNlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlRW1haWwgPSDJtXpvbmVXcmFwKF91cGRhdGVFbWFpbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlUGFzc3dvcmQgPSDJtXpvbmVXcmFwKF91cGRhdGVQYXNzd29yZCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlUGhvbmVOdW1iZXIgPSDJtXpvbmVXcmFwKF91cGRhdGVQaG9uZU51bWJlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlUHJvZmlsZSA9IMm1em9uZVdyYXAoX3VwZGF0ZVByb2ZpbGUsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHVzZURldmljZUxhbmd1YWdlID0gybV6b25lV3JhcChfdXNlRGV2aWNlTGFuZ3VhZ2UsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHZlcmlmeUJlZm9yZVVwZGF0ZUVtYWlsID0gybV6b25lV3JhcChfdmVyaWZ5QmVmb3JlVXBkYXRlRW1haWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHZlcmlmeVBhc3N3b3JkUmVzZXRDb2RlID0gybV6b25lV3JhcChfdmVyaWZ5UGFzc3dvcmRSZXNldENvZGUsIHRydWUpO1xuIl19
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { of, pipe } from 'rxjs';
|
|
4
|
-
import { map, switchMap, take } from 'rxjs/operators';
|
|
5
|
-
import { Auth, user } from '@angular/fire/auth';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
|
-
import * as i2 from "@angular/fire/auth";
|
|
9
|
-
export const loggedIn = map(user => !!user);
|
|
10
|
-
export class AuthGuard {
|
|
11
|
-
constructor(router, auth) {
|
|
12
|
-
this.router = router;
|
|
13
|
-
this.auth = auth;
|
|
14
|
-
this.canActivate = (next, state) => {
|
|
15
|
-
const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
|
|
16
|
-
return user(this.auth).pipe(take(1), authPipeFactory(next, state), map(can => {
|
|
17
|
-
if (typeof can === 'boolean') {
|
|
18
|
-
return can;
|
|
19
|
-
}
|
|
20
|
-
else if (Array.isArray(can)) {
|
|
21
|
-
return this.router.createUrlTree(can);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
// TODO(EdricChan03): Add tests
|
|
25
|
-
return this.router.parseUrl(can);
|
|
26
|
-
}
|
|
27
|
-
}));
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
-
AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuard, providedIn: 'any' });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuard, decorators: [{
|
|
34
|
-
type: Injectable,
|
|
35
|
-
args: [{
|
|
36
|
-
providedIn: 'any'
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Auth }]; } });
|
|
39
|
-
export const canActivate = (pipe) => ({
|
|
40
|
-
canActivate: [AuthGuard], data: { authGuardPipe: pipe }
|
|
41
|
-
});
|
|
42
|
-
export const isNotAnonymous = map(user => !!user && !user.isAnonymous);
|
|
43
|
-
export const idTokenResult = switchMap((user) => user ? user.getIdTokenResult() : of(null));
|
|
44
|
-
export const emailVerified = map(user => !!user && user.emailVerified);
|
|
45
|
-
export const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));
|
|
46
|
-
export const hasCustomClaim = (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));
|
|
47
|
-
export const redirectUnauthorizedTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));
|
|
48
|
-
export const redirectLoggedInTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoLWd1YXJkL2F1dGgtZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVDLE1BQU0sRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRyxPQUFPLEVBQWMsRUFBRSxFQUFFLElBQUksRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU1oRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBS3RELE1BQU0sT0FBTyxTQUFTO0lBRXBCLFlBQW9CLE1BQWMsRUFBVSxJQUFVO1FBQWxDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFNO1FBRXRELGdCQUFXLEdBQUcsQ0FBQyxJQUE0QixFQUFFLEtBQTBCLEVBQUUsRUFBRTtZQUN6RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWtDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN6QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFDNUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNSLElBQUksT0FBTyxHQUFHLEtBQUssU0FBUyxFQUFFO29CQUM1QixPQUFPLEdBQUcsQ0FBQztpQkFDWjtxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3ZDO3FCQUFNO29CQUNMLCtCQUErQjtvQkFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDbEM7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFBO0lBbEJ3RCxDQUFDOztzR0FGL0MsU0FBUzswR0FBVCxTQUFTLGNBRlIsS0FBSzsyRkFFTixTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7QUF5QkQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxXQUFXLEVBQUUsQ0FBRSxTQUFTLENBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFO0NBQzFELENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBYSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBYSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUN6QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FDakMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQzdCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHBpcGUsIFVuYXJ5RnVuY3Rpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aCwgdXNlciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5cbmV4cG9ydCB0eXBlIEF1dGhQaXBlR2VuZXJhdG9yID0gKG5leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiBBdXRoUGlwZTtcbmV4cG9ydCB0eXBlIEF1dGhQaXBlID0gVW5hcnlGdW5jdGlvbjxPYnNlcnZhYmxlPFVzZXJ8bnVsbD4sIE9ic2VydmFibGU8Ym9vbGVhbnxzdHJpbmd8YW55W10+PjtcblxuZXhwb3J0IGNvbnN0IGxvZ2dlZEluOiBBdXRoUGlwZSA9IG1hcCh1c2VyID0+ICEhdXNlcik7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueSdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aDogQXV0aCkge31cblxuICBjYW5BY3RpdmF0ZSA9IChuZXh0OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkgPT4ge1xuICAgIGNvbnN0IGF1dGhQaXBlRmFjdG9yeSA9IG5leHQuZGF0YS5hdXRoR3VhcmRQaXBlIGFzIEF1dGhQaXBlR2VuZXJhdG9yIHx8ICgoKSA9PiBsb2dnZWRJbik7XG4gICAgcmV0dXJuIHVzZXIodGhpcy5hdXRoKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIGF1dGhQaXBlRmFjdG9yeShuZXh0LCBzdGF0ZSksXG4gICAgICBtYXAoY2FuID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjYW4gPT09ICdib29sZWFuJykge1xuICAgICAgICAgIHJldHVybiBjYW47XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjYW4pKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoY2FuKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBUT0RPKEVkcmljQ2hhbjAzKTogQWRkIHRlc3RzXG4gICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnBhcnNlVXJsKGNhbik7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCBjYW5BY3RpdmF0ZSA9IChwaXBlOiBBdXRoUGlwZUdlbmVyYXRvcikgPT4gKHtcbiAgY2FuQWN0aXZhdGU6IFsgQXV0aEd1YXJkIF0sIGRhdGE6IHsgYXV0aEd1YXJkUGlwZTogcGlwZSB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGlzTm90QW5vbnltb3VzOiBBdXRoUGlwZSA9IG1hcCh1c2VyID0+ICEhdXNlciAmJiAhdXNlci5pc0Fub255bW91cyk7XG5leHBvcnQgY29uc3QgaWRUb2tlblJlc3VsdCA9IHN3aXRjaE1hcCgodXNlcjogVXNlcnxudWxsKSA9PiB1c2VyID8gdXNlci5nZXRJZFRva2VuUmVzdWx0KCkgOiBvZihudWxsKSk7XG5leHBvcnQgY29uc3QgZW1haWxWZXJpZmllZDogQXV0aFBpcGUgPSBtYXAodXNlciA9PiAhIXVzZXIgJiYgdXNlci5lbWFpbFZlcmlmaWVkKTtcbmV4cG9ydCBjb25zdCBjdXN0b21DbGFpbXMgPSBwaXBlKGlkVG9rZW5SZXN1bHQsIG1hcChpZFRva2VuUmVzdWx0ID0+IGlkVG9rZW5SZXN1bHQgPyBpZFRva2VuUmVzdWx0LmNsYWltcyA6IFtdKSk7XG5leHBvcnQgY29uc3QgaGFzQ3VzdG9tQ2xhaW06IChjbGFpbTogc3RyaW5nKSA9PiBBdXRoUGlwZSA9XG4gIChjbGFpbSkgPT4gcGlwZShjdXN0b21DbGFpbXMsIG1hcChjbGFpbXMgPT4gIGNsYWltcy5oYXNPd25Qcm9wZXJ0eShjbGFpbSkpKTtcbmV4cG9ydCBjb25zdCByZWRpcmVjdFVuYXV0aG9yaXplZFRvOiAocmVkaXJlY3Q6IHN0cmluZ3xhbnlbXSkgPT4gQXV0aFBpcGUgPVxuICAocmVkaXJlY3QpID0+IHBpcGUobG9nZ2VkSW4sIG1hcChsb2dnZWRJbiA9PiBsb2dnZWRJbiB8fCByZWRpcmVjdCkpO1xuZXhwb3J0IGNvbnN0IHJlZGlyZWN0TG9nZ2VkSW5UbzogKHJlZGlyZWN0OiBzdHJpbmd8YW55W10pID0+IEF1dGhQaXBlID1cbiAgKHJlZGlyZWN0KSA9PiBwaXBlKGxvZ2dlZEluLCBtYXAobG9nZ2VkSW4gPT4gbG9nZ2VkSW4gJiYgcmVkaXJlY3QgfHwgdHJ1ZSkpO1xuIl19
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { EMPTY, of } from 'rxjs';
|
|
4
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
5
|
-
import { map, shareReplay, switchMap, observeOn } from 'rxjs/operators';
|
|
6
|
-
import { ɵAngularFireSchedulers } from '@angular/fire';
|
|
7
|
-
import { ɵlazySDKProxy, ɵapplyMixins, ɵcacheInstance } from '@angular/fire/compat';
|
|
8
|
-
import { FirebaseApp } from '@angular/fire/compat';
|
|
9
|
-
import { proxyPolyfillCompat } from './base';
|
|
10
|
-
import { isSupported } from 'firebase/analytics';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/fire/compat";
|
|
13
|
-
import * as i2 from "@angular/fire";
|
|
14
|
-
export const COLLECTION_ENABLED = new InjectionToken('angularfire2.analytics.analyticsCollectionEnabled');
|
|
15
|
-
export const APP_VERSION = new InjectionToken('angularfire2.analytics.appVersion');
|
|
16
|
-
export const APP_NAME = new InjectionToken('angularfire2.analytics.appName');
|
|
17
|
-
export const DEBUG_MODE = new InjectionToken('angularfire2.analytics.debugMode');
|
|
18
|
-
export const CONFIG = new InjectionToken('angularfire2.analytics.config');
|
|
19
|
-
const APP_NAME_KEY = 'app_name';
|
|
20
|
-
const APP_VERSION_KEY = 'app_version';
|
|
21
|
-
const DEBUG_MODE_KEY = 'debug_mode';
|
|
22
|
-
const GTAG_CONFIG_COMMAND = 'config';
|
|
23
|
-
const GTAG_FUNCTION_NAME = 'gtag'; // TODO rename these
|
|
24
|
-
const DATA_LAYER_NAME = 'dataLayer';
|
|
25
|
-
const SEND_TO_KEY = 'send_to';
|
|
26
|
-
export class AngularFireAnalytics {
|
|
27
|
-
constructor(app, analyticsCollectionEnabled, providedAppVersion, providedAppName, debugModeEnabled, providedConfig,
|
|
28
|
-
// tslint:disable-next-line:ban-types
|
|
29
|
-
platformId, zone, schedulers) {
|
|
30
|
-
this.analyticsInitialized = new Promise(() => { });
|
|
31
|
-
if (isPlatformBrowser(platformId)) {
|
|
32
|
-
window[DATA_LAYER_NAME] = window[DATA_LAYER_NAME] || [];
|
|
33
|
-
// It turns out we can't rely on the measurementId in the Firebase config JSON
|
|
34
|
-
// this identifier is not stable. firebase/analytics does a call to get a fresh value
|
|
35
|
-
// falling back on the one in the config. Rather than do that ourselves we should listen
|
|
36
|
-
// on our gtag function for a analytics config command
|
|
37
|
-
// e.g, ['config', measurementId, { origin: 'firebase', firebase_id }]
|
|
38
|
-
const parseMeasurementId = (...args) => {
|
|
39
|
-
if (args[0] === 'config' && args[2].origin === 'firebase') {
|
|
40
|
-
this.measurementId = args[1];
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const patchGtag = (fn) => {
|
|
48
|
-
window[GTAG_FUNCTION_NAME] = (...args) => {
|
|
49
|
-
if (fn) {
|
|
50
|
-
fn(...args);
|
|
51
|
-
}
|
|
52
|
-
// Inject app_name and app_version into events
|
|
53
|
-
// TODO(jamesdaniels): I'm doing this as documented but it's still not
|
|
54
|
-
// showing up in the console. Investigate. Guessing it's just part of the
|
|
55
|
-
// whole GA4 transition mess.
|
|
56
|
-
if (args[0] === 'event' && args[2][SEND_TO_KEY] === this.measurementId) {
|
|
57
|
-
if (providedAppName) {
|
|
58
|
-
args[2][APP_NAME_KEY] = providedAppName;
|
|
59
|
-
}
|
|
60
|
-
if (providedAppVersion) {
|
|
61
|
-
args[2][APP_VERSION_KEY] = providedAppVersion;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (debugModeEnabled && typeof console !== 'undefined') {
|
|
65
|
-
// tslint:disable-next-line:no-console
|
|
66
|
-
console.info(...args);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* According to the gtag documentation, this function that defines a custom data layer cannot be
|
|
70
|
-
* an arrow function because 'arguments' is not an array. It is actually an object that behaves
|
|
71
|
-
* like an array and contains more information then just indexes. Transforming this into arrow function
|
|
72
|
-
* caused issue #2505 where analytics no longer sent any data.
|
|
73
|
-
*/
|
|
74
|
-
// tslint:disable-next-line: only-arrow-functions
|
|
75
|
-
(function (..._args) {
|
|
76
|
-
window[DATA_LAYER_NAME].push(arguments);
|
|
77
|
-
})(...args);
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
// Unclear if we still need to but I was running into config/events I passed
|
|
81
|
-
// to gtag before ['js' timestamp] weren't getting parsed, so let's make a promise
|
|
82
|
-
// that resolves when firebase/analytics has configured gtag.js that we wait on
|
|
83
|
-
// before sending anything
|
|
84
|
-
const firebaseAnalyticsAlreadyInitialized = window[DATA_LAYER_NAME].some(parseMeasurementId);
|
|
85
|
-
if (firebaseAnalyticsAlreadyInitialized) {
|
|
86
|
-
this.analyticsInitialized = Promise.resolve();
|
|
87
|
-
patchGtag();
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.analyticsInitialized = new Promise(resolve => {
|
|
91
|
-
patchGtag((...args) => {
|
|
92
|
-
if (parseMeasurementId(...args)) {
|
|
93
|
-
resolve();
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
if (providedConfig) {
|
|
99
|
-
this.updateConfig(providedConfig);
|
|
100
|
-
}
|
|
101
|
-
if (debugModeEnabled) {
|
|
102
|
-
this.updateConfig({ [DEBUG_MODE_KEY]: 1 });
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
this.analyticsInitialized = Promise.resolve();
|
|
107
|
-
}
|
|
108
|
-
const analytics = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap(isSupported), switchMap(supported => supported ? zone.runOutsideAngular(() => import('firebase/compat/analytics')) : EMPTY), map(() => {
|
|
109
|
-
return ɵcacheInstance(`analytics`, 'AngularFireAnalytics', app.name, () => {
|
|
110
|
-
const analytics = app.analytics();
|
|
111
|
-
if (analyticsCollectionEnabled === false) {
|
|
112
|
-
analytics.setAnalyticsCollectionEnabled(false);
|
|
113
|
-
}
|
|
114
|
-
return analytics;
|
|
115
|
-
}, [app, analyticsCollectionEnabled, providedConfig, debugModeEnabled]);
|
|
116
|
-
}), shareReplay({ bufferSize: 1, refCount: false }));
|
|
117
|
-
return ɵlazySDKProxy(this, analytics, zone);
|
|
118
|
-
}
|
|
119
|
-
updateConfig(config) {
|
|
120
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
yield this.analyticsInitialized;
|
|
122
|
-
window[GTAG_FUNCTION_NAME](GTAG_CONFIG_COMMAND, this.measurementId, Object.assign(Object.assign({}, config), { update: true }));
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
AngularFireAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalytics, deps: [{ token: i1.FirebaseApp }, { token: COLLECTION_ENABLED, optional: true }, { token: APP_VERSION, optional: true }, { token: APP_NAME, optional: true }, { token: DEBUG_MODE, optional: true }, { token: CONFIG, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i2.ɵAngularFireSchedulers }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
127
|
-
AngularFireAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalytics, providedIn: 'any' });
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalytics, decorators: [{
|
|
129
|
-
type: Injectable,
|
|
130
|
-
args: [{
|
|
131
|
-
providedIn: 'any'
|
|
132
|
-
}]
|
|
133
|
-
}], ctorParameters: function () { return [{ type: i1.FirebaseApp }, { type: undefined, decorators: [{
|
|
134
|
-
type: Optional
|
|
135
|
-
}, {
|
|
136
|
-
type: Inject,
|
|
137
|
-
args: [COLLECTION_ENABLED]
|
|
138
|
-
}] }, { type: undefined, decorators: [{
|
|
139
|
-
type: Optional
|
|
140
|
-
}, {
|
|
141
|
-
type: Inject,
|
|
142
|
-
args: [APP_VERSION]
|
|
143
|
-
}] }, { type: undefined, decorators: [{
|
|
144
|
-
type: Optional
|
|
145
|
-
}, {
|
|
146
|
-
type: Inject,
|
|
147
|
-
args: [APP_NAME]
|
|
148
|
-
}] }, { type: undefined, decorators: [{
|
|
149
|
-
type: Optional
|
|
150
|
-
}, {
|
|
151
|
-
type: Inject,
|
|
152
|
-
args: [DEBUG_MODE]
|
|
153
|
-
}] }, { type: undefined, decorators: [{
|
|
154
|
-
type: Optional
|
|
155
|
-
}, {
|
|
156
|
-
type: Inject,
|
|
157
|
-
args: [CONFIG]
|
|
158
|
-
}] }, { type: Object, decorators: [{
|
|
159
|
-
type: Inject,
|
|
160
|
-
args: [PLATFORM_ID]
|
|
161
|
-
}] }, { type: i0.NgZone }, { type: i2.ɵAngularFireSchedulers }]; } });
|
|
162
|
-
ɵapplyMixins(AngularFireAnalytics, [proxyPolyfillCompat]);
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9hbmFseXRpY3MvYW5hbHl0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFpQixZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFNakQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVUsbURBQW1ELENBQUMsQ0FBQztBQUNuSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQVMsbUNBQW1DLENBQUMsQ0FBQztBQUMzRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQVMsZ0NBQWdDLENBQUMsQ0FBQztBQUNyRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVUsa0NBQWtDLENBQUMsQ0FBQztBQUMxRixNQUFN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LFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsUUFBUTs7MEJBQzNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVTs7MEJBQzdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTTs4QkFFTyxNQUFNOzBCQUF0QyxNQUFNOzJCQUFDLFdBQVc7O0FBOEd2QixZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU1QVFksIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIG9ic2VydmVPbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyDJtWxhenlTREtQcm94eSwgybVQcm9taXNlUHJveHksIMm1YXBwbHlNaXhpbnMsIMm1Y2FjaGVJbnN0YW5jZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvY29tcGF0JztcbmltcG9ydCB7IEZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgcHJveHlQb2x5ZmlsbENvbXBhdCB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBpc1N1cHBvcnRlZCB9IGZyb20gJ2ZpcmViYXNlL2FuYWx5dGljcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY29uc3QgQ09MTEVDVElPTl9FTkFCTEVEID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmFuYWx5dGljc0NvbGxlY3Rpb25FbmFibGVkJyk7XG5leHBvcnQgY29uc3QgQVBQX1ZFUlNJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmFuYWx5dGljcy5hcHBWZXJzaW9uJyk7XG5leHBvcnQgY29uc3QgQVBQX05BTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYW5ndWxhcmZpcmUyLmFuYWx5dGljcy5hcHBOYW1lJyk7XG5leHBvcnQgY29uc3QgREVCVUdfTU9ERSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignYW5ndWxhcmZpcmUyLmFuYWx5dGljcy5kZWJ1Z01vZGUnKTtcbmV4cG9ydCBjb25zdCBDT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnPignYW5ndWxhcmZpcmUyLmFuYWx5dGljcy5jb25maWcnKTtcblxuY29uc3QgQVBQX05BTUVfS0VZID0gJ2FwcF9uYW1lJztcbmNvbnN0IEFQUF9WRVJTSU9OX0tFWSA9ICdhcHBfdmVyc2lvbic7XG5jb25zdCBERUJVR19NT0RFX0tFWSA9ICdkZWJ1Z19tb2RlJztcbmNvbnN0IEdUQUdfQ09ORklHX0NPTU1BTkQgPSAnY29uZmlnJztcbmNvbnN0IEdUQUdfRlVOQ1RJT05fTkFNRSA9ICdndGFnJzsgLy8gVE9ETyByZW5hbWUgdGhlc2VcbmNvbnN0IERBVEFfTEFZRVJfTkFNRSA9ICdkYXRhTGF5ZXInO1xuY29uc3QgU0VORF9UT19LRVkgPSAnc2VuZF90byc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckZpcmVBbmFseXRpY3MgZXh0ZW5kcyDJtVByb21pc2VQcm94eTxmaXJlYmFzZS5hbmFseXRpY3MuQW5hbHl0aWNzPiB7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueSdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVBbmFseXRpY3Mge1xuXG4gIHByaXZhdGUgbWVhc3VyZW1lbnRJZDogc3RyaW5nO1xuICBwcml2YXRlIGFuYWx5dGljc0luaXRpYWxpemVkOiBQcm9taXNlPHZvaWQ+ID0gbmV3IFByb21pc2UoKCkgPT4ge30pO1xuXG4gIGFzeW5jIHVwZGF0ZUNvbmZpZyhjb25maWc6IENvbmZpZykge1xuICAgIGF3YWl0IHRoaXMuYW5hbHl0aWNzSW5pdGlhbGl6ZWQ7XG4gICAgd2luZG93W0dUQUdfRlVOQ1RJT05fTkFNRV0oR1RBR19DT05GSUdfQ09NTUFORCwgdGhpcy5tZWFzdXJlbWVudElkLCB7IC4uLmNvbmZpZywgdXBkYXRlOiB0cnVlIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYXBwOiBGaXJlYmFzZUFwcCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENPTExFQ1RJT05fRU5BQkxFRCkgYW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQ6IGJvb2xlYW4gfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX1ZFUlNJT04pIHByb3ZpZGVkQXBwVmVyc2lvbjogc3RyaW5nIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9OQU1FKSBwcm92aWRlZEFwcE5hbWU6IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChERUJVR19NT0RFKSBkZWJ1Z01vZGVFbmFibGVkOiBib29sZWFuIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENPTkZJRykgcHJvdmlkZWRDb25maWc6IENvbmZpZyB8IG51bGwsXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmJhbi10eXBlc1xuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgc2NoZWR1bGVyczogybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICkge1xuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSB7XG5cbiAgICAgIHdpbmRvd1tEQVRBX0xBWUVSX05BTUVdID0gd2luZG93W0RBVEFfTEFZRVJfTkFNRV0gfHwgW107XG5cbiAgICAgIC8vIEl0IHR1cm5zIG91dCB3ZSBjYW4ndCByZWx5IG9uIHRoZSBtZWFzdXJlbWVudElkIGluIHRoZSBGaXJlYmFzZSBjb25maWcgSlNPTlxuICAgICAgLy8gdGhpcyBpZGVudGlmaWVyIGlzIG5vdCBzdGFibGUuIGZpcmViYXNlL2FuYWx5dGljcyBkb2VzIGEgY2FsbCB0byBnZXQgYSBmcmVzaCB2YWx1ZVxuICAgICAgLy8gZmFsbGluZyBiYWNrIG9uIHRoZSBvbmUgaW4gdGhlIGNvbmZpZy4gUmF0aGVyIHRoYW4gZG8gdGhhdCBvdXJzZWx2ZXMgd2Ugc2hvdWxkIGxpc3RlblxuICAgICAgLy8gb24gb3VyIGd0YWcgZnVuY3Rpb24gZm9yIGEgYW5hbHl0aWNzIGNvbmZpZyBjb21tYW5kXG4gICAgICAvLyBlLmcsIFsnY29uZmlnJywgbWVhc3VyZW1lbnRJZCwgeyBvcmlnaW46ICdmaXJlYmFzZScsIGZpcmViYXNlX2lkIH1dXG4gICAgICBjb25zdCBwYXJzZU1lYXN1cmVtZW50SWQgPSAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgaWYgKGFyZ3NbMF0gPT09ICdjb25maWcnICYmIGFyZ3NbMl0ub3JpZ2luID09PSAnZmlyZWJhc2UnKSB7XG4gICAgICAgICAgdGhpcy5tZWFzdXJlbWVudElkID0gYXJnc1sxXTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBhdGNoR3RhZyA9IChmbj86ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCkgPT4ge1xuICAgICAgICB3aW5kb3dbR1RBR19GVU5DVElPTl9OQU1FXSA9ICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIGlmIChmbikge1xuICAgICAgICAgICAgZm4oLi4uYXJncyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEluamVjdCBhcHBfbmFtZSBhbmQgYXBwX3ZlcnNpb24gaW50byBldmVudHNcbiAgICAgICAgICAvLyBUT0RPKGphbWVzZGFuaWVscyk6IEknbSBkb2luZyB0aGlzIGFzIGRvY3VtZW50ZWQgYnV0IGl0J3Mgc3RpbGwgbm90XG4gICAgICAgICAgLy8gICBzaG93aW5nIHVwIGluIHRoZSBjb25zb2xlLiBJbnZlc3RpZ2F0ZS4gR3Vlc3NpbmcgaXQncyBqdXN0IHBhcnQgb2YgdGhlXG4gICAgICAgICAgLy8gICB3aG9sZSBHQTQgdHJhbnNpdGlvbiBtZXNzLlxuICAgICAgICAgIGlmIChhcmdzWzBdID09PSAnZXZlbnQnICYmIGFyZ3NbMl1bU0VORF9UT19LRVldID09PSB0aGlzLm1lYXN1cmVtZW50SWQpIHtcbiAgICAgICAgICAgIGlmIChwcm92aWRlZEFwcE5hbWUpIHtcbiAgICAgICAgICAgICAgYXJnc1syXVtBUFBfTkFNRV9LRVldID0gcHJvdmlkZWRBcHBOYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHByb3ZpZGVkQXBwVmVyc2lvbikge1xuICAgICAgICAgICAgICBhcmdzWzJdW0FQUF9WRVJTSU9OX0tFWV0gPSBwcm92aWRlZEFwcFZlcnNpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWJ1Z01vZGVFbmFibGVkICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyguLi5hcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogQWNjb3JkaW5nIHRvIHRoZSBndGFnIGRvY3VtZW50YXRpb24sIHRoaXMgZnVuY3Rpb24gdGhhdCBkZWZpbmVzIGEgY3VzdG9tIGRhdGEgbGF5ZXIgY2Fubm90IGJlXG4gICAgICAgICAgICogYW4gYXJyb3cgZnVuY3Rpb24gYmVjYXVzZSAnYXJndW1lbnRzJyBpcyBub3QgYW4gYXJyYXkuIEl0IGlzIGFjdHVhbGx5IGFuIG9iamVjdCB0aGF0IGJlaGF2ZXNcbiAgICAgICAgICAgKiBsaWtlIGFuIGFycmF5IGFuZCBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uIHRoZW4ganVzdCBpbmRleGVzLiBUcmFuc2Zvcm1pbmcgdGhpcyBpbnRvIGFycm93IGZ1bmN0aW9uXG4gICAgICAgICAgICogY2F1c2VkIGlzc3VlICMyNTA1IHdoZXJlIGFuYWx5dGljcyBubyBsb25nZXIgc2VudCBhbnkgZGF0YS5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXG4gICAgICAgICAgKGZ1bmN0aW9uKC4uLl9hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgd2luZG93W0RBVEFfTEFZRVJfTkFNRV0ucHVzaChhcmd1bWVudHMpO1xuICAgICAgICAgIH0pKC4uLmFyZ3MpO1xuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgLy8gVW5jbGVhciBpZiB3ZSBzdGlsbCBuZWVkIHRvIGJ1dCBJIHdhcyBydW5uaW5nIGludG8gY29uZmlnL2V2ZW50cyBJIHBhc3NlZFxuICAgICAgLy8gdG8gZ3RhZyBiZWZvcmUgWydqcycgdGltZXN0YW1wXSB3ZXJlbid0IGdldHRpbmcgcGFyc2VkLCBzbyBsZXQncyBtYWtlIGEgcHJvbWlzZVxuICAgICAgLy8gdGhhdCByZXNvbHZlcyB3aGVuIGZpcmViYXNlL2FuYWx5dGljcyBoYXMgY29uZmlndXJlZCBndGFnLmpzIHRoYXQgd2Ugd2FpdCBvblxuICAgICAgLy8gYmVmb3JlIHNlbmRpbmcgYW55dGhpbmdcbiAgICAgIGNvbnN0IGZpcmViYXNlQW5hbHl0aWNzQWxyZWFkeUluaXRpYWxpemVkID0gd2luZG93W0RBVEFfTEFZRVJfTkFNRV0uc29tZShwYXJzZU1lYXN1cmVtZW50SWQpO1xuICAgICAgaWYgKGZpcmViYXNlQW5hbHl0aWNzQWxyZWFkeUluaXRpYWxpemVkKSB7XG4gICAgICAgIHRoaXMuYW5hbHl0aWNzSW5pdGlhbGl6ZWQgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgcGF0Y2hHdGFnKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFuYWx5dGljc0luaXRpYWxpemVkID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgcGF0Y2hHdGFnKCguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICBpZiAocGFyc2VNZWFzdXJlbWVudElkKC4uLmFyZ3MpKSB7XG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm92aWRlZENvbmZpZykge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbmZpZyhwcm92aWRlZENvbmZpZyk7XG4gICAgICB9XG4gICAgICBpZiAoZGVidWdNb2RlRW5hYmxlZCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbmZpZyh7IFtERUJVR19NT0RFX0tFWV06IDEgfSk7XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuXG4gICAgICB0aGlzLmFuYWx5dGljc0luaXRpYWxpemVkID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgICB9XG5cbiAgICBjb25zdCBhbmFseXRpY3MgPSBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICBzd2l0Y2hNYXAoaXNTdXBwb3J0ZWQpLFxuICAgICAgc3dpdGNoTWFwKHN1cHBvcnRlZCA9PiBzdXBwb3J0ZWQgPyB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGltcG9ydCgnZmlyZWJhc2UvY29tcGF0L2FuYWx5dGljcycpKSA6IEVNUFRZKSxcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiDJtWNhY2hlSW5zdGFuY2UoYGFuYWx5dGljc2AsICdBbmd1bGFyRmlyZUFuYWx5dGljcycsIGFwcC5uYW1lLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgYW5hbHl0aWNzID0gYXBwLmFuYWx5dGljcygpO1xuICAgICAgICAgIGlmIChhbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGFuYWx5dGljcy5zZXRBbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhbmFseXRpY3M7XG4gICAgICAgIH0sIFthcHAsIGFuYWx5dGljc0NvbGxlY3Rpb25FbmFibGVkLCBwcm92aWRlZENvbmZpZywgZGVidWdNb2RlRW5hYmxlZF0pO1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiBmYWxzZSB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gybVsYXp5U0RLUHJveHkodGhpcywgYW5hbHl0aWNzLCB6b25lKTtcblxuICB9XG5cbn1cblxuybVhcHBseU1peGlucyhBbmd1bGFyRmlyZUFuYWx5dGljcywgW3Byb3h5UG9seWZpbGxDb21wYXRdKTtcbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { NgModule, Optional } from '@angular/core';
|
|
2
|
-
import { ScreenTrackingService } from './screen-tracking.service';
|
|
3
|
-
import { AngularFireAnalytics } from './analytics';
|
|
4
|
-
import { UserTrackingService } from './user-tracking.service';
|
|
5
|
-
import firebase from 'firebase/compat/app';
|
|
6
|
-
import { VERSION } from '@angular/fire';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./analytics";
|
|
9
|
-
import * as i2 from "./screen-tracking.service";
|
|
10
|
-
import * as i3 from "./user-tracking.service";
|
|
11
|
-
export class AngularFireAnalyticsModule {
|
|
12
|
-
constructor(analytics, screenTracking, userTracking) {
|
|
13
|
-
firebase.registerVersion('angularfire', VERSION.full, 'analytics-compat');
|
|
14
|
-
// calling anything on analytics will eagerly load the SDK
|
|
15
|
-
// tslint:disable-next-line:no-unused-expression
|
|
16
|
-
analytics.app.then(() => { });
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
AngularFireAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, deps: [{ token: i1.AngularFireAnalytics }, { token: i2.ScreenTrackingService, optional: true }, { token: i3.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
-
AngularFireAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule });
|
|
21
|
-
AngularFireAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, providers: [AngularFireAnalytics] });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireAnalyticsModule, decorators: [{
|
|
23
|
-
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
providers: [AngularFireAnalytics]
|
|
26
|
-
}]
|
|
27
|
-
}], ctorParameters: function () { return [{ type: i1.AngularFireAnalytics }, { type: i2.ScreenTrackingService, decorators: [{
|
|
28
|
-
type: Optional
|
|
29
|
-
}] }, { type: i3.UserTrackingService, decorators: [{
|
|
30
|
-
type: Optional
|
|
31
|
-
}] }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYW5hbHl0aWNzL2FuYWx5dGljcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sUUFBUSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBS3hDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDRSxTQUErQixFQUNuQixjQUFxQyxFQUNyQyxZQUFpQztRQUU3QyxRQUFRLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDMUUsMERBQTBEO1FBQzFELGdEQUFnRDtRQUNoRCxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDOzt1SEFWVSwwQkFBMEI7d0hBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGFBRjFCLENBQUUsb0JBQW9CLENBQUU7MkZBRXhCLDBCQUEwQjtrQkFIdEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBRTtpQkFDcEM7OzBCQUlJLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjcmVlblRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vc2NyZWVuLXRyYWNraW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBbmFseXRpY3MgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBVc2VyVHJhY2tpbmdTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLXRyYWNraW5nLnNlcnZpY2UnO1xuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2NvbXBhdC9hcHAnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFsgQW5ndWxhckZpcmVBbmFseXRpY3MgXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZUFuYWx5dGljc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGFuYWx5dGljczogQW5ndWxhckZpcmVBbmFseXRpY3MsXG4gICAgQE9wdGlvbmFsKCkgc2NyZWVuVHJhY2tpbmc6IFNjcmVlblRyYWNraW5nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB1c2VyVHJhY2tpbmc6IFVzZXJUcmFja2luZ1NlcnZpY2UsXG4gICkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhbmFseXRpY3MtY29tcGF0Jyk7XG4gICAgLy8gY2FsbGluZyBhbnl0aGluZyBvbiBhbmFseXRpY3Mgd2lsbCBlYWdlcmx5IGxvYWQgdGhlIFNES1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAgIGFuYWx5dGljcy5hcHAudGhlbigoKSA9PiB7fSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ComponentFactoryResolver, Injectable, NgZone, Optional } from '@angular/core';
|
|
3
|
-
import { switchMap } from 'rxjs/operators';
|
|
4
|
-
import { Router } from '@angular/router';
|
|
5
|
-
import { AngularFireAnalytics } from './analytics';
|
|
6
|
-
import { Title } from '@angular/platform-browser';
|
|
7
|
-
import { UserTrackingService } from './user-tracking.service';
|
|
8
|
-
import firebase from 'firebase/compat/app';
|
|
9
|
-
import { VERSION } from '@angular/fire';
|
|
10
|
-
import { ɵscreenViewEvent } from '@angular/fire/analytics';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./analytics";
|
|
13
|
-
import * as i2 from "@angular/router";
|
|
14
|
-
import * as i3 from "@angular/platform-browser";
|
|
15
|
-
import * as i4 from "./user-tracking.service";
|
|
16
|
-
const SCREEN_VIEW_EVENT = 'screen_view';
|
|
17
|
-
export class ScreenTrackingService {
|
|
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((params) => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
if (userTrackingService) {
|
|
26
|
-
yield userTrackingService.initialized;
|
|
27
|
-
}
|
|
28
|
-
return yield analytics.logEvent(SCREEN_VIEW_EVENT, params);
|
|
29
|
-
}))).subscribe();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
ngOnDestroy() {
|
|
33
|
-
if (this.disposable) {
|
|
34
|
-
this.disposable.unsubscribe();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ScreenTrackingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", 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 });
|
|
39
|
-
ScreenTrackingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: ScreenTrackingService, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}], ctorParameters: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXRyYWNraW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2FuYWx5dGljcy9zY3JlZW4tdHJhY2tpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFFM0QsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUM7QUFHeEMsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUNFLFNBQStCLEVBQ25CLE1BQWMsRUFDZCxLQUFZLEVBQ3hCLHdCQUFrRCxFQUNsRCxJQUFZLEVBQ0EsbUJBQXdDO1FBRXBELFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUMzQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLElBQUksQ0FDNUUsU0FBUyxDQUFDLENBQU0sTUFBTSxFQUFDLEVBQUU7Z0JBQ3ZCLElBQUksbUJBQW1CLEVBQUU7b0JBQ3ZCLE1BQU0sbUJBQW1CLENBQUMsV0FBVyxDQUFDO2lCQUN2QztnQkFDRCxPQUFPLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUEsQ0FBQyxDQUNMLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7a0hBOUJVLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQU9OLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUdSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBbmFseXRpY3MgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgVXNlclRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vdXNlci10cmFja2luZy5zZXJ2aWNlJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IMm1c2NyZWVuVmlld0V2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hbmFseXRpY3MnO1xuXG5jb25zdCBTQ1JFRU5fVklFV19FVkVOVCA9ICdzY3JlZW5fdmlldyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTY3JlZW5UcmFja2luZ1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgZGlzcG9zYWJsZTogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFuYWx5dGljczogQW5ndWxhckZpcmVBbmFseXRpY3MsXG4gICAgQE9wdGlvbmFsKCkgcm91dGVyOiBSb3V0ZXIsXG4gICAgQE9wdGlvbmFsKCkgdGl0bGU6IFRpdGxlLFxuICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSB1c2VyVHJhY2tpbmdTZXJ2aWNlOiBVc2VyVHJhY2tpbmdTZXJ2aWNlLFxuICApIHtcbiAgICBmaXJlYmFzZS5yZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnY29tcGF0LXNjcmVlbi10cmFja2luZycpO1xuICAgIGlmICghcm91dGVyIHx8ICFhbmFseXRpY3MpIHsgcmV0dXJuIHRoaXM7IH1cbiAgICB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuZGlzcG9zYWJsZSA9IMm1c2NyZWVuVmlld0V2ZW50KHJvdXRlciwgdGl0bGUsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoYXN5bmMgcGFyYW1zID0+IHtcbiAgICAgICAgICAgIGlmICh1c2VyVHJhY2tpbmdTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgIGF3YWl0IHVzZXJUcmFja2luZ1NlcnZpY2UuaW5pdGlhbGl6ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgYW5hbHl0aWNzLmxvZ0V2ZW50KFNDUkVFTl9WSUVXX0VWRU5ULCBwYXJhbXMpO1xuICAgICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZGlzcG9zYWJsZSkge1xuICAgICAgdGhpcy5kaXNwb3NhYmxlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { isPlatformServer } from '@angular/common';
|
|
2
|
-
import { Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { AngularFireAnalytics } from './analytics';
|
|
4
|
-
import { AngularFireAuth } from '@angular/fire/compat/auth';
|
|
5
|
-
import firebase from 'firebase/compat/app';
|
|
6
|
-
import { VERSION } from '@angular/fire';
|
|
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
|
-
// TODO a user properties injector
|
|
12
|
-
constructor(analytics,
|
|
13
|
-
// tslint:disable-next-line:ban-types
|
|
14
|
-
platformId, auth, zone) {
|
|
15
|
-
this.disposables = [];
|
|
16
|
-
firebase.registerVersion('angularfire', VERSION.full, 'compat-user-tracking');
|
|
17
|
-
if (!isPlatformServer(platformId)) {
|
|
18
|
-
let resolveInitialized;
|
|
19
|
-
this.initialized = zone.runOutsideAngular(() => new Promise(resolve => resolveInitialized = resolve));
|
|
20
|
-
this.disposables = [
|
|
21
|
-
auth.authState.subscribe(user => {
|
|
22
|
-
analytics.setUserId(user === null || user === void 0 ? void 0 : user.uid);
|
|
23
|
-
resolveInitialized();
|
|
24
|
-
}),
|
|
25
|
-
auth.credential.subscribe(credential => {
|
|
26
|
-
if (credential) {
|
|
27
|
-
const method = credential.user.isAnonymous ? 'anonymous' : credential.additionalUserInfo.providerId;
|
|
28
|
-
if (credential.additionalUserInfo.isNewUser) {
|
|
29
|
-
analytics.logEvent('sign_up', { method });
|
|
30
|
-
}
|
|
31
|
-
analytics.logEvent('login', { method });
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
];
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.initialized = Promise.resolve();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
ngOnDestroy() {
|
|
41
|
-
this.disposables.forEach(it => it.unsubscribe());
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
UserTrackingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService, deps: [{ token: i1.AngularFireAnalytics }, { token: PLATFORM_ID }, { token: i2.AngularFireAuth }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
45
|
-
UserTrackingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService });
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: UserTrackingService, decorators: [{
|
|
47
|
-
type: Injectable
|
|
48
|
-
}], ctorParameters: function () { return [{ type: i1.AngularFireAnalytics }, { type: Object, decorators: [{
|
|
49
|
-
type: Inject,
|
|
50
|
-
args: [PLATFORM_ID]
|
|
51
|
-
}] }, { type: i2.AngularFireAuth }, { type: i0.NgZone }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci10cmFja2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9hbmFseXRpY3MvdXNlci10cmFja2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBR3hDLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsa0NBQWtDO0lBQ2xDLFlBQ0UsU0FBK0I7SUFDL0IscUNBQXFDO0lBQ2hCLFVBQWtCLEVBQ3ZDLElBQXFCLEVBQ3JCLElBQVk7UUFSTixnQkFBVyxHQUF3QixFQUFFLENBQUM7UUFVNUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNqQyxJQUFJLGtCQUFrQixDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN0RyxJQUFJLENBQUMsV0FBVyxHQUFHO2dCQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM5QixTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxHQUFHLENBQUMsQ0FBQztvQkFDL0Isa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDO2dCQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUNyQyxJQUFJLFVBQVUsRUFBRTt3QkFDZCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO3dCQUNwRyxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUU7NEJBQzNDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQzt5QkFDM0M7d0JBQ0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO3FCQUN6QztnQkFDSCxDQUFDLENBQUM7YUFDTCxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RDO0lBRUgsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O2dIQXhDVSxtQkFBbUIsc0RBU3BCLFdBQVc7b0hBVFYsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7NkZBVTBCLE1BQU07MEJBQXRDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQW5hbHl0aWNzIH0gZnJvbSAnLi9hbmFseXRpY3MnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBdXRoIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQvYXV0aCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJUcmFja2luZ1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIGluaXRpYWxpemVkOiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIGRpc3Bvc2FibGVzOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgLy8gVE9ETyBhIHVzZXIgcHJvcGVydGllcyBpbmplY3RvclxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3M6IEFuZ3VsYXJGaXJlQW5hbHl0aWNzLFxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpiYW4tdHlwZXNcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgYXV0aDogQW5ndWxhckZpcmVBdXRoLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgZmlyZWJhc2UucmVnaXN0ZXJWZXJzaW9uKCdhbmd1bGFyZmlyZScsIFZFUlNJT04uZnVsbCwgJ2NvbXBhdC11c2VyLXRyYWNraW5nJyk7XG4gICAgaWYgKCFpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICBsZXQgcmVzb2x2ZUluaXRpYWxpemVkO1xuICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXNvbHZlSW5pdGlhbGl6ZWQgPSByZXNvbHZlKSk7XG4gICAgICB0aGlzLmRpc3Bvc2FibGVzID0gW1xuICAgICAgICAgIGF1dGguYXV0aFN0YXRlLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgICAgICAgIGFuYWx5dGljcy5zZXRVc2VySWQodXNlcj8udWlkKTtcbiAgICAgICAgICAgIHJlc29sdmVJbml0aWFsaXplZCgpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGF1dGguY3JlZGVudGlhbC5zdWJzY3JpYmUoY3JlZGVudGlhbCA9PiB7XG4gICAgICAgICAgICBpZiAoY3JlZGVudGlhbCkge1xuICAgICAgICAgICAgICBjb25zdCBtZXRob2QgPSBjcmVkZW50aWFsLnVzZXIuaXNBbm9ueW1vdXMgPyAnYW5vbnltb3VzJyA6IGNyZWRlbnRpYWwuYWRkaXRpb25hbFVzZXJJbmZvLnByb3ZpZGVySWQ7XG4gICAgICAgICAgICAgIGlmIChjcmVkZW50aWFsLmFkZGl0aW9uYWxVc2VySW5mby5pc05ld1VzZXIpIHtcbiAgICAgICAgICAgICAgICBhbmFseXRpY3MubG9nRXZlbnQoJ3NpZ25fdXAnLCB7IG1ldGhvZCB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhbmFseXRpY3MubG9nRXZlbnQoJ2xvZ2luJywgeyBtZXRob2QgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGlzcG9zYWJsZXMuZm9yRWFjaChpdCA9PiBpdC51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIl19
|