ngx-firebase 1.1.13 → 22.0.0
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 +51 -11
- package/fesm2022/ngx-firebase.mjs +158 -0
- package/fesm2022/ngx-firebase.mjs.map +1 -0
- package/package.json +40 -30
- package/types/ngx-firebase.d.ts +55 -0
- package/bundles/ngx-firebase-capacitor.umd.js +0 -763
- package/bundles/ngx-firebase-capacitor.umd.js.map +0 -1
- package/bundles/ngx-firebase-capacitor.umd.min.js +0 -16
- package/bundles/ngx-firebase-capacitor.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-iap.umd.js +0 -718
- package/bundles/ngx-firebase-iap.umd.js.map +0 -1
- package/bundles/ngx-firebase-iap.umd.min.js +0 -2
- package/bundles/ngx-firebase-iap.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-ionic-auth-ui.umd.js +0 -2116
- package/bundles/ngx-firebase-ionic-auth-ui.umd.js.map +0 -1
- package/bundles/ngx-firebase-ionic-auth-ui.umd.min.js +0 -16
- package/bundles/ngx-firebase-ionic-auth-ui.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-ionic.umd.js +0 -979
- package/bundles/ngx-firebase-ionic.umd.js.map +0 -1
- package/bundles/ngx-firebase-ionic.umd.min.js +0 -16
- package/bundles/ngx-firebase-ionic.umd.min.js.map +0 -1
- package/bundles/ngx-firebase-testing.umd.js +0 -801
- package/bundles/ngx-firebase-testing.umd.js.map +0 -1
- package/bundles/ngx-firebase-testing.umd.min.js +0 -2
- package/bundles/ngx-firebase-testing.umd.min.js.map +0 -1
- package/bundles/ngx-firebase.umd.js +0 -2299
- package/bundles/ngx-firebase.umd.js.map +0 -1
- package/bundles/ngx-firebase.umd.min.js +0 -2
- package/bundles/ngx-firebase.umd.min.js.map +0 -1
- package/capacitor/capacitor.module.d.ts +0 -9
- package/capacitor/interfaces/config.d.ts +0 -12
- package/capacitor/interfaces/index.d.ts +0 -1
- package/capacitor/ngx-firebase-capacitor.d.ts +0 -5
- package/capacitor/ngx-firebase-capacitor.metadata.json +0 -1
- package/capacitor/package.json +0 -25
- package/capacitor/public-api.d.ts +0 -3
- package/capacitor/services/analytics-firebase-capacitor.service.d.ts +0 -9
- package/capacitor/services/crashlytics-firebase-capacitor.service.d.ts +0 -8
- package/capacitor/services/credential-factory-capacitor.service.d.ts +0 -18
- package/capacitor/services/index.d.ts +0 -3
- package/esm2015/capacitor/capacitor.module.js +0 -78
- package/esm2015/capacitor/interfaces/config.js +0 -3
- package/esm2015/capacitor/interfaces/index.js +0 -2
- package/esm2015/capacitor/ngx-firebase-capacitor.js +0 -6
- package/esm2015/capacitor/public-api.js +0 -4
- package/esm2015/capacitor/services/analytics-firebase-capacitor.service.js +0 -43
- package/esm2015/capacitor/services/crashlytics-firebase-capacitor.service.js +0 -40
- package/esm2015/capacitor/services/credential-factory-capacitor.service.js +0 -182
- package/esm2015/capacitor/services/index.js +0 -4
- package/esm2015/iap/iap.module.js +0 -32
- package/esm2015/iap/interfaces/index.js +0 -5
- package/esm2015/iap/ngx-firebase-iap.js +0 -5
- package/esm2015/iap/public-api.js +0 -5
- package/esm2015/iap/services/iap.service.js +0 -317
- package/esm2015/iap/tokens/index.js +0 -4
- package/esm2015/ionic/animations/index.js +0 -30
- package/esm2015/ionic/components/avatar/avatar.component.js +0 -98
- package/esm2015/ionic/components/avatar/index.js +0 -2
- package/esm2015/ionic/components/index.js +0 -3
- package/esm2015/ionic/components/popover-menu/index.js +0 -3
- package/esm2015/ionic/components/popover-menu/interface.js +0 -2
- package/esm2015/ionic/components/popover-menu/popover-menu.component.js +0 -34
- package/esm2015/ionic/ionic.module.js +0 -46
- package/esm2015/ionic/ngx-firebase-ionic.js +0 -5
- package/esm2015/ionic/public-api.js +0 -5
- package/esm2015/ionic/services/alerts-ionic.service.js +0 -107
- package/esm2015/ionic/services/index.js +0 -6
- package/esm2015/ionic/services/legality-dialog-ionic.service.js +0 -85
- package/esm2015/ionic/services/loading-ionic.service.js +0 -46
- package/esm2015/ionic/services/picker-ionic.service.js +0 -44
- package/esm2015/ionic/services/toast-ionic.service.js +0 -49
- package/esm2015/ionic-auth-ui/animations/index.js +0 -30
- package/esm2015/ionic-auth-ui/components/email-confirmation/email-confirmation.component.js +0 -99
- package/esm2015/ionic-auth-ui/components/email-field/email-field.component.js +0 -25
- package/esm2015/ionic-auth-ui/components/form-field/form-field.component.js +0 -82
- package/esm2015/ionic-auth-ui/components/index.js +0 -12
- package/esm2015/ionic-auth-ui/components/name-field/name-field.component.js +0 -30
- package/esm2015/ionic-auth-ui/components/or-divider/or-divider.component.js +0 -11
- package/esm2015/ionic-auth-ui/components/password-field/password-field.component.js +0 -138
- package/esm2015/ionic-auth-ui/components/password-field/passwordValidatorFunctions.js +0 -62
- package/esm2015/ionic-auth-ui/components/providers/providers.component.js +0 -70
- package/esm2015/ionic-auth-ui/components/reauthenticate/reauthenticate.component.js +0 -99
- package/esm2015/ionic-auth-ui/components/register/register.component.js +0 -142
- package/esm2015/ionic-auth-ui/components/register-with-email/register-with-email.component.js +0 -60
- package/esm2015/ionic-auth-ui/components/register-with-email-popover/register-with-email-popover.component.js +0 -26
- package/esm2015/ionic-auth-ui/components/signin/signin.component.js +0 -92
- package/esm2015/ionic-auth-ui/components/terms-field/terms-field.component.js +0 -99
- package/esm2015/ionic-auth-ui/components/user/user.component.js +0 -195
- package/esm2015/ionic-auth-ui/ionic-auth-ui.module.js +0 -92
- package/esm2015/ionic-auth-ui/ngx-firebase-ionic-auth-ui.js +0 -23
- package/esm2015/ionic-auth-ui/pages/index.js +0 -5
- package/esm2015/ionic-auth-ui/pages/register/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/register/register.page.js +0 -56
- package/esm2015/ionic-auth-ui/pages/signin/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/signin/signin.page.js +0 -78
- package/esm2015/ionic-auth-ui/pages/user/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/user/user.page.js +0 -11
- package/esm2015/ionic-auth-ui/pages/verifyemail/index.js +0 -2
- package/esm2015/ionic-auth-ui/pages/verifyemail/verifyemail.page.js +0 -85
- package/esm2015/ionic-auth-ui/public-api.js +0 -5
- package/esm2015/ngx-firebase.js +0 -6
- package/esm2015/public-api.js +0 -6
- package/esm2015/shared/guards/index.js +0 -3
- package/esm2015/shared/guards/logged-in.guard.js +0 -60
- package/esm2015/shared/guards/verify-email.guard.js +0 -41
- package/esm2015/shared/interfaces/accounts.enum.js +0 -9
- package/esm2015/shared/interfaces/authprovider.enum.js +0 -15
- package/esm2015/shared/interfaces/config.interface.js +0 -61
- package/esm2015/shared/interfaces/index.js +0 -8
- package/esm2015/shared/interfaces/main.interface.js +0 -7
- package/esm2015/shared/interfaces/providers.interface.js +0 -2
- package/esm2015/shared/interfaces/tokens.js +0 -19
- package/esm2015/shared/interfaces/ui-providers.interface.js +0 -2
- package/esm2015/shared/services/analytics.service.js +0 -24
- package/esm2015/shared/services/auth-process.service.js +0 -779
- package/esm2015/shared/services/crashlytics.service.js +0 -42
- package/esm2015/shared/services/device-info.service.js +0 -14
- package/esm2015/shared/services/firebase.service.js +0 -37
- package/esm2015/shared/services/firestore-sync.service.js +0 -60
- package/esm2015/shared/services/index.js +0 -10
- package/esm2015/shared/services/performance.service.js +0 -28
- package/esm2015/shared/services/remoteconfig.service.js +0 -49
- package/esm2015/shared/services/ui.service.js +0 -45
- package/esm2015/shared/shared.module.js +0 -175
- package/esm2015/shared/types/DisplayWidth.js +0 -9
- package/esm2015/shared/types/Location.js +0 -2
- package/esm2015/shared/types/ValueAccessorControlComponent.js +0 -85
- package/esm2015/shared/types/ValueAccessorValueComponent.js +0 -40
- package/esm2015/shared/types/index.js +0 -5
- package/esm2015/testing/fakeavatar.module.js +0 -22
- package/esm2015/testing/fakes/FakeAuthProcessService.js +0 -31
- package/esm2015/testing/fakes/FakeAvatarComponent.js +0 -13
- package/esm2015/testing/fakes/FakeFireService.js +0 -21
- package/esm2015/testing/fakes/FakeFirestoreSyncService.js +0 -11
- package/esm2015/testing/fakes/FakeIAPurchaseService.js +0 -11
- package/esm2015/testing/fakes/FakePickerService.js +0 -9
- package/esm2015/testing/fakes/FakeRemoteConfigService.js +0 -44
- package/esm2015/testing/fakes/FakeTranslateService.js +0 -21
- package/esm2015/testing/fakes/FakeUiService.js +0 -26
- package/esm2015/testing/fakes/angular-fire/FakeAngularFireAuth.js +0 -30
- package/esm2015/testing/fakes/angular-fire/FakeAngularFireFunctions.js +0 -17
- package/esm2015/testing/fakes/angular-fire/FakeAngularFirePerformance.js +0 -17
- package/esm2015/testing/fakes/angular-fire/FakeAngularFireStorage.js +0 -8
- package/esm2015/testing/fakes/angular-fire/FakeAngularFirestore.js +0 -8
- package/esm2015/testing/fakes/angular-fire/FakeUserCredential.js +0 -18
- package/esm2015/testing/fakes/index.js +0 -19
- package/esm2015/testing/ngx-firebase-testing.js +0 -6
- package/esm2015/testing/public-api.js +0 -5
- package/esm2015/testing/test.module.js +0 -66
- package/esm2015/testing/utils/index.js +0 -17
- package/esm2015/testing/utils/patchConsole.js +0 -14
- package/fesm2015/ngx-firebase-capacitor.js +0 -328
- package/fesm2015/ngx-firebase-capacitor.js.map +0 -1
- package/fesm2015/ngx-firebase-iap.js +0 -354
- package/fesm2015/ngx-firebase-iap.js.map +0 -1
- package/fesm2015/ngx-firebase-ionic-auth-ui.js +0 -1482
- package/fesm2015/ngx-firebase-ionic-auth-ui.js.map +0 -1
- package/fesm2015/ngx-firebase-ionic.js +0 -495
- package/fesm2015/ngx-firebase-ionic.js.map +0 -1
- package/fesm2015/ngx-firebase-testing.js +0 -388
- package/fesm2015/ngx-firebase-testing.js.map +0 -1
- package/fesm2015/ngx-firebase.js +0 -1509
- package/fesm2015/ngx-firebase.js.map +0 -1
- package/iap/iap.module.d.ts +0 -5
- package/iap/interfaces/index.d.ts +0 -11
- package/iap/ngx-firebase-iap.d.ts +0 -4
- package/iap/ngx-firebase-iap.metadata.json +0 -1
- package/iap/package.json +0 -23
- package/iap/public-api.d.ts +0 -4
- package/iap/services/iap.service.d.ts +0 -47
- package/iap/tokens/index.d.ts +0 -3
- package/ionic/animations/index.d.ts +0 -1
- package/ionic/components/avatar/avatar.component.d.ts +0 -27
- package/ionic/components/avatar/index.d.ts +0 -1
- package/ionic/components/index.d.ts +0 -2
- package/ionic/components/popover-menu/index.d.ts +0 -2
- package/ionic/components/popover-menu/interface.d.ts +0 -6
- package/ionic/components/popover-menu/popover-menu.component.d.ts +0 -10
- package/ionic/ionic.module.d.ts +0 -2
- package/ionic/ngx-firebase-ionic.d.ts +0 -4
- package/ionic/ngx-firebase-ionic.metadata.json +0 -1
- package/ionic/package.json +0 -30
- package/ionic/public-api.d.ts +0 -4
- package/ionic/services/alerts-ionic.service.d.ts +0 -13
- package/ionic/services/index.d.ts +0 -5
- package/ionic/services/legality-dialog-ionic.service.d.ts +0 -10
- package/ionic/services/loading-ionic.service.d.ts +0 -17
- package/ionic/services/picker-ionic.service.d.ts +0 -9
- package/ionic/services/toast-ionic.service.d.ts +0 -11
- package/ionic-auth-ui/animations/index.d.ts +0 -1
- package/ionic-auth-ui/components/email-confirmation/email-confirmation.component.d.ts +0 -31
- package/ionic-auth-ui/components/email-field/email-field.component.d.ts +0 -7
- package/ionic-auth-ui/components/form-field/form-field.component.d.ts +0 -28
- package/ionic-auth-ui/components/index.d.ts +0 -11
- package/ionic-auth-ui/components/name-field/name-field.component.d.ts +0 -8
- package/ionic-auth-ui/components/or-divider/or-divider.component.d.ts +0 -2
- package/ionic-auth-ui/components/password-field/password-field.component.d.ts +0 -34
- package/ionic-auth-ui/components/password-field/passwordValidatorFunctions.d.ts +0 -4
- package/ionic-auth-ui/components/providers/providers.component.d.ts +0 -26
- package/ionic-auth-ui/components/reauthenticate/reauthenticate.component.d.ts +0 -30
- package/ionic-auth-ui/components/register/register.component.d.ts +0 -26
- package/ionic-auth-ui/components/register-with-email/register-with-email.component.d.ts +0 -24
- package/ionic-auth-ui/components/register-with-email-popover/register-with-email-popover.component.d.ts +0 -7
- package/ionic-auth-ui/components/signin/signin.component.d.ts +0 -28
- package/ionic-auth-ui/components/terms-field/terms-field.component.d.ts +0 -27
- package/ionic-auth-ui/components/user/user.component.d.ts +0 -45
- package/ionic-auth-ui/ionic-auth-ui.module.d.ts +0 -32
- package/ionic-auth-ui/ngx-firebase-ionic-auth-ui.d.ts +0 -22
- package/ionic-auth-ui/ngx-firebase-ionic-auth-ui.metadata.json +0 -1
- package/ionic-auth-ui/package.json +0 -30
- package/ionic-auth-ui/pages/index.d.ts +0 -4
- package/ionic-auth-ui/pages/register/index.d.ts +0 -1
- package/ionic-auth-ui/pages/register/register.page.d.ts +0 -16
- package/ionic-auth-ui/pages/signin/index.d.ts +0 -1
- package/ionic-auth-ui/pages/signin/signin.page.d.ts +0 -22
- package/ionic-auth-ui/pages/user/index.d.ts +0 -1
- package/ionic-auth-ui/pages/user/user.page.d.ts +0 -3
- package/ionic-auth-ui/pages/verifyemail/index.d.ts +0 -1
- package/ionic-auth-ui/pages/verifyemail/verifyemail.page.d.ts +0 -19
- package/ionic-auth-ui/public-api.d.ts +0 -4
- package/ngx-firebase.d.ts +0 -5
- package/ngx-firebase.metadata.json +0 -1
- package/public-api.d.ts +0 -5
- package/shared/guards/index.d.ts +0 -2
- package/shared/guards/logged-in.guard.d.ts +0 -13
- package/shared/guards/verify-email.guard.d.ts +0 -11
- package/shared/interfaces/accounts.enum.d.ts +0 -7
- package/shared/interfaces/authprovider.enum.d.ts +0 -13
- package/shared/interfaces/config.interface.d.ts +0 -63
- package/shared/interfaces/index.d.ts +0 -7
- package/shared/interfaces/main.interface.d.ts +0 -13
- package/shared/interfaces/providers.interface.d.ts +0 -70
- package/shared/interfaces/tokens.d.ts +0 -16
- package/shared/interfaces/ui-providers.interface.d.ts +0 -66
- package/shared/services/analytics.service.d.ts +0 -10
- package/shared/services/auth-process.service.d.ts +0 -197
- package/shared/services/crashlytics.service.d.ts +0 -11
- package/shared/services/device-info.service.d.ts +0 -3
- package/shared/services/firebase.service.d.ts +0 -16
- package/shared/services/firestore-sync.service.d.ts +0 -16
- package/shared/services/index.d.ts +0 -9
- package/shared/services/performance.service.d.ts +0 -12
- package/shared/services/remoteconfig.service.d.ts +0 -18
- package/shared/services/ui.service.d.ts +0 -22
- package/shared/shared.module.d.ts +0 -14
- package/shared/types/DisplayWidth.d.ts +0 -7
- package/shared/types/Location.d.ts +0 -8
- package/shared/types/ValueAccessorControlComponent.d.ts +0 -27
- package/shared/types/ValueAccessorValueComponent.d.ts +0 -19
- package/shared/types/index.d.ts +0 -4
- package/testing/fakeavatar.module.d.ts +0 -2
- package/testing/fakes/FakeAuthProcessService.d.ts +0 -28
- package/testing/fakes/FakeAvatarComponent.d.ts +0 -3
- package/testing/fakes/FakeFireService.d.ts +0 -20
- package/testing/fakes/FakeFirestoreSyncService.d.ts +0 -9
- package/testing/fakes/FakeIAPurchaseService.d.ts +0 -9
- package/testing/fakes/FakePickerService.d.ts +0 -6
- package/testing/fakes/FakeRemoteConfigService.d.ts +0 -19
- package/testing/fakes/FakeTranslateService.d.ts +0 -15
- package/testing/fakes/FakeUiService.d.ts +0 -25
- package/testing/fakes/angular-fire/FakeAngularFireAuth.d.ts +0 -52
- package/testing/fakes/angular-fire/FakeAngularFireFunctions.d.ts +0 -11
- package/testing/fakes/angular-fire/FakeAngularFirePerformance.d.ts +0 -10
- package/testing/fakes/angular-fire/FakeAngularFireStorage.d.ts +0 -5
- package/testing/fakes/angular-fire/FakeAngularFirestore.d.ts +0 -5
- package/testing/fakes/angular-fire/FakeUserCredential.d.ts +0 -9
- package/testing/fakes/index.d.ts +0 -16
- package/testing/ngx-firebase-testing.d.ts +0 -5
- package/testing/ngx-firebase-testing.metadata.json +0 -1
- package/testing/package.json +0 -29
- package/testing/public-api.d.ts +0 -4
- package/testing/test.module.d.ts +0 -4
- package/testing/utils/index.d.ts +0 -5
- package/testing/utils/patchConsole.d.ts +0 -4
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
5
|
-
import { HttpClientTestingModule } from '@angular/common/http/testing';
|
|
6
|
-
import { RouterTestingModule } from '@angular/router/testing';
|
|
7
|
-
// Mal
|
|
8
|
-
import { AuthProcessService, RemoteConfigService, UiService, FirebaseService, AnalyticsService, MalLegaliyDialogUIProiderToken, CrashlyticsService, MalToastUIProviderToken, MalAlertsUIProviderToken, MalLoadingUIProviderToken, PerformanceService } from 'ngx-firebase';
|
|
9
|
-
import { IAPurchaseService } from 'ngx-firebase/iap';
|
|
10
|
-
// Ionic
|
|
11
|
-
import { IonicModule } from '@ionic/angular';
|
|
12
|
-
// Translate
|
|
13
|
-
import { TranslateFakeLoader, TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
14
|
-
// Angular Fire
|
|
15
|
-
import { AngularFirePerformance } from '@angular/fire/performance';
|
|
16
|
-
import { AngularFirestore } from '@angular/fire/firestore';
|
|
17
|
-
import { AngularFireFunctions } from '@angular/fire/functions';
|
|
18
|
-
import { AngularFireStorage } from '@angular/fire/storage';
|
|
19
|
-
// Fakes
|
|
20
|
-
import { FakeAuthProcessService, FakeAngularFirePerformance, FakeRemoteConfigService, FakeAngularFirestore, FakeAngularFireFunctions, FakeIAPurchaseService, FakeAngularFireStorage, FakeUiService, FakeFirebaseService } from './fakes';
|
|
21
|
-
export const MODULES = [
|
|
22
|
-
CommonModule,
|
|
23
|
-
IonicModule,
|
|
24
|
-
NoopAnimationsModule,
|
|
25
|
-
HttpClientTestingModule,
|
|
26
|
-
RouterTestingModule,
|
|
27
|
-
];
|
|
28
|
-
export class MalTestingModule {
|
|
29
|
-
}
|
|
30
|
-
MalTestingModule.decorators = [
|
|
31
|
-
{ type: NgModule, args: [{
|
|
32
|
-
imports: [
|
|
33
|
-
...MODULES,
|
|
34
|
-
TranslateModule.forRoot({
|
|
35
|
-
loader: { provide: TranslateLoader, useClass: TranslateFakeLoader }
|
|
36
|
-
})
|
|
37
|
-
],
|
|
38
|
-
exports: [
|
|
39
|
-
...MODULES,
|
|
40
|
-
TranslateModule
|
|
41
|
-
],
|
|
42
|
-
providers: [
|
|
43
|
-
// mal fakes
|
|
44
|
-
{ provide: RemoteConfigService, useClass: FakeRemoteConfigService },
|
|
45
|
-
{ provide: AuthProcessService, useClass: FakeAuthProcessService },
|
|
46
|
-
{ provide: IAPurchaseService, useClass: FakeIAPurchaseService },
|
|
47
|
-
// UiFakes
|
|
48
|
-
{ provide: UiService, useClass: FakeUiService },
|
|
49
|
-
{ provide: MalLegaliyDialogUIProiderToken, useClass: FakeUiService },
|
|
50
|
-
{ provide: MalToastUIProviderToken, useClass: FakeUiService },
|
|
51
|
-
{ provide: MalAlertsUIProviderToken, useClass: FakeUiService },
|
|
52
|
-
{ provide: MalLoadingUIProviderToken, useClass: FakeUiService },
|
|
53
|
-
// Firebase Fakes
|
|
54
|
-
{ provide: FirebaseService, useClass: FakeFirebaseService },
|
|
55
|
-
{ provide: CrashlyticsService, useClass: FakeFirebaseService },
|
|
56
|
-
{ provide: AnalyticsService, useClass: FakeFirebaseService },
|
|
57
|
-
{ provide: PerformanceService, useClass: FakeFirebaseService },
|
|
58
|
-
// @angular/fire
|
|
59
|
-
{ provide: AngularFirestore, useClass: FakeAngularFirestore },
|
|
60
|
-
{ provide: AngularFireFunctions, useClass: FakeAngularFireFunctions },
|
|
61
|
-
{ provide: AngularFirePerformance, useClass: FakeAngularFirePerformance },
|
|
62
|
-
{ provide: AngularFireStorage, useClass: FakeAngularFireStorage }
|
|
63
|
-
]
|
|
64
|
-
},] }
|
|
65
|
-
];
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZmlyZWJhc2UvdGVzdGluZy9zcmMvdGVzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE1BQU07QUFDTixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiw4QkFBOEIsRUFDOUIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNuQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxRQUFRO0FBQ1IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLFlBQVk7QUFDWixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVGLGVBQWU7QUFDZixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxRQUFRO0FBQ1IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixhQUFhLEVBQ2IsbUJBQW1CLEVBQ3BCLE1BQU0sU0FBUyxDQUFDO0FBRWpCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUNyQixZQUFZO0lBQ1osV0FBVztJQUNYLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsbUJBQW1CO0NBQ3BCLENBQUM7QUFvQ0YsTUFBTSxPQUFPLGdCQUFnQjs7O1lBbEM1QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLEdBQUcsT0FBTztvQkFDVixlQUFlLENBQUMsT0FBTyxDQUFDO3dCQUN0QixNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtxQkFDcEUsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxPQUFPO29CQUNWLGVBQWU7aUJBQ2hCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxZQUFZO29CQUNaLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRTtvQkFDbkUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFO29CQUNqRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7b0JBQy9ELFVBQVU7b0JBQ1YsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7b0JBQy9DLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7b0JBQ3BFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7b0JBQzdELEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7b0JBQzlELEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7b0JBQy9ELGlCQUFpQjtvQkFDakIsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtvQkFDM0QsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFO29CQUM5RCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7b0JBQzVELEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtvQkFDOUQsZ0JBQWdCO29CQUNoQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7b0JBQzdELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTtvQkFDckUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFO29CQUN6RSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7aUJBQ2xFO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IEh0dHBDbGllbnRUZXN0aW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAvdGVzdGluZyc7XG5pbXBvcnQgeyBSb3V0ZXJUZXN0aW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyL3Rlc3RpbmcnO1xuXG4vLyBNYWxcbmltcG9ydCB7XG4gIEF1dGhQcm9jZXNzU2VydmljZSxcbiAgUmVtb3RlQ29uZmlnU2VydmljZSxcbiAgVWlTZXJ2aWNlLFxuICBGaXJlYmFzZVNlcnZpY2UsXG4gIEFuYWx5dGljc1NlcnZpY2UsXG4gIE1hbExlZ2FsaXlEaWFsb2dVSVByb2lkZXJUb2tlbixcbiAgQ3Jhc2hseXRpY3NTZXJ2aWNlLFxuICBNYWxUb2FzdFVJUHJvdmlkZXJUb2tlbixcbiAgTWFsQWxlcnRzVUlQcm92aWRlclRva2VuLFxuICBNYWxMb2FkaW5nVUlQcm92aWRlclRva2VuLFxuICBQZXJmb3JtYW5jZVNlcnZpY2Vcbn0gZnJvbSAnbmd4LWZpcmViYXNlJztcbmltcG9ydCB7IElBUHVyY2hhc2VTZXJ2aWNlIH0gZnJvbSAnbmd4LWZpcmViYXNlL2lhcCc7XG5cbi8vIElvbmljXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuLy8gVHJhbnNsYXRlXG5pbXBvcnQgeyBUcmFuc2xhdGVGYWtlTG9hZGVyLCBUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG4vLyBBbmd1bGFyIEZpcmVcbmltcG9ydCB7IEFuZ3VsYXJGaXJlUGVyZm9ybWFuY2UgfSBmcm9tICdAYW5ndWxhci9maXJlL3BlcmZvcm1hbmNlJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZUZ1bmN0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlU3RvcmFnZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5cbi8vIEZha2VzXG5pbXBvcnQge1xuICBGYWtlQXV0aFByb2Nlc3NTZXJ2aWNlLFxuICBGYWtlQW5ndWxhckZpcmVQZXJmb3JtYW5jZSxcbiAgRmFrZVJlbW90ZUNvbmZpZ1NlcnZpY2UsXG4gIEZha2VBbmd1bGFyRmlyZXN0b3JlLFxuICBGYWtlQW5ndWxhckZpcmVGdW5jdGlvbnMsXG4gIEZha2VJQVB1cmNoYXNlU2VydmljZSxcbiAgRmFrZUFuZ3VsYXJGaXJlU3RvcmFnZSxcbiAgRmFrZVVpU2VydmljZSxcbiAgRmFrZUZpcmViYXNlU2VydmljZVxufSBmcm9tICcuL2Zha2VzJztcblxuZXhwb3J0IGNvbnN0IE1PRFVMRVMgPSBbXG4gIENvbW1vbk1vZHVsZSxcbiAgSW9uaWNNb2R1bGUsXG4gIE5vb3BBbmltYXRpb25zTW9kdWxlLFxuICBIdHRwQ2xpZW50VGVzdGluZ01vZHVsZSxcbiAgUm91dGVyVGVzdGluZ01vZHVsZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICAuLi5NT0RVTEVTLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgIGxvYWRlcjogeyBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsIHVzZUNsYXNzOiBUcmFuc2xhdGVGYWtlTG9hZGVyIH1cbiAgICB9KVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4uTU9EVUxFUyxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gbWFsIGZha2VzXG4gICAgeyBwcm92aWRlOiBSZW1vdGVDb25maWdTZXJ2aWNlLCB1c2VDbGFzczogRmFrZVJlbW90ZUNvbmZpZ1NlcnZpY2UgfSxcbiAgICB7IHByb3ZpZGU6IEF1dGhQcm9jZXNzU2VydmljZSwgdXNlQ2xhc3M6IEZha2VBdXRoUHJvY2Vzc1NlcnZpY2UgfSxcbiAgICB7IHByb3ZpZGU6IElBUHVyY2hhc2VTZXJ2aWNlLCB1c2VDbGFzczogRmFrZUlBUHVyY2hhc2VTZXJ2aWNlIH0sXG4gICAgLy8gVWlGYWtlc1xuICAgIHsgcHJvdmlkZTogVWlTZXJ2aWNlLCB1c2VDbGFzczogRmFrZVVpU2VydmljZSB9LFxuICAgIHsgcHJvdmlkZTogTWFsTGVnYWxpeURpYWxvZ1VJUHJvaWRlclRva2VuLCB1c2VDbGFzczogRmFrZVVpU2VydmljZSB9LFxuICAgIHsgcHJvdmlkZTogTWFsVG9hc3RVSVByb3ZpZGVyVG9rZW4sIHVzZUNsYXNzOiBGYWtlVWlTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBNYWxBbGVydHNVSVByb3ZpZGVyVG9rZW4sIHVzZUNsYXNzOiBGYWtlVWlTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBNYWxMb2FkaW5nVUlQcm92aWRlclRva2VuLCB1c2VDbGFzczogRmFrZVVpU2VydmljZSB9LFxuICAgIC8vIEZpcmViYXNlIEZha2VzXG4gICAgeyBwcm92aWRlOiBGaXJlYmFzZVNlcnZpY2UsIHVzZUNsYXNzOiBGYWtlRmlyZWJhc2VTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBDcmFzaGx5dGljc1NlcnZpY2UsIHVzZUNsYXNzOiBGYWtlRmlyZWJhc2VTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBBbmFseXRpY3NTZXJ2aWNlLCB1c2VDbGFzczogRmFrZUZpcmViYXNlU2VydmljZSB9LFxuICAgIHsgcHJvdmlkZTogUGVyZm9ybWFuY2VTZXJ2aWNlLCB1c2VDbGFzczogRmFrZUZpcmViYXNlU2VydmljZSB9LFxuICAgIC8vIEBhbmd1bGFyL2ZpcmVcbiAgICB7IHByb3ZpZGU6IEFuZ3VsYXJGaXJlc3RvcmUsIHVzZUNsYXNzOiBGYWtlQW5ndWxhckZpcmVzdG9yZSB9LFxuICAgIHsgcHJvdmlkZTogQW5ndWxhckZpcmVGdW5jdGlvbnMsIHVzZUNsYXNzOiBGYWtlQW5ndWxhckZpcmVGdW5jdGlvbnMgfSxcbiAgICB7IHByb3ZpZGU6IEFuZ3VsYXJGaXJlUGVyZm9ybWFuY2UsIHVzZUNsYXNzOiBGYWtlQW5ndWxhckZpcmVQZXJmb3JtYW5jZSB9LFxuICAgIHsgcHJvdmlkZTogQW5ndWxhckZpcmVTdG9yYWdlLCB1c2VDbGFzczogRmFrZUFuZ3VsYXJGaXJlU3RvcmFnZSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFsVGVzdGluZ01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
export * from './patchConsole';
|
|
3
|
-
import { patchConsole } from './patchConsole';
|
|
4
|
-
export function commonPre() {
|
|
5
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
6
|
-
patchConsole();
|
|
7
|
-
});
|
|
8
|
-
}
|
|
9
|
-
export function commonPost(component) {
|
|
10
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
export function commonTeardown(component) {
|
|
14
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZmlyZWJhc2UvdGVzdGluZy9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE1BQU0sVUFBZ0IsU0FBUzs7UUFDM0IsWUFBWSxFQUFFLENBQUM7SUFDbkIsQ0FBQztDQUFBO0FBRUQsTUFBTSxVQUFnQixVQUFVLENBQUksU0FBOEI7O0lBQ2xFLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBZ0IsY0FBYyxDQUFJLFNBQThCOztJQUN0RSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BhdGNoQ29uc29sZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IHBhdGNoQ29uc29sZSB9IGZyb20gJy4vcGF0Y2hDb25zb2xlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbW1vblByZSgpIHtcbiAgICBwYXRjaENvbnNvbGUoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbW1vblBvc3Q8VD4oY29tcG9uZW50OiBDb21wb25lbnRGaXh0dXJlPFQ+KSB7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb21tb25UZWFyZG93bjxUPihjb21wb25lbnQ6IENvbXBvbmVudEZpeHR1cmU8VD4pIHtcbn1cbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Monkey patch console warn and error to fail if a test makes calls to console.warn or console.error.
|
|
3
|
-
*/
|
|
4
|
-
export function patchConsole() {
|
|
5
|
-
console.warn = (message, ...optionalParams) => {
|
|
6
|
-
const params = optionalParams ? `\nParams: ${optionalParams}` : '';
|
|
7
|
-
fail(`Test contained console warning:\n${message}${params}`);
|
|
8
|
-
};
|
|
9
|
-
console.error = (message, ...optionalParams) => {
|
|
10
|
-
const params = optionalParams ? `\nParams: ${optionalParams}` : '';
|
|
11
|
-
fail(`Test contained console error:\n${message}${params}`);
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hDb25zb2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZpcmViYXNlL3Rlc3Rpbmcvc3JjL3V0aWxzL3BhdGNoQ29uc29sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZO0lBQ3hCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFhLEVBQUUsR0FBRyxjQUFxQixFQUFFLEVBQUU7UUFDdkQsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLG9DQUFvQyxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsT0FBYSxFQUFFLEdBQUcsY0FBcUIsRUFBRSxFQUFFO1FBQ3hELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsYUFBYSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLElBQUksQ0FBQyxrQ0FBa0MsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTW9ua2V5IHBhdGNoIGNvbnNvbGUgd2FybiBhbmQgZXJyb3IgdG8gZmFpbCBpZiBhIHRlc3QgbWFrZXMgY2FsbHMgdG8gY29uc29sZS53YXJuIG9yIGNvbnNvbGUuZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaENvbnNvbGUoKTogdm9pZCB7XG4gICAgY29uc29sZS53YXJuID0gKG1lc3NhZ2U/OiBhbnksIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBvcHRpb25hbFBhcmFtcyA/IGBcXG5QYXJhbXM6ICR7b3B0aW9uYWxQYXJhbXN9YCA6ICcnO1xuICAgICAgICBmYWlsKGBUZXN0IGNvbnRhaW5lZCBjb25zb2xlIHdhcm5pbmc6XFxuJHttZXNzYWdlfSR7cGFyYW1zfWApO1xuICAgIH07XG4gICAgY29uc29sZS5lcnJvciA9IChtZXNzYWdlPzogYW55LCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gb3B0aW9uYWxQYXJhbXMgPyBgXFxuUGFyYW1zOiAke29wdGlvbmFsUGFyYW1zfWAgOiAnJztcbiAgICAgICAgZmFpbChgVGVzdCBjb250YWluZWQgY29uc29sZSBlcnJvcjpcXG4ke21lc3NhZ2V9JHtwYXJhbXN9YCk7XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, ɵɵdefineInjectable, Injectable, ɵɵinject, Inject, forwardRef, NgModule } from '@angular/core';
|
|
2
|
-
import { __awaiter } from 'tslib';
|
|
3
|
-
import { Plugins, Capacitor, WebPluginRegistry, Device } from '@capacitor/core';
|
|
4
|
-
import { firebase } from '@firebase/app';
|
|
5
|
-
import 'firebase/auth';
|
|
6
|
-
import { AuthProvider, FirebaseService, MalSharedConfigToken, MalAnalyticsProviderToken, MalCrashlyticsProviderToken, MalCredentialFactoryProviderToken } from 'ngx-firebase';
|
|
7
|
-
import { v4 } from 'uuid';
|
|
8
|
-
import { sha256 } from 'js-sha256';
|
|
9
|
-
|
|
10
|
-
const MalCapacitorConfigToken = new InjectionToken('MalCapacitorConfigToken');
|
|
11
|
-
|
|
12
|
-
const { FirebaseAnalytics } = Plugins;
|
|
13
|
-
class AnalyticsFirebaseCapacitorService {
|
|
14
|
-
get isWeb() {
|
|
15
|
-
return Capacitor.platform === 'web';
|
|
16
|
-
}
|
|
17
|
-
setUserId(userId) {
|
|
18
|
-
if (!this.isWeb) {
|
|
19
|
-
FirebaseAnalytics.setUserId({ userId });
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
logEvent(name, params = {}) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
if (!this.isWeb) {
|
|
25
|
-
FirebaseAnalytics.logEvent({ name, params });
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
console.log('Firebase Analytics Event (not sent)>', name);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
setScreenName(screenName, screenClass) {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
if (!this.isWeb) {
|
|
35
|
-
yield this.logEvent('screen_view', {
|
|
36
|
-
screen_name: screenName,
|
|
37
|
-
screen_class: screenClass
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
console.log('Firebase Analytics ScreenName (not sent)>', screenName, screenClass);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
AnalyticsFirebaseCapacitorService.ɵprov = ɵɵdefineInjectable({ factory: function AnalyticsFirebaseCapacitorService_Factory() { return new AnalyticsFirebaseCapacitorService(); }, token: AnalyticsFirebaseCapacitorService, providedIn: "root" });
|
|
47
|
-
AnalyticsFirebaseCapacitorService.decorators = [
|
|
48
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
49
|
-
];
|
|
50
|
-
|
|
51
|
-
const { FirebaseCrashlytics } = Plugins;
|
|
52
|
-
class CrashlyticsFirebaseCapacitorService {
|
|
53
|
-
constructor() {
|
|
54
|
-
}
|
|
55
|
-
setUserId(uid) {
|
|
56
|
-
if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {
|
|
57
|
-
FirebaseCrashlytics.setUserId({ userId: uid });
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
recordException(options) {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {
|
|
63
|
-
yield FirebaseCrashlytics.recordException(options);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
console.log('Crashlytics Exception (not sent)>', options.message, options);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
addLogMessage(message) {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {
|
|
73
|
-
yield FirebaseCrashlytics.addLogMessage({ message });
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
console.log('Crashlytics Log (not sent)>', message);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
CrashlyticsFirebaseCapacitorService.ɵprov = ɵɵdefineInjectable({ factory: function CrashlyticsFirebaseCapacitorService_Factory() { return new CrashlyticsFirebaseCapacitorService(); }, token: CrashlyticsFirebaseCapacitorService, providedIn: "root" });
|
|
82
|
-
CrashlyticsFirebaseCapacitorService.decorators = [
|
|
83
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
84
|
-
];
|
|
85
|
-
CrashlyticsFirebaseCapacitorService.ctorParameters = () => [];
|
|
86
|
-
|
|
87
|
-
if (!firebase.auth) {
|
|
88
|
-
throw new Error('firebase.auth is undefined');
|
|
89
|
-
}
|
|
90
|
-
WebPluginRegistry;
|
|
91
|
-
const { Browser, CapacitorFirebaseDynamicLinks, CapacitorFirebaseAuth } = Plugins;
|
|
92
|
-
const fireAuth = firebase.auth;
|
|
93
|
-
class AuthCredentialFactoryCapacitorService {
|
|
94
|
-
constructor(fire, sharedConfig, capConfg) {
|
|
95
|
-
this.fire = fire;
|
|
96
|
-
this.sharedConfig = sharedConfig;
|
|
97
|
-
this.capConfg = capConfg;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Returns true if current platform is webplatform supported by @angular/fire
|
|
101
|
-
*/
|
|
102
|
-
get isWebPlatform() {
|
|
103
|
-
return ['https:', 'http:', 'chrome-extension'].includes(location.protocol);
|
|
104
|
-
}
|
|
105
|
-
deviceSupportsNativeApple() {
|
|
106
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
const deviceInfo = yield Device.getInfo();
|
|
108
|
-
const osMajor = parseInt(deviceInfo.osVersion.split('.')[0], 10);
|
|
109
|
-
if (osMajor >= 13 && Capacitor.platform === 'ios') {
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
else if (Capacitor.platform === 'ios') {
|
|
113
|
-
console.warn('Disabling native-support for signInWithApple as iOS version < 13');
|
|
114
|
-
}
|
|
115
|
-
return false;
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
isProviderSupported(provider) {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
if (this.isWebPlatform) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
switch (provider) {
|
|
124
|
-
case AuthProvider.Apple:
|
|
125
|
-
return !!this.capConfg.signInWithApple || ((yield this.deviceSupportsNativeApple()) && Capacitor.isPluginAvailable('CapacitorFirebaseAuth'));
|
|
126
|
-
case AuthProvider.Google:
|
|
127
|
-
case AuthProvider.Facebook:
|
|
128
|
-
case AuthProvider.Twitter:
|
|
129
|
-
return Capacitor.isPluginAvailable('CapacitorFirebaseAuth');
|
|
130
|
-
default:
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
getCredential(provider) {
|
|
136
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
if (!this.isProviderSupported(provider)) {
|
|
138
|
-
throw new Error(`Provider ${provider} is not supported on this platform`);
|
|
139
|
-
}
|
|
140
|
-
if (!CapacitorFirebaseAuth) {
|
|
141
|
-
throw new Error(`CapacitorFirebaseAuth plugin not available`);
|
|
142
|
-
}
|
|
143
|
-
switch (provider) {
|
|
144
|
-
case AuthProvider.Google: {
|
|
145
|
-
const googleAuthProvider = new fireAuth.GoogleAuthProvider();
|
|
146
|
-
this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);
|
|
147
|
-
const googleRes = yield CapacitorFirebaseAuth.signIn({ providerId: googleAuthProvider.providerId });
|
|
148
|
-
if (googleRes.idToken) {
|
|
149
|
-
this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);
|
|
150
|
-
return fireAuth.GoogleAuthProvider.credential(googleRes.idToken);
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
return null;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
case AuthProvider.Facebook: {
|
|
157
|
-
const facebookAuthProvider = new fireAuth.FacebookAuthProvider();
|
|
158
|
-
this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);
|
|
159
|
-
const facebookRes = yield CapacitorFirebaseAuth.signIn({ providerId: facebookAuthProvider.providerId });
|
|
160
|
-
if (facebookRes.idToken) {
|
|
161
|
-
this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);
|
|
162
|
-
return fireAuth.FacebookAuthProvider.credential(facebookRes.idToken);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
return null;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
case AuthProvider.Apple: {
|
|
169
|
-
if (yield this.deviceSupportsNativeApple()) {
|
|
170
|
-
const appleAuthProvider = new fireAuth.OAuthProvider('apple.com');
|
|
171
|
-
this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);
|
|
172
|
-
const appleRes = yield CapacitorFirebaseAuth.signIn({ providerId: appleAuthProvider.providerId });
|
|
173
|
-
if (appleRes.idToken) {
|
|
174
|
-
this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);
|
|
175
|
-
return appleAuthProvider.credential(appleRes);
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
return null;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
else if (this.capConfg.signInWithApple) {
|
|
182
|
-
const signInConfig = this.capConfg.signInWithApple;
|
|
183
|
-
return yield new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
184
|
-
const nonce = v4();
|
|
185
|
-
const deepLinkHandler = CapacitorFirebaseDynamicLinks.addListener('deepLinkOpen', (data) => __awaiter(this, void 0, void 0, function* () {
|
|
186
|
-
if (data.url && data.url.startsWith(signInConfig.redirectDeekLink)) {
|
|
187
|
-
const params = new URLSearchParams(new URL(data.url).search);
|
|
188
|
-
const idToken = params.get('id_token');
|
|
189
|
-
const error = params.get('error');
|
|
190
|
-
deepLinkHandler.remove();
|
|
191
|
-
browserCloseHandler.remove();
|
|
192
|
-
yield Browser.close();
|
|
193
|
-
if (idToken && !error) {
|
|
194
|
-
const appleAuthProvider = new fireAuth.OAuthProvider('apple.com');
|
|
195
|
-
resolve(appleAuthProvider.credential({ idToken, rawNonce: nonce }));
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
reject(error);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}));
|
|
202
|
-
const browserCloseHandler = Browser.addListener('browserFinished', (data) => __awaiter(this, void 0, void 0, function* () {
|
|
203
|
-
// handle user close of browser (i.e. cancel operation)
|
|
204
|
-
deepLinkHandler.remove();
|
|
205
|
-
browserCloseHandler.remove();
|
|
206
|
-
resolve(null);
|
|
207
|
-
}));
|
|
208
|
-
yield Browser.open({
|
|
209
|
-
url: `${signInConfig.authUrl || 'http://appleid.apple.com/auth/authorize'}`
|
|
210
|
-
+ `?nonce=${encodeURIComponent(sha256(nonce))}`
|
|
211
|
-
+ `&client_id=${encodeURIComponent(signInConfig.clientId)}`
|
|
212
|
-
+ `&redirect_uri=${encodeURIComponent(signInConfig.redirectUrl)}`
|
|
213
|
-
+ `&response_type=code%20id_token&response_mode=form_post`
|
|
214
|
-
});
|
|
215
|
-
}));
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
case AuthProvider.Twitter: {
|
|
219
|
-
const twitterAuthProvider = new fireAuth.TwitterAuthProvider();
|
|
220
|
-
this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);
|
|
221
|
-
const twitterRes = yield CapacitorFirebaseAuth.signIn({ providerId: twitterAuthProvider.providerId });
|
|
222
|
-
if (twitterRes.idToken && twitterRes.secret) {
|
|
223
|
-
this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);
|
|
224
|
-
return fireAuth.TwitterAuthProvider.credential(twitterRes.idToken, twitterRes.secret);
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
default:
|
|
231
|
-
this.fire.addLogMessage(`Attempting unsupported native provider; provider=${provider}`);
|
|
232
|
-
throw new Error(`${provider} is not available as a credential provider for this platform`);
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
signOut() {
|
|
237
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
238
|
-
if (CapacitorFirebaseAuth) {
|
|
239
|
-
this.fire.addLogMessage('signOut using CapacitorFirebaseAuth');
|
|
240
|
-
yield CapacitorFirebaseAuth.signOut({});
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
AuthCredentialFactoryCapacitorService.ɵprov = ɵɵdefineInjectable({ factory: function AuthCredentialFactoryCapacitorService_Factory() { return new AuthCredentialFactoryCapacitorService(ɵɵinject(FirebaseService), ɵɵinject(MalSharedConfigToken), ɵɵinject(MalCapacitorConfigToken)); }, token: AuthCredentialFactoryCapacitorService, providedIn: "root" });
|
|
246
|
-
AuthCredentialFactoryCapacitorService.decorators = [
|
|
247
|
-
{ type: Injectable, args: [{
|
|
248
|
-
providedIn: 'root'
|
|
249
|
-
},] }
|
|
250
|
-
];
|
|
251
|
-
AuthCredentialFactoryCapacitorService.ctorParameters = () => [
|
|
252
|
-
{ type: FirebaseService },
|
|
253
|
-
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => MalSharedConfigToken),] }] },
|
|
254
|
-
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => MalCapacitorConfigToken),] }] }
|
|
255
|
-
];
|
|
256
|
-
|
|
257
|
-
// @angular/*
|
|
258
|
-
class MalCapacitorModule {
|
|
259
|
-
static forRoot(config) {
|
|
260
|
-
return {
|
|
261
|
-
ngModule: MalCapacitorModule,
|
|
262
|
-
providers: [
|
|
263
|
-
{
|
|
264
|
-
provide: MalCapacitorConfigToken,
|
|
265
|
-
useValue: config
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
provide: MalAnalyticsProviderToken,
|
|
269
|
-
useFactory: analyticsProviderFactory,
|
|
270
|
-
deps: [MalSharedConfigToken]
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
provide: MalCrashlyticsProviderToken,
|
|
274
|
-
useFactory: crashlyticsProviderFactory,
|
|
275
|
-
deps: [MalSharedConfigToken]
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
provide: MalCredentialFactoryProviderToken,
|
|
279
|
-
useFactory: credFactoryProviderFactory,
|
|
280
|
-
deps: [FirebaseService, MalSharedConfigToken, MalCapacitorConfigToken]
|
|
281
|
-
}
|
|
282
|
-
]
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
MalCapacitorModule.decorators = [
|
|
287
|
-
{ type: NgModule }
|
|
288
|
-
];
|
|
289
|
-
function analyticsProviderFactory(config) {
|
|
290
|
-
if (config.services.firebaseAnalytics) {
|
|
291
|
-
if (Capacitor.platform === 'web') {
|
|
292
|
-
console.info('Unable to instantiate firebaseeAnalytics, Capacitor plugin not supported on web platforn.');
|
|
293
|
-
}
|
|
294
|
-
else if (Capacitor.isPluginAvailable('FirebaseAnalytics')) {
|
|
295
|
-
return new AnalyticsFirebaseCapacitorService();
|
|
296
|
-
}
|
|
297
|
-
else {
|
|
298
|
-
console.info('Unable to instantiate firebaseeAnalytics, Capacitor plugin is not available');
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
return null;
|
|
302
|
-
}
|
|
303
|
-
function crashlyticsProviderFactory(config) {
|
|
304
|
-
if (true === config.services.firebaseCrashlytics) {
|
|
305
|
-
if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {
|
|
306
|
-
return new CrashlyticsFirebaseCapacitorService();
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
console.info('Unable to instantiate FirebaseCrashlytics, Capacitor plugin is not available');
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
return null;
|
|
313
|
-
}
|
|
314
|
-
function credFactoryProviderFactory(fire, sharedConfig, capConfig) {
|
|
315
|
-
if (Capacitor.isNative) {
|
|
316
|
-
return new AuthCredentialFactoryCapacitorService(fire, sharedConfig, capConfig);
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
return null;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
/**
|
|
324
|
-
* Generated bundle index. Do not edit.
|
|
325
|
-
*/
|
|
326
|
-
|
|
327
|
-
export { AnalyticsFirebaseCapacitorService, AuthCredentialFactoryCapacitorService, CrashlyticsFirebaseCapacitorService, MalCapacitorConfigToken, MalCapacitorModule, analyticsProviderFactory, crashlyticsProviderFactory, credFactoryProviderFactory, MalCapacitorConfigToken as ɵa };
|
|
328
|
-
//# sourceMappingURL=ngx-firebase-capacitor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-firebase-capacitor.js","sources":["../../../projects/ngx-firebase/capacitor/src/interfaces/config.ts","../../../projects/ngx-firebase/capacitor/src/services/analytics-firebase-capacitor.service.ts","../../../projects/ngx-firebase/capacitor/src/services/crashlytics-firebase-capacitor.service.ts","../../../projects/ngx-firebase/capacitor/src/services/credential-factory-capacitor.service.ts","../../../projects/ngx-firebase/capacitor/src/capacitor.module.ts","../../../projects/ngx-firebase/capacitor/src/ngx-firebase-capacitor.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\nexport interface MalSignInWithAppleConfig {\n authUrl?: string;\n redirectUrl: string;\n redirectDeekLink: string;\n scopes?: string;\n clientId: string;\n}\n\nexport interface MalCapacitorConfig {\n signInWithApple?: MalSignInWithAppleConfig;\n}\n\nexport const MalCapacitorConfigToken = new InjectionToken<MalCapacitorConfig>('MalCapacitorConfigToken');","import { Plugins, Capacitor } from '@capacitor/core';\nimport { Injectable } from '@angular/core';\nimport { IAnalyticsProvider } from 'ngx-firebase';\nconst { FirebaseAnalytics } = Plugins;\n\n@Injectable({ providedIn: 'root' })\nexport class AnalyticsFirebaseCapacitorService implements IAnalyticsProvider {\n\n get isWeb(): boolean {\n return Capacitor.platform === 'web';\n }\n\n setUserId(userId: string | null) {\n if (!this.isWeb) {\n FirebaseAnalytics.setUserId({ userId });\n }\n }\n\n async logEvent(name: string, params: { [key: string]: any } = {}) {\n if (!this.isWeb) {\n FirebaseAnalytics.logEvent({ name, params });\n } else {\n console.log('Firebase Analytics Event (not sent)>', name);\n }\n }\n\n async setScreenName(screenName: string, screenClass?: string) {\n if (!this.isWeb) {\n await this.logEvent('screen_view', {\n screen_name: screenName,\n screen_class: screenClass\n });\n } else {\n console.log('Firebase Analytics ScreenName (not sent)>', screenName, screenClass);\n }\n }\n\n}\n","import { Plugins, Capacitor } from '@capacitor/core';\nimport { iOSException, AndroidException } from '@capacitor-community/firebase-crashlytics';\nimport { Injectable } from '@angular/core';\nimport { ICrashlyticsProvider } from 'ngx-firebase';\nconst { FirebaseCrashlytics } = Plugins;\n\n@Injectable({ providedIn: 'root' })\nexport class CrashlyticsFirebaseCapacitorService implements ICrashlyticsProvider {\n\n constructor(\n ) {\n }\n\n setUserId(uid: string | null) {\n if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {\n FirebaseCrashlytics.setUserId({ userId: uid });\n }\n }\n\n async recordException(options: iOSException | AndroidException) {\n if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {\n await FirebaseCrashlytics.recordException(options);\n } else {\n console.log('Crashlytics Exception (not sent)>', options.message, options);\n }\n }\n\n async addLogMessage(message: string) {\n if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {\n await FirebaseCrashlytics.addLogMessage({ message });\n } else {\n console.log('Crashlytics Log (not sent)>', message);\n }\n }\n\n}\n","import { forwardRef, Inject, Injectable } from '@angular/core';\nimport { firebase } from '@firebase/app';\nimport 'firebase/auth';\nimport { AuthCredential } from '@firebase/auth-types';\nif (!firebase.auth) {\n throw new Error('firebase.auth is undefined');\n}\nimport { GoogleSignInResult, FacebookSignInResult, TwitterSignInResult, AppleSignInResult } from 'capacitor-firebase-auth';\nimport { Plugins, Capacitor, Device, PluginListenerHandle, WebPluginRegistry } from '@capacitor/core';\nimport { AuthProvider, ICredentialFactoryProvider, FirebaseService, MalSharedConfig, MalSharedConfigToken } from 'ngx-firebase';\nimport { MalCapacitorConfig, MalCapacitorConfigToken } from '../interfaces';\nimport { v4 as uuid } from 'uuid';\nimport { sha256 } from 'js-sha256';\n\nWebPluginRegistry\n\nconst { Browser, CapacitorFirebaseDynamicLinks, CapacitorFirebaseAuth } = Plugins;\nconst fireAuth = firebase.auth;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthCredentialFactoryCapacitorService implements ICredentialFactoryProvider {\n\n /**\n * Returns true if current platform is webplatform supported by @angular/fire\n */\n get isWebPlatform(): boolean {\n return ['https:', 'http:', 'chrome-extension'].includes(location.protocol);\n }\n\n constructor(\n private fire: FirebaseService,\n @Inject(forwardRef(() => MalSharedConfigToken)) public sharedConfig: MalSharedConfig,\n @Inject(forwardRef(() => MalCapacitorConfigToken)) public capConfg: MalCapacitorConfig,\n ) {\n }\n\n private async deviceSupportsNativeApple(): Promise<boolean> {\n const deviceInfo = await Device.getInfo();\n const osMajor = parseInt(deviceInfo.osVersion.split('.')[0], 10);\n if (osMajor >= 13 && Capacitor.platform === 'ios') {\n return true\n } else if (Capacitor.platform === 'ios') {\n console.warn('Disabling native-support for signInWithApple as iOS version < 13');\n }\n return false;\n }\n\n public async isProviderSupported(provider: AuthProvider): Promise<boolean> {\n if (this.isWebPlatform) {\n return false;\n }\n switch (provider) {\n case AuthProvider.Apple:\n return !!this.capConfg.signInWithApple || (await this.deviceSupportsNativeApple() && Capacitor.isPluginAvailable('CapacitorFirebaseAuth'));\n\n case AuthProvider.Google:\n case AuthProvider.Facebook:\n case AuthProvider.Twitter:\n return Capacitor.isPluginAvailable('CapacitorFirebaseAuth');\n\n default:\n return false;\n }\n }\n\n public async getCredential(provider: AuthProvider): Promise<AuthCredential | null> {\n if (!this.isProviderSupported(provider)) {\n throw new Error(`Provider ${provider} is not supported on this platform`);\n }\n if (!CapacitorFirebaseAuth) {\n throw new Error(`CapacitorFirebaseAuth plugin not available`);\n }\n\n switch (provider) {\n\n case AuthProvider.Google: {\n const googleAuthProvider = new fireAuth.GoogleAuthProvider();\n this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);\n const googleRes: GoogleSignInResult\n = await CapacitorFirebaseAuth.signIn({ providerId: googleAuthProvider.providerId }) as GoogleSignInResult;\n if (googleRes.idToken) {\n this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);\n return fireAuth.GoogleAuthProvider.credential(googleRes.idToken);\n } else {\n return null;\n }\n }\n\n case AuthProvider.Facebook: {\n const facebookAuthProvider = new fireAuth.FacebookAuthProvider();\n this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);\n const facebookRes: FacebookSignInResult\n = await CapacitorFirebaseAuth.signIn({ providerId: facebookAuthProvider.providerId }) as FacebookSignInResult;\n if (facebookRes.idToken) {\n this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);\n return fireAuth.FacebookAuthProvider.credential(facebookRes.idToken);\n } else {\n return null;\n }\n }\n\n case AuthProvider.Apple: {\n if (await this.deviceSupportsNativeApple()) {\n const appleAuthProvider = new fireAuth.OAuthProvider('apple.com');\n this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);\n const appleRes: AppleSignInResult\n = await CapacitorFirebaseAuth.signIn({ providerId: appleAuthProvider.providerId }) as AppleSignInResult;\n if (appleRes.idToken) {\n this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);\n return appleAuthProvider.credential(appleRes);\n } else {\n return null;\n }\n } else if (this.capConfg.signInWithApple) {\n const signInConfig = this.capConfg.signInWithApple;\n return await new Promise<AuthCredential | null>(async (resolve, reject) => {\n const nonce = uuid();\n const deepLinkHandler: PluginListenerHandle = CapacitorFirebaseDynamicLinks.addListener('deepLinkOpen', async (data: { url: string }) => {\n if (data.url && data.url.startsWith(signInConfig.redirectDeekLink)) {\n const params = new URLSearchParams(new URL(data.url).search);\n const idToken = params.get('id_token');\n const error = params.get('error');\n deepLinkHandler.remove();\n browserCloseHandler.remove();\n await Browser.close();\n if (idToken && !error) {\n const appleAuthProvider = new fireAuth.OAuthProvider('apple.com');\n resolve(appleAuthProvider.credential({ idToken, rawNonce: nonce }));\n } else {\n reject(error);\n }\n }\n });\n const browserCloseHandler: PluginListenerHandle = Browser.addListener('browserFinished', async (data: any) => {\n // handle user close of browser (i.e. cancel operation)\n deepLinkHandler.remove();\n browserCloseHandler.remove();\n resolve(null);\n });\n await Browser.open({\n url: `${signInConfig.authUrl || 'http://appleid.apple.com/auth/authorize'}`\n + `?nonce=${encodeURIComponent(sha256(nonce))}`\n + `&client_id=${encodeURIComponent(signInConfig.clientId)}`\n + `&redirect_uri=${encodeURIComponent(signInConfig.redirectUrl)}`\n + `&response_type=code%20id_token&response_mode=form_post`\n });\n });\n }\n }\n\n case AuthProvider.Twitter: {\n const twitterAuthProvider = new fireAuth.TwitterAuthProvider();\n this.fire.addLogMessage(`signIn using CapacitorFirebaseAuth; provider=${provider}`);\n const twitterRes: TwitterSignInResult\n = await CapacitorFirebaseAuth.signIn({ providerId: twitterAuthProvider.providerId }) as TwitterSignInResult;\n if (twitterRes.idToken && twitterRes.secret) {\n this.fire.addLogMessage(`Creating credential using firebase; provider=${provider}`);\n return fireAuth.TwitterAuthProvider.credential(twitterRes.idToken, twitterRes.secret);\n } else {\n return null;\n }\n }\n\n default:\n this.fire.addLogMessage(`Attempting unsupported native provider; provider=${provider}`);\n throw new Error(`${provider} is not available as a credential provider for this platform`);\n\n }\n }\n\n public async signOut() {\n if (CapacitorFirebaseAuth) {\n this.fire.addLogMessage('signOut using CapacitorFirebaseAuth');\n await CapacitorFirebaseAuth.signOut({});\n }\n }\n\n}\n","// @angular/*\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\n// Configuration\nimport {\n IAnalyticsProvider, ICrashlyticsProvider, ICredentialFactoryProvider,\n MalSharedConfig, FirebaseService,\n MalCredentialFactoryProviderToken, MalSharedConfigToken, MalAnalyticsProviderToken, MalCrashlyticsProviderToken\n} from 'ngx-firebase';\n\n// Capacitor\nimport { Capacitor } from '@capacitor/core';\n\n// Guards\n\n// Components\n\n// services\nimport { AnalyticsFirebaseCapacitorService } from './services/analytics-firebase-capacitor.service';\nimport { CrashlyticsFirebaseCapacitorService } from './services/crashlytics-firebase-capacitor.service';\nimport { AuthCredentialFactoryCapacitorService } from './services/credential-factory-capacitor.service';\nimport { MalCapacitorConfig, MalCapacitorConfigToken } from './interfaces';\n\n@NgModule()\nexport class MalCapacitorModule {\n\n static forRoot(config: MalCapacitorConfig): ModuleWithProviders<MalCapacitorModule> {\n return {\n ngModule: MalCapacitorModule,\n providers:\n [\n {\n provide: MalCapacitorConfigToken,\n useValue: config\n },\n {\n provide: MalAnalyticsProviderToken,\n useFactory: analyticsProviderFactory,\n deps: [MalSharedConfigToken]\n },\n {\n provide: MalCrashlyticsProviderToken,\n useFactory: crashlyticsProviderFactory,\n deps: [MalSharedConfigToken]\n },\n {\n provide: MalCredentialFactoryProviderToken,\n useFactory: credFactoryProviderFactory,\n deps: [FirebaseService, MalSharedConfigToken, MalCapacitorConfigToken]\n }\n ]\n }\n }\n}\n\nexport function analyticsProviderFactory(config: MalSharedConfig): IAnalyticsProvider | null {\n if (config.services.firebaseAnalytics) {\n if (Capacitor.platform === 'web') {\n console.info('Unable to instantiate firebaseeAnalytics, Capacitor plugin not supported on web platforn.');\n } else if (Capacitor.isPluginAvailable('FirebaseAnalytics')) {\n return new AnalyticsFirebaseCapacitorService();\n } else {\n console.info('Unable to instantiate firebaseeAnalytics, Capacitor plugin is not available');\n }\n }\n return null;\n}\n\nexport function crashlyticsProviderFactory(config: MalSharedConfig): ICrashlyticsProvider | null {\n if (true === config.services.firebaseCrashlytics) {\n if (Capacitor.isPluginAvailable('FirebaseCrashlytics')) {\n return new CrashlyticsFirebaseCapacitorService();\n } else {\n console.info('Unable to instantiate FirebaseCrashlytics, Capacitor plugin is not available');\n }\n }\n return null;\n}\n\nexport function credFactoryProviderFactory(fire: FirebaseService, sharedConfig: MalSharedConfig, capConfig: MalCapacitorConfig): ICredentialFactoryProvider | null {\n if (Capacitor.isNative) {\n return new AuthCredentialFactoryCapacitorService(fire, sharedConfig, capConfig);\n } else {\n return null;\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MalCapacitorConfigToken as ɵa} from './interfaces';"],"names":["uuid"],"mappings":"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"}
|