@infrab4a/connect-angular 3.2.0-beta.0 → 3.2.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 (55) hide show
  1. package/angular-connect.module.d.ts +18 -18
  2. package/angular-elastic-search.module.d.ts +9 -9
  3. package/angular-firebase-auth.module.d.ts +10 -10
  4. package/angular-firestore.module.d.ts +15 -15
  5. package/angular-hasura-graphql.module.d.ts +16 -16
  6. package/bundles/infrab4a-connect-angular.umd.js +1775 -1777
  7. package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
  8. package/consts/default-shop.const.d.ts +1 -1
  9. package/consts/es-config.const.d.ts +1 -1
  10. package/consts/hasura-options.const.d.ts +1 -1
  11. package/consts/index.d.ts +3 -3
  12. package/esm2015/angular-connect.module.js +49 -49
  13. package/esm2015/angular-elastic-search.module.js +38 -38
  14. package/esm2015/angular-firebase-auth.module.js +113 -113
  15. package/esm2015/angular-firestore.module.js +352 -354
  16. package/esm2015/angular-hasura-graphql.module.js +90 -90
  17. package/esm2015/consts/default-shop.const.js +2 -2
  18. package/esm2015/consts/es-config.const.js +2 -2
  19. package/esm2015/consts/hasura-options.const.js +2 -2
  20. package/esm2015/consts/index.js +4 -4
  21. package/esm2015/index.js +6 -6
  22. package/esm2015/infrab4a-connect-angular.js +4 -4
  23. package/esm2015/services/auth.service.js +42 -42
  24. package/esm2015/services/cart.service.js +148 -148
  25. package/esm2015/services/checkout-subscription.service.js +51 -51
  26. package/esm2015/services/checkout.service.js +75 -75
  27. package/esm2015/services/coupon.service.js +266 -266
  28. package/esm2015/services/errors/group-invalid-coupon.error.js +8 -8
  29. package/esm2015/services/errors/index.js +3 -3
  30. package/esm2015/services/errors/invalid-coupon.error.js +8 -8
  31. package/esm2015/services/home-shop.service.js +113 -113
  32. package/esm2015/services/index.js +8 -8
  33. package/esm2015/services/order.service.js +32 -32
  34. package/esm2015/services/types/index.js +3 -3
  35. package/esm2015/services/types/required-checkout-data.type.js +2 -2
  36. package/esm2015/services/types/required-checkout-subscription-data.type.js +2 -2
  37. package/fesm2015/infrab4a-connect-angular.js +1269 -1271
  38. package/fesm2015/infrab4a-connect-angular.js.map +1 -1
  39. package/index.d.ts +5 -5
  40. package/infrab4a-connect-angular.d.ts +5 -5
  41. package/package.json +3 -3
  42. package/services/auth.service.d.ts +19 -19
  43. package/services/cart.service.d.ts +35 -35
  44. package/services/checkout-subscription.service.d.ts +18 -18
  45. package/services/checkout.service.d.ts +23 -23
  46. package/services/coupon.service.d.ts +26 -26
  47. package/services/errors/group-invalid-coupon.error.d.ts +6 -6
  48. package/services/errors/index.d.ts +2 -2
  49. package/services/errors/invalid-coupon.error.d.ts +5 -5
  50. package/services/home-shop.service.d.ts +25 -25
  51. package/services/index.d.ts +7 -7
  52. package/services/order.service.d.ts +13 -13
  53. package/services/types/index.d.ts +2 -2
  54. package/services/types/required-checkout-data.type.d.ts +2 -2
  55. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
@@ -1,8 +1,8 @@
1
- import { CustomError } from 'ts-custom-error';
2
- export class GroupInvalidCouponError extends CustomError {
3
- constructor(errors) {
4
- super('Many coupon errors throw');
5
- this.errors = errors;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtaW52YWxpZC1jb3Vwb24uZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2Vycm9ycy9ncm91cC1pbnZhbGlkLWNvdXBvbi5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJN0MsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFdBQVc7SUFDdEQsWUFBcUIsTUFBNEI7UUFDL0MsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFzQjtJQUVqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21FcnJvciB9IGZyb20gJ3RzLWN1c3RvbS1lcnJvcidcclxuXHJcbmltcG9ydCB7IEludmFsaWRDb3Vwb25FcnJvciB9IGZyb20gJy4vaW52YWxpZC1jb3Vwb24uZXJyb3InXHJcblxyXG5leHBvcnQgY2xhc3MgR3JvdXBJbnZhbGlkQ291cG9uRXJyb3IgZXh0ZW5kcyBDdXN0b21FcnJvciB7XHJcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZXJyb3JzOiBJbnZhbGlkQ291cG9uRXJyb3JbXSkge1xyXG4gICAgc3VwZXIoJ01hbnkgY291cG9uIGVycm9ycyB0aHJvdycpXHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { CustomError } from 'ts-custom-error';
2
+ export class GroupInvalidCouponError extends CustomError {
3
+ constructor(errors) {
4
+ super('Many coupon errors throw');
5
+ this.errors = errors;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtaW52YWxpZC1jb3Vwb24uZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2Vycm9ycy9ncm91cC1pbnZhbGlkLWNvdXBvbi5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJN0MsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFdBQVc7SUFDdEQsWUFBcUIsTUFBNEI7UUFDL0MsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFzQjtJQUVqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21FcnJvciB9IGZyb20gJ3RzLWN1c3RvbS1lcnJvcidcblxuaW1wb3J0IHsgSW52YWxpZENvdXBvbkVycm9yIH0gZnJvbSAnLi9pbnZhbGlkLWNvdXBvbi5lcnJvcidcblxuZXhwb3J0IGNsYXNzIEdyb3VwSW52YWxpZENvdXBvbkVycm9yIGV4dGVuZHMgQ3VzdG9tRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBlcnJvcnM6IEludmFsaWRDb3Vwb25FcnJvcltdKSB7XG4gICAgc3VwZXIoJ01hbnkgY291cG9uIGVycm9ycyB0aHJvdycpXG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './invalid-coupon.error';
2
- export * from './group-invalid-coupon.error';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMsOEJBQThCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludmFsaWQtY291cG9uLmVycm9yJ1xyXG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLWludmFsaWQtY291cG9uLmVycm9yJ1xyXG4iXX0=
1
+ export * from './invalid-coupon.error';
2
+ export * from './group-invalid-coupon.error';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMsOEJBQThCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludmFsaWQtY291cG9uLmVycm9yJ1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cC1pbnZhbGlkLWNvdXBvbi5lcnJvcidcbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { CustomError } from 'ts-custom-error';
2
- export class InvalidCouponError extends CustomError {
3
- constructor(message) {
4
- super(message);
5
- this.message = message;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC1jb3Vwb24uZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2Vycm9ycy9pbnZhbGlkLWNvdXBvbi5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFN0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFDakQsWUFBcUIsT0FBTztRQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFESyxZQUFPLEdBQVAsT0FBTyxDQUFBO0lBRTVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbUVycm9yIH0gZnJvbSAndHMtY3VzdG9tLWVycm9yJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEludmFsaWRDb3Vwb25FcnJvciBleHRlbmRzIEN1c3RvbUVycm9yIHtcclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtZXNzYWdlKSB7XHJcbiAgICBzdXBlcihtZXNzYWdlKVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { CustomError } from 'ts-custom-error';
2
+ export class InvalidCouponError extends CustomError {
3
+ constructor(message) {
4
+ super(message);
5
+ this.message = message;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC1jb3Vwb24uZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2Vycm9ycy9pbnZhbGlkLWNvdXBvbi5lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFN0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFDakQsWUFBcUIsT0FBTztRQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFESyxZQUFPLEdBQVAsT0FBTyxDQUFBO0lBRTVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbUVycm9yIH0gZnJvbSAndHMtY3VzdG9tLWVycm9yJ1xuXG5leHBvcnQgY2xhc3MgSW52YWxpZENvdXBvbkVycm9yIGV4dGVuZHMgQ3VzdG9tRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtZXNzYWdlKSB7XG4gICAgc3VwZXIobWVzc2FnZSlcbiAgfVxufVxuIl19
@@ -1,113 +1,113 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { add, Category, pick, Product, RequiredArgumentError, Shops, Where } from '@infrab4a/connect';
3
- import { forkJoin, from, of, throwError } from 'rxjs';
4
- import { concatMap, map, tap } from 'rxjs/operators';
5
- import { DEFAULT_SHOP } from '../consts';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@infrab4a/connect";
8
- export class HomeShopService {
9
- constructor(categoryRepository, homeRepository, productRepository, defaultShop) {
10
- this.categoryRepository = categoryRepository;
11
- this.homeRepository = homeRepository;
12
- this.productRepository = productRepository;
13
- this.defaultShop = defaultShop;
14
- this.buildCategoryGroupWithRequiredData = (group) => ({
15
- category: Category.toInstance(pick(group.category.toPlain(), ['id', 'name', 'slug', 'conditions'])),
16
- products: group.products.map((product) => Product.toInstance(pick(product.toPlain(), [
17
- 'id',
18
- 'price',
19
- 'reviews',
20
- 'hasVariants',
21
- 'slug',
22
- 'sku',
23
- 'stock',
24
- 'costPrice',
25
- 'images',
26
- 'miniatures',
27
- 'name',
28
- 'weight',
29
- 'rate',
30
- 'type'
31
- ]))),
32
- });
33
- }
34
- get homeId() {
35
- if (this.defaultShop === Shops.GLAMSHOP)
36
- return 'glamshop';
37
- if (this.defaultShop === Shops.MENSMARKET)
38
- return 'mens_market';
39
- return null;
40
- }
41
- getHomeData() {
42
- return this.getHomeConfiguration().pipe(map((home) => { var _a; return (((_a = home === null || home === void 0 ? void 0 : home.data) === null || _a === void 0 ? void 0 : _a.expiresAt) > new Date() ? home : null); }), concatMap((home) => home
43
- ? of(home)
44
- : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
45
- discoverProducts,
46
- featuredProducts,
47
- verticalProducts,
48
- })), concatMap((data) => this.saveHomeData(data)))));
49
- }
50
- getBanners(type) {
51
- return this.getHomeConfiguration().pipe(map((home) => {
52
- if (type === 'brand')
53
- return home.brandsCarousel;
54
- if (type === 'buyToWin')
55
- return [home.buyToWinBanner];
56
- if (type === 'block')
57
- return home.blockBanners;
58
- if (type === 'blog')
59
- return [home.blogBanner];
60
- }));
61
- }
62
- getMinValueForFreeShipping() {
63
- return this.getHomeConfiguration().pipe(map(home => home.minValueForFreeShipping));
64
- }
65
- getDiscoverProducts() {
66
- return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
67
- }
68
- getFeaturedProducts() {
69
- return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
70
- }
71
- getVerticalProducts() {
72
- return this.getHomeConfiguration().pipe(concatMap((home) => forkJoin(home.verticalCarousels.filter(Boolean).map((id) => from(this.categoryRepository.get({ id })).pipe(concatMap((category) => from(this.productRepository.find({
73
- filters: { categories: { operator: Where.IN, value: [category.id] } },
74
- limits: { limit: 12 },
75
- })).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
76
- }
77
- getHomeConfiguration() {
78
- return of(this.homeConfiguration).pipe(concatMap((home) => home
79
- ? of(home)
80
- : !this.homeId
81
- ? throwError(new RequiredArgumentError(['homeId']))
82
- : from(this.homeRepository.get({ id: this.homeId })).pipe(tap((homeLoaded) => (this.homeConfiguration = homeLoaded)))));
83
- }
84
- saveHomeData(homeData) {
85
- const data = {
86
- createdAt: new Date(),
87
- expiresAt: add(new Date(), { hours: 1 }),
88
- data: homeData,
89
- };
90
- return from(this.homeRepository.update({
91
- id: this.homeId,
92
- data,
93
- })).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
94
- }
95
- }
96
- HomeShopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService, deps: [{ token: 'CategoryRepository' }, { token: 'HomeRepository' }, { token: 'ProductRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
97
- HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService, decorators: [{
99
- type: Injectable
100
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
101
- type: Inject,
102
- args: ['CategoryRepository']
103
- }] }, { type: undefined, decorators: [{
104
- type: Inject,
105
- args: ['HomeRepository']
106
- }] }, { type: undefined, decorators: [{
107
- type: Inject,
108
- args: ['ProductRepository']
109
- }] }, { type: i1.Shops, decorators: [{
110
- type: Inject,
111
- args: [DEFAULT_SHOP]
112
- }] }]; } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1zaG9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hvbWUtc2hvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFDTCxHQUFHLEVBRUgsUUFBUSxFQU1SLElBQUksRUFDSixPQUFPLEVBRVAscUJBQXFCLEVBQ3JCLEtBQUssRUFDTCxLQUFLLEVBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7OztBQU14QyxNQUFNLE9BQU8sZUFBZTtJQVUxQixZQUNpRCxrQkFBc0MsRUFDMUMsY0FBOEIsRUFDM0IsaUJBQW9DLEVBQzNDLFdBQWtCO1FBSFYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUMzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBTztRQWlIbkQsdUNBQWtDLEdBQUcsQ0FBQyxLQUF3QixFQUFxQixFQUFFLENBQUMsQ0FBQztZQUM3RixRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbkcsUUFBUSxFQUFFLEtB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QUFDLFFBQWtCO1FBQ3JDLE1BQU0sSUFBSSxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUE7UUFFRCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUN6QixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDZixJQUFJO1NBQ0wsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDL0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUNsQyxDQUFBO0lBQ0gsQ0FBQzs7NkdBN0hVLGVBQWUsa0JBV2hCLG9CQUFvQixhQUNwQixnQkFBZ0IsYUFDaEIsbUJBQW1CLGFBQ25CLFlBQVk7aUhBZFgsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFZTixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIGFkZCxcclxuICBCYW5uZXIsXHJcbiAgQ2F0ZWdvcnksXHJcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxyXG4gIEhvbWUsXHJcbiAgSG9tZUNhdGVnb3J5R3JvdXAsXHJcbiAgSG9tZURhdGEsXHJcbiAgSG9tZVJlcG9zaXRvcnksXHJcbiAgcGljayxcclxuICBQcm9kdWN0LFxyXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxyXG4gIFJlcXVpcmVkQXJndW1lbnRFcnJvcixcclxuICBTaG9wcyxcclxuICBXaGVyZVxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBjb25jYXRNYXAsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcblxyXG5pbXBvcnQgeyBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi9jb25zdHMnXHJcblxyXG50eXBlIEhvbWVDb25maWd1cmF0aW9uSWQgPSAnZ2xhbXNob3AnIHwgJ21lbnNfbWFya2V0J1xyXG50eXBlIEJhbm5lclR5cGUgPSAnYnJhbmQnIHwgJ2J1eVRvV2luJyB8ICdibG9jaycgfCAnYmxvZydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhvbWVTaG9wU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBob21lQ29uZmlndXJhdGlvbjogSG9tZVxyXG5cclxuICBwcml2YXRlIGdldCBob21lSWQoKTogSG9tZUNvbmZpZ3VyYXRpb25JZCB7XHJcbiAgICBpZiAodGhpcy5kZWZhdWx0U2hvcCA9PT0gU2hvcHMuR0xBTVNIT1ApIHJldHVybiAnZ2xhbXNob3AnXHJcbiAgICBpZiAodGhpcy5kZWZhdWx0U2hvcCA9PT0gU2hvcHMuTUVOU01BUktFVCkgcmV0dXJuICdtZW5zX21hcmtldCdcclxuXHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdCgnSG9tZVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGhvbWVSZXBvc2l0b3J5OiBIb21lUmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoJ1Byb2R1Y3RSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdFJlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0U2hvcDogU2hvcHMsXHJcbiAgKSB7fVxyXG5cclxuICBnZXRIb21lRGF0YSgpOiBPYnNlcnZhYmxlPEhvbWU+IHtcclxuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcclxuICAgICAgbWFwKChob21lKSA9PiAoaG9tZT8uZGF0YT8uZXhwaXJlc0F0ID4gbmV3IERhdGUoKSA/IGhvbWUgOiBudWxsKSksXHJcbiAgICAgIGNvbmNhdE1hcCgoaG9tZSkgPT5cclxuICAgICAgICBob21lXHJcbiAgICAgICAgICA/IG9mKGhvbWUpXHJcbiAgICAgICAgICA6IGZvcmtKb2luKFt0aGlzLmdldERpc2NvdmVyUHJvZHVjdHMoKSwgdGhpcy5nZXRGZWF0dXJlZFByb2R1Y3RzKCksIHRoaXMuZ2V0VmVydGljYWxQcm9kdWN0cygpXSkucGlwZShcclxuICAgICAgICAgICAgICBtYXAoKFtkaXNjb3ZlclByb2R1Y3RzLCBmZWF0dXJlZFByb2R1Y3RzLCB2ZXJ0aWNhbFByb2R1Y3RzXSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGRpc2NvdmVyUHJvZHVjdHMsXHJcbiAgICAgICAgICAgICAgICBmZWF0dXJlZFByb2R1Y3RzLFxyXG4gICAgICAgICAgICAgICAgdmVydGljYWxQcm9kdWN0cyxcclxuICAgICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICAgY29uY2F0TWFwKChkYXRhKSA9PiB0aGlzLnNhdmVIb21lRGF0YShkYXRhKSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRCYW5uZXJzKHR5cGU6IEJhbm5lclR5cGUpOiBPYnNlcnZhYmxlPEJhbm5lcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXHJcbiAgICAgIG1hcCgoaG9tZSkgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlID09PSAnYnJhbmQnKSByZXR1cm4gaG9tZS5icmFuZHNDYXJvdXNlbFxyXG4gICAgICAgIGlmICh0eXBlID09PSAnYnV5VG9XaW4nKSByZXR1cm4gW2hvbWUuYnV5VG9XaW5CYW5uZXJdXHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdibG9jaycpIHJldHVybiBob21lLmJsb2NrQmFubmVyc1xyXG4gICAgICAgIGlmICh0eXBlID09PSAnYmxvZycpIHJldHVybiBbaG9tZS5ibG9nQmFubmVyXVxyXG4gICAgICB9KSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldE1pblZhbHVlRm9yRnJlZVNoaXBwaW5nKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXHJcbiAgICAgIG1hcChob21lID0+IGhvbWUubWluVmFsdWVGb3JGcmVlU2hpcHBpbmcpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREaXNjb3ZlclByb2R1Y3RzKCk6IE9ic2VydmFibGU8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcCgoaG9tZSkgPT5cclxuICAgICAgICBmcm9tKHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldENhdGVnb3JpZXNGb3JIb21lKGhvbWUuZGlzY292ZXJDYXRlZ29yaWVzKSkucGlwZShcclxuICAgICAgICAgIG1hcCgoZ3JvdXBzKSA9PiBncm91cHMubWFwKHRoaXMuYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSkpLFxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZlYXR1cmVkUHJvZHVjdHMoKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcclxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxyXG4gICAgICAgIGZyb20odGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0Q2F0ZWdvcmllc0ZvckhvbWUoaG9tZS5mZWF0dXJlZENhdGVnb3JpZXMpKS5waXBlKFxyXG4gICAgICAgICAgbWFwKChncm91cHMpID0+IGdyb3Vwcy5tYXAodGhpcy5idWlsZENhdGVnb3J5R3JvdXBXaXRoUmVxdWlyZWREYXRhKSksXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VmVydGljYWxQcm9kdWN0cygpOiBPYnNlcnZhYmxlPHsgY2F0ZWdvcnk6IENhdGVnb3J5OyBwcm9kdWN0czogUHJvZHVjdFtdIH1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxyXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XHJcbiAgICAgICAgZm9ya0pvaW4oXHJcbiAgICAgICAgICBob21lLnZlcnRpY2FsQ2Fyb3VzZWxzLmZpbHRlcihCb29sZWFuKS5tYXAoKGlkKSA9PlxyXG4gICAgICAgICAgICBmcm9tKHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkIH0pKS5waXBlKFxyXG4gICAgICAgICAgICAgIGNvbmNhdE1hcCgoY2F0ZWdvcnkpID0+XHJcbiAgICAgICAgICAgICAgICBmcm9tKFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RSZXBvc2l0b3J5LmZpbmQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnM6IHsgY2F0ZWdvcmllczogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBbY2F0ZWdvcnkuaWRdIH0gfSxcclxuICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IHsgbGltaXQ6IDEyIH0sXHJcbiAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKS5waXBlKG1hcCgocHJvZHVjdHMpID0+ICh7IGNhdGVnb3J5LCBwcm9kdWN0cyB9KSkpLFxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgbWFwKCh7IGNhdGVnb3J5LCBwcm9kdWN0cyB9KSA9PiAoeyBjYXRlZ29yeSwgcHJvZHVjdHM6IHByb2R1Y3RzLmRhdGEgfSkpLFxyXG4gICAgICAgICAgICAgIG1hcCh0aGlzLmJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgKSxcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIb21lQ29uZmlndXJhdGlvbigpOiBPYnNlcnZhYmxlPEhvbWU+IHtcclxuICAgIHJldHVybiBvZih0aGlzLmhvbWVDb25maWd1cmF0aW9uKS5waXBlKFxyXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XHJcbiAgICAgICAgaG9tZVxyXG4gICAgICAgICAgPyBvZihob21lKVxyXG4gICAgICAgICAgOiAhdGhpcy5ob21lSWRcclxuICAgICAgICAgID8gdGhyb3dFcnJvcihuZXcgUmVxdWlyZWRBcmd1bWVudEVycm9yKFsnaG9tZUlkJ10pKVxyXG4gICAgICAgICAgOiBmcm9tKHRoaXMuaG9tZVJlcG9zaXRvcnkuZ2V0KHsgaWQ6IHRoaXMuaG9tZUlkIH0pKS5waXBlKFxyXG4gICAgICAgICAgICAgIHRhcCgoaG9tZUxvYWRlZCkgPT4gKHRoaXMuaG9tZUNvbmZpZ3VyYXRpb24gPSBob21lTG9hZGVkKSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVIb21lRGF0YShob21lRGF0YTogSG9tZURhdGEpOiBPYnNlcnZhYmxlPEhvbWU+IHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKSxcclxuICAgICAgZXhwaXJlc0F0OiBhZGQobmV3IERhdGUoKSwgeyBob3VyczogMSB9KSxcclxuICAgICAgZGF0YTogaG9tZURhdGEsXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMuaG9tZVJlcG9zaXRvcnkudXBkYXRlKHtcclxuICAgICAgICBpZDogdGhpcy5ob21lSWQsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgfSksXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5ob21lQ29uZmlndXJhdGlvbi5kYXRhID0gZGF0YSkpLFxyXG4gICAgICBtYXAoKCkgPT4gdGhpcy5ob21lQ29uZmlndXJhdGlvbiksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEgPSAoZ3JvdXA6IEhvbWVDYXRlZ29yeUdyb3VwKTogSG9tZUNhdGVnb3J5R3JvdXAgPT4gKHtcclxuICAgIGNhdGVnb3J5OiBDYXRlZ29yeS50b0luc3RhbmNlKHBpY2soZ3JvdXAuY2F0ZWdvcnkudG9QbGFpbigpLCBbJ2lkJywgJ25hbWUnLCAnc2x1ZycsICdjb25kaXRpb25zJ10pKSxcclxuICAgIHByb2R1Y3RzOiBncm91cC5wcm9kdWN0cy5tYXAoKHByb2R1Y3QpID0+XHJcbiAgICAgIFByb2R1Y3QudG9JbnN0YW5jZShcclxuICAgICAgICBwaWNrKHByb2R1Y3QudG9QbGFpbigpLCBbXHJcbiAgICAgICAgICAnaWQnLFxyXG4gICAgICAgICAgJ3ByaWNlJyxcclxuICAgICAgICAgICdyZXZpZXdzJyxcclxuICAgICAgICAgICdoYXNWYXJpYW50cycsXHJcbiAgICAgICAgICAnc2x1ZycsXHJcbiAgICAgICAgICAnc2t1JyxcclxuICAgICAgICAgICdzdG9jaycsXHJcbiAgICAgICAgICAnY29zdFByaWNlJyxcclxuICAgICAgICAgICdpbWFnZXMnLFxyXG4gICAgICAgICAgJ21pbmlhdHVyZXMnLFxyXG4gICAgICAgICAgJ25hbWUnLFxyXG4gICAgICAgICAgJ3dlaWdodCcsXHJcbiAgICAgICAgICAncmF0ZScsXHJcbiAgICAgICAgICAndHlwZSdcclxuICAgICAgICBdKSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgfSlcclxufVxyXG4iXX0=
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { add, Category, pick, Product, RequiredArgumentError, Shops, Where } from '@infrab4a/connect';
3
+ import { forkJoin, from, of, throwError } from 'rxjs';
4
+ import { concatMap, map, tap } from 'rxjs/operators';
5
+ import { DEFAULT_SHOP } from '../consts';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@infrab4a/connect";
8
+ export class HomeShopService {
9
+ constructor(categoryRepository, homeRepository, productRepository, defaultShop) {
10
+ this.categoryRepository = categoryRepository;
11
+ this.homeRepository = homeRepository;
12
+ this.productRepository = productRepository;
13
+ this.defaultShop = defaultShop;
14
+ this.buildCategoryGroupWithRequiredData = (group) => ({
15
+ category: Category.toInstance(pick(group.category.toPlain(), ['id', 'name', 'slug', 'conditions'])),
16
+ products: group.products.map((product) => Product.toInstance(pick(product.toPlain(), [
17
+ 'id',
18
+ 'price',
19
+ 'reviews',
20
+ 'hasVariants',
21
+ 'slug',
22
+ 'sku',
23
+ 'stock',
24
+ 'costPrice',
25
+ 'images',
26
+ 'miniatures',
27
+ 'name',
28
+ 'weight',
29
+ 'rate',
30
+ 'type'
31
+ ]))),
32
+ });
33
+ }
34
+ get homeId() {
35
+ if (this.defaultShop === Shops.GLAMSHOP)
36
+ return 'glamshop';
37
+ if (this.defaultShop === Shops.MENSMARKET)
38
+ return 'mens_market';
39
+ return null;
40
+ }
41
+ getHomeData() {
42
+ return this.getHomeConfiguration().pipe(map((home) => { var _a; return (((_a = home === null || home === void 0 ? void 0 : home.data) === null || _a === void 0 ? void 0 : _a.expiresAt) > new Date() ? home : null); }), concatMap((home) => home
43
+ ? of(home)
44
+ : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
45
+ discoverProducts,
46
+ featuredProducts,
47
+ verticalProducts,
48
+ })), concatMap((data) => this.saveHomeData(data)))));
49
+ }
50
+ getBanners(type) {
51
+ return this.getHomeConfiguration().pipe(map((home) => {
52
+ if (type === 'brand')
53
+ return home.brandsCarousel;
54
+ if (type === 'buyToWin')
55
+ return [home.buyToWinBanner];
56
+ if (type === 'block')
57
+ return home.blockBanners;
58
+ if (type === 'blog')
59
+ return [home.blogBanner];
60
+ }));
61
+ }
62
+ getMinValueForFreeShipping() {
63
+ return this.getHomeConfiguration().pipe(map(home => home.minValueForFreeShipping));
64
+ }
65
+ getDiscoverProducts() {
66
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
67
+ }
68
+ getFeaturedProducts() {
69
+ return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
70
+ }
71
+ getVerticalProducts() {
72
+ return this.getHomeConfiguration().pipe(concatMap((home) => forkJoin(home.verticalCarousels.filter(Boolean).map((id) => from(this.categoryRepository.get({ id })).pipe(concatMap((category) => from(this.productRepository.find({
73
+ filters: { categories: { operator: Where.IN, value: [category.id] } },
74
+ limits: { limit: 12 },
75
+ })).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
76
+ }
77
+ getHomeConfiguration() {
78
+ return of(this.homeConfiguration).pipe(concatMap((home) => home
79
+ ? of(home)
80
+ : !this.homeId
81
+ ? throwError(new RequiredArgumentError(['homeId']))
82
+ : from(this.homeRepository.get({ id: this.homeId })).pipe(tap((homeLoaded) => (this.homeConfiguration = homeLoaded)))));
83
+ }
84
+ saveHomeData(homeData) {
85
+ const data = {
86
+ createdAt: new Date(),
87
+ expiresAt: add(new Date(), { hours: 1 }),
88
+ data: homeData,
89
+ };
90
+ return from(this.homeRepository.update({
91
+ id: this.homeId,
92
+ data,
93
+ })).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
94
+ }
95
+ }
96
+ HomeShopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService, deps: [{ token: 'CategoryRepository' }, { token: 'HomeRepository' }, { token: 'ProductRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: HomeShopService, decorators: [{
99
+ type: Injectable
100
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
101
+ type: Inject,
102
+ args: ['CategoryRepository']
103
+ }] }, { type: undefined, decorators: [{
104
+ type: Inject,
105
+ args: ['HomeRepository']
106
+ }] }, { type: undefined, decorators: [{
107
+ type: Inject,
108
+ args: ['ProductRepository']
109
+ }] }, { type: i1.Shops, decorators: [{
110
+ type: Inject,
111
+ args: [DEFAULT_SHOP]
112
+ }] }]; } });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1zaG9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hvbWUtc2hvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFDTCxHQUFHLEVBRUgsUUFBUSxFQU1SLElBQUksRUFDSixPQUFPLEVBRVAscUJBQXFCLEVBQ3JCLEtBQUssRUFDTCxLQUFLLEVBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7OztBQU14QyxNQUFNLE9BQU8sZUFBZTtJQVUxQixZQUNpRCxrQkFBc0MsRUFDMUMsY0FBOEIsRUFDM0IsaUJBQW9DLEVBQzNDLFdBQWtCO1FBSFYsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUMzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBTztRQWlIbkQsdUNBQWtDLEdBQUcsQ0FBQyxLQUF3QixFQUFxQixFQUFFLENBQUMsQ0FBQztZQUM3RixRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbkcsUUFBUSxFQUFFLEtB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QUFDLFFBQWtCO1FBQ3JDLE1BQU0sSUFBSSxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUE7UUFFRCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUN6QixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDZixJQUFJO1NBQ0wsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFDL0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUNsQyxDQUFBO0lBQ0gsQ0FBQzs7NkdBN0hVLGVBQWUsa0JBV2hCLG9CQUFvQixhQUNwQixnQkFBZ0IsYUFDaEIsbUJBQW1CLGFBQ25CLFlBQVk7aUhBZFgsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFZTixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgYWRkLFxuICBCYW5uZXIsXG4gIENhdGVnb3J5LFxuICBDYXRlZ29yeVJlcG9zaXRvcnksXG4gIEhvbWUsXG4gIEhvbWVDYXRlZ29yeUdyb3VwLFxuICBIb21lRGF0YSxcbiAgSG9tZVJlcG9zaXRvcnksXG4gIHBpY2ssXG4gIFByb2R1Y3QsXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxuICBSZXF1aXJlZEFyZ3VtZW50RXJyb3IsXG4gIFNob3BzLFxuICBXaGVyZVxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IGZvcmtKb2luLCBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjb25jYXRNYXAsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uL2NvbnN0cydcblxudHlwZSBIb21lQ29uZmlndXJhdGlvbklkID0gJ2dsYW1zaG9wJyB8ICdtZW5zX21hcmtldCdcbnR5cGUgQmFubmVyVHlwZSA9ICdicmFuZCcgfCAnYnV5VG9XaW4nIHwgJ2Jsb2NrJyB8ICdibG9nJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSG9tZVNob3BTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBob21lQ29uZmlndXJhdGlvbjogSG9tZVxuXG4gIHByaXZhdGUgZ2V0IGhvbWVJZCgpOiBIb21lQ29uZmlndXJhdGlvbklkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0U2hvcCA9PT0gU2hvcHMuR0xBTVNIT1ApIHJldHVybiAnZ2xhbXNob3AnXG4gICAgaWYgKHRoaXMuZGVmYXVsdFNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQpIHJldHVybiAnbWVuc19tYXJrZXQnXG5cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnQ2F0ZWdvcnlSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeVJlcG9zaXRvcnk6IENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KCdIb21lUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgaG9tZVJlcG9zaXRvcnk6IEhvbWVSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoJ1Byb2R1Y3RSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdFJlcG9zaXRvcnksXG4gICAgQEluamVjdChERUZBVUxUX1NIT1ApIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFNob3A6IFNob3BzLFxuICApIHt9XG5cbiAgZ2V0SG9tZURhdGEoKTogT2JzZXJ2YWJsZTxIb21lPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgbWFwKChob21lKSA9PiAoaG9tZT8uZGF0YT8uZXhwaXJlc0F0ID4gbmV3IERhdGUoKSA/IGhvbWUgOiBudWxsKSksXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGhvbWVcbiAgICAgICAgICA/IG9mKGhvbWUpXG4gICAgICAgICAgOiBmb3JrSm9pbihbdGhpcy5nZXREaXNjb3ZlclByb2R1Y3RzKCksIHRoaXMuZ2V0RmVhdHVyZWRQcm9kdWN0cygpLCB0aGlzLmdldFZlcnRpY2FsUHJvZHVjdHMoKV0pLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoW2Rpc2NvdmVyUHJvZHVjdHMsIGZlYXR1cmVkUHJvZHVjdHMsIHZlcnRpY2FsUHJvZHVjdHNdKSA9PiAoe1xuICAgICAgICAgICAgICAgIGRpc2NvdmVyUHJvZHVjdHMsXG4gICAgICAgICAgICAgICAgZmVhdHVyZWRQcm9kdWN0cyxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbFByb2R1Y3RzLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIGNvbmNhdE1hcCgoZGF0YSkgPT4gdGhpcy5zYXZlSG9tZURhdGEoZGF0YSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICB9XG5cbiAgZ2V0QmFubmVycyh0eXBlOiBCYW5uZXJUeXBlKTogT2JzZXJ2YWJsZTxCYW5uZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcbiAgICAgIG1hcCgoaG9tZSkgPT4ge1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2JyYW5kJykgcmV0dXJuIGhvbWUuYnJhbmRzQ2Fyb3VzZWxcbiAgICAgICAgaWYgKHR5cGUgPT09ICdidXlUb1dpbicpIHJldHVybiBbaG9tZS5idXlUb1dpbkJhbm5lcl1cbiAgICAgICAgaWYgKHR5cGUgPT09ICdibG9jaycpIHJldHVybiBob21lLmJsb2NrQmFubmVyc1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2Jsb2cnKSByZXR1cm4gW2hvbWUuYmxvZ0Jhbm5lcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGdldE1pblZhbHVlRm9yRnJlZVNoaXBwaW5nKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgbWFwKGhvbWUgPT4gaG9tZS5taW5WYWx1ZUZvckZyZWVTaGlwcGluZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNjb3ZlclByb2R1Y3RzKCk6IE9ic2VydmFibGU8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxuICAgICAgICBmcm9tKHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldENhdGVnb3JpZXNGb3JIb21lKGhvbWUuZGlzY292ZXJDYXRlZ29yaWVzKSkucGlwZShcbiAgICAgICAgICBtYXAoKGdyb3VwcykgPT4gZ3JvdXBzLm1hcCh0aGlzLmJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEpKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGZWF0dXJlZFByb2R1Y3RzKCk6IE9ic2VydmFibGU8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxuICAgICAgICBmcm9tKHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldENhdGVnb3JpZXNGb3JIb21lKGhvbWUuZmVhdHVyZWRDYXRlZ29yaWVzKSkucGlwZShcbiAgICAgICAgICBtYXAoKGdyb3VwcykgPT4gZ3JvdXBzLm1hcCh0aGlzLmJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEpKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRWZXJ0aWNhbFByb2R1Y3RzKCk6IE9ic2VydmFibGU8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxuICAgICAgICBmb3JrSm9pbihcbiAgICAgICAgICBob21lLnZlcnRpY2FsQ2Fyb3VzZWxzLmZpbHRlcihCb29sZWFuKS5tYXAoKGlkKSA9PlxuICAgICAgICAgICAgZnJvbSh0aGlzLmNhdGVnb3J5UmVwb3NpdG9yeS5nZXQoeyBpZCB9KSkucGlwZShcbiAgICAgICAgICAgICAgY29uY2F0TWFwKChjYXRlZ29yeSkgPT5cbiAgICAgICAgICAgICAgICBmcm9tKFxuICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0UmVwb3NpdG9yeS5maW5kKHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyczogeyBjYXRlZ29yaWVzOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IFtjYXRlZ29yeS5pZF0gfSB9LFxuICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IHsgbGltaXQ6IDEyIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApLnBpcGUobWFwKChwcm9kdWN0cykgPT4gKHsgY2F0ZWdvcnksIHByb2R1Y3RzIH0pKSksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIG1hcCgoeyBjYXRlZ29yeSwgcHJvZHVjdHMgfSkgPT4gKHsgY2F0ZWdvcnksIHByb2R1Y3RzOiBwcm9kdWN0cy5kYXRhIH0pKSxcbiAgICAgICAgICAgICAgbWFwKHRoaXMuYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKTogT2JzZXJ2YWJsZTxIb21lPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuaG9tZUNvbmZpZ3VyYXRpb24pLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGhvbWVcbiAgICAgICAgICA/IG9mKGhvbWUpXG4gICAgICAgICAgOiAhdGhpcy5ob21lSWRcbiAgICAgICAgICA/IHRocm93RXJyb3IobmV3IFJlcXVpcmVkQXJndW1lbnRFcnJvcihbJ2hvbWVJZCddKSlcbiAgICAgICAgICA6IGZyb20odGhpcy5ob21lUmVwb3NpdG9yeS5nZXQoeyBpZDogdGhpcy5ob21lSWQgfSkpLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgoaG9tZUxvYWRlZCkgPT4gKHRoaXMuaG9tZUNvbmZpZ3VyYXRpb24gPSBob21lTG9hZGVkKSksXG4gICAgICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHNhdmVIb21lRGF0YShob21lRGF0YTogSG9tZURhdGEpOiBPYnNlcnZhYmxlPEhvbWU+IHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgICAgZXhwaXJlc0F0OiBhZGQobmV3IERhdGUoKSwgeyBob3VyczogMSB9KSxcbiAgICAgIGRhdGE6IGhvbWVEYXRhLFxuICAgIH1cblxuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5ob21lUmVwb3NpdG9yeS51cGRhdGUoe1xuICAgICAgICBpZDogdGhpcy5ob21lSWQsXG4gICAgICAgIGRhdGEsXG4gICAgICB9KSxcbiAgICApLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gKHRoaXMuaG9tZUNvbmZpZ3VyYXRpb24uZGF0YSA9IGRhdGEpKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmhvbWVDb25maWd1cmF0aW9uKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEgPSAoZ3JvdXA6IEhvbWVDYXRlZ29yeUdyb3VwKTogSG9tZUNhdGVnb3J5R3JvdXAgPT4gKHtcbiAgICBjYXRlZ29yeTogQ2F0ZWdvcnkudG9JbnN0YW5jZShwaWNrKGdyb3VwLmNhdGVnb3J5LnRvUGxhaW4oKSwgWydpZCcsICduYW1lJywgJ3NsdWcnLCAnY29uZGl0aW9ucyddKSksXG4gICAgcHJvZHVjdHM6IGdyb3VwLnByb2R1Y3RzLm1hcCgocHJvZHVjdCkgPT5cbiAgICAgIFByb2R1Y3QudG9JbnN0YW5jZShcbiAgICAgICAgcGljayhwcm9kdWN0LnRvUGxhaW4oKSwgW1xuICAgICAgICAgICdpZCcsXG4gICAgICAgICAgJ3ByaWNlJyxcbiAgICAgICAgICAncmV2aWV3cycsXG4gICAgICAgICAgJ2hhc1ZhcmlhbnRzJyxcbiAgICAgICAgICAnc2x1ZycsXG4gICAgICAgICAgJ3NrdScsXG4gICAgICAgICAgJ3N0b2NrJyxcbiAgICAgICAgICAnY29zdFByaWNlJyxcbiAgICAgICAgICAnaW1hZ2VzJyxcbiAgICAgICAgICAnbWluaWF0dXJlcycsXG4gICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICd3ZWlnaHQnLFxuICAgICAgICAgICdyYXRlJyxcbiAgICAgICAgICAndHlwZSdcbiAgICAgICAgXSksXG4gICAgICApLFxuICAgICksXG4gIH0pXG59XG4iXX0=
@@ -1,8 +1,8 @@
1
- export * from './auth.service';
2
- export * from './cart.service';
3
- export * from './checkout.service';
4
- export * from './checkout-subscription.service';
5
- export * from './order.service';
6
- export * from './coupon.service';
7
- export * from './home-shop.service';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMscUJBQXFCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGguc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9jYXJ0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tvdXQuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC1zdWJzY3JpcHRpb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9vcmRlci5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2NvdXBvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2hvbWUtc2hvcC5zZXJ2aWNlJ1xyXG4iXX0=
1
+ export * from './auth.service';
2
+ export * from './cart.service';
3
+ export * from './checkout.service';
4
+ export * from './checkout-subscription.service';
5
+ export * from './order.service';
6
+ export * from './coupon.service';
7
+ export * from './home-shop.service';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMscUJBQXFCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGguc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vY2FydC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC1zdWJzY3JpcHRpb24uc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXIuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vY291cG9uLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2hvbWUtc2hvcC5zZXJ2aWNlJ1xuIl19
@@ -1,32 +1,32 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { AngularFirestore } from '@angular/fire/firestore';
3
- import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
4
- import { Subject } from 'rxjs';
5
- import { map } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/fire/firestore";
8
- import * as i2 from "@infrab4a/connect";
9
- export class OrderService {
10
- constructor(angularFirestore, orderRepository) {
11
- this.angularFirestore = angularFirestore;
12
- this.orderRepository = orderRepository;
13
- this.orderSubject = new Subject();
14
- }
15
- getOrder(id) {
16
- this.angularFirestore
17
- .doc(`${this.orderRepository.collectionName}/${id}`)
18
- .valueChanges()
19
- .pipe(map((doc) => Order.toInstance(doc)))
20
- .subscribe((doc) => this.orderSubject.next(doc));
21
- return this.orderSubject;
22
- }
23
- }
24
- OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService, deps: [{ token: i1.AngularFirestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
25
- OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService, decorators: [{
27
- type: Injectable
28
- }], ctorParameters: function () { return [{ type: i1.AngularFirestore }, { type: i2.OrderFirestoreRepository, decorators: [{
29
- type: Inject,
30
- args: ['OrderRepository']
31
- }] }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXlCLE1BQU0seUJBQXlCLENBQUE7QUFDakYsT0FBTyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sRUFBb0IsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHbkQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQWtDLEVBQ1AsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNQLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUp2RixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFTLENBQUE7SUFLaEMsQ0FBQztJQUVKLFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsR0FBRyxDQUErQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQ2pGLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7OzBHQWhCVSxZQUFZLGtEQUtiLGlCQUFpQjs4R0FMaEIsWUFBWTs0RkFBWixZQUFZO2tCQUR4QixVQUFVOzswQkFNTixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUsIFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJ1xyXG5pbXBvcnQgeyBPcmRlciwgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9yZGVyU2VydmljZSB7XHJcbiAgb3JkZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8T3JkZXI+KClcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJGaXJlc3RvcmU6IEFuZ3VsYXJGaXJlc3RvcmUsXHJcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gICkge31cclxuXHJcbiAgZ2V0T3JkZXIoaWQ6IHN0cmluZyk6IFN1YmplY3Q8T3JkZXI+IHtcclxuICAgIHRoaXMuYW5ndWxhckZpcmVzdG9yZVxyXG4gICAgICAuZG9jPFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxPcmRlcj4+KGAke3RoaXMub3JkZXJSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkfWApXHJcbiAgICAgIC52YWx1ZUNoYW5nZXMoKVxyXG4gICAgICAucGlwZShtYXAoKGRvYykgPT4gT3JkZXIudG9JbnN0YW5jZShkb2MpKSlcclxuICAgICAgLnN1YnNjcmliZSgoZG9jKSA9PiB0aGlzLm9yZGVyU3ViamVjdC5uZXh0KGRvYykpXHJcblxyXG4gICAgcmV0dXJuIHRoaXMub3JkZXJTdWJqZWN0XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { AngularFirestore } from '@angular/fire/firestore';
3
+ import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
4
+ import { Subject } from 'rxjs';
5
+ import { map } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/fire/firestore";
8
+ import * as i2 from "@infrab4a/connect";
9
+ export class OrderService {
10
+ constructor(angularFirestore, orderRepository) {
11
+ this.angularFirestore = angularFirestore;
12
+ this.orderRepository = orderRepository;
13
+ this.orderSubject = new Subject();
14
+ }
15
+ getOrder(id) {
16
+ this.angularFirestore
17
+ .doc(`${this.orderRepository.collectionName}/${id}`)
18
+ .valueChanges()
19
+ .pipe(map((doc) => Order.toInstance(doc)))
20
+ .subscribe((doc) => this.orderSubject.next(doc));
21
+ return this.orderSubject;
22
+ }
23
+ }
24
+ OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService, deps: [{ token: i1.AngularFirestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: OrderService, decorators: [{
27
+ type: Injectable
28
+ }], ctorParameters: function () { return [{ type: i1.AngularFirestore }, { type: i2.OrderFirestoreRepository, decorators: [{
29
+ type: Inject,
30
+ args: ['OrderRepository']
31
+ }] }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXlCLE1BQU0seUJBQXlCLENBQUE7QUFDakYsT0FBTyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sRUFBb0IsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHbkQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQWtDLEVBQ1AsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNQLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUp2RixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFTLENBQUE7SUFLaEMsQ0FBQztJQUVKLFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsR0FBRyxDQUErQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQ2pGLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7OzBHQWhCVSxZQUFZLGtEQUtiLGlCQUFpQjs4R0FMaEIsWUFBWTs0RkFBWixZQUFZO2tCQUR4QixVQUFVOzswQkFNTixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSdcbmltcG9ydCB7IE9yZGVyLCBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcmRlclNlcnZpY2Uge1xuICBvcmRlclN1YmplY3QgPSBuZXcgU3ViamVjdDxPcmRlcj4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckZpcmVzdG9yZTogQW5ndWxhckZpcmVzdG9yZSxcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICApIHt9XG5cbiAgZ2V0T3JkZXIoaWQ6IHN0cmluZyk6IFN1YmplY3Q8T3JkZXI+IHtcbiAgICB0aGlzLmFuZ3VsYXJGaXJlc3RvcmVcbiAgICAgIC5kb2M8UXVlcnlEb2N1bWVudFNuYXBzaG90PE9yZGVyPj4oYCR7dGhpcy5vcmRlclJlcG9zaXRvcnkuY29sbGVjdGlvbk5hbWV9LyR7aWR9YClcbiAgICAgIC52YWx1ZUNoYW5nZXMoKVxuICAgICAgLnBpcGUobWFwKChkb2MpID0+IE9yZGVyLnRvSW5zdGFuY2UoZG9jKSkpXG4gICAgICAuc3Vic2NyaWJlKChkb2MpID0+IHRoaXMub3JkZXJTdWJqZWN0Lm5leHQoZG9jKSlcblxuICAgIHJldHVybiB0aGlzLm9yZGVyU3ViamVjdFxuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './required-checkout-data.type';
2
- export * from './required-checkout-subscription-data.type';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyw0Q0FBNEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcXVpcmVkLWNoZWNrb3V0LXN1YnNjcmlwdGlvbi1kYXRhLnR5cGUnXHJcbiJdfQ==
1
+ export * from './required-checkout-data.type';
2
+ export * from './required-checkout-subscription-data.type';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyw0Q0FBNEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlZC1jaGVja291dC1zdWJzY3JpcHRpb24tZGF0YS50eXBlJ1xuIl19
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9yZXF1aXJlZC1jaGVja291dC1kYXRhLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoZWNrb3V0IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5leHBvcnQgdHlwZSBSZXF1aXJlZENoZWNrb3V0RGF0YSA9IFBhcnRpYWw8UGljazxDaGVja291dCwgJ2lkJyB8ICd1c2VyJyB8ICdzaG9wJyB8ICdsaW5lSXRlbXMnPj5cclxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9yZXF1aXJlZC1jaGVja291dC1kYXRhLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoZWNrb3V0IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmV4cG9ydCB0eXBlIFJlcXVpcmVkQ2hlY2tvdXREYXRhID0gUGFydGlhbDxQaWNrPENoZWNrb3V0LCAnaWQnIHwgJ3VzZXInIHwgJ3Nob3AnIHwgJ2xpbmVJdGVtcyc+PlxuIl19
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvdHlwZXMvcmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tvdXRTdWJzY3JpcHRpb24gfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVkQ2hlY2tvdXRTdWJzY3JpcHRpb25EYXRhID0gUGFydGlhbDxQaWNrPENoZWNrb3V0U3Vic2NyaXB0aW9uLCAnaWQnPj5cclxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvdHlwZXMvcmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tvdXRTdWJzY3JpcHRpb24gfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuZXhwb3J0IHR5cGUgUmVxdWlyZWRDaGVja291dFN1YnNjcmlwdGlvbkRhdGEgPSBQYXJ0aWFsPFBpY2s8Q2hlY2tvdXRTdWJzY3JpcHRpb24sICdpZCc+PlxuIl19