@infrab4a/connect-angular 0.13.3 → 0.14.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.
Files changed (73) hide show
  1. package/{lib/angular-connect.module.d.ts → angular-connect.module.d.ts} +5 -2
  2. package/angular-elastic-search.module.d.ts +9 -0
  3. package/{lib/angular-firestore.module.d.ts → angular-firestore.module.d.ts} +7 -2
  4. package/bundles/infrab4a-connect-angular.umd.js +52 -12
  5. package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
  6. package/consts/es-config.const.d.ts +1 -0
  7. package/{lib/consts → consts}/index.d.ts +1 -0
  8. package/esm2015/angular-connect.module.js +47 -0
  9. package/esm2015/angular-elastic-search.module.js +38 -0
  10. package/esm2015/angular-firebase-auth.module.js +113 -0
  11. package/esm2015/angular-firestore.module.js +340 -0
  12. package/esm2015/consts/default-shop.const.js +2 -0
  13. package/esm2015/consts/es-config.const.js +2 -0
  14. package/esm2015/consts/index.js +3 -0
  15. package/esm2015/index.js +5 -0
  16. package/esm2015/infrab4a-connect-angular.js +2 -2
  17. package/esm2015/services/auth.service.js +42 -0
  18. package/esm2015/services/cart.service.js +166 -0
  19. package/esm2015/services/checkout-subscription.service.js +68 -0
  20. package/esm2015/services/checkout.service.js +79 -0
  21. package/esm2015/services/coupon.service.js +70 -0
  22. package/esm2015/services/errors/group-invalid-coupon.error.js +7 -0
  23. package/esm2015/services/errors/index.js +3 -0
  24. package/esm2015/services/errors/invalid-coupon.error.js +7 -0
  25. package/esm2015/services/home-shop.service.js +108 -0
  26. package/esm2015/services/index.js +8 -0
  27. package/esm2015/services/order.service.js +32 -0
  28. package/esm2015/services/types/index.js +3 -0
  29. package/esm2015/services/types/required-checkout-data.type.js +2 -0
  30. package/esm2015/services/types/required-checkout-subscription-data.type.js +2 -0
  31. package/fesm2015/infrab4a-connect-angular.js +52 -14
  32. package/fesm2015/infrab4a-connect-angular.js.map +1 -1
  33. package/infrab4a-connect-angular.d.ts +1 -1
  34. package/package.json +2 -2
  35. package/esm2015/lib/angular-connect.module.js +0 -46
  36. package/esm2015/lib/angular-firebase-auth.module.js +0 -113
  37. package/esm2015/lib/angular-firestore.module.js +0 -337
  38. package/esm2015/lib/consts/default-shop.const.js +0 -2
  39. package/esm2015/lib/consts/index.js +0 -2
  40. package/esm2015/lib/index.js +0 -5
  41. package/esm2015/lib/services/auth.service.js +0 -42
  42. package/esm2015/lib/services/cart.service.js +0 -166
  43. package/esm2015/lib/services/checkout-subscription.service.js +0 -68
  44. package/esm2015/lib/services/checkout.service.js +0 -79
  45. package/esm2015/lib/services/coupon.service.js +0 -70
  46. package/esm2015/lib/services/errors/group-invalid-coupon.error.js +0 -7
  47. package/esm2015/lib/services/errors/index.js +0 -3
  48. package/esm2015/lib/services/errors/invalid-coupon.error.js +0 -7
  49. package/esm2015/lib/services/home-shop.service.js +0 -108
  50. package/esm2015/lib/services/index.js +0 -8
  51. package/esm2015/lib/services/order.service.js +0 -32
  52. package/esm2015/lib/services/types/index.js +0 -3
  53. package/esm2015/lib/services/types/required-checkout-data.type.js +0 -2
  54. package/esm2015/lib/services/types/required-checkout-subscription-data.type.js +0 -2
  55. package/esm2015/public-api.js +0 -2
  56. package/public-api.d.ts +0 -1
  57. /package/{lib/angular-firebase-auth.module.d.ts → angular-firebase-auth.module.d.ts} +0 -0
  58. /package/{lib/consts → consts}/default-shop.const.d.ts +0 -0
  59. /package/{lib/index.d.ts → index.d.ts} +0 -0
  60. /package/{lib/services → services}/auth.service.d.ts +0 -0
  61. /package/{lib/services → services}/cart.service.d.ts +0 -0
  62. /package/{lib/services → services}/checkout-subscription.service.d.ts +0 -0
  63. /package/{lib/services → services}/checkout.service.d.ts +0 -0
  64. /package/{lib/services → services}/coupon.service.d.ts +0 -0
  65. /package/{lib/services → services}/errors/group-invalid-coupon.error.d.ts +0 -0
  66. /package/{lib/services → services}/errors/index.d.ts +0 -0
  67. /package/{lib/services → services}/errors/invalid-coupon.error.d.ts +0 -0
  68. /package/{lib/services → services}/home-shop.service.d.ts +0 -0
  69. /package/{lib/services → services}/index.d.ts +0 -0
  70. /package/{lib/services → services}/order.service.d.ts +0 -0
  71. /package/{lib/services → services}/types/index.d.ts +0 -0
  72. /package/{lib/services → services}/types/required-checkout-data.type.d.ts +0 -0
  73. /package/{lib/services → services}/types/required-checkout-subscription-data.type.d.ts +0 -0
@@ -0,0 +1,38 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AxiosAdapter, ProductsIndex } from '@infrab4a/connect';
3
+ import { ES_CONFIG } from './consts/es-config.const';
4
+ import * as i0 from "@angular/core";
5
+ export class AngularElasticSeachModule {
6
+ static initializeApp(options) {
7
+ return {
8
+ ngModule: AngularElasticSeachModule,
9
+ providers: [{ provide: ES_CONFIG, useValue: options }],
10
+ };
11
+ }
12
+ }
13
+ AngularElasticSeachModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ AngularElasticSeachModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule });
15
+ AngularElasticSeachModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule, providers: [
16
+ {
17
+ provide: ProductsIndex,
18
+ useFactory: (configuration) => {
19
+ return new ProductsIndex(new AxiosAdapter(configuration));
20
+ },
21
+ deps: [ES_CONFIG],
22
+ },
23
+ ] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ providers: [
28
+ {
29
+ provide: ProductsIndex,
30
+ useFactory: (configuration) => {
31
+ return new ProductsIndex(new AxiosAdapter(configuration));
32
+ },
33
+ deps: [ES_CONFIG],
34
+ },
35
+ ],
36
+ }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBNEIsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFhcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWlDO1FBQ3BELE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDdkQsQ0FBQTtJQUNILENBQUM7O3VIQU5VLHlCQUF5Qjt3SEFBekIseUJBQXlCO3dIQUF6Qix5QkFBeUIsYUFWekI7UUFDVDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxDQUFDLGFBQXVDLEVBQWlCLEVBQUU7Z0JBQ3JFLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtZQUMzRCxDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ2xCO0tBQ0Y7NEZBRVUseUJBQXlCO2tCQVhyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBaUIsRUFBRTtnQ0FDckUsT0FBTyxJQUFJLGFBQWEsQ0FBQyxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBOzRCQUMzRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQzt5QkFDbEI7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsIEF4aW9zQWRhcHRlciwgUHJvZHVjdHNJbmRleCB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBFU19DT05GSUcgfSBmcm9tICcuL2NvbnN0cy9lcy1jb25maWcuY29uc3QnXG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RzSW5kZXgsXG4gICAgICB1c2VGYWN0b3J5OiAoY29uZmlndXJhdGlvbjogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnKTogUHJvZHVjdHNJbmRleCA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdHNJbmRleChuZXcgQXhpb3NBZGFwdGVyKGNvbmZpZ3VyYXRpb24pKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtFU19DT05GSUddLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGUge1xuICBzdGF0aWMgaW5pdGlhbGl6ZUFwcChvcHRpb25zOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJFbGFzdGljU2VhY2hNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEVTX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMgfV0sXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,113 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AngularFireModule, FIREBASE_APP_NAME, FIREBASE_OPTIONS, } from '@angular/fire';
3
+ import { AngularFireAuth } from '@angular/fire/auth';
4
+ import { Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, } from '@infrab4a/connect';
5
+ import * as i0 from "@angular/core";
6
+ export class AngularFirebaseAuthModule {
7
+ static initializeApp(options, nameOrConfig) {
8
+ return {
9
+ ngModule: AngularFirebaseAuthModule,
10
+ providers: [
11
+ { provide: FIREBASE_OPTIONS, useValue: options },
12
+ { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
13
+ ],
14
+ };
15
+ }
16
+ }
17
+ AngularFirebaseAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ AngularFirebaseAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirebaseAuthModule, imports: [AngularFireModule] });
19
+ AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
20
+ {
21
+ provide: 'Authentication',
22
+ useFactory: (authenticationService, userRepository) => {
23
+ return new Authentication(authenticationService, userRepository);
24
+ },
25
+ deps: ['AuthenticationService', 'UserRepository'],
26
+ },
27
+ {
28
+ provide: 'AuthenticationService',
29
+ useFactory: (angularFireAuth) => {
30
+ return new AuthenticationFirebaseAuthService(angularFireAuth);
31
+ },
32
+ deps: [AngularFireAuth],
33
+ },
34
+ {
35
+ provide: 'Register',
36
+ useFactory: (registerService, userRepository) => {
37
+ return new Register(registerService, userRepository);
38
+ },
39
+ deps: ['RegisterService', 'UserRepository'],
40
+ },
41
+ {
42
+ provide: 'RegisterService',
43
+ useFactory: (angularFireAuth) => {
44
+ return new RegisterFirebaseAuthService(angularFireAuth);
45
+ },
46
+ deps: [AngularFireAuth],
47
+ },
48
+ {
49
+ provide: 'SignOut',
50
+ useFactory: (authenticationService) => {
51
+ return new SignOut(authenticationService);
52
+ },
53
+ deps: ['AuthenticationService'],
54
+ },
55
+ {
56
+ provide: 'RecoveryPassword',
57
+ useFactory: (authenticationService) => {
58
+ return new RecoveryPassword(authenticationService);
59
+ },
60
+ deps: ['AuthenticationService'],
61
+ },
62
+ ], imports: [[AngularFireModule]] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
64
+ type: NgModule,
65
+ args: [{
66
+ imports: [AngularFireModule],
67
+ providers: [
68
+ {
69
+ provide: 'Authentication',
70
+ useFactory: (authenticationService, userRepository) => {
71
+ return new Authentication(authenticationService, userRepository);
72
+ },
73
+ deps: ['AuthenticationService', 'UserRepository'],
74
+ },
75
+ {
76
+ provide: 'AuthenticationService',
77
+ useFactory: (angularFireAuth) => {
78
+ return new AuthenticationFirebaseAuthService(angularFireAuth);
79
+ },
80
+ deps: [AngularFireAuth],
81
+ },
82
+ {
83
+ provide: 'Register',
84
+ useFactory: (registerService, userRepository) => {
85
+ return new Register(registerService, userRepository);
86
+ },
87
+ deps: ['RegisterService', 'UserRepository'],
88
+ },
89
+ {
90
+ provide: 'RegisterService',
91
+ useFactory: (angularFireAuth) => {
92
+ return new RegisterFirebaseAuthService(angularFireAuth);
93
+ },
94
+ deps: [AngularFireAuth],
95
+ },
96
+ {
97
+ provide: 'SignOut',
98
+ useFactory: (authenticationService) => {
99
+ return new SignOut(authenticationService);
100
+ },
101
+ deps: ['AuthenticationService'],
102
+ },
103
+ {
104
+ provide: 'RecoveryPassword',
105
+ useFactory: (authenticationService) => {
106
+ return new RecoveryPassword(authenticationService);
107
+ },
108
+ deps: ['AuthenticationService'],
109
+ },
110
+ ],
111
+ }]
112
+ }] });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FHakIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3BELE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUNBQWlDLEVBRWpDLFFBQVEsRUFFUiwyQkFBMkIsRUFDM0IsT0FBTyxFQUVQLGdCQUFnQixHQUNqQixNQUFNLG1CQUFtQixDQUFBOztBQWlEMUIsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUNsQixPQUF3QixFQUN4QixZQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtnQkFDaEQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTthQUN2RDtTQUNGLENBQUE7SUFDSCxDQUFDOzt1SEFaVSx5QkFBeUI7d0hBQXpCLHlCQUF5QixZQTlDMUIsaUJBQWlCO3dIQThDaEIseUJBQXlCLGFBN0N6QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBRSxjQUE4QixFQUFrQixFQUFFO2dCQUMzRyxPQUFPLElBQUksY0FBYyxDQUFDLHFCQUFxQixFQUFFLGNBQWMsQ0FBQyxDQUFBO1lBQ2xFLENBQUM7WUFDRCxJQUFJ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M0MsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzt5QkFDaEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsVUFBVSxFQUFFLENBQUMscUJBQTRDLEVBQW9CLEVBQUU7Z0NBQzdFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBOzRCQUNwRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLHVCQUF1QixDQUFDO3lCQUNoQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEFuZ3VsYXJGaXJlTW9kdWxlLFxuICBGSVJFQkFTRV9BUFBfTkFNRSxcbiAgRklSRUJBU0VfT1BUSU9OUyxcbiAgRmlyZWJhc2VBcHBDb25maWcsXG4gIEZpcmViYXNlT3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZSdcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQXV0aCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCdcbmltcG9ydCB7XG4gIEF1dGhlbnRpY2F0aW9uLFxuICBBdXRoZW50aWNhdGlvbkZpcmViYXNlQXV0aFNlcnZpY2UsXG4gIEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgUmVnaXN0ZXIsXG4gIFJlZ2lzdGVyU2VydmljZSxcbiAgUmVnaXN0ZXJGaXJlYmFzZUF1dGhTZXJ2aWNlLFxuICBTaWduT3V0LFxuICBVc2VyUmVwb3NpdG9yeSxcbiAgUmVjb3ZlcnlQYXNzd29yZCxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtBbmd1bGFyRmlyZU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdBdXRoZW50aWNhdGlvbicsXG4gICAgICB1c2VGYWN0b3J5OiAoYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeSk6IEF1dGhlbnRpY2F0aW9uID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbihhdXRoZW50aWNhdGlvblNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnQXV0aGVudGljYXRpb25TZXJ2aWNlJywgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQXV0aGVudGljYXRpb25TZXJ2aWNlJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhbmd1bGFyRmlyZUF1dGg6IEFuZ3VsYXJGaXJlQXV0aCk6IEF1dGhlbnRpY2F0aW9uU2VydmljZSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb25GaXJlYmFzZUF1dGhTZXJ2aWNlKGFuZ3VsYXJGaXJlQXV0aCBhcyBhbnkpXG4gICAgICB9LFxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlQXV0aF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUmVnaXN0ZXInLFxuICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdGVyU2VydmljZTogUmVnaXN0ZXJTZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpOiBSZWdpc3RlciA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUmVnaXN0ZXIocmVnaXN0ZXJTZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ1JlZ2lzdGVyU2VydmljZScsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1JlZ2lzdGVyU2VydmljZScsXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBbmd1bGFyRmlyZUF1dGgpOiBSZWdpc3RlclNlcnZpY2UgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlZ2lzdGVyRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGggYXMgYW55KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZUF1dGhdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1NpZ25PdXQnLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogU2lnbk91dCA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2lnbk91dChhdXRoZW50aWNhdGlvblNlcnZpY2UpXG4gICAgICB9LFxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWNvdmVyeVBhc3N3b3JkJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSk6IFJlY292ZXJ5UGFzc3dvcmQgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlY292ZXJ5UGFzc3dvcmQoYXV0aGVudGljYXRpb25TZXJ2aWNlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnQXV0aGVudGljYXRpb25TZXJ2aWNlJ10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIG9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyxcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,340 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AngularFireModule, FIREBASE_APP_NAME, FIREBASE_OPTIONS, } from '@angular/fire';
3
+ import { AngularFirestore } from '@angular/fire/firestore';
4
+ import { Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ProductsIndex, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UserAddressFirestoreRepository, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, ProductVariantFirestoreRepository, UserPaymentMethodFirestoreRepository, } from '@infrab4a/connect';
5
+ import { AngularElasticSeachModule } from './angular-elastic-search.module';
6
+ import { ES_CONFIG } from './consts/es-config.const';
7
+ import * as i0 from "@angular/core";
8
+ export class AngularFirestoreModule {
9
+ static initializeApp(options, nameOrConfig) {
10
+ return {
11
+ ngModule: AngularFirestoreModule,
12
+ providers: [
13
+ { provide: FIREBASE_OPTIONS, useValue: options.firebase },
14
+ { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
15
+ { provide: ES_CONFIG, useValue: options.elasticSearch },
16
+ ],
17
+ };
18
+ }
19
+ }
20
+ AngularFirestoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ AngularFirestoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, imports: [AngularFireModule, AngularElasticSeachModule] });
22
+ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, providers: [
23
+ {
24
+ provide: 'BeautyProfileRepository',
25
+ useFactory: (firestore, userRepository) => {
26
+ return new UserBeautyProfileFirestoreRepository(firestore.firestore, userRepository);
27
+ },
28
+ deps: [AngularFirestore, 'UserRepository'],
29
+ },
30
+ {
31
+ provide: 'Buy2WinRepository',
32
+ useFactory: (firestore) => {
33
+ return new Buy2WinFirestoreRepository(firestore.firestore);
34
+ },
35
+ deps: [AngularFirestore],
36
+ },
37
+ {
38
+ provide: 'CategoryRepository',
39
+ useFactory: (firestore, productsIndex) => {
40
+ return new CategoryFirestoreRepository(firestore.firestore, productsIndex);
41
+ },
42
+ deps: [AngularFirestore, ProductsIndex],
43
+ },
44
+ {
45
+ provide: 'CheckoutRepository',
46
+ useFactory: (firestore) => {
47
+ return new CheckoutFirestoreRepository(firestore.firestore);
48
+ },
49
+ deps: [AngularFirestore],
50
+ },
51
+ {
52
+ provide: 'CheckoutSubscriptionRepository',
53
+ useFactory: (firestore) => {
54
+ return new CheckoutSubscriptionFirestoreRepository(firestore.firestore);
55
+ },
56
+ deps: [AngularFirestore],
57
+ },
58
+ {
59
+ provide: 'CouponRepository',
60
+ useFactory: (firestore) => {
61
+ return new CouponFirestoreRepository(firestore.firestore);
62
+ },
63
+ deps: [AngularFirestore],
64
+ },
65
+ {
66
+ provide: 'EditionRepository',
67
+ useFactory: (firestore, subscriptionRepository) => {
68
+ return new SubscriptionEditionFirestoreRepository(firestore.firestore, subscriptionRepository);
69
+ },
70
+ deps: [AngularFirestore, 'SubscriptionRepository'],
71
+ },
72
+ {
73
+ provide: 'HomeRepository',
74
+ useFactory: (firestore) => {
75
+ return new HomeFirestoreRepository(firestore.firestore);
76
+ },
77
+ deps: [AngularFirestore],
78
+ },
79
+ {
80
+ provide: 'LeadRepository',
81
+ useFactory: (firestore) => {
82
+ return new LeadFirestoreRepository(firestore.firestore);
83
+ },
84
+ deps: [AngularFirestore],
85
+ },
86
+ {
87
+ provide: 'LegacyOrderRepository',
88
+ useFactory: (firestore) => {
89
+ return new LegacyOrderFirestoreRepository(firestore.firestore);
90
+ },
91
+ deps: [AngularFirestore],
92
+ },
93
+ {
94
+ provide: 'ShopMenuRepository',
95
+ useFactory: (firestore) => {
96
+ return new ShopMenuFirestoreRepository(firestore.firestore);
97
+ },
98
+ deps: [AngularFirestore],
99
+ },
100
+ {
101
+ provide: 'OrderRepository',
102
+ useFactory: (firestore) => {
103
+ return new OrderFirestoreRepository(firestore.firestore);
104
+ },
105
+ deps: [AngularFirestore],
106
+ },
107
+ {
108
+ provide: 'PaymentRepository',
109
+ useFactory: (firestore) => {
110
+ return new PaymentFirestoreRepository(firestore.firestore);
111
+ },
112
+ deps: [AngularFirestore],
113
+ },
114
+ {
115
+ provide: 'ProductRepository',
116
+ useFactory: (firestore) => {
117
+ return new ProductFirestoreRepository(firestore.firestore);
118
+ },
119
+ deps: [AngularFirestore],
120
+ },
121
+ {
122
+ provide: 'SubscriptionPaymentRepository',
123
+ useFactory: (firestore, subscriptionRepository) => {
124
+ return new SubscriptionPaymentFirestoreRepository(firestore.firestore, subscriptionRepository);
125
+ },
126
+ deps: [AngularFirestore, 'SubscriptionRepository'],
127
+ },
128
+ {
129
+ provide: 'SubscriptionPlanRepository',
130
+ useFactory: (firestore) => {
131
+ return new SubscriptionPlanFirestoreRepository(firestore.firestore);
132
+ },
133
+ deps: [AngularFirestore],
134
+ },
135
+ {
136
+ provide: 'SubscriptionProductRepository',
137
+ useFactory: (firestore) => {
138
+ return new SubscriptionProductFirestoreRepository(firestore.firestore);
139
+ },
140
+ deps: [AngularFirestore],
141
+ },
142
+ {
143
+ provide: 'SubscriptionRepository',
144
+ useFactory: (firestore) => {
145
+ return new SubscriptionFirestoreRepository(firestore.firestore);
146
+ },
147
+ deps: [AngularFirestore],
148
+ },
149
+ {
150
+ provide: 'UserRepository',
151
+ useFactory: (firestore) => {
152
+ return new UserFirestoreRepository(firestore.firestore);
153
+ },
154
+ deps: [AngularFirestore],
155
+ },
156
+ {
157
+ provide: 'UserAddressRepository',
158
+ useFactory: (firestore, userRepository) => {
159
+ return new UserAddressFirestoreRepository(firestore.firestore, userRepository);
160
+ },
161
+ deps: [AngularFirestore, 'UserRepository'],
162
+ },
163
+ {
164
+ provide: 'UserPaymentMethodRepository',
165
+ useFactory: (firestore, userRepository) => {
166
+ return new UserPaymentMethodFirestoreRepository(firestore.firestore, userRepository);
167
+ },
168
+ deps: [AngularFirestore, 'UserRepository'],
169
+ },
170
+ {
171
+ provide: 'VariantRepository',
172
+ useFactory: (firestore, productRepository) => {
173
+ return new ProductVariantFirestoreRepository(firestore.firestore, productRepository);
174
+ },
175
+ deps: [AngularFirestore, 'ProductRepository'],
176
+ },
177
+ ], imports: [[AngularFireModule, AngularElasticSeachModule]] });
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularFirestoreModule, decorators: [{
179
+ type: NgModule,
180
+ args: [{
181
+ imports: [AngularFireModule, AngularElasticSeachModule],
182
+ providers: [
183
+ {
184
+ provide: 'BeautyProfileRepository',
185
+ useFactory: (firestore, userRepository) => {
186
+ return new UserBeautyProfileFirestoreRepository(firestore.firestore, userRepository);
187
+ },
188
+ deps: [AngularFirestore, 'UserRepository'],
189
+ },
190
+ {
191
+ provide: 'Buy2WinRepository',
192
+ useFactory: (firestore) => {
193
+ return new Buy2WinFirestoreRepository(firestore.firestore);
194
+ },
195
+ deps: [AngularFirestore],
196
+ },
197
+ {
198
+ provide: 'CategoryRepository',
199
+ useFactory: (firestore, productsIndex) => {
200
+ return new CategoryFirestoreRepository(firestore.firestore, productsIndex);
201
+ },
202
+ deps: [AngularFirestore, ProductsIndex],
203
+ },
204
+ {
205
+ provide: 'CheckoutRepository',
206
+ useFactory: (firestore) => {
207
+ return new CheckoutFirestoreRepository(firestore.firestore);
208
+ },
209
+ deps: [AngularFirestore],
210
+ },
211
+ {
212
+ provide: 'CheckoutSubscriptionRepository',
213
+ useFactory: (firestore) => {
214
+ return new CheckoutSubscriptionFirestoreRepository(firestore.firestore);
215
+ },
216
+ deps: [AngularFirestore],
217
+ },
218
+ {
219
+ provide: 'CouponRepository',
220
+ useFactory: (firestore) => {
221
+ return new CouponFirestoreRepository(firestore.firestore);
222
+ },
223
+ deps: [AngularFirestore],
224
+ },
225
+ {
226
+ provide: 'EditionRepository',
227
+ useFactory: (firestore, subscriptionRepository) => {
228
+ return new SubscriptionEditionFirestoreRepository(firestore.firestore, subscriptionRepository);
229
+ },
230
+ deps: [AngularFirestore, 'SubscriptionRepository'],
231
+ },
232
+ {
233
+ provide: 'HomeRepository',
234
+ useFactory: (firestore) => {
235
+ return new HomeFirestoreRepository(firestore.firestore);
236
+ },
237
+ deps: [AngularFirestore],
238
+ },
239
+ {
240
+ provide: 'LeadRepository',
241
+ useFactory: (firestore) => {
242
+ return new LeadFirestoreRepository(firestore.firestore);
243
+ },
244
+ deps: [AngularFirestore],
245
+ },
246
+ {
247
+ provide: 'LegacyOrderRepository',
248
+ useFactory: (firestore) => {
249
+ return new LegacyOrderFirestoreRepository(firestore.firestore);
250
+ },
251
+ deps: [AngularFirestore],
252
+ },
253
+ {
254
+ provide: 'ShopMenuRepository',
255
+ useFactory: (firestore) => {
256
+ return new ShopMenuFirestoreRepository(firestore.firestore);
257
+ },
258
+ deps: [AngularFirestore],
259
+ },
260
+ {
261
+ provide: 'OrderRepository',
262
+ useFactory: (firestore) => {
263
+ return new OrderFirestoreRepository(firestore.firestore);
264
+ },
265
+ deps: [AngularFirestore],
266
+ },
267
+ {
268
+ provide: 'PaymentRepository',
269
+ useFactory: (firestore) => {
270
+ return new PaymentFirestoreRepository(firestore.firestore);
271
+ },
272
+ deps: [AngularFirestore],
273
+ },
274
+ {
275
+ provide: 'ProductRepository',
276
+ useFactory: (firestore) => {
277
+ return new ProductFirestoreRepository(firestore.firestore);
278
+ },
279
+ deps: [AngularFirestore],
280
+ },
281
+ {
282
+ provide: 'SubscriptionPaymentRepository',
283
+ useFactory: (firestore, subscriptionRepository) => {
284
+ return new SubscriptionPaymentFirestoreRepository(firestore.firestore, subscriptionRepository);
285
+ },
286
+ deps: [AngularFirestore, 'SubscriptionRepository'],
287
+ },
288
+ {
289
+ provide: 'SubscriptionPlanRepository',
290
+ useFactory: (firestore) => {
291
+ return new SubscriptionPlanFirestoreRepository(firestore.firestore);
292
+ },
293
+ deps: [AngularFirestore],
294
+ },
295
+ {
296
+ provide: 'SubscriptionProductRepository',
297
+ useFactory: (firestore) => {
298
+ return new SubscriptionProductFirestoreRepository(firestore.firestore);
299
+ },
300
+ deps: [AngularFirestore],
301
+ },
302
+ {
303
+ provide: 'SubscriptionRepository',
304
+ useFactory: (firestore) => {
305
+ return new SubscriptionFirestoreRepository(firestore.firestore);
306
+ },
307
+ deps: [AngularFirestore],
308
+ },
309
+ {
310
+ provide: 'UserRepository',
311
+ useFactory: (firestore) => {
312
+ return new UserFirestoreRepository(firestore.firestore);
313
+ },
314
+ deps: [AngularFirestore],
315
+ },
316
+ {
317
+ provide: 'UserAddressRepository',
318
+ useFactory: (firestore, userRepository) => {
319
+ return new UserAddressFirestoreRepository(firestore.firestore, userRepository);
320
+ },
321
+ deps: [AngularFirestore, 'UserRepository'],
322
+ },
323
+ {
324
+ provide: 'UserPaymentMethodRepository',
325
+ useFactory: (firestore, userRepository) => {
326
+ return new UserPaymentMethodFirestoreRepository(firestore.firestore, userRepository);
327
+ },
328
+ deps: [AngularFirestore, 'UserRepository'],
329
+ },
330
+ {
331
+ provide: 'VariantRepository',
332
+ useFactory: (firestore, productRepository) => {
333
+ return new ProductVariantFirestoreRepository(firestore.firestore, productRepository);
334
+ },
335
+ deps: [AngularFirestore, 'ProductRepository'],
336
+ },
337
+ ],
338
+ }]
339
+ }] });
340
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBR2pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzFELE9BQU8sRUFHTCwwQkFBMEIsRUFHMUIsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUMzQix1Q0FBdUMsRUFHdkMseUJBQXlCLEVBRXpCLHVCQUF1QixFQUd2Qix1QkFBdUIsRUFFdkIsOEJBQThCLEVBQzlCLDJCQUEyQixFQUczQix3QkFBd0IsRUFFeEIsMEJBQTBCLEVBRTFCLDBCQUEwQixFQUMxQixhQUFhLEVBQ2Isc0NBQXNDLEVBQ3RDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFFdEMsbUNBQW1DLEVBRW5DLHNDQUFzQyxFQUl0Qyw4QkFBOEIsRUFDOUIsb0NBQW9DLEVBQ3BDLHVCQUF1QixFQUd2QixpQ0FBaUMsRUFFakMsb0NBQW9DLEdBQ3JDLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFBOztBQTBLcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsYUFBYSxDQUNsQixPQUdDLEVBQ0QsWUFBeUM7UUFFekMsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFB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QyxDQUFBOzRCQUN0RixDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO3lCQUMzQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixVQUFVLEVBQUUsQ0FBQyxTQUEyQixFQUFFLGlCQUE2QyxFQUFxQixFQUFFO2dDQUM1RyxPQUFPLElBQUksaUNBQWlDLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBOzRCQUN0RixDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO3lCQUM5QztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEFuZ3VsYXJGaXJlTW9kdWxlLFxuICBGSVJFQkFTRV9BUFBfTkFNRSxcbiAgRklSRUJBU0VfT1BUSU9OUyxcbiAgRmlyZWJhc2VBcHBDb25maWcsXG4gIEZpcmViYXNlT3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZSdcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSdcbmltcG9ydCB7XG4gIEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZyxcbiAgQmVhdXR5UHJvZmlsZVJlcG9zaXRvcnksXG4gIEJ1eTJXaW5GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBCdXkyV2luUmVwb3NpdG9yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENoZWNrb3V0UmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDaGVja291dFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcbiAgQ291cG9uUmVwb3NpdG9yeSxcbiAgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgRWRpdGlvblJlcG9zaXRvcnksXG4gIEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBIb21lUmVwb3NpdG9yeSxcbiAgTGVhZFJlcG9zaXRvcnksXG4gIExlYWRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBMZWdhY3lPcmRlclJlcG9zaXRvcnksXG4gIExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTaG9wTWVudVJlcG9zaXRvcnksXG4gIE9yZGVyUmVwb3NpdG9yeSxcbiAgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBQYXltZW50UmVwb3NpdG9yeSxcbiAgUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxuICBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgUHJvZHVjdHNJbmRleCxcbiAgU3Vic2NyaXB0aW9uRWRpdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGxhbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25Qcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUHJvZHVjdFJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXG4gIFVzZXJBZGRyZXNzUmVwb3NpdG9yeSxcbiAgVXNlckFkZHJlc3NGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyUmVwb3NpdG9yeSxcbiAgVmFyaWFudFJlcG9zaXRvcnksXG4gIFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5LFxuICBVc2VyUGF5bWVudE1ldGhvZEZpcmVzdG9yZVJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IEVTX0NPTkZJRyB9IGZyb20gJy4vY29uc3RzL2VzLWNvbmZpZy5jb25zdCdcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0FuZ3VsYXJGaXJlTW9kdWxlLCBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0JlYXV0eVByb2ZpbGVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUsIHVzZXJSZXBvc2l0b3J5OiBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeSk6IEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSwgdXNlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmUsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0J1eTJXaW5SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBCdXkyV2luUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQnV5MldpbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2F0ZWdvcnlSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUsIHByb2R1Y3RzSW5kZXg6IFByb2R1Y3RzSW5kZXgpOiBDYXRlZ29yeVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlLCBwcm9kdWN0c0luZGV4KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlLCBQcm9kdWN0c0luZGV4XSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDaGVja291dFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IENoZWNrb3V0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NoZWNrb3V0U3Vic2NyaXB0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja291dFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ291cG9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogQ291cG9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdFZGl0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSxcbiAgICAgICAgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeTogU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgICAgICk6IEVkaXRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlLCBzdWJzY3JpcHRpb25SZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlLCAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0hvbWVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBIb21lUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgSG9tZUZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnTGVhZFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IExlYWRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBMZWFkRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdMZWdhY3lPcmRlclJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IExlZ2FjeU9yZGVyUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgTGVnYWN5T3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Nob3BNZW51UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogU2hvcE1lbnVSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTaG9wTWVudUZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnT3JkZXJSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBPcmRlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdQYXltZW50UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogUGF5bWVudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBQcm9kdWN0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICBmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICApOiBTdWJzY3JpcHRpb25QYXltZW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSwgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZSwgJ1N1YnNjcmlwdGlvblJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25QbGFuUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBsYW5GaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblByb2R1Y3RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdVc2VyUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogVXNlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXG4gICAgICB9LFxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1VzZXJBZGRyZXNzUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyQWRkcmVzc1JlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJBZGRyZXNzRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZSwgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlLFxuICAgICAgICB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICApOiBVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZSwgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVmFyaWFudFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSwgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KTogVmFyaWFudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlLCBwcm9kdWN0UmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZSwgJ1Byb2R1Y3RSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIGZpcmViYXNlOiBGaXJlYmFzZU9wdGlvbnNcbiAgICAgIGVsYXN0aWNTZWFyY2g6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZ1xuICAgIH0sXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckZpcmVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucy5maXJlYmFzZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX0FQUF9OQU1FLCB1c2VWYWx1ZTogbmFtZU9yQ29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucy5lbGFzdGljU2VhcmNoIH0sXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export const DEFAULT_SHOP = 'DEFAULT_SHOP';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zaG9wLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9jb25zdHMvZGVmYXVsdC1zaG9wLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgREVGQVVMVF9TSE9QID0gJ0RFRkFVTFRfU0hPUCdcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export const ES_CONFIG = 'ES_CONFIG';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtY29uZmlnLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9jb25zdHMvZXMtY29uZmlnLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRVNfQ09ORklHID0gJ0VTX0NPTkZJRydcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './default-shop.const';
2
+ export * from './es-config.const';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2NvbnN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtc2hvcC5jb25zdCdcbmV4cG9ydCAqIGZyb20gJy4vZXMtY29uZmlnLmNvbnN0J1xuIl19
@@ -0,0 +1,5 @@
1
+ export * from './services';
2
+ export * from './angular-firebase-auth.module';
3
+ export * from './angular-firestore.module';
4
+ export * from './angular-connect.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLDBCQUEwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcydcbmV4cG9ydCAqIGZyb20gJy4vYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vYW5ndWxhci1maXJlc3RvcmUubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9hbmd1bGFyLWNvbm5lY3QubW9kdWxlJ1xuIl19
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFiNGEtY29ubmVjdC1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9pbmZyYWI0YS1jb25uZWN0LWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFiNGEtY29ubmVjdC1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9pbmZyYWI0YS1jb25uZWN0LWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { AngularFireAuth } from '@angular/fire/auth';
3
+ import { combineLatest, of } from 'rxjs';
4
+ import { catchError, map, mergeMap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/fire/auth";
7
+ export class AuthService {
8
+ constructor(angularFireAuth, userRepository) {
9
+ this.angularFireAuth = angularFireAuth;
10
+ this.userRepository = userRepository;
11
+ }
12
+ getAuthstate() {
13
+ const observables = [
14
+ this.angularFireAuth.authState.pipe(catchError(() => of(null))),
15
+ this.getUser().pipe(catchError(() => of(null))),
16
+ ];
17
+ return combineLatest(observables).pipe(map(([fireUser, user]) => {
18
+ return {
19
+ user,
20
+ isAnonymous: fireUser === null || fireUser === void 0 ? void 0 : fireUser.isAnonymous,
21
+ };
22
+ }));
23
+ }
24
+ getUser() {
25
+ return this.getFireUser().pipe(map((user) => user === null || user === void 0 ? void 0 : user.uid), mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))));
26
+ }
27
+ getTokenId() {
28
+ return this.angularFireAuth.idToken;
29
+ }
30
+ getFireUser() {
31
+ return this.angularFireAuth.user.pipe(catchError(() => of(null)));
32
+ }
33
+ }
34
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AuthService, deps: [{ token: i1.AngularFireAuth }, { token: 'UserRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AuthService });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AuthService, decorators: [{
37
+ type: Injectable
38
+ }], ctorParameters: function () { return [{ type: i1.AngularFireAuth }, { type: undefined, decorators: [{
39
+ type: Inject,
40
+ args: ['UserRepository']
41
+ }] }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFJMUQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDbUIsZUFBZ0MsRUFDTixjQUE4QjtRQUR4RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDTixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDeEUsQ0FBQztJQUVKLFlBQVk7UUFDVixNQUFNLFdBQVcsR0FBa0Q7WUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNoRCxDQUFBO1FBRUQsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixXQUFXLEVBQUUsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFdBQVc7YUFDSyxDQUFBO1FBQzNDLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsR0FBRyxDQUFDLEVBQ3hCLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDcEUsQ0FBQTtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQTtJQUNyQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7O3lHQW5DVSxXQUFXLGlEQUdaLGdCQUFnQjs2R0FIZixXQUFXOzRGQUFYLFdBQVc7a0JBRHZCLFVBQVU7OzBCQUlOLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFuZ3VsYXJGaXJlQXV0aCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCdcbmltcG9ydCB7IFVzZXIsIFVzZXJSZXBvc2l0b3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvYXBwJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJGaXJlQXV0aDogQW5ndWxhckZpcmVBdXRoLFxuICAgIEBJbmplY3QoJ1VzZXJSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnksXG4gICkge31cblxuICBnZXRBdXRoc3RhdGUoKTogT2JzZXJ2YWJsZTx7IHVzZXI6IFVzZXI7IGlzQW5vbnltb3VzOiBib29sZWFuIH0+IHtcbiAgICBjb25zdCBvYnNlcnZhYmxlczogW09ic2VydmFibGU8ZmlyZWJhc2UuVXNlcj4sIE9ic2VydmFibGU8VXNlcj5dID0gW1xuICAgICAgdGhpcy5hbmd1bGFyRmlyZUF1dGguYXV0aFN0YXRlLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpLFxuICAgICAgdGhpcy5nZXRVc2VyKCkucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSksXG4gICAgXVxuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qob2JzZXJ2YWJsZXMpLnBpcGUoXG4gICAgICBtYXAoKFtmaXJlVXNlciwgdXNlcl0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB1c2VyLFxuICAgICAgICAgIGlzQW5vbnltb3VzOiBmaXJlVXNlcj8uaXNBbm9ueW1vdXMsXG4gICAgICAgIH0gYXMgeyB1c2VyOiBVc2VyOyBpc0Fub255bW91czogYm9vbGVhbiB9XG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBnZXRVc2VyKCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmdldEZpcmVVc2VyKCkucGlwZShcbiAgICAgIG1hcCgodXNlcikgPT4gdXNlcj8udWlkKSxcbiAgICAgIG1lcmdlTWFwKChpZCkgPT4gKGlkID8gdGhpcy51c2VyUmVwb3NpdG9yeS5nZXQoeyBpZCB9KSA6IG9mKG51bGwpKSksXG4gICAgKVxuICB9XG5cbiAgZ2V0VG9rZW5JZCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmFuZ3VsYXJGaXJlQXV0aC5pZFRva2VuXG4gIH1cblxuICBnZXRGaXJlVXNlcigpOiBPYnNlcnZhYmxlPGZpcmViYXNlLlVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5hbmd1bGFyRmlyZUF1dGgudXNlci5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKVxuICB9XG59XG4iXX0=