@infrab4a/connect-angular 4.17.3-beta.19 → 4.17.3-beta.20
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 +29 -32
- package/angular-elastic-search.module.d.ts +9 -9
- package/angular-firebase-auth.module.d.ts +11 -11
- package/angular-firestore.module.d.ts +17 -17
- package/angular-hasura-graphql.module.d.ts +16 -16
- package/angular-vertex-search.module.d.ts +9 -9
- package/consts/backend-url.const.d.ts +1 -1
- package/consts/category-structure.d.ts +1 -1
- package/consts/default-shop.const.d.ts +1 -1
- package/consts/es-config.const.d.ts +1 -1
- package/consts/firebase-const.d.ts +3 -4
- package/consts/hasura-options.const.d.ts +1 -1
- package/consts/index.d.ts +8 -8
- package/consts/persistence.const.d.ts +1 -1
- package/consts/storage-base-url.const.d.ts +1 -1
- package/consts/vertex-config.const.d.ts +1 -1
- package/esm2020/angular-connect.module.mjs +144 -189
- package/esm2020/angular-elastic-search.module.mjs +34 -34
- package/esm2020/angular-firebase-auth.module.mjs +115 -141
- package/esm2020/angular-firestore.module.mjs +527 -527
- package/esm2020/angular-hasura-graphql.module.mjs +309 -331
- package/esm2020/angular-vertex-search.module.mjs +34 -34
- package/esm2020/consts/backend-url.const.mjs +1 -1
- package/esm2020/consts/category-structure.mjs +2 -2
- package/esm2020/consts/default-shop.const.mjs +2 -2
- package/esm2020/consts/es-config.const.mjs +2 -2
- package/esm2020/consts/firebase-const.mjs +4 -5
- package/esm2020/consts/hasura-options.const.mjs +2 -2
- package/esm2020/consts/index.mjs +9 -9
- package/esm2020/consts/persistence.const.mjs +2 -2
- package/esm2020/consts/storage-base-url.const.mjs +2 -2
- package/esm2020/consts/vertex-config.const.mjs +2 -2
- package/esm2020/helpers/index.mjs +2 -2
- package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +7 -7
- package/esm2020/index.mjs +7 -7
- package/esm2020/infrab4a-connect-angular.mjs +4 -4
- package/esm2020/persistence/cookie-data-persistence.mjs +22 -22
- package/esm2020/persistence/data-persistence.mjs +2 -2
- package/esm2020/persistence/index.mjs +3 -3
- package/esm2020/services/auth.service.mjs +37 -37
- package/esm2020/services/cart.service.mjs +191 -293
- package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +2 -2
- package/esm2020/services/catalog/adapters/index.mjs +4 -4
- package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
- package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
- package/esm2020/services/catalog/catalog.service.mjs +295 -295
- package/esm2020/services/catalog/category.service.mjs +51 -51
- package/esm2020/services/catalog/enums/index.mjs +2 -2
- package/esm2020/services/catalog/enums/product-sorts.enum.mjs +11 -11
- package/esm2020/services/catalog/index.mjs +8 -8
- package/esm2020/services/catalog/models/category-with-tree.model.mjs +10 -10
- package/esm2020/services/catalog/models/index.mjs +2 -2
- package/esm2020/services/catalog/types/index.mjs +2 -2
- package/esm2020/services/catalog/types/product-sort.type.mjs +2 -2
- package/esm2020/services/catalog/wishlist.service.mjs +235 -235
- package/esm2020/services/checkout-subscription.service.mjs +50 -50
- package/esm2020/services/checkout.service.mjs +123 -68
- package/esm2020/services/coupon.service.mjs +272 -284
- package/esm2020/services/helpers/index.mjs +2 -2
- package/esm2020/services/helpers/util.helper.mjs +18 -18
- package/esm2020/services/home-shop.service.mjs +125 -125
- package/esm2020/services/index.mjs +10 -11
- package/esm2020/services/order.service.mjs +30 -30
- package/esm2020/services/types/index.mjs +3 -3
- package/esm2020/services/types/required-checkout-data.type.mjs +2 -2
- package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -2
- package/esm2020/types/firebase-app-config.type.mjs +2 -2
- package/esm2020/types/index.mjs +2 -2
- package/fesm2015/infrab4a-connect-angular.mjs +2584 -2827
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +2538 -2779
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/helpers/index.d.ts +1 -1
- package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
- package/index.d.ts +6 -6
- package/package.json +2 -2
- package/persistence/cookie-data-persistence.d.ts +10 -10
- package/persistence/data-persistence.d.ts +6 -6
- package/persistence/index.d.ts +2 -2
- package/services/auth.service.d.ts +18 -18
- package/services/cart.service.d.ts +31 -43
- package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
- package/services/catalog/adapters/index.d.ts +3 -3
- package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
- package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
- package/services/catalog/catalog.service.d.ts +93 -93
- package/services/catalog/category.service.d.ts +20 -20
- package/services/catalog/enums/index.d.ts +1 -1
- package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
- package/services/catalog/index.d.ts +7 -7
- package/services/catalog/models/category-with-tree.model.d.ts +4 -4
- package/services/catalog/models/index.d.ts +1 -1
- package/services/catalog/types/index.d.ts +1 -1
- package/services/catalog/types/product-sort.type.d.ts +2 -2
- package/services/catalog/wishlist.service.d.ts +50 -50
- package/services/checkout-subscription.service.d.ts +19 -19
- package/services/checkout.service.d.ts +34 -27
- package/services/coupon.service.d.ts +27 -33
- package/services/helpers/index.d.ts +1 -1
- package/services/helpers/util.helper.d.ts +3 -3
- package/services/home-shop.service.d.ts +26 -26
- package/services/index.d.ts +9 -10
- package/services/order.service.d.ts +13 -13
- package/services/types/index.d.ts +2 -2
- package/services/types/required-checkout-data.type.d.ts +2 -2
- package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
- package/types/firebase-app-config.type.d.ts +1 -1
- package/types/index.d.ts +1 -1
- package/esm2020/services/shipping.service.mjs +0 -96
- package/esm2020/services/types/shipping-methods.type.mjs +0 -2
- package/services/shipping.service.d.ts +0 -19
- package/services/types/shipping-methods.type.d.ts +0 -12
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './util.helper';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './util.helper';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3V0aWwuaGVscGVyJ1xyXG4iXX0=
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
export class UtilHelper {
|
|
2
|
-
static createSlug(name) {
|
|
3
|
-
return name
|
|
4
|
-
.toLowerCase()
|
|
5
|
-
.replace(/\s+/g, '-') // Replace spaces with -
|
|
6
|
-
.replace(/[ãàáäâ]/g, 'a') // Replace spaces with -
|
|
7
|
-
.replace(/[ẽèéëê]/g, 'e') // Replace spaces with -
|
|
8
|
-
.replace(/[ìíïî]/g, 'i') // Replace spaces with -
|
|
9
|
-
.replace(/[õòóöô]/g, 'o') // Replace spaces with -
|
|
10
|
-
.replace(/[ùúüû]/g, 'u') // Replace spaces with -
|
|
11
|
-
.replace(/[ñ]/g, 'n') // Replace spaces with -
|
|
12
|
-
.replace(/[ç]/g, 'c') // Replace spaces with -
|
|
13
|
-
.replace(/[&]/g, 'and') // Replace spaces with -
|
|
14
|
-
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
|
|
15
|
-
.replace(/\-\-+/g, '-'); // Replace multiple - with single -
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class UtilHelper {
|
|
2
|
+
static createSlug(name) {
|
|
3
|
+
return name
|
|
4
|
+
.toLowerCase()
|
|
5
|
+
.replace(/\s+/g, '-') // Replace spaces with -
|
|
6
|
+
.replace(/[ãàáäâ]/g, 'a') // Replace spaces with -
|
|
7
|
+
.replace(/[ẽèéëê]/g, 'e') // Replace spaces with -
|
|
8
|
+
.replace(/[ìíïî]/g, 'i') // Replace spaces with -
|
|
9
|
+
.replace(/[õòóöô]/g, 'o') // Replace spaces with -
|
|
10
|
+
.replace(/[ùúüû]/g, 'u') // Replace spaces with -
|
|
11
|
+
.replace(/[ñ]/g, 'n') // Replace spaces with -
|
|
12
|
+
.replace(/[ç]/g, 'c') // Replace spaces with -
|
|
13
|
+
.replace(/[&]/g, 'and') // Replace spaces with -
|
|
14
|
+
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
|
|
15
|
+
.replace(/\-\-+/g, '-'); // Replace multiple - with single -
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hlbHBlcnMvdXRpbC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFDckIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLE9BQU8sSUFBSTthQUNSLFdBQVcsRUFBRTthQUNiLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQzdDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQ2pELE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQ2pELE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQ2hELE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQ2pELE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQ2hELE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQzdDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsd0JBQXdCO2FBQzdDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsd0JBQXdCO2FBQy9DLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsNEJBQTRCO2FBQ3JELE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUEsQ0FBQyxtQ0FBbUM7SUFDL0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFV0aWxIZWxwZXIge1xyXG4gIHN0YXRpYyBjcmVhdGVTbHVnKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbmFtZVxyXG4gICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAucmVwbGFjZSgvXFxzKy9nLCAnLScpIC8vIFJlcGxhY2Ugc3BhY2VzIHdpdGggLVxyXG4gICAgICAucmVwbGFjZSgvW8Ojw6DDocOkw6JdL2csICdhJykgLy8gUmVwbGFjZSBzcGFjZXMgd2l0aCAtXHJcbiAgICAgIC5yZXBsYWNlKC9b4bq9w6jDqcOrw6pdL2csICdlJykgLy8gUmVwbGFjZSBzcGFjZXMgd2l0aCAtXHJcbiAgICAgIC5yZXBsYWNlKC9bw6zDrcOvw65dL2csICdpJykgLy8gUmVwbGFjZSBzcGFjZXMgd2l0aCAtXHJcbiAgICAgIC5yZXBsYWNlKC9bw7XDssOzw7bDtF0vZywgJ28nKSAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cclxuICAgICAgLnJlcGxhY2UoL1vDucO6w7zDu10vZywgJ3UnKSAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cclxuICAgICAgLnJlcGxhY2UoL1vDsV0vZywgJ24nKSAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cclxuICAgICAgLnJlcGxhY2UoL1vDp10vZywgJ2MnKSAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cclxuICAgICAgLnJlcGxhY2UoL1smXS9nLCAnYW5kJykgLy8gUmVwbGFjZSBzcGFjZXMgd2l0aCAtXHJcbiAgICAgIC5yZXBsYWNlKC9bXlxcd1xcLV0rL2csICcnKSAvLyBSZW1vdmUgYWxsIG5vbi13b3JkIGNoYXJzXHJcbiAgICAgIC5yZXBsYWNlKC9cXC1cXC0rL2csICctJykgLy8gUmVwbGFjZSBtdWx0aXBsZSAtIHdpdGggc2luZ2xlIC1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,125 +1,125 @@
|
|
|
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
|
-
get homeId() {
|
|
10
|
-
if (this.defaultShop === Shops.GLAMSHOP)
|
|
11
|
-
return 'glamshop';
|
|
12
|
-
if (this.defaultShop === Shops.MENSMARKET)
|
|
13
|
-
return 'mens_market';
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
constructor(categoryRepository, homeRepository, productRepository, defaultShop) {
|
|
17
|
-
this.categoryRepository = categoryRepository;
|
|
18
|
-
this.homeRepository = homeRepository;
|
|
19
|
-
this.productRepository = productRepository;
|
|
20
|
-
this.defaultShop = defaultShop;
|
|
21
|
-
this.buildCategoryGroupWithRequiredData = (group) => ({
|
|
22
|
-
category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),
|
|
23
|
-
products: group?.products?.map((product) => Product.toInstance(pick(product?.toPlain() || {}, [
|
|
24
|
-
'id',
|
|
25
|
-
'price',
|
|
26
|
-
'reviews',
|
|
27
|
-
'hasVariants',
|
|
28
|
-
'slug',
|
|
29
|
-
'sku',
|
|
30
|
-
'stock',
|
|
31
|
-
'costPrice',
|
|
32
|
-
'images',
|
|
33
|
-
'miniatures',
|
|
34
|
-
'name',
|
|
35
|
-
'weight',
|
|
36
|
-
'rate',
|
|
37
|
-
'type',
|
|
38
|
-
'brand',
|
|
39
|
-
]))) || [],
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
getHomeData() {
|
|
43
|
-
return this.getHomeConfiguration().pipe(map((home) => (home?.data?.expiresAt > new Date() ? home : null)), concatMap((home) => home
|
|
44
|
-
? of(home)
|
|
45
|
-
: forkJoin([
|
|
46
|
-
this.getDiscoverProducts(this.gender),
|
|
47
|
-
this.getFeaturedProducts(this.gender),
|
|
48
|
-
this.getVerticalProducts(this.gender),
|
|
49
|
-
]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
|
|
50
|
-
discoverProducts,
|
|
51
|
-
featuredProducts,
|
|
52
|
-
verticalProducts,
|
|
53
|
-
})), concatMap((data) => this.saveHomeData(data)))));
|
|
54
|
-
}
|
|
55
|
-
getBanners(type) {
|
|
56
|
-
return this.getHomeConfiguration().pipe(map((home) => {
|
|
57
|
-
if (type === 'brand')
|
|
58
|
-
return home.brandsCarousel;
|
|
59
|
-
if (type === 'buyToWin')
|
|
60
|
-
return [home.buyToWinBanner];
|
|
61
|
-
if (type === 'block')
|
|
62
|
-
return home.blockBanners;
|
|
63
|
-
if (type === 'blog')
|
|
64
|
-
return [home.blogBanner];
|
|
65
|
-
return [];
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
getMinValueForFreeShipping() {
|
|
69
|
-
return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping));
|
|
70
|
-
}
|
|
71
|
-
getDiscoverProducts(gender) {
|
|
72
|
-
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories, this.defaultShop)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
73
|
-
}
|
|
74
|
-
getFeaturedProducts(gender) {
|
|
75
|
-
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories, this.defaultShop)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
76
|
-
}
|
|
77
|
-
getVerticalProducts(gender) {
|
|
78
|
-
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({
|
|
79
|
-
filters: {
|
|
80
|
-
categories: { operator: Where.IN, value: [category.id] },
|
|
81
|
-
...(gender ? { tags: { operator: Where.IN, value: [gender] } } : {}),
|
|
82
|
-
},
|
|
83
|
-
limits: { limit: 12 },
|
|
84
|
-
})).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
|
|
85
|
-
}
|
|
86
|
-
getHomeConfiguration() {
|
|
87
|
-
return of(this.homeConfiguration).pipe(concatMap((home) => home
|
|
88
|
-
? of(home)
|
|
89
|
-
: !this.homeId
|
|
90
|
-
? throwError(new RequiredArgumentError(['homeId']))
|
|
91
|
-
: from(this.homeRepository.get({ id: this.homeId })).pipe(tap((homeLoaded) => (this.homeConfiguration = homeLoaded)))));
|
|
92
|
-
}
|
|
93
|
-
saveHomeData(homeData) {
|
|
94
|
-
const data = {
|
|
95
|
-
createdAt: new Date(),
|
|
96
|
-
expiresAt: add(new Date(), { hours: 1 }),
|
|
97
|
-
data: homeData,
|
|
98
|
-
};
|
|
99
|
-
return from(this.homeRepository.update({
|
|
100
|
-
id: this.homeId,
|
|
101
|
-
data,
|
|
102
|
-
})).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
|
|
103
|
-
}
|
|
104
|
-
get gender() {
|
|
105
|
-
return this.homeId === 'mens_market' ? 'masculino' : undefined;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
HomeShopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, deps: [{ token: 'CategoryRepository' }, { token: 'HomeRepository' }, { token: 'ProductRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
109
|
-
HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService });
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, decorators: [{
|
|
111
|
-
type: Injectable
|
|
112
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
113
|
-
type: Inject,
|
|
114
|
-
args: ['CategoryRepository']
|
|
115
|
-
}] }, { type: undefined, decorators: [{
|
|
116
|
-
type: Inject,
|
|
117
|
-
args: ['HomeRepository']
|
|
118
|
-
}] }, { type: undefined, decorators: [{
|
|
119
|
-
type: Inject,
|
|
120
|
-
args: ['ProductRepository']
|
|
121
|
-
}] }, { type: i1.Shops, decorators: [{
|
|
122
|
-
type: Inject,
|
|
123
|
-
args: [DEFAULT_SHOP]
|
|
124
|
-
}] }]; } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1zaG9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hvbWUtc2hvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFDTCxHQUFHLEVBRUgsUUFBUSxFQU1SLElBQUksRUFDSixPQUFPLEVBRVAscUJBQXFCLEVBQ3JCLEtBQUssRUFDTCxLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7OztBQU14QyxNQUFNLE9BQU8sZUFBZTtJQUcxQixJQUFZLE1BQU07UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTyxVQUFVLENBQUE7UUFDMUQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxhQUFhLENBQUE7UUFFL0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsWUFDaUQsa0JBQXNDLEVBQzFDLGNBQThCLEVBQzNCLGlCQUFvQyxFQUMzQyxXQUFrQjtRQUhWLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDM0MsZ0JBQVcsR0FBWCxXQUFXLENBQU87UUF3SG5ELHVDQUFrQyxHQUFHLENBQUMsS0FB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QixhQUNuQixZQUFZO2dIQWRYLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBWU4sTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIGFkZCxcbiAgQmFubmVyLFxuICBDYXRlZ29yeSxcbiAgQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICBIb21lLFxuICBIb21lQ2F0ZWdvcnlHcm91cCxcbiAgSG9tZURhdGEsXG4gIEhvbWVSZXBvc2l0b3J5LFxuICBwaWNrLFxuICBQcm9kdWN0LFxuICBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgUmVxdWlyZWRBcmd1bWVudEVycm9yLFxuICBTaG9wcyxcbiAgV2hlcmUsXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgZm9ya0pvaW4sIGZyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNvbmNhdE1hcCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vY29uc3RzJ1xuXG50eXBlIEhvbWVDb25maWd1cmF0aW9uSWQgPSAnZ2xhbXNob3AnIHwgJ21lbnNfbWFya2V0J1xudHlwZSBCYW5uZXJUeXBlID0gJ2JyYW5kJyB8ICdidXlUb1dpbicgfCAnYmxvY2snIHwgJ2Jsb2cnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIb21lU2hvcFNlcnZpY2Uge1xuICBwcml2YXRlIGhvbWVDb25maWd1cmF0aW9uOiBIb21lXG5cbiAgcHJpdmF0ZSBnZXQgaG9tZUlkKCk6IEhvbWVDb25maWd1cmF0aW9uSWQge1xuICAgIGlmICh0aGlzLmRlZmF1bHRTaG9wID09PSBTaG9wcy5HTEFNU0hPUCkgcmV0dXJuICdnbGFtc2hvcCdcbiAgICBpZiAodGhpcy5kZWZhdWx0U2hvcCA9PT0gU2hvcHMuTUVOU01BUktFVCkgcmV0dXJuICdtZW5zX21hcmtldCdcblxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdDYXRlZ29yeVJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UmVwb3NpdG9yeTogQ2F0ZWdvcnlSZXBvc2l0b3J5LFxuICAgIEBJbmplY3QoJ0hvbWVSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSBob21lUmVwb3NpdG9yeTogSG9tZVJlcG9zaXRvcnksXG4gICAgQEluamVjdCgnUHJvZHVjdFJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0U2hvcDogU2hvcHMsXG4gICkge31cblxuICBnZXRIb21lRGF0YSgpOiBPYnNlcnZhYmxlPEhvbWU+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBtYXAoKGhvbWUpID0+IChob21lPy5kYXRhPy5leHBpcmVzQXQgPiBuZXcgRGF0ZSgpID8gaG9tZSA6IG51bGwpKSxcbiAgICAgIGNvbmNhdE1hcCgoaG9tZSkgPT5cbiAgICAgICAgaG9tZVxuICAgICAgICAgID8gb2YoaG9tZSlcbiAgICAgICAgICA6IGZvcmtKb2luKFtcbiAgICAgICAgICAgICAgdGhpcy5nZXREaXNjb3ZlclByb2R1Y3RzKHRoaXMuZ2VuZGVyKSxcbiAgICAgICAgICAgICAgdGhpcy5nZXRGZWF0dXJlZFByb2R1Y3RzKHRoaXMuZ2VuZGVyKSxcbiAgICAgICAgICAgICAgdGhpcy5nZXRWZXJ0aWNhbFByb2R1Y3RzKHRoaXMuZ2VuZGVyKSxcbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoW2Rpc2NvdmVyUHJvZHVjdHMsIGZlYXR1cmVkUHJvZHVjdHMsIHZlcnRpY2FsUHJvZHVjdHNdKSA9PiAoe1xuICAgICAgICAgICAgICAgIGRpc2NvdmVyUHJvZHVjdHMsXG4gICAgICAgICAgICAgICAgZmVhdHVyZWRQcm9kdWN0cyxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbFByb2R1Y3RzLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIGNvbmNhdE1hcCgoZGF0YSkgPT4gdGhpcy5zYXZlSG9tZURhdGEoZGF0YSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICB9XG5cbiAgZ2V0QmFubmVycyh0eXBlOiBCYW5uZXJUeXBlKTogT2JzZXJ2YWJsZTxCYW5uZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcbiAgICAgIG1hcCgoaG9tZSkgPT4ge1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2JyYW5kJykgcmV0dXJuIGhvbWUuYnJhbmRzQ2Fyb3VzZWxcbiAgICAgICAgaWYgKHR5cGUgPT09ICdidXlUb1dpbicpIHJldHVybiBbaG9tZS5idXlUb1dpbkJhbm5lcl1cbiAgICAgICAgaWYgKHR5cGUgPT09ICdibG9jaycpIHJldHVybiBob21lLmJsb2NrQmFubmVyc1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2Jsb2cnKSByZXR1cm4gW2hvbWUuYmxvZ0Jhbm5lcl1cblxuICAgICAgICByZXR1cm4gW11cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGdldE1pblZhbHVlRm9yRnJlZVNoaXBwaW5nKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKG1hcCgoaG9tZSkgPT4gaG9tZS5taW5WYWx1ZUZvckZyZWVTaGlwcGluZykpXG4gIH1cblxuICBwcml2YXRlIGdldERpc2NvdmVyUHJvZHVjdHMoZ2VuZGVyPzogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGZyb20odGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0Q2F0ZWdvcmllc0ZvckhvbWUoaG9tZS5kaXNjb3ZlckNhdGVnb3JpZXMsIHRoaXMuZGVmYXVsdFNob3ApKS5waXBlKFxuICAgICAgICAgIG1hcCgoZ3JvdXBzKSA9PiBncm91cHMubWFwKHRoaXMuYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSkpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmVkUHJvZHVjdHMoZ2VuZGVyPzogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGZyb20odGhpcy5jYXRlZ29yeVJlcG9zaXRvcnkuZ2V0Q2F0ZWdvcmllc0ZvckhvbWUoaG9tZS5mZWF0dXJlZENhdGVnb3JpZXMsIHRoaXMuZGVmYXVsdFNob3ApKS5waXBlKFxuICAgICAgICAgIG1hcCgoZ3JvdXBzKSA9PiBncm91cHMubWFwKHRoaXMuYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSkpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGdldFZlcnRpY2FsUHJvZHVjdHMoZ2VuZGVyPzogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XG4gICAgICAgIGZvcmtKb2luKFxuICAgICAgICAgIGhvbWUudmVydGljYWxDYXJvdXNlbHMuZmlsdGVyKEJvb2xlYW4pLm1hcCgoaWQpID0+XG4gICAgICAgICAgICBmcm9tKHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldCh7IGlkIH0pKS5waXBlKFxuICAgICAgICAgICAgICBjb25jYXRNYXAoKGNhdGVnb3J5KSA9PlxuICAgICAgICAgICAgICAgIGZyb20oXG4gICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RSZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllczogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBbY2F0ZWdvcnkuaWRdIH0sXG4gICAgICAgICAgICAgICAgICAgICAgLi4uKGdlbmRlciA/IHsgdGFnczogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBbZ2VuZGVyXSB9IH0gOiB7fSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGxpbWl0czogeyBsaW1pdDogMTIgfSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICkucGlwZShtYXAoKHByb2R1Y3RzKSA9PiAoeyBjYXRlZ29yeSwgcHJvZHVjdHMgfSkpKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgbWFwKCh7IGNhdGVnb3J5LCBwcm9kdWN0cyB9KSA9PiAoeyBjYXRlZ29yeSwgcHJvZHVjdHM6IHByb2R1Y3RzLmRhdGEgfSkpLFxuICAgICAgICAgICAgICBtYXAodGhpcy5idWlsZENhdGVnb3J5R3JvdXBXaXRoUmVxdWlyZWREYXRhKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRIb21lQ29uZmlndXJhdGlvbigpOiBPYnNlcnZhYmxlPEhvbWU+IHtcbiAgICByZXR1cm4gb2YodGhpcy5ob21lQ29uZmlndXJhdGlvbikucGlwZShcbiAgICAgIGNvbmNhdE1hcCgoaG9tZSkgPT5cbiAgICAgICAgaG9tZVxuICAgICAgICAgID8gb2YoaG9tZSlcbiAgICAgICAgICA6ICF0aGlzLmhvbWVJZFxuICAgICAgICAgID8gdGhyb3dFcnJvcihuZXcgUmVxdWlyZWRBcmd1bWVudEVycm9yKFsnaG9tZUlkJ10pKVxuICAgICAgICAgIDogZnJvbSh0aGlzLmhvbWVSZXBvc2l0b3J5LmdldCh7IGlkOiB0aGlzLmhvbWVJZCB9KSkucGlwZShcbiAgICAgICAgICAgICAgdGFwKChob21lTG9hZGVkKSA9PiAodGhpcy5ob21lQ29uZmlndXJhdGlvbiA9IGhvbWVMb2FkZWQpKSxcbiAgICAgICAgICAgICksXG4gICAgICApLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZUhvbWVEYXRhKGhvbWVEYXRhOiBIb21lRGF0YSk6IE9ic2VydmFibGU8SG9tZT4ge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICBleHBpcmVzQXQ6IGFkZChuZXcgRGF0ZSgpLCB7IGhvdXJzOiAxIH0pLFxuICAgICAgZGF0YTogaG9tZURhdGEsXG4gICAgfVxuXG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLmhvbWVSZXBvc2l0b3J5LnVwZGF0ZSh7XG4gICAgICAgIGlkOiB0aGlzLmhvbWVJZCxcbiAgICAgICAgZGF0YSxcbiAgICAgIH0pLFxuICAgICkucGlwZShcbiAgICAgIHRhcCgoKSA9PiAodGhpcy5ob21lQ29uZmlndXJhdGlvbi5kYXRhID0gZGF0YSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuaG9tZUNvbmZpZ3VyYXRpb24pLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSA9IChncm91cDogSG9tZUNhdGVnb3J5R3JvdXApOiBIb21lQ2F0ZWdvcnlHcm91cCA9PiAoe1xuICAgIGNhdGVnb3J5OiBDYXRlZ29yeS50b0luc3RhbmNlKHBpY2soZ3JvdXA/LmNhdGVnb3J5Py50b1BsYWluKCkgfHwge30sIFsnaWQnLCAnbmFtZScsICdzbHVnJywgJ2NvbmRpdGlvbnMnXSkpLFxuICAgIHByb2R1Y3RzOlxuICAgICAgZ3JvdXA/LnByb2R1Y3RzPy5tYXAoKHByb2R1Y3QpID0+XG4gICAgICAgIFByb2R1Y3QudG9JbnN0YW5jZShcbiAgICAgICAgICBwaWNrKHByb2R1Y3Q/LnRvUGxhaW4oKSB8fCB7fSwgW1xuICAgICAgICAgICAgJ2lkJyxcbiAgICAgICAgICAgICdwcmljZScsXG4gICAgICAgICAgICAncmV2aWV3cycsXG4gICAgICAgICAgICAnaGFzVmFyaWFudHMnLFxuICAgICAgICAgICAgJ3NsdWcnLFxuICAgICAgICAgICAgJ3NrdScsXG4gICAgICAgICAgICAnc3RvY2snLFxuICAgICAgICAgICAgJ2Nvc3RQcmljZScsXG4gICAgICAgICAgICAnaW1hZ2VzJyxcbiAgICAgICAgICAgICdtaW5pYXR1cmVzJyxcbiAgICAgICAgICAgICduYW1lJyxcbiAgICAgICAgICAgICd3ZWlnaHQnLFxuICAgICAgICAgICAgJ3JhdGUnLFxuICAgICAgICAgICAgJ3R5cGUnLFxuICAgICAgICAgICAgJ2JyYW5kJyxcbiAgICAgICAgICBdKSxcbiAgICAgICAgKSxcbiAgICAgICkgfHwgW10sXG4gIH0pXG5cbiAgcHJpdmF0ZSBnZXQgZ2VuZGVyKCkge1xuICAgIHJldHVybiB0aGlzLmhvbWVJZCA9PT0gJ21lbnNfbWFya2V0JyA/ICdtYXNjdWxpbm8nIDogdW5kZWZpbmVkXG4gIH1cbn1cbiJdfQ==
|
|
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
|
+
get homeId() {
|
|
10
|
+
if (this.defaultShop === Shops.GLAMSHOP)
|
|
11
|
+
return 'glamshop';
|
|
12
|
+
if (this.defaultShop === Shops.MENSMARKET)
|
|
13
|
+
return 'mens_market';
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
constructor(categoryRepository, homeRepository, productRepository, defaultShop) {
|
|
17
|
+
this.categoryRepository = categoryRepository;
|
|
18
|
+
this.homeRepository = homeRepository;
|
|
19
|
+
this.productRepository = productRepository;
|
|
20
|
+
this.defaultShop = defaultShop;
|
|
21
|
+
this.buildCategoryGroupWithRequiredData = (group) => ({
|
|
22
|
+
category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),
|
|
23
|
+
products: group?.products?.map((product) => Product.toInstance(pick(product?.toPlain() || {}, [
|
|
24
|
+
'id',
|
|
25
|
+
'price',
|
|
26
|
+
'reviews',
|
|
27
|
+
'hasVariants',
|
|
28
|
+
'slug',
|
|
29
|
+
'sku',
|
|
30
|
+
'stock',
|
|
31
|
+
'costPrice',
|
|
32
|
+
'images',
|
|
33
|
+
'miniatures',
|
|
34
|
+
'name',
|
|
35
|
+
'weight',
|
|
36
|
+
'rate',
|
|
37
|
+
'type',
|
|
38
|
+
'brand',
|
|
39
|
+
]))) || [],
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
getHomeData() {
|
|
43
|
+
return this.getHomeConfiguration().pipe(map((home) => (home?.data?.expiresAt > new Date() ? home : null)), concatMap((home) => home
|
|
44
|
+
? of(home)
|
|
45
|
+
: forkJoin([
|
|
46
|
+
this.getDiscoverProducts(this.gender),
|
|
47
|
+
this.getFeaturedProducts(this.gender),
|
|
48
|
+
this.getVerticalProducts(this.gender),
|
|
49
|
+
]).pipe(map(([discoverProducts, featuredProducts, verticalProducts]) => ({
|
|
50
|
+
discoverProducts,
|
|
51
|
+
featuredProducts,
|
|
52
|
+
verticalProducts,
|
|
53
|
+
})), concatMap((data) => this.saveHomeData(data)))));
|
|
54
|
+
}
|
|
55
|
+
getBanners(type) {
|
|
56
|
+
return this.getHomeConfiguration().pipe(map((home) => {
|
|
57
|
+
if (type === 'brand')
|
|
58
|
+
return home.brandsCarousel;
|
|
59
|
+
if (type === 'buyToWin')
|
|
60
|
+
return [home.buyToWinBanner];
|
|
61
|
+
if (type === 'block')
|
|
62
|
+
return home.blockBanners;
|
|
63
|
+
if (type === 'blog')
|
|
64
|
+
return [home.blogBanner];
|
|
65
|
+
return [];
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
getMinValueForFreeShipping() {
|
|
69
|
+
return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping));
|
|
70
|
+
}
|
|
71
|
+
getDiscoverProducts(gender) {
|
|
72
|
+
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.discoverCategories, this.defaultShop)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
73
|
+
}
|
|
74
|
+
getFeaturedProducts(gender) {
|
|
75
|
+
return this.getHomeConfiguration().pipe(concatMap((home) => from(this.categoryRepository.getCategoriesForHome(home.featuredCategories, this.defaultShop)).pipe(map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)))));
|
|
76
|
+
}
|
|
77
|
+
getVerticalProducts(gender) {
|
|
78
|
+
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({
|
|
79
|
+
filters: {
|
|
80
|
+
categories: { operator: Where.IN, value: [category.id] },
|
|
81
|
+
...(gender ? { tags: { operator: Where.IN, value: [gender] } } : {}),
|
|
82
|
+
},
|
|
83
|
+
limits: { limit: 12 },
|
|
84
|
+
})).pipe(map((products) => ({ category, products })))), map(({ category, products }) => ({ category, products: products.data })), map(this.buildCategoryGroupWithRequiredData))))));
|
|
85
|
+
}
|
|
86
|
+
getHomeConfiguration() {
|
|
87
|
+
return of(this.homeConfiguration).pipe(concatMap((home) => home
|
|
88
|
+
? of(home)
|
|
89
|
+
: !this.homeId
|
|
90
|
+
? throwError(new RequiredArgumentError(['homeId']))
|
|
91
|
+
: from(this.homeRepository.get({ id: this.homeId })).pipe(tap((homeLoaded) => (this.homeConfiguration = homeLoaded)))));
|
|
92
|
+
}
|
|
93
|
+
saveHomeData(homeData) {
|
|
94
|
+
const data = {
|
|
95
|
+
createdAt: new Date(),
|
|
96
|
+
expiresAt: add(new Date(), { hours: 1 }),
|
|
97
|
+
data: homeData,
|
|
98
|
+
};
|
|
99
|
+
return from(this.homeRepository.update({
|
|
100
|
+
id: this.homeId,
|
|
101
|
+
data,
|
|
102
|
+
})).pipe(tap(() => (this.homeConfiguration.data = data)), map(() => this.homeConfiguration));
|
|
103
|
+
}
|
|
104
|
+
get gender() {
|
|
105
|
+
return this.homeId === 'mens_market' ? 'masculino' : undefined;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
HomeShopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, deps: [{ token: 'CategoryRepository' }, { token: 'HomeRepository' }, { token: 'ProductRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
109
|
+
HomeShopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: HomeShopService, decorators: [{
|
|
111
|
+
type: Injectable
|
|
112
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
113
|
+
type: Inject,
|
|
114
|
+
args: ['CategoryRepository']
|
|
115
|
+
}] }, { type: undefined, decorators: [{
|
|
116
|
+
type: Inject,
|
|
117
|
+
args: ['HomeRepository']
|
|
118
|
+
}] }, { type: undefined, decorators: [{
|
|
119
|
+
type: Inject,
|
|
120
|
+
args: ['ProductRepository']
|
|
121
|
+
}] }, { type: i1.Shops, decorators: [{
|
|
122
|
+
type: Inject,
|
|
123
|
+
args: [DEFAULT_SHOP]
|
|
124
|
+
}] }]; } });
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1zaG9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2hvbWUtc2hvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFDTCxHQUFHLEVBRUgsUUFBUSxFQU1SLElBQUksRUFDSixPQUFPLEVBRVAscUJBQXFCLEVBQ3JCLEtBQUssRUFDTCxLQUFLLEdBQ04sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7OztBQU14QyxNQUFNLE9BQU8sZUFBZTtJQUcxQixJQUFZLE1BQU07UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTyxVQUFVLENBQUE7UUFDMUQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxhQUFhLENBQUE7UUFFL0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsWUFDaUQsa0JBQXNDLEVBQzFDLGNBQThCLEVBQzNCLGlCQUFvQyxFQUMzQyxXQUFrQjtRQUhWLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDM0MsZ0JBQVcsR0FBWCxXQUFXLENBQU87UUF3SG5ELHVDQUFrQyxHQUFHLENBQUMsS0FB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QixhQUNuQixZQUFZO2dIQWRYLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBWU4sTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBhZGQsXHJcbiAgQmFubmVyLFxyXG4gIENhdGVnb3J5LFxyXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcclxuICBIb21lLFxyXG4gIEhvbWVDYXRlZ29yeUdyb3VwLFxyXG4gIEhvbWVEYXRhLFxyXG4gIEhvbWVSZXBvc2l0b3J5LFxyXG4gIHBpY2ssXHJcbiAgUHJvZHVjdCxcclxuICBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICBSZXF1aXJlZEFyZ3VtZW50RXJyb3IsXHJcbiAgU2hvcHMsXHJcbiAgV2hlcmUsXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IGZvcmtKb2luLCBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbmltcG9ydCB7IERFRkFVTFRfU0hPUCB9IGZyb20gJy4uL2NvbnN0cydcclxuXHJcbnR5cGUgSG9tZUNvbmZpZ3VyYXRpb25JZCA9ICdnbGFtc2hvcCcgfCAnbWVuc19tYXJrZXQnXHJcbnR5cGUgQmFubmVyVHlwZSA9ICdicmFuZCcgfCAnYnV5VG9XaW4nIHwgJ2Jsb2NrJyB8ICdibG9nJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSG9tZVNob3BTZXJ2aWNlIHtcclxuICBwcml2YXRlIGhvbWVDb25maWd1cmF0aW9uOiBIb21lXHJcblxyXG4gIHByaXZhdGUgZ2V0IGhvbWVJZCgpOiBIb21lQ29uZmlndXJhdGlvbklkIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRTaG9wID09PSBTaG9wcy5HTEFNU0hPUCkgcmV0dXJuICdnbGFtc2hvcCdcclxuICAgIGlmICh0aGlzLmRlZmF1bHRTaG9wID09PSBTaG9wcy5NRU5TTUFSS0VUKSByZXR1cm4gJ21lbnNfbWFya2V0J1xyXG5cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ0NhdGVnb3J5UmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlSZXBvc2l0b3J5OiBDYXRlZ29yeVJlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KCdIb21lUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgaG9tZVJlcG9zaXRvcnk6IEhvbWVSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdCgnUHJvZHVjdFJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXBvc2l0b3J5OiBQcm9kdWN0UmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTaG9wOiBTaG9wcyxcclxuICApIHt9XHJcblxyXG4gIGdldEhvbWVEYXRhKCk6IE9ic2VydmFibGU8SG9tZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxyXG4gICAgICBtYXAoKGhvbWUpID0+IChob21lPy5kYXRhPy5leHBpcmVzQXQgPiBuZXcgRGF0ZSgpID8gaG9tZSA6IG51bGwpKSxcclxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxyXG4gICAgICAgIGhvbWVcclxuICAgICAgICAgID8gb2YoaG9tZSlcclxuICAgICAgICAgIDogZm9ya0pvaW4oW1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGlzY292ZXJQcm9kdWN0cyh0aGlzLmdlbmRlciksXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRGZWF0dXJlZFByb2R1Y3RzKHRoaXMuZ2VuZGVyKSxcclxuICAgICAgICAgICAgICB0aGlzLmdldFZlcnRpY2FsUHJvZHVjdHModGhpcy5nZW5kZXIpLFxyXG4gICAgICAgICAgICBdKS5waXBlKFxyXG4gICAgICAgICAgICAgIG1hcCgoW2Rpc2NvdmVyUHJvZHVjdHMsIGZlYXR1cmVkUHJvZHVjdHMsIHZlcnRpY2FsUHJvZHVjdHNdKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgZGlzY292ZXJQcm9kdWN0cyxcclxuICAgICAgICAgICAgICAgIGZlYXR1cmVkUHJvZHVjdHMsXHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbFByb2R1Y3RzLFxyXG4gICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgICBjb25jYXRNYXAoKGRhdGEpID0+IHRoaXMuc2F2ZUhvbWVEYXRhKGRhdGEpKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldEJhbm5lcnModHlwZTogQmFubmVyVHlwZSk6IE9ic2VydmFibGU8QmFubmVyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcclxuICAgICAgbWFwKChob21lKSA9PiB7XHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdicmFuZCcpIHJldHVybiBob21lLmJyYW5kc0Nhcm91c2VsXHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdidXlUb1dpbicpIHJldHVybiBbaG9tZS5idXlUb1dpbkJhbm5lcl1cclxuICAgICAgICBpZiAodHlwZSA9PT0gJ2Jsb2NrJykgcmV0dXJuIGhvbWUuYmxvY2tCYW5uZXJzXHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdibG9nJykgcmV0dXJuIFtob21lLmJsb2dCYW5uZXJdXHJcblxyXG4gICAgICAgIHJldHVybiBbXVxyXG4gICAgICB9KSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldE1pblZhbHVlRm9yRnJlZVNoaXBwaW5nKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUobWFwKChob21lKSA9PiBob21lLm1pblZhbHVlRm9yRnJlZVNoaXBwaW5nKSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RGlzY292ZXJQcm9kdWN0cyhnZW5kZXI/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgY2F0ZWdvcnk6IENhdGVnb3J5OyBwcm9kdWN0czogUHJvZHVjdFtdIH1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKS5waXBlKFxyXG4gICAgICBjb25jYXRNYXAoKGhvbWUpID0+XHJcbiAgICAgICAgZnJvbSh0aGlzLmNhdGVnb3J5UmVwb3NpdG9yeS5nZXRDYXRlZ29yaWVzRm9ySG9tZShob21lLmRpc2NvdmVyQ2F0ZWdvcmllcywgdGhpcy5kZWZhdWx0U2hvcCkpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGdyb3VwcykgPT4gZ3JvdXBzLm1hcCh0aGlzLmJ1aWxkQ2F0ZWdvcnlHcm91cFdpdGhSZXF1aXJlZERhdGEpKSxcclxuICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGZWF0dXJlZFByb2R1Y3RzKGdlbmRlcj86IHN0cmluZyk6IE9ic2VydmFibGU8eyBjYXRlZ29yeTogQ2F0ZWdvcnk7IHByb2R1Y3RzOiBQcm9kdWN0W10gfVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRIb21lQ29uZmlndXJhdGlvbigpLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcCgoaG9tZSkgPT5cclxuICAgICAgICBmcm9tKHRoaXMuY2F0ZWdvcnlSZXBvc2l0b3J5LmdldENhdGVnb3JpZXNGb3JIb21lKGhvbWUuZmVhdHVyZWRDYXRlZ29yaWVzLCB0aGlzLmRlZmF1bHRTaG9wKSkucGlwZShcclxuICAgICAgICAgIG1hcCgoZ3JvdXBzKSA9PiBncm91cHMubWFwKHRoaXMuYnVpbGRDYXRlZ29yeUdyb3VwV2l0aFJlcXVpcmVkRGF0YSkpLFxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFZlcnRpY2FsUHJvZHVjdHMoZ2VuZGVyPzogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldEhvbWVDb25maWd1cmF0aW9uKCkucGlwZShcclxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxyXG4gICAgICAgIGZvcmtKb2luKFxyXG4gICAgICAgICAgaG9tZS52ZXJ0aWNhbENhcm91c2Vscy5maWx0ZXIoQm9vbGVhbikubWFwKChpZCkgPT5cclxuICAgICAgICAgICAgZnJvbSh0aGlzLmNhdGVnb3J5UmVwb3NpdG9yeS5nZXQoeyBpZCB9KSkucGlwZShcclxuICAgICAgICAgICAgICBjb25jYXRNYXAoKGNhdGVnb3J5KSA9PlxyXG4gICAgICAgICAgICAgICAgZnJvbShcclxuICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0UmVwb3NpdG9yeS5maW5kKHtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IFtjYXRlZ29yeS5pZF0gfSxcclxuICAgICAgICAgICAgICAgICAgICAgIC4uLihnZW5kZXIgPyB7IHRhZ3M6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW2dlbmRlcl0gfSB9IDoge30pLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgbGltaXRzOiB7IGxpbWl0OiAxMiB9LFxyXG4gICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICkucGlwZShtYXAoKHByb2R1Y3RzKSA9PiAoeyBjYXRlZ29yeSwgcHJvZHVjdHMgfSkpKSxcclxuICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIG1hcCgoeyBjYXRlZ29yeSwgcHJvZHVjdHMgfSkgPT4gKHsgY2F0ZWdvcnksIHByb2R1Y3RzOiBwcm9kdWN0cy5kYXRhIH0pKSxcclxuICAgICAgICAgICAgICBtYXAodGhpcy5idWlsZENhdGVnb3J5R3JvdXBXaXRoUmVxdWlyZWREYXRhKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SG9tZUNvbmZpZ3VyYXRpb24oKTogT2JzZXJ2YWJsZTxIb21lPiB7XHJcbiAgICByZXR1cm4gb2YodGhpcy5ob21lQ29uZmlndXJhdGlvbikucGlwZShcclxuICAgICAgY29uY2F0TWFwKChob21lKSA9PlxyXG4gICAgICAgIGhvbWVcclxuICAgICAgICAgID8gb2YoaG9tZSlcclxuICAgICAgICAgIDogIXRoaXMuaG9tZUlkXHJcbiAgICAgICAgICA/IHRocm93RXJyb3IobmV3IFJlcXVpcmVkQXJndW1lbnRFcnJvcihbJ2hvbWVJZCddKSlcclxuICAgICAgICAgIDogZnJvbSh0aGlzLmhvbWVSZXBvc2l0b3J5LmdldCh7IGlkOiB0aGlzLmhvbWVJZCB9KSkucGlwZShcclxuICAgICAgICAgICAgICB0YXAoKGhvbWVMb2FkZWQpID0+ICh0aGlzLmhvbWVDb25maWd1cmF0aW9uID0gaG9tZUxvYWRlZCkpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICApLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlSG9tZURhdGEoaG9tZURhdGE6IEhvbWVEYXRhKTogT2JzZXJ2YWJsZTxIb21lPiB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCksXHJcbiAgICAgIGV4cGlyZXNBdDogYWRkKG5ldyBEYXRlKCksIHsgaG91cnM6IDEgfSksXHJcbiAgICAgIGRhdGE6IGhvbWVEYXRhLFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLmhvbWVSZXBvc2l0b3J5LnVwZGF0ZSh7XHJcbiAgICAgICAgaWQ6IHRoaXMuaG9tZUlkLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgIH0pLFxyXG4gICAgKS5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4gKHRoaXMuaG9tZUNvbmZpZ3VyYXRpb24uZGF0YSA9IGRhdGEpKSxcclxuICAgICAgbWFwKCgpID0+IHRoaXMuaG9tZUNvbmZpZ3VyYXRpb24pLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZENhdGVnb3J5R3JvdXBXaXRoUmVxdWlyZWREYXRhID0gKGdyb3VwOiBIb21lQ2F0ZWdvcnlHcm91cCk6IEhvbWVDYXRlZ29yeUdyb3VwID0+ICh7XHJcbiAgICBjYXRlZ29yeTogQ2F0ZWdvcnkudG9JbnN0YW5jZShwaWNrKGdyb3VwPy5jYXRlZ29yeT8udG9QbGFpbigpIHx8IHt9LCBbJ2lkJywgJ25hbWUnLCAnc2x1ZycsICdjb25kaXRpb25zJ10pKSxcclxuICAgIHByb2R1Y3RzOlxyXG4gICAgICBncm91cD8ucHJvZHVjdHM/Lm1hcCgocHJvZHVjdCkgPT5cclxuICAgICAgICBQcm9kdWN0LnRvSW5zdGFuY2UoXHJcbiAgICAgICAgICBwaWNrKHByb2R1Y3Q/LnRvUGxhaW4oKSB8fCB7fSwgW1xyXG4gICAgICAgICAgICAnaWQnLFxyXG4gICAgICAgICAgICAncHJpY2UnLFxyXG4gICAgICAgICAgICAncmV2aWV3cycsXHJcbiAgICAgICAgICAgICdoYXNWYXJpYW50cycsXHJcbiAgICAgICAgICAgICdzbHVnJyxcclxuICAgICAgICAgICAgJ3NrdScsXHJcbiAgICAgICAgICAgICdzdG9jaycsXHJcbiAgICAgICAgICAgICdjb3N0UHJpY2UnLFxyXG4gICAgICAgICAgICAnaW1hZ2VzJyxcclxuICAgICAgICAgICAgJ21pbmlhdHVyZXMnLFxyXG4gICAgICAgICAgICAnbmFtZScsXHJcbiAgICAgICAgICAgICd3ZWlnaHQnLFxyXG4gICAgICAgICAgICAncmF0ZScsXHJcbiAgICAgICAgICAgICd0eXBlJyxcclxuICAgICAgICAgICAgJ2JyYW5kJyxcclxuICAgICAgICAgIF0pLFxyXG4gICAgICAgICksXHJcbiAgICAgICkgfHwgW10sXHJcbiAgfSlcclxuXHJcbiAgcHJpdmF0ZSBnZXQgZ2VuZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaG9tZUlkID09PSAnbWVuc19tYXJrZXQnID8gJ21hc2N1bGlubycgOiB1bmRlZmluZWRcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
export * from './auth.service';
|
|
2
|
-
export * from './cart.service';
|
|
3
|
-
export * from './catalog';
|
|
4
|
-
export * from './checkout-subscription.service';
|
|
5
|
-
export * from './checkout.service';
|
|
6
|
-
export * from './coupon.service';
|
|
7
|
-
export * from './helpers';
|
|
8
|
-
export * from './home-shop.service';
|
|
9
|
-
export * from './order.service';
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9jYXJ0LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2NhdGFsb2cnXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrb3V0LXN1YnNjcmlwdGlvbi5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9jb3Vwb24uc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycydcbmV4cG9ydCAqIGZyb20gJy4vaG9tZS1zaG9wLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL29yZGVyLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3NoaXBwaW5nLnNlcnZpY2UnXG4iXX0=
|
|
1
|
+
export * from './auth.service';
|
|
2
|
+
export * from './cart.service';
|
|
3
|
+
export * from './catalog';
|
|
4
|
+
export * from './checkout-subscription.service';
|
|
5
|
+
export * from './checkout.service';
|
|
6
|
+
export * from './coupon.service';
|
|
7
|
+
export * from './helpers';
|
|
8
|
+
export * from './home-shop.service';
|
|
9
|
+
export * from './order.service';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsaUJBQWlCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGguc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9jYXJ0LnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZydcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC1zdWJzY3JpcHRpb24uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja291dC5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2NvdXBvbi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMnXHJcbmV4cG9ydCAqIGZyb20gJy4vaG9tZS1zaG9wLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXIuc2VydmljZSdcclxuIl19
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Injectable, Inject } from '@angular/core';
|
|
2
|
-
import { doc, Firestore, docSnapshots } 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
|
-
docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))
|
|
17
|
-
.pipe(map((doc) => Order.toInstance(doc.data())))
|
|
18
|
-
.subscribe((doc) => this.orderSubject.next(doc));
|
|
19
|
-
return this.orderSubject;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, deps: [{ token: i1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
-
OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, decorators: [{
|
|
25
|
-
type: Injectable
|
|
26
|
-
}], ctorParameters: function () { return [{ type: i1.Firestore }, { type: i2.OrderFirestoreRepository, decorators: [{
|
|
27
|
-
type: Inject,
|
|
28
|
-
args: ['OrderRepository']
|
|
29
|
-
}] }]; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable, Inject } from '@angular/core';
|
|
2
|
+
import { doc, Firestore, docSnapshots } 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
|
+
docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))
|
|
17
|
+
.pipe(map((doc) => Order.toInstance(doc.data())))
|
|
18
|
+
.subscribe((doc) => this.orderSubject.next(doc));
|
|
19
|
+
return this.orderSubject;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
OrderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, deps: [{ token: i1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
+
OrderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderService, decorators: [{
|
|
25
|
+
type: Injectable
|
|
26
|
+
}], ctorParameters: function () { return [{ type: i1.Firestore }, { type: i2.OrderFirestoreRepository, decorators: [{
|
|
27
|
+
type: Inject,
|
|
28
|
+
args: ['OrderRepository']
|
|
29
|
+
}] }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHcEMsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQTJCLEVBQ0EsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFXO1FBQ0Esb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBSnZGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQTtJQUtoQyxDQUFDO0lBRUosUUFBUSxDQUFDLEVBQVU7UUFDakIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7O3lHQWRVLFlBQVksMkNBS2IsaUJBQWlCOzZHQUxoQixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgZG9jLCBGaXJlc3RvcmUsIGRvY1NuYXBzaG90cyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJ1xyXG5pbXBvcnQgeyBPcmRlciwgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9yZGVyU2VydmljZSB7XHJcbiAgb3JkZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8T3JkZXI+KClcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJGaXJlc3RvcmU6IEZpcmVzdG9yZSxcclxuICAgIEBJbmplY3QoJ09yZGVyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJSZXBvc2l0b3J5OiBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgKSB7fVxyXG5cclxuICBnZXRPcmRlcihpZDogc3RyaW5nKTogU3ViamVjdDxPcmRlcj4ge1xyXG4gICAgZG9jU25hcHNob3RzKGRvYyh0aGlzLmFuZ3VsYXJGaXJlc3RvcmUsIGAke3RoaXMub3JkZXJSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkfWApKVxyXG4gICAgICAucGlwZShtYXAoKGRvYykgPT4gT3JkZXIudG9JbnN0YW5jZShkb2MuZGF0YSgpKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRvYykgPT4gdGhpcy5vcmRlclN1YmplY3QubmV4dChkb2MpKVxyXG5cclxuICAgIHJldHVybiB0aGlzLm9yZGVyU3ViamVjdFxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -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,
|
|
1
|
+
export * from './required-checkout-data.type';
|
|
2
|
+
export * from './required-checkout-subscription-data.type';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyw0Q0FBNEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcXVpcmVkLWNoZWNrb3V0LXN1YnNjcmlwdGlvbi1kYXRhLnR5cGUnXHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtZGF0YS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy90eXBlcy9yZXF1aXJlZC1jaGVja291dC1kYXRhLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoZWNrb3V0IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5leHBvcnQgdHlwZSBSZXF1aXJlZENoZWNrb3V0RGF0YSA9IFBhcnRpYWw8UGljazxDaGVja291dCwgJ2lkJyB8ICd1c2VyJyB8ICdzaG9wJyB8ICdsaW5lSXRlbXMnPj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvdHlwZXMvcmVxdWlyZWQtY2hlY2tvdXQtc3Vic2NyaXB0aW9uLWRhdGEudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tvdXRTdWJzY3JpcHRpb24gfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVkQ2hlY2tvdXRTdWJzY3JpcHRpb25EYXRhID0gUGFydGlhbDxQaWNrPENoZWNrb3V0U3Vic2NyaXB0aW9uLCAnaWQnPj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UtYXBwLWNvbmZpZy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy90eXBlcy9maXJlYmFzZS1hcHAtY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZpcmViYXNlQXBwQ29uZmlnID0gUmVjb3JkPHN0cmluZywgYW55PlxyXG4iXX0=
|
package/esm2020/types/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './firebase-app-config.type';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './firebase-app-config.type';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLWFwcC1jb25maWcudHlwZSdcclxuIl19
|