@infrab4a/connect-angular 0.0.0-watch
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/angular-connect.module.d.ts +18 -0
- package/angular-elastic-search.module.d.ts +9 -0
- package/angular-firebase-auth.module.d.ts +10 -0
- package/angular-firestore.module.d.ts +15 -0
- package/angular-hasura-graphql.module.d.ts +16 -0
- package/bundles/infrab4a-connect-angular.umd.js +1858 -0
- package/bundles/infrab4a-connect-angular.umd.js.map +1 -0
- package/consts/default-shop.const.d.ts +1 -0
- package/consts/es-config.const.d.ts +1 -0
- package/consts/hasura-options.const.d.ts +1 -0
- package/consts/index.d.ts +3 -0
- package/esm2015/angular-connect.module.js +49 -0
- package/esm2015/angular-elastic-search.module.js +38 -0
- package/esm2015/angular-firebase-auth.module.js +113 -0
- package/esm2015/angular-firestore.module.js +340 -0
- package/esm2015/angular-hasura-graphql.module.js +90 -0
- package/esm2015/consts/default-shop.const.js +2 -0
- package/esm2015/consts/es-config.const.js +2 -0
- package/esm2015/consts/hasura-options.const.js +2 -0
- package/esm2015/consts/index.js +4 -0
- package/esm2015/index.js +6 -0
- package/esm2015/infrab4a-connect-angular.js +5 -0
- package/esm2015/services/auth.service.js +42 -0
- package/esm2015/services/cart.service.js +153 -0
- package/esm2015/services/checkout-subscription.service.js +51 -0
- package/esm2015/services/checkout.service.js +75 -0
- package/esm2015/services/coupon.service.js +266 -0
- package/esm2015/services/errors/group-invalid-coupon.error.js +8 -0
- package/esm2015/services/errors/index.js +3 -0
- package/esm2015/services/errors/invalid-coupon.error.js +8 -0
- package/esm2015/services/home-shop.service.js +113 -0
- package/esm2015/services/index.js +8 -0
- package/esm2015/services/order.service.js +32 -0
- package/esm2015/services/types/index.js +3 -0
- package/esm2015/services/types/required-checkout-data.type.js +2 -0
- package/esm2015/services/types/required-checkout-subscription-data.type.js +2 -0
- package/fesm2015/infrab4a-connect-angular.js +1313 -0
- package/fesm2015/infrab4a-connect-angular.js.map +1 -0
- package/index.d.ts +5 -0
- package/infrab4a-connect-angular.d.ts +5 -0
- package/package.json +31 -0
- package/services/auth.service.d.ts +19 -0
- package/services/cart.service.d.ts +35 -0
- package/services/checkout-subscription.service.d.ts +18 -0
- package/services/checkout.service.d.ts +23 -0
- package/services/coupon.service.d.ts +26 -0
- package/services/errors/group-invalid-coupon.error.d.ts +6 -0
- package/services/errors/index.d.ts +2 -0
- package/services/errors/invalid-coupon.error.d.ts +5 -0
- package/services/home-shop.service.d.ts +25 -0
- package/services/index.d.ts +7 -0
- package/services/order.service.d.ts +13 -0
- package/services/types/index.d.ts +2 -0
- package/services/types/required-checkout-data.type.d.ts +2 -0
- package/services/types/required-checkout-subscription-data.type.d.ts +2 -0
|
@@ -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, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ProductVariantFirestoreRepository, ShopMenuFirestoreRepository, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UserAddressFirestoreRepository, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, 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: CategoryFirestoreRepository,
|
|
39
|
+
useFactory: (firestore) => {
|
|
40
|
+
return new CategoryFirestoreRepository(firestore.firestore);
|
|
41
|
+
},
|
|
42
|
+
deps: [AngularFirestore],
|
|
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: ProductFirestoreRepository,
|
|
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: ProductVariantFirestoreRepository,
|
|
172
|
+
useFactory: (firestore, productRepository) => {
|
|
173
|
+
return new ProductVariantFirestoreRepository(firestore.firestore, productRepository);
|
|
174
|
+
},
|
|
175
|
+
deps: [AngularFirestore, ProductFirestoreRepository],
|
|
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: CategoryFirestoreRepository,
|
|
199
|
+
useFactory: (firestore) => {
|
|
200
|
+
return new CategoryFirestoreRepository(firestore.firestore);
|
|
201
|
+
},
|
|
202
|
+
deps: [AngularFirestore],
|
|
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: ProductFirestoreRepository,
|
|
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: ProductVariantFirestoreRepository,
|
|
332
|
+
useFactory: (firestore, productRepository) => {
|
|
333
|
+
return new ProductVariantFirestoreRepository(firestore.firestore, productRepository);
|
|
334
|
+
},
|
|
335
|
+
deps: [AngularFirestore, ProductFirestoreRepository],
|
|
336
|
+
},
|
|
337
|
+
],
|
|
338
|
+
}]
|
|
339
|
+
}] });
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUdqQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzFELE9BQU8sRUFHTCwwQkFBMEIsRUFFMUIsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUUzQix1Q0FBdUMsRUFFdkMseUJBQXlCLEVBR3pCLHVCQUF1QixFQUV2Qix1QkFBdUIsRUFFdkIsOEJBQThCLEVBRTlCLHdCQUF3QixFQUV4QiwwQkFBMEIsRUFFMUIsMEJBQTBCLEVBRTFCLGlDQUFpQyxFQUNqQywyQkFBMkIsRUFFM0Isc0NBQXNDLEVBQ3RDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFFdEMsbUNBQW1DLEVBRW5DLHNDQUFzQyxFQUd0Qyw4QkFBOEIsRUFFOUIsb0NBQW9DLEVBQ3BDLHVCQUF1QixFQUN2QixvQ0FBb0MsRUFJckMsTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7O0FBMEtwRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLE1BQU0sQ0FBQyxhQUFhLENBQ2xCLE9BR0MsRUFDRCxZQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FB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QkFDRDs0QkFDRSxPQUFPLEVBQUUsaUNBQWlDOzRCQUMxQyxVQUFVLEVBQUUsQ0FBQyxTQUEyQixFQUFFLGlCQUE2QyxFQUFxQixFQUFFO2dDQUM1RyxPQUFPLElBQUksaUNBQWlDLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBOzRCQUN0RixDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLDBCQUEwQixDQUFDO3lCQUNyRDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBBbmd1bGFyRmlyZU1vZHVsZSxcclxuICBGaXJlYmFzZUFwcENvbmZpZyxcclxuICBGaXJlYmFzZU9wdGlvbnMsXHJcbiAgRklSRUJBU0VfQVBQX05BTUUsXHJcbiAgRklSRUJBU0VfT1BUSU9OU1xyXG59IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnXHJcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSdcclxuaW1wb3J0IHtcclxuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXHJcbiAgQmVhdXR5UHJvZmlsZVJlcG9zaXRvcnksXHJcbiAgQnV5MldpbkZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgQnV5MldpblJlcG9zaXRvcnksXHJcbiAgQ2F0ZWdvcnlGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcclxuICBDaGVja291dEZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgQ2hlY2tvdXRSZXBvc2l0b3J5LFxyXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXHJcbiAgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBDb3Vwb25SZXBvc2l0b3J5LFxyXG4gIEVkaXRpb25SZXBvc2l0b3J5LFxyXG4gIEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIEhvbWVSZXBvc2l0b3J5LFxyXG4gIExlYWRGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIExlYWRSZXBvc2l0b3J5LFxyXG4gIExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBMZWdhY3lPcmRlclJlcG9zaXRvcnksXHJcbiAgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIE9yZGVyUmVwb3NpdG9yeSxcclxuICBQYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBQYXltZW50UmVwb3NpdG9yeSxcclxuICBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICBQcm9kdWN0VmFyaWFudEZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFNob3BNZW51UmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblBheW1lbnRSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblBsYW5GaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblByb2R1Y3RSZXBvc2l0b3J5LFxyXG4gIFN1YnNjcmlwdGlvblJlcG9zaXRvcnksXHJcbiAgVXNlckFkZHJlc3NGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFVzZXJBZGRyZXNzUmVwb3NpdG9yeSxcclxuICBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgVXNlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgVXNlclBheW1lbnRNZXRob2RGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gIFVzZXJQYXltZW50TWV0aG9kUmVwb3NpdG9yeSxcclxuICBVc2VyUmVwb3NpdG9yeSxcclxuICBWYXJpYW50UmVwb3NpdG9yeVxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUnXHJcbmltcG9ydCB7IEVTX0NPTkZJRyB9IGZyb20gJy4vY29uc3RzL2VzLWNvbmZpZy5jb25zdCdcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0FuZ3VsYXJGaXJlTW9kdWxlLCBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0JlYXV0eVByb2ZpbGVSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KTogQmVhdXR5UHJvZmlsZVJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgVXNlckJlYXV0eVByb2ZpbGVGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUsIHVzZXJSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZSwgJ1VzZXJSZXBvc2l0b3J5J10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnQnV5MldpblJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogQnV5MldpblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQnV5MldpbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQ2F0ZWdvcnlGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogQ2F0ZWdvcnlSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnQ2hlY2tvdXRSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IENoZWNrb3V0UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja291dEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0NoZWNrb3V0U3Vic2NyaXB0aW9uUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBDaGVja291dFN1YnNjcmlwdGlvblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tvdXRTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdDb3Vwb25SZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IENvdXBvblJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnRWRpdGlvblJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoXHJcbiAgICAgICAgZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlLFxyXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgICAgICk6IEVkaXRpb25SZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkVkaXRpb25GaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUsIHN1YnNjcmlwdGlvblJlcG9zaXRvcnkpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlLCAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0hvbWVSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IEhvbWVSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdMZWFkUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBMZWFkUmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBMZWFkRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnTGVnYWN5T3JkZXJSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IExlZ2FjeU9yZGVyUmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBMZWdhY3lPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1Nob3BNZW51UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBTaG9wTWVudVJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdPcmRlclJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogT3JkZXJSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnUGF5bWVudFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlKTogUGF5bWVudFJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBQcm9kdWN0UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoXHJcbiAgICAgICAgZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlLFxyXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgICAgICk6IFN1YnNjcmlwdGlvblBheW1lbnRSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUsIHN1YnNjcmlwdGlvblJlcG9zaXRvcnkpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlLCAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBsYW5GaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25Qcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeShmaXJlc3RvcmUuZmlyZXN0b3JlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChmaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUpOiBTdWJzY3JpcHRpb25SZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSlcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0FuZ3VsYXJGaXJlc3RvcmVdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1VzZXJSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSk6IFVzZXJSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdVc2VyQWRkcmVzc1JlcG9zaXRvcnknLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoZmlyZXN0b3JlOiBBbmd1bGFyRmlyZXN0b3JlLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyQWRkcmVzc1JlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgVXNlckFkZHJlc3NGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUsIHVzZXJSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZSwgJ1VzZXJSZXBvc2l0b3J5J10sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5JyxcclxuICAgICAgdXNlRmFjdG9yeTogKFxyXG4gICAgICAgIGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSxcclxuICAgICAgICB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgICAgICk6IFVzZXJQYXltZW50TWV0aG9kUmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyUGF5bWVudE1ldGhvZEZpcmVzdG9yZVJlcG9zaXRvcnkoZmlyZXN0b3JlLmZpcmVzdG9yZSwgdXNlclJlcG9zaXRvcnkpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtBbmd1bGFyRmlyZXN0b3JlLCAnVXNlclJlcG9zaXRvcnknXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSwgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KTogVmFyaWFudFJlcG9zaXRvcnkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFZhcmlhbnRGaXJlc3RvcmVSZXBvc2l0b3J5KGZpcmVzdG9yZS5maXJlc3RvcmUsIHByb2R1Y3RSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQW5ndWxhckZpcmVzdG9yZSwgUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnldLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB7XHJcbiAgc3RhdGljIGluaXRpYWxpemVBcHAoXHJcbiAgICBvcHRpb25zOiB7XHJcbiAgICAgIGZpcmViYXNlOiBGaXJlYmFzZU9wdGlvbnNcclxuICAgICAgZWxhc3RpY1NlYXJjaDogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnXHJcbiAgICB9LFxyXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuZmlyZWJhc2UgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX0FQUF9OQU1FLCB1c2VWYWx1ZTogbmFtZU9yQ29uZmlnIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBFU19DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zLmVsYXN0aWNTZWFyY2ggfSxcclxuICAgICAgXSxcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, VariantHasuraGraphQLRepository, } from '@infrab4a/connect';
|
|
3
|
+
import { HASURA_OPTIONS } from './consts';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AngularHasuraGraphQLModule {
|
|
6
|
+
static initializeApp(options) {
|
|
7
|
+
return {
|
|
8
|
+
ngModule: AngularHasuraGraphQLModule,
|
|
9
|
+
providers: [{ provide: HASURA_OPTIONS, useValue: options }],
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
AngularHasuraGraphQLModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularHasuraGraphQLModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
AngularHasuraGraphQLModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularHasuraGraphQLModule });
|
|
15
|
+
AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularHasuraGraphQLModule, providers: [
|
|
16
|
+
{
|
|
17
|
+
provide: 'CategoryRepository',
|
|
18
|
+
useExisting: CategoryHasuraGraphQLRepository,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
provide: CategoryHasuraGraphQLRepository,
|
|
22
|
+
useFactory: (options, productRepository) => {
|
|
23
|
+
return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository);
|
|
24
|
+
},
|
|
25
|
+
deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
provide: 'ProductRepository',
|
|
29
|
+
useExisting: ProductHasuraGraphQLRepository,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
provide: ProductHasuraGraphQLRepository,
|
|
33
|
+
useFactory: (options) => {
|
|
34
|
+
return new ProductHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
35
|
+
},
|
|
36
|
+
deps: [HASURA_OPTIONS],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
provide: 'VariantRepository',
|
|
40
|
+
useExisting: VariantHasuraGraphQLRepository,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
provide: VariantHasuraGraphQLRepository,
|
|
44
|
+
useFactory: (options) => {
|
|
45
|
+
return new VariantHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
46
|
+
},
|
|
47
|
+
deps: [HASURA_OPTIONS],
|
|
48
|
+
},
|
|
49
|
+
] });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: AngularHasuraGraphQLModule, decorators: [{
|
|
51
|
+
type: NgModule,
|
|
52
|
+
args: [{
|
|
53
|
+
providers: [
|
|
54
|
+
{
|
|
55
|
+
provide: 'CategoryRepository',
|
|
56
|
+
useExisting: CategoryHasuraGraphQLRepository,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
provide: CategoryHasuraGraphQLRepository,
|
|
60
|
+
useFactory: (options, productRepository) => {
|
|
61
|
+
return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository);
|
|
62
|
+
},
|
|
63
|
+
deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
provide: 'ProductRepository',
|
|
67
|
+
useExisting: ProductHasuraGraphQLRepository,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
provide: ProductHasuraGraphQLRepository,
|
|
71
|
+
useFactory: (options) => {
|
|
72
|
+
return new ProductHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
73
|
+
},
|
|
74
|
+
deps: [HASURA_OPTIONS],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
provide: 'VariantRepository',
|
|
78
|
+
useExisting: VariantHasuraGraphQLRepository,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
provide: VariantHasuraGraphQLRepository,
|
|
82
|
+
useFactory: (options) => {
|
|
83
|
+
return new VariantHasuraGraphQLRepository(options.endpoint, options.credentials);
|
|
84
|
+
},
|
|
85
|
+
deps: [HASURA_OPTIONS],
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
}]
|
|
89
|
+
}] });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1oYXN1cmEtZ3JhcGhxbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItaGFzdXJhLWdyYXBocWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFDTCwrQkFBK0IsRUFHL0IsOEJBQThCLEVBRTlCLDhCQUE4QixHQUUvQixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7O0FBNEN6QyxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FHcEI7UUFDQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQzVELENBQUE7SUFDSCxDQUFDOzt3SEFUVSwwQkFBMEI7eUhBQTFCLDBCQUEwQjt5SEFBMUIsMEJBQTBCLGFBdkMxQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixXQUFXLEVBQUUsK0JBQStCO1NBQzdDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLFVBQVUsRUFBRSxDQUNWLE9BQTZCLEVBQzdCLGlCQUFpRCxFQUM3QixFQUFFO2dCQUN0QixPQUFPLElBQUksK0JBQStCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUE7WUFDdEcsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSw4QkFBOEIsQ0FBQztTQUN2RDtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixXQUFXLEVBQUUsOEJBQThCO1NBQzVDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsOEJBQThCO1lBQ3ZDLFVBQVUsRUFBRSxDQUFDLE9BQTZCLEVBQXFCLEVBQUU7Z0JBQy9ELE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUNsRixDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO1NBQ3ZCO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFdBQVcsRUFBRSw4QkFBOEI7U0FDNUM7UUFDRDtZQUNFLE9BQU8sRUFBRSw4QkFBOEI7WUFDdkMsVUFBVSxFQUFFLENBQUMsT0FBNkIsRUFBcUIsRUFBRTtnQkFDL0QsT0FBTyxJQUFJLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ2xGLENBQUM7WUFDRCxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUM7U0FDdkI7S0FDRjs0RkFFVSwwQkFBMEI7a0JBeEN0QyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLEVBQUUsK0JBQStCO3lCQUM3Qzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxVQUFVLEVBQUUsQ0FDVixPQUE2QixFQUM3QixpQkFBaUQsRUFDN0IsRUFBRTtnQ0FDdEIsT0FBTyxJQUFJLCtCQUErQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBOzRCQUN0RyxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDdkQ7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLDhCQUE4Qjt5QkFDNUM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDhCQUE4Qjs0QkFDdkMsVUFBVSxFQUFFLENBQUMsT0FBNkIsRUFBcUIsRUFBRTtnQ0FDL0QsT0FBTyxJQUFJLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBOzRCQUNsRixDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQzt5QkFDdkI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLDhCQUE4Qjt5QkFDNUM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDhCQUE4Qjs0QkFDdkMsVUFBVSxFQUFFLENBQUMsT0FBNkIsRUFBcUIsRUFBRTtnQ0FDL0QsT0FBTyxJQUFJLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBOzRCQUNsRixDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQzt5QkFDdkI7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICBDYXRlZ29yeVJlcG9zaXRvcnksXHJcbiAgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zLFxyXG4gIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICBWYXJpYW50SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgVmFyaWFudFJlcG9zaXRvcnksXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5pbXBvcnQgeyBIQVNVUkFfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xyXG5cclxuZXhwb3J0IHR5cGUgSGFzdXJhR3JhcGhRTE9wdGlvbnMgPSB7IGVuZHBvaW50OiBzdHJpbmc7IGNyZWRlbnRpYWxzOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMgfVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0NhdGVnb3J5UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBDYXRlZ29yeUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcclxuICAgICAgdXNlRmFjdG9yeTogKFxyXG4gICAgICAgIG9wdGlvbnM6IEhhc3VyYUdyYXBoUUxPcHRpb25zLFxyXG4gICAgICAgIHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgICk6IENhdGVnb3J5UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBDYXRlZ29yeUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5KG9wdGlvbnMuZW5kcG9pbnQsIG9wdGlvbnMuY3JlZGVudGlhbHMsIHByb2R1Y3RSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbSEFTVVJBX09QVElPTlMsIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiAnUHJvZHVjdFJlcG9zaXRvcnknLFxyXG4gICAgICB1c2VFeGlzdGluZzogUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxyXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogSGFzdXJhR3JhcGhRTE9wdGlvbnMpOiBQcm9kdWN0UmVwb3NpdG9yeSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkob3B0aW9ucy5lbmRwb2ludCwgb3B0aW9ucy5jcmVkZW50aWFscylcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0hBU1VSQV9PUFRJT05TXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdWYXJpYW50UmVwb3NpdG9yeScsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBWYXJpYW50SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBWYXJpYW50SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBIYXN1cmFHcmFwaFFMT3B0aW9ucyk6IFZhcmlhbnRSZXBvc2l0b3J5ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFZhcmlhbnRIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeShvcHRpb25zLmVuZHBvaW50LCBvcHRpb25zLmNyZWRlbnRpYWxzKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbSEFTVVJBX09QVElPTlNdLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUge1xyXG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKG9wdGlvbnM6IHtcclxuICAgIGVuZHBvaW50OiBzdHJpbmdcclxuICAgIGNyZWRlbnRpYWxzOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcclxuICB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJIYXN1cmFHcmFwaFFMTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEhBU1VSQV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9XSxcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const DEFAULT_SHOP = 'DEFAULT_SHOP';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zaG9wLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9jb25zdHMvZGVmYXVsdC1zaG9wLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgREVGQVVMVF9TSE9QID0gJ0RFRkFVTFRfU0hPUCdcclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const ES_CONFIG = 'ES_CONFIG';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtY29uZmlnLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9jb25zdHMvZXMtY29uZmlnLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRVNfQ09ORklHID0gJ0VTX0NPTkZJRydcclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const HASURA_OPTIONS = 'HASURA_OPTIONS';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLW9wdGlvbnMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2NvbnN0cy9oYXN1cmEtb3B0aW9ucy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgSEFTVVJBX09QVElPTlMgPSAnSEFTVVJBX09QVElPTlMnXHJcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './default-shop.const';
|
|
2
|
+
export * from './es-config.const';
|
|
3
|
+
export * from './hasura-options.const';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2NvbnN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1zaG9wLmNvbnN0J1xyXG5leHBvcnQgKiBmcm9tICcuL2VzLWNvbmZpZy5jb25zdCdcclxuZXhwb3J0ICogZnJvbSAnLi9oYXN1cmEtb3B0aW9ucy5jb25zdCdcclxuIl19
|
package/esm2015/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './services';
|
|
2
|
+
export * from './angular-firebase-auth.module';
|
|
3
|
+
export * from './angular-firestore.module';
|
|
4
|
+
export * from './angular-connect.module';
|
|
5
|
+
export * from './angular-hasura-graphql.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2FuZ3VsYXItZmlyZWJhc2UtYXV0aC5tb2R1bGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vYW5ndWxhci1maXJlc3RvcmUubW9kdWxlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2FuZ3VsYXItY29ubmVjdC5tb2R1bGUnXHJcbmV4cG9ydCAqIGZyb20gJy4vYW5ndWxhci1oYXN1cmEtZ3JhcGhxbC5tb2R1bGUnXHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFJMUQsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDbUIsZUFBZ0MsRUFDTixjQUE4QjtRQUR4RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDTixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDeEUsQ0FBQztJQUVKLFlBQVk7UUFDVixNQUFNLFdBQVcsR0FBa0Q7WUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNoRCxDQUFBO1FBRUQsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixXQUFXLEVBQUUsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFdBQVc7YUFDSyxDQUFBO1FBQzNDLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsR0FBRyxDQUFDLEVBQ3hCLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDcEUsQ0FBQTtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQTtJQUNyQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7O3lHQW5DVSxXQUFXLGlEQUdaLGdCQUFnQjs2R0FIZixXQUFXOzRGQUFYLFdBQVc7a0JBRHZCLFVBQVU7OzBCQUlOLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQW5ndWxhckZpcmVBdXRoIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJ1xyXG5pbXBvcnQgeyBVc2VyLCBVc2VyUmVwb3NpdG9yeSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IGZpcmViYXNlIGZyb20gJ2ZpcmViYXNlL2FwcCdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckZpcmVBdXRoOiBBbmd1bGFyRmlyZUF1dGgsXHJcbiAgICBASW5qZWN0KCdVc2VyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5LFxyXG4gICkge31cclxuXHJcbiAgZ2V0QXV0aHN0YXRlKCk6IE9ic2VydmFibGU8eyB1c2VyOiBVc2VyOyBpc0Fub255bW91czogYm9vbGVhbiB9PiB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogW09ic2VydmFibGU8ZmlyZWJhc2UuVXNlcj4sIE9ic2VydmFibGU8VXNlcj5dID0gW1xyXG4gICAgICB0aGlzLmFuZ3VsYXJGaXJlQXV0aC5hdXRoU3RhdGUucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSksXHJcbiAgICAgIHRoaXMuZ2V0VXNlcigpLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpLFxyXG4gICAgXVxyXG5cclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KG9ic2VydmFibGVzKS5waXBlKFxyXG4gICAgICBtYXAoKFtmaXJlVXNlciwgdXNlcl0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgdXNlcixcclxuICAgICAgICAgIGlzQW5vbnltb3VzOiBmaXJlVXNlcj8uaXNBbm9ueW1vdXMsXHJcbiAgICAgICAgfSBhcyB7IHVzZXI6IFVzZXI7IGlzQW5vbnltb3VzOiBib29sZWFuIH1cclxuICAgICAgfSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRVc2VyKCk6IE9ic2VydmFibGU8VXNlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0RmlyZVVzZXIoKS5waXBlKFxyXG4gICAgICBtYXAoKHVzZXIpID0+IHVzZXI/LnVpZCksXHJcbiAgICAgIG1lcmdlTWFwKChpZCkgPT4gKGlkID8gdGhpcy51c2VyUmVwb3NpdG9yeS5nZXQoeyBpZCB9KSA6IG9mKG51bGwpKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRUb2tlbklkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hbmd1bGFyRmlyZUF1dGguaWRUb2tlblxyXG4gIH1cclxuXHJcbiAgZ2V0RmlyZVVzZXIoKTogT2JzZXJ2YWJsZTxmaXJlYmFzZS5Vc2VyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hbmd1bGFyRmlyZUF1dGgudXNlci5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKVxyXG4gIH1cclxufVxyXG4iXX0=
|