@daffodil/product-composite 0.79.0 → 0.81.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/daffodil-product-composite-driver-in-memory.mjs +4 -4
- package/fesm2022/daffodil-product-composite-driver-in-memory.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite-driver-magento-testing.mjs +9 -9
- package/fesm2022/daffodil-product-composite-driver-magento-testing.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite-driver-magento.mjs +4 -4
- package/fesm2022/daffodil-product-composite-driver-magento.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite-driver-testing.mjs +4 -4
- package/fesm2022/daffodil-product-composite-driver-testing.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite-routing.mjs +10 -10
- package/fesm2022/daffodil-product-composite-routing.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite-state-testing.mjs +7 -7
- package/fesm2022/daffodil-product-composite-state-testing.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite-state.mjs +8 -7
- package/fesm2022/daffodil-product-composite-state.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite-testing.mjs +9 -9
- package/fesm2022/daffodil-product-composite-testing.mjs.map +1 -1
- package/fesm2022/daffodil-product-composite.mjs.map +1 -1
- package/package.json +1 -1
- package/esm2022/daffodil-product-composite.mjs +0 -5
- package/esm2022/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs +0 -5
- package/esm2022/driver/in-memory/in-memory.module.mjs +0 -30
- package/esm2022/driver/in-memory/index.mjs +0 -2
- package/esm2022/driver/in-memory/public_api.mjs +0 -2
- package/esm2022/driver/magento/composite-product-driver.module.mjs +0 -46
- package/esm2022/driver/magento/daffodil-product-composite-driver-magento.mjs +0 -5
- package/esm2022/driver/magento/fragments/bundled-product.mjs +0 -34
- package/esm2022/driver/magento/index.mjs +0 -2
- package/esm2022/driver/magento/models/bundled-product.mjs +0 -7
- package/esm2022/driver/magento/models/public_api.mjs +0 -2
- package/esm2022/driver/magento/public_api.mjs +0 -5
- package/esm2022/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs +0 -5
- package/esm2022/driver/magento/testing/factories/bundle/bundle-item-option.factory.mjs +0 -37
- package/esm2022/driver/magento/testing/factories/bundle/bundle-item.factory.mjs +0 -36
- package/esm2022/driver/magento/testing/factories/bundle/bundle.factory.mjs +0 -36
- package/esm2022/driver/magento/testing/factories/public_api.mjs +0 -4
- package/esm2022/driver/magento/testing/index.mjs +0 -2
- package/esm2022/driver/magento/testing/public_api.mjs +0 -2
- package/esm2022/driver/magento/transforms/bundled-product-transformers.mjs +0 -59
- package/esm2022/driver/magento/transforms/public_api.mjs +0 -2
- package/esm2022/driver/testing/daffodil-product-composite-driver-testing.mjs +0 -5
- package/esm2022/driver/testing/index.mjs +0 -2
- package/esm2022/driver/testing/public_api.mjs +0 -2
- package/esm2022/driver/testing/testing.module.mjs +0 -30
- package/esm2022/helpers/build-selection-payload.mjs +0 -10
- package/esm2022/helpers/public_api.mjs +0 -2
- package/esm2022/index.mjs +0 -2
- package/esm2022/models/composite-configuration-item.mjs +0 -2
- package/esm2022/models/composite-product-item.mjs +0 -9
- package/esm2022/models/composite-product.mjs +0 -2
- package/esm2022/models/public_api.mjs +0 -5
- package/esm2022/models/selection-payload.type.mjs +0 -2
- package/esm2022/public_api.mjs +0 -3
- package/esm2022/routing/config/default.mjs +0 -11
- package/esm2022/routing/config/interface.mjs +0 -2
- package/esm2022/routing/config/public_api.mjs +0 -3
- package/esm2022/routing/config/token.mjs +0 -12
- package/esm2022/routing/daffodil-product-composite-routing.mjs +0 -5
- package/esm2022/routing/effects/product-page.effects.mjs +0 -67
- package/esm2022/routing/effects/public_api.mjs +0 -2
- package/esm2022/routing/index.mjs +0 -2
- package/esm2022/routing/module.mjs +0 -34
- package/esm2022/routing/public_api.mjs +0 -4
- package/esm2022/routing/services/query-param.service.mjs +0 -28
- package/esm2022/state/actions/composite-product.actions.mjs +0 -24
- package/esm2022/state/actions/public_api.mjs +0 -2
- package/esm2022/state/composite-product-state.module.mjs +0 -30
- package/esm2022/state/daffodil-product-composite-state.mjs +0 -5
- package/esm2022/state/facades/composite-product/composite-product-facade.interface.mjs +0 -2
- package/esm2022/state/facades/composite-product/composite-product.facade.mjs +0 -53
- package/esm2022/state/facades/public_api.mjs +0 -2
- package/esm2022/state/helpers/ensure-items.mjs +0 -16
- package/esm2022/state/helpers/public_api.mjs +0 -2
- package/esm2022/state/index.mjs +0 -2
- package/esm2022/state/public_api.mjs +0 -7
- package/esm2022/state/reducers/composite-product-entities/composite-product-entities-reducer-adapter.mjs +0 -92
- package/esm2022/state/reducers/composite-product-entities/composite-product-entities.reducer.mjs +0 -26
- package/esm2022/state/reducers/composite-product-entities/composite-product-entity.mjs +0 -2
- package/esm2022/state/reducers/composite-product-reducers-state.interface.mjs +0 -2
- package/esm2022/state/reducers/composite-product-reducers.mjs +0 -8
- package/esm2022/state/reducers/composite-product-store-feature-key.mjs +0 -2
- package/esm2022/state/reducers/ensure-items.meta-reducer.mjs +0 -21
- package/esm2022/state/reducers/injection-tokens/extra.token.mjs +0 -22
- package/esm2022/state/reducers/injection-tokens/public_api.mjs +0 -2
- package/esm2022/state/reducers/injection-tokens/reducers.token.mjs +0 -24
- package/esm2022/state/reducers/public_api.mjs +0 -6
- package/esm2022/state/selectors/all.selector.mjs +0 -11
- package/esm2022/state/selectors/composite-product/composite-product.selectors.mjs +0 -184
- package/esm2022/state/selectors/composite-product-entities/composite-product-entities.selectors.mjs +0 -52
- package/esm2022/state/selectors/feature.selector.mjs +0 -12
- package/esm2022/state/selectors/public_api.mjs +0 -5
- package/esm2022/state/testing/daffodil-product-composite-state-testing.mjs +0 -5
- package/esm2022/state/testing/index.mjs +0 -2
- package/esm2022/state/testing/mock-composite-product-facade.mjs +0 -46
- package/esm2022/state/testing/product-testing.module.mjs +0 -20
- package/esm2022/state/testing/public_api.mjs +0 -3
- package/esm2022/testing/daffodil-product-composite-testing.mjs +0 -5
- package/esm2022/testing/factories/composite-product-item-option.factory.mjs +0 -33
- package/esm2022/testing/factories/composite-product-item.factory.mjs +0 -45
- package/esm2022/testing/factories/composite-product.factory.mjs +0 -36
- package/esm2022/testing/factories/public_api.mjs +0 -4
- package/esm2022/testing/index.mjs +0 -2
- package/esm2022/testing/public_api.mjs +0 -2
@@ -1,184 +0,0 @@
|
|
1
|
-
import { createSelector, defaultMemoize, } from '@ngrx/store';
|
2
|
-
import { daffAdd, daffDivide, daffMultiply, daffSubtract, } from '@daffodil/core';
|
3
|
-
import { DaffProductTypeEnum, } from '@daffodil/product';
|
4
|
-
import { getDaffProductEntitiesSelectors } from '@daffodil/product/state';
|
5
|
-
import { getDaffCompositeProductEntitiesSelectors } from '../composite-product-entities/composite-product-entities.selectors';
|
6
|
-
const createCompositeProductSelectors = () => {
|
7
|
-
const { selectProduct, } = getDaffProductEntitiesSelectors();
|
8
|
-
const { selectCompositeProductAppliedOptionsEntities, } = getDaffCompositeProductEntitiesSelectors();
|
9
|
-
const selectCompositeProductRequiredItemPricesForConfiguration = defaultMemoize((id, configuration) => createSelector(selectProduct(id), (product) => {
|
10
|
-
if (product.type !== DaffProductTypeEnum.Composite) {
|
11
|
-
return undefined;
|
12
|
-
}
|
13
|
-
const appliedOptions = configuration ? getAppliedOptionsForConfiguration(product, configuration) : {};
|
14
|
-
return {
|
15
|
-
minPrice: getMinPricesForConfiguration(product, appliedOptions),
|
16
|
-
maxPrice: getMaxPricesForConfiguration(product, appliedOptions),
|
17
|
-
};
|
18
|
-
})).memoized;
|
19
|
-
const selectCompositeProductOptionalItemPricesForConfiguration = defaultMemoize((id, configuration) => createSelector(selectProduct(id), (product) => {
|
20
|
-
if (product.type !== DaffProductTypeEnum.Composite) {
|
21
|
-
return undefined;
|
22
|
-
}
|
23
|
-
const appliedOptions = configuration ? getAppliedOptionsForConfiguration(product, configuration) : {};
|
24
|
-
return {
|
25
|
-
minPrice: getMinPricesForConfiguration(product, appliedOptions),
|
26
|
-
maxPrice: getMaxPricesForConfigurationIncludingOptionalItems(product, appliedOptions),
|
27
|
-
};
|
28
|
-
})).memoized;
|
29
|
-
const selectCompositeProductPricesAsCurrentlyConfigured = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntities, (product, appliedOptionsEntities) => selectCompositeProductRequiredItemPricesForConfiguration(id, appliedOptionsEntities[id]?.items || null).projector(product))).memoized;
|
30
|
-
const selectCompositeProductDiscountAmount = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntities, (product, appliedOptionsEntities) => {
|
31
|
-
if (product.type !== DaffProductTypeEnum.Composite) {
|
32
|
-
return undefined;
|
33
|
-
}
|
34
|
-
const appliedConfigurationItem = appliedOptionsEntities[product.id].items;
|
35
|
-
if (product.items.filter(item => item.required && appliedConfigurationItem[item.id].value === null).length > 0) {
|
36
|
-
return undefined;
|
37
|
-
}
|
38
|
-
const appliedOptions = getAppliedOptionsForConfiguration(product, appliedConfigurationItem);
|
39
|
-
return product.items.reduce((acc, item) => appliedOptions[item.id]?.discount?.amount ? daffAdd(acc, daffMultiply(appliedOptions[item.id].discount.amount, appliedOptions[item.id].quantity)) : acc, product.discount.amount);
|
40
|
-
})).memoized;
|
41
|
-
const selectCompositeProductDiscountPercent = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntities, (product, appliedOptionsEntities) => {
|
42
|
-
if (product.type !== DaffProductTypeEnum.Composite) {
|
43
|
-
return undefined;
|
44
|
-
}
|
45
|
-
const appliedOptions = appliedOptionsEntities[product.id].items;
|
46
|
-
if (product.items.filter(item => item.required && appliedOptions[item.id].value === null).length > 0) {
|
47
|
-
return undefined;
|
48
|
-
}
|
49
|
-
const prices = getMinPricesForConfiguration(product, getAppliedOptionsForConfiguration(product, appliedOptions));
|
50
|
-
return daffMultiply(daffDivide(daffSubtract(prices.originalPrice, prices.discountedPrice), prices.originalPrice), 100);
|
51
|
-
})).memoized;
|
52
|
-
return {
|
53
|
-
selectCompositeProductRequiredItemPricesForConfiguration,
|
54
|
-
selectCompositeProductOptionalItemPricesForConfiguration,
|
55
|
-
selectCompositeProductPricesAsCurrentlyConfigured,
|
56
|
-
selectCompositeProductDiscountAmount,
|
57
|
-
selectCompositeProductDiscountPercent,
|
58
|
-
};
|
59
|
-
};
|
60
|
-
/**
|
61
|
-
* A function that returns all selectors related to the composite product feature.
|
62
|
-
*
|
63
|
-
* Returns {@link DaffCompositeProductMemoizedSelectors}.
|
64
|
-
*/
|
65
|
-
export const getDaffCompositeProductPriceSelectors = (() => {
|
66
|
-
let cache;
|
67
|
-
return () => cache = cache
|
68
|
-
? cache
|
69
|
-
: createCompositeProductSelectors();
|
70
|
-
})();
|
71
|
-
/**
|
72
|
-
* The minimum price of an item is zero if the item is optional.
|
73
|
-
*
|
74
|
-
* @param item DaffCompositeProductItem
|
75
|
-
*/
|
76
|
-
function getMinimumRequiredCompositeItemPrice(item, qty) {
|
77
|
-
return item.required ? daffMultiply(Math.min(...item.options.map(option => option.price)), qty) : 0;
|
78
|
-
}
|
79
|
-
/**
|
80
|
-
* The maximum price for an item is zero if the item is optional.
|
81
|
-
*
|
82
|
-
* @param item DaffCompositeProductItem
|
83
|
-
*/
|
84
|
-
function getMaximumRequiredCompositeItemPrice(item, qty) {
|
85
|
-
return item.required ? daffMultiply(Math.max(...item.options.map(option => option.price)), qty) : 0;
|
86
|
-
}
|
87
|
-
/**
|
88
|
-
* The minimum discounted price of an item is zero if the item is optional.
|
89
|
-
*
|
90
|
-
* @param item DaffCompositeProductItem
|
91
|
-
*/
|
92
|
-
function getMinimumRequiredCompositeItemDiscountedPrice(item, qty) {
|
93
|
-
return item.required ? daffMultiply(Math.min(...item.options.map(getDiscountedPrice)), qty) : 0;
|
94
|
-
}
|
95
|
-
/**
|
96
|
-
* The maximum discounted price of an item is zero if the item is optional.
|
97
|
-
*
|
98
|
-
* @param item DaffCompositeProductItem
|
99
|
-
*/
|
100
|
-
function getMaximumRequiredCompositeItemDiscountedPrice(item, qty) {
|
101
|
-
return item.required ? daffMultiply(Math.max(...item.options.map(getDiscountedPrice)), qty) : 0;
|
102
|
-
}
|
103
|
-
/**
|
104
|
-
* Gets the minimum prices of a composite product for the configuration provided excluding unselected, optional item prices.
|
105
|
-
*
|
106
|
-
* @param product a DaffCompositeProduct
|
107
|
-
* @param appliedOptions a Dictionary<DaffCompositeProductItemOption> that determines the current configuration of the composite product.
|
108
|
-
*/
|
109
|
-
function getMinPricesForConfiguration(product, appliedOptions) {
|
110
|
-
return {
|
111
|
-
discountedPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
|
112
|
-
daffMultiply(getDiscountedPrice(appliedOptions[item.id]), appliedOptions[item.id].quantity) :
|
113
|
-
getMinimumRequiredCompositeItemDiscountedPrice(item, getOptionQty(appliedOptions[item.id]))), getDiscountedPrice(product)),
|
114
|
-
discount: { amount: null, percent: null },
|
115
|
-
originalPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
|
116
|
-
daffMultiply(appliedOptions[item.id].price, appliedOptions[item.id].quantity) :
|
117
|
-
getMinimumRequiredCompositeItemPrice(item, getOptionQty(appliedOptions[item.id]))), product.price),
|
118
|
-
};
|
119
|
-
}
|
120
|
-
/**
|
121
|
-
* Gets the maximum prices of a composite product for the configuration provided excluding unselected, optional item prices.
|
122
|
-
*
|
123
|
-
* @param product a DaffCompositeProduct
|
124
|
-
* @param appliedOptions a Dictionary<DaffCompositeProductItemOption> that determines the current configuration of the composite product.
|
125
|
-
*/
|
126
|
-
function getMaxPricesForConfiguration(product, appliedOptions) {
|
127
|
-
return {
|
128
|
-
discountedPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
|
129
|
-
daffMultiply(getDiscountedPrice(appliedOptions[item.id]), appliedOptions[item.id].quantity) :
|
130
|
-
getMaximumRequiredCompositeItemDiscountedPrice(item, getOptionQty(appliedOptions[item.id]))), getDiscountedPrice(product)),
|
131
|
-
discount: { amount: null, percent: null },
|
132
|
-
originalPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
|
133
|
-
daffMultiply(appliedOptions[item.id].price, appliedOptions[item.id].quantity) :
|
134
|
-
getMaximumRequiredCompositeItemPrice(item, getOptionQty(appliedOptions[item.id]))), product.price),
|
135
|
-
};
|
136
|
-
}
|
137
|
-
function getDiscountedPrice(product) {
|
138
|
-
return product.discount ? daffSubtract(product.price, product.discount.amount) : product.price;
|
139
|
-
}
|
140
|
-
/**
|
141
|
-
* Gets the maximum prices of a composite product including optional item prices.
|
142
|
-
*
|
143
|
-
* @param product a DaffCompositeProduct
|
144
|
-
*/
|
145
|
-
function getMaxPricesForConfigurationIncludingOptionalItems(product, appliedOptions) {
|
146
|
-
return {
|
147
|
-
discountedPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
|
148
|
-
daffMultiply(getDiscountedPrice(appliedOptions[item.id]), appliedOptions[item.id].quantity) :
|
149
|
-
appliedOptionHasQty(appliedOptions[item.id]) ?
|
150
|
-
daffMultiply(Math.max(...item.options.map(getDiscountedPrice)), appliedOptions[item.id].quantity) :
|
151
|
-
Math.max(...item.options.map(getDiscountedPrice))), getDiscountedPrice(product)),
|
152
|
-
discount: { amount: null, percent: null },
|
153
|
-
originalPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
|
154
|
-
daffMultiply(appliedOptions[item.id].price, appliedOptions[item.id].quantity) :
|
155
|
-
appliedOptionHasQty(appliedOptions[item.id]) ?
|
156
|
-
daffMultiply(Math.max(...item.options.map(option => option.price)), appliedOptions[item.id].quantity) :
|
157
|
-
Math.max(...item.options.map(option => option.price))), product.price),
|
158
|
-
};
|
159
|
-
}
|
160
|
-
/**
|
161
|
-
* Takes a product and a set of option configurations and convert it into a dictionary of the full option objects.
|
162
|
-
*
|
163
|
-
* @param product a DaffCompositeProduct
|
164
|
-
* @param configuration a Dictionary<DaffCompositeConfigurationItem> used to build the appliedOptions object.
|
165
|
-
*/
|
166
|
-
function getAppliedOptionsForConfiguration(product, configuration) {
|
167
|
-
return product.items.reduce((acc, item) => ({
|
168
|
-
...acc,
|
169
|
-
[item.id]: configuration[item.id] ? {
|
170
|
-
...item.options.find(option => option.id === configuration[item.id].value),
|
171
|
-
quantity: (configuration[item.id].qty === null || configuration[item.id].qty === undefined) ? 1 : configuration[item.id].qty,
|
172
|
-
} : null,
|
173
|
-
}), {});
|
174
|
-
}
|
175
|
-
function appliedOptionHasId(appliedOption) {
|
176
|
-
return !!appliedOption?.id;
|
177
|
-
}
|
178
|
-
function getOptionQty(appliedOption) {
|
179
|
-
return appliedOptionHasQty(appliedOption) ? appliedOption.quantity : 1;
|
180
|
-
}
|
181
|
-
function appliedOptionHasQty(appliedOption) {
|
182
|
-
return appliedOption?.quantity !== null && appliedOption?.quantity !== undefined;
|
183
|
-
}
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3Quc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS9zdGF0ZS9zcmMvc2VsZWN0b3JzL2NvbXBvc2l0ZS1wcm9kdWN0L2NvbXBvc2l0ZS1wcm9kdWN0LnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsY0FBYyxFQUVkLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUVMLG1CQUFtQixHQUdwQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBVTFFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBOEI5SCxNQUFNLCtCQUErQixHQUFHLEdBQW9FLEVBQUU7SUFFNUcsTUFBTSxFQUNKLGFBQWEsR0FDZCxHQUFHLCtCQUErQixFQUFLLENBQUM7SUFFekMsTUFBTSxFQUNKLDRDQUE0QyxHQUM3QyxHQUFHLHdDQUF3QyxFQUFFLENBQUM7SUFFL0MsTUFBTSx3REFBd0QsR0FBRyxjQUFjLENBQUMsQ0FBQyxFQUE4QixFQUFFLGFBQTBELEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FDNUwsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUNqQixDQUFDLE9BQVUsRUFBRSxFQUFFO1FBQ2IsSUFBRyxPQUFPLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxDQUE0QixPQUFPLEVBQUUsYUFBYSxDQUFDLENB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LENBQUM7QUFDekUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsYUFBNkM7SUFDeEUsT0FBTyxhQUFhLEVBQUUsUUFBUSxLQUFLLElBQUksSUFBSSxhQUFhLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgRW50aXR5U3RhdGUsXG59IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQge1xuICBjcmVhdGVTZWxlY3RvcixcbiAgTWVtb2l6ZWRTZWxlY3RvcixcbiAgZGVmYXVsdE1lbW9pemUsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHtcbiAgZGFmZkFkZCxcbiAgZGFmZkRpdmlkZSxcbiAgZGFmZk11bHRpcGx5LFxuICBkYWZmU3VidHJhY3QsXG59IGZyb20gJ0BkYWZmb2RpbC9jb3JlJztcbmltcG9ydCB7XG4gIERhZmZQcm9kdWN0LFxuICBEYWZmUHJvZHVjdFR5cGVFbnVtLFxuICBEYWZmUHJvZHVjdFByaWNlcyxcbiAgRGFmZlByaWNlUmFuZ2UsXG59IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0JztcbmltcG9ydCB7IGdldERhZmZQcm9kdWN0RW50aXRpZXNTZWxlY3RvcnMgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9zdGF0ZSc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdCxcbiAgRGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtLFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbixcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZSB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LXJlZHVjZXJzLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eSB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RFbnRpdGllc1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLnNlbGVjdG9ycyc7XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgc2VsZWN0b3JzIHVuaXF1ZSB0byB0aGUgY29tcG9zaXRlIHByb2R1Y3QsIHN1Y2ggYXMgcHJpY2luZyBhbmQgZGlzY291bnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhZmZDb21wb3NpdGVQcm9kdWN0TWVtb2l6ZWRTZWxlY3RvcnM8VCBleHRlbmRzIERhZmZQcm9kdWN0ID0gRGFmZlByb2R1Y3Q+IHtcbiAgLyoqXG4gICAqIEdldCBhIERhZmZQcmljZVJhbmdlIGZvciBhIGNvbXBvc2l0ZSBwcm9kdWN0IGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGV4Y2x1ZGluZyB1bnNlbGVjdGVkLCBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RSZXF1aXJlZEl0ZW1QcmljZXNGb3JDb25maWd1cmF0aW9uOiAoIGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgY29uZmlndXJhdGlvbj86IERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPiApID0+IE1lbW9pemVkU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgRGFmZlByaWNlUmFuZ2U+O1xuICAvKipcbiAgICogR2V0IHRoZSBicm9hZGVzdCBwb3NzaWJsZSBEYWZmUHJpY2VSYW5nZSBmb3IgYSBjb21wb3NpdGUgcHJvZHVjdCBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbiBwcm92aWRlZCBpbmNsdWRpbmcgb3B0aW9uYWwgaXRlbSBwcmljZXMuXG4gICAqL1xuICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0T3B0aW9uYWxJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbjogKCBpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10sIGNvbmZpZ3VyYXRpb24/OiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbT4gKSA9PiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIERhZmZQcmljZVJhbmdlPjtcbiAgLyoqXG4gICAqIEdldCB0aGUgRGFmZlByaWNlUmFuZ2UgZm9yIGEgY29tcG9zaXRlIHByb2R1Y3QgYmFzZWQgb24gdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBvZiBzZWxlY3RlZCBpdGVtIG9wdGlvbnMgaW4gcmVkdXggc3RhdGUgYW5kXG4gICAqIGV4Y2x1ZGluZyB1bnNlbGVjdGVkLCBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RQcmljZXNBc0N1cnJlbnRseUNvbmZpZ3VyZWQ6ICggaWQ6IERhZmZDb21wb3NpdGVQcm9kdWN0WydpZCddICkgPT4gTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBEYWZmUHJpY2VSYW5nZT47XG4gIC8qKlxuICAgKiBHZXQgdGhlIGRpc2NvdW50IGFtb3VudCBmb3IgYSBjb21wb3NpdGUgcHJvZHVjdC4gVGhpcyB2YWx1ZSB3aWxsIGJlIHVuZGVmaW5lZCBpZiBhbGwgcmVxdWlyZWQgb3B0aW9ucyBhcmUgbm90IGNob3Nlbi5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3REaXNjb3VudEFtb3VudDogKCBpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10gKSA9PiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIG51bWJlcj47XG4gIC8qKlxuICAgKiBHZXQgdGhlIGRpc2NvdW50IHBlcmNlbnQgZm9yIGEgY29tcG9zaXRlIHByb2R1Y3QuIFRoaXMgdmFsdWUgd2lsbCBiZSB1bmRlZmluZWQgaWYgYWxsIHJlcXVpcmVkIG9wdGlvbnMgYXJlIG5vdCBjaG9zZW4uXG4gICAqIE5vdGU6IHRoaXMgcGVyY2VudCBpcyBjb21wdXRlZCBjbGllbnQtc2lkZSBhbmQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gZXN0aW1hdGUgcmF0aGVyIHRoYW4gYW4gZXhhY3QgdmFsdWUuXG4gICAqL1xuICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0RGlzY291bnRQZXJjZW50OiAoIGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSApID0+IE1lbW9pemVkU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgbnVtYmVyPjtcbn1cblxuY29uc3QgY3JlYXRlQ29tcG9zaXRlUHJvZHVjdFNlbGVjdG9ycyA9IDxUIGV4dGVuZHMgRGFmZlByb2R1Y3Q+KCk6IERhZmZDb21wb3NpdGVQcm9kdWN0TWVtb2l6ZWRTZWxlY3RvcnM8VD4gPT4ge1xuXG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9kdWN0LFxuICB9ID0gZ2V0RGFmZlByb2R1Y3RFbnRpdGllc1NlbGVjdG9yczxUPigpO1xuXG4gIGNvbnN0IHtcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllcyxcbiAgfSA9IGdldERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXRpZXNTZWxlY3RvcnMoKTtcblxuICBjb25zdCBzZWxlY3RDb21wb3NpdGVQcm9kdWN0UmVxdWlyZWRJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbiA9IGRlZmF1bHRNZW1vaXplKChpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10sIGNvbmZpZ3VyYXRpb24/OiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbT4pID0+IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdFByb2R1Y3QoaWQpLFxuICAgIChwcm9kdWN0OiBUKSA9PiB7XG4gICAgICBpZihwcm9kdWN0LnR5cGUgIT09IERhZmZQcm9kdWN0VHlwZUVudW0uQ29tcG9zaXRlKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFwcGxpZWRPcHRpb25zID0gY29uZmlndXJhdGlvbiA/IGdldEFwcGxpZWRPcHRpb25zRm9yQ29uZmlndXJhdGlvbig8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBjb25maWd1cmF0aW9uKSA6IHt9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWluUHJpY2U6IGdldE1pblByaWNlc0ZvckNvbmZpZ3VyYXRpb24oPERhZmZDb21wb3NpdGVQcm9kdWN0Pjxhbnk+cHJvZHVjdCwgYXBwbGllZE9wdGlvbnMpLFxuICAgICAgICBtYXhQcmljZTogZ2V0TWF4UHJpY2VzRm9yQ29uZmlndXJhdGlvbig8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBhcHBsaWVkT3B0aW9ucyksXG4gICAgICB9O1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG4gIGNvbnN0IHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RPcHRpb25hbEl0ZW1QcmljZXNGb3JDb25maWd1cmF0aW9uID0gZGVmYXVsdE1lbW9pemUoKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgY29uZmlndXJhdGlvbj86IERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPikgPT4gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgKHByb2R1Y3Q6IFQpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXBwbGllZE9wdGlvbnMgPSBjb25maWd1cmF0aW9uID8gZ2V0QXBwbGllZE9wdGlvbnNGb3JDb25maWd1cmF0aW9uKDxEYWZmQ29tcG9zaXRlUHJvZHVjdD48YW55PnByb2R1Y3QsIGNvbmZpZ3VyYXRpb24pIDoge307XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW5QcmljZTogZ2V0TWluUHJpY2VzRm9yQ29uZmlndXJhdGlvbig8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBhcHBsaWVkT3B0aW9ucyksXG4gICAgICAgIG1heFByaWNlOiBnZXRNYXhQcmljZXNGb3JDb25maWd1cmF0aW9uSW5jbHVkaW5nT3B0aW9uYWxJdGVtcyg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBhcHBsaWVkT3B0aW9ucyksXG4gICAgICB9O1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG4gIGNvbnN0IHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RQcmljZXNBc0N1cnJlbnRseUNvbmZpZ3VyZWQgPSBkZWZhdWx0TWVtb2l6ZSgoaWQ6IFRbJ2lkJ10pID0+IGNyZWF0ZVNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIFtULCBFbnRpdHlTdGF0ZTxEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eT5bJ2VudGl0aWVzJ11dLCBEYWZmUHJpY2VSYW5nZT4oXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgKHByb2R1Y3Q6IFQsIGFwcGxpZWRPcHRpb25zRW50aXRpZXMpID0+XG4gICAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0UmVxdWlyZWRJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbihpZCwgYXBwbGllZE9wdGlvbnNFbnRpdGllc1tpZF0/Lml0ZW1zIHx8IG51bGwpLnByb2plY3Rvcihwcm9kdWN0KSxcbiAgKSkubWVtb2l6ZWQ7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdERpc2NvdW50QW1vdW50ID0gZGVmYXVsdE1lbW9pemUoKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSkgPT4gY3JlYXRlU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgW1QsIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5PlsnZW50aXRpZXMnXV0sIG51bWJlcj4oXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgKHByb2R1Y3Q6IFQsIGFwcGxpZWRPcHRpb25zRW50aXRpZXMpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcGxpZWRDb25maWd1cmF0aW9uSXRlbSA9IGFwcGxpZWRPcHRpb25zRW50aXRpZXNbcHJvZHVjdC5pZF0uaXRlbXM7XG4gICAgICBpZigoPERhZmZDb21wb3NpdGVQcm9kdWN0Pjxhbnk+cHJvZHVjdCkuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5yZXF1aXJlZCAmJiBhcHBsaWVkQ29uZmlndXJhdGlvbkl0ZW1baXRlbS5pZF0udmFsdWUgPT09IG51bGwpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcGxpZWRPcHRpb25zID0gZ2V0QXBwbGllZE9wdGlvbnNGb3JDb25maWd1cmF0aW9uKCg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KSwgYXBwbGllZENvbmZpZ3VyYXRpb25JdGVtKTtcblxuICAgICAgcmV0dXJuICg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KS5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT5cbiAgICAgICAgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0/LmRpc2NvdW50Py5hbW91bnQgPyBkYWZmQWRkKGFjYywgZGFmZk11bHRpcGx5KGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLmRpc2NvdW50LmFtb3VudCwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpKSA6IGFjYyxcbiAgICAgIHByb2R1Y3QuZGlzY291bnQuYW1vdW50KTtcbiAgICB9LFxuICApKS5tZW1vaXplZDtcblxuICBjb25zdCBzZWxlY3RDb21wb3NpdGVQcm9kdWN0RGlzY291bnRQZXJjZW50ID0gZGVmYXVsdE1lbW9pemUoKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSkgPT4gY3JlYXRlU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgW1QsIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5PlsnZW50aXRpZXMnXV0sIG51bWJlcj4oXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgKHByb2R1Y3Q6IFQsIGFwcGxpZWRPcHRpb25zRW50aXRpZXMpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcGxpZWRPcHRpb25zID0gYXBwbGllZE9wdGlvbnNFbnRpdGllc1twcm9kdWN0LmlkXS5pdGVtcztcbiAgICAgIGlmKCg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KS5pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnJlcXVpcmVkICYmIGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLnZhbHVlID09PSBudWxsKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByaWNlcyA9IGdldE1pblByaWNlc0ZvckNvbmZpZ3VyYXRpb24oXG4gICAgICAgICg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KSxcbiAgICAgICAgZ2V0QXBwbGllZE9wdGlvbnNGb3JDb25maWd1cmF0aW9uKCg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KSwgYXBwbGllZE9wdGlvbnMpLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGRhZmZNdWx0aXBseShcbiAgICAgICAgZGFmZkRpdmlkZShcbiAgICAgICAgICBkYWZmU3VidHJhY3QocHJpY2VzLm9yaWdpbmFsUHJpY2UsIHByaWNlcy5kaXNjb3VudGVkUHJpY2UpLFxuICAgICAgICAgIHByaWNlcy5vcmlnaW5hbFByaWNlLFxuICAgICAgICApLFxuICAgICAgICAxMDAsXG4gICAgICApO1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFJlcXVpcmVkSXRlbVByaWNlc0ZvckNvbmZpZ3VyYXRpb24sXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdE9wdGlvbmFsSXRlbVByaWNlc0ZvckNvbmZpZ3VyYXRpb24sXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFByaWNlc0FzQ3VycmVudGx5Q29uZmlndXJlZCxcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0RGlzY291bnRBbW91bnQsXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdERpc2NvdW50UGVyY2VudCxcbiAgfTtcbn07XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYWxsIHNlbGVjdG9ycyByZWxhdGVkIHRvIHRoZSBjb21wb3NpdGUgcHJvZHVjdCBmZWF0dXJlLlxuICpcbiAqIFJldHVybnMge0BsaW5rIERhZmZDb21wb3NpdGVQcm9kdWN0TWVtb2l6ZWRTZWxlY3RvcnN9LlxuICovXG5leHBvcnQgY29uc3QgZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RQcmljZVNlbGVjdG9ycyA9ICgoKSA9PiB7XG4gIGxldCBjYWNoZTtcbiAgcmV0dXJuIDxUIGV4dGVuZHMgRGFmZlByb2R1Y3QgPSBEYWZmUHJvZHVjdD4oKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RNZW1vaXplZFNlbGVjdG9yczxUPiA9PiBjYWNoZSA9IGNhY2hlXG4gICAgPyBjYWNoZVxuICAgIDogY3JlYXRlQ29tcG9zaXRlUHJvZHVjdFNlbGVjdG9yczxUPigpO1xufSkoKTtcblxuLyoqXG4gKiBUaGUgbWluaW11bSBwcmljZSBvZiBhbiBpdGVtIGlzIHplcm8gaWYgdGhlIGl0ZW0gaXMgb3B0aW9uYWwuXG4gKlxuICogQHBhcmFtIGl0ZW0gRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtXG4gKi9cbmZ1bmN0aW9uIGdldE1pbmltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1QcmljZShpdGVtOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sIHF0eTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIGl0ZW0ucmVxdWlyZWQgPyBkYWZmTXVsdGlwbHkoTWF0aC5taW4oLi4uaXRlbS5vcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLnByaWNlKSksIHF0eSkgOiAwO1xufVxuXG4vKipcbiAqIFRoZSBtYXhpbXVtIHByaWNlIGZvciBhbiBpdGVtIGlzIHplcm8gaWYgdGhlIGl0ZW0gaXMgb3B0aW9uYWwuXG4gKlxuICogQHBhcmFtIGl0ZW0gRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtXG4gKi9cbmZ1bmN0aW9uIGdldE1heGltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1QcmljZShpdGVtOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sIHF0eTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIGl0ZW0ucmVxdWlyZWQgPyBkYWZmTXVsdGlwbHkoTWF0aC5tYXgoLi4uaXRlbS5vcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLnByaWNlKSksIHF0eSkgOiAwO1xufVxuXG4vKipcbiAqIFRoZSBtaW5pbXVtIGRpc2NvdW50ZWQgcHJpY2Ugb2YgYW4gaXRlbSBpcyB6ZXJvIGlmIHRoZSBpdGVtIGlzIG9wdGlvbmFsLlxuICpcbiAqIEBwYXJhbSBpdGVtIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbVxuICovXG5mdW5jdGlvbiBnZXRNaW5pbXVtUmVxdWlyZWRDb21wb3NpdGVJdGVtRGlzY291bnRlZFByaWNlKGl0ZW06IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbSwgcXR5OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gaXRlbS5yZXF1aXJlZCA/IGRhZmZNdWx0aXBseShNYXRoLm1pbiguLi5pdGVtLm9wdGlvbnMubWFwKGdldERpc2NvdW50ZWRQcmljZSkpLCBxdHkpIDogMDtcbn1cbi8qKlxuICogVGhlIG1heGltdW0gZGlzY291bnRlZCBwcmljZSBvZiBhbiBpdGVtIGlzIHplcm8gaWYgdGhlIGl0ZW0gaXMgb3B0aW9uYWwuXG4gKlxuICogQHBhcmFtIGl0ZW0gRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtXG4gKi9cbmZ1bmN0aW9uIGdldE1heGltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1EaXNjb3VudGVkUHJpY2UoaXRlbTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtLCBxdHk6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBpdGVtLnJlcXVpcmVkID8gZGFmZk11bHRpcGx5KE1hdGgubWF4KC4uLml0ZW0ub3B0aW9ucy5tYXAoZ2V0RGlzY291bnRlZFByaWNlKSksIHF0eSkgOiAwO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIG1pbmltdW0gcHJpY2VzIG9mIGEgY29tcG9zaXRlIHByb2R1Y3QgZm9yIHRoZSBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGV4Y2x1ZGluZyB1bnNlbGVjdGVkLCBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdCBhIERhZmZDb21wb3NpdGVQcm9kdWN0XG4gKiBAcGFyYW0gYXBwbGllZE9wdGlvbnMgYSBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbj4gdGhhdCBkZXRlcm1pbmVzIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbXBvc2l0ZSBwcm9kdWN0LlxuICovXG5mdW5jdGlvbiBnZXRNaW5QcmljZXNGb3JDb25maWd1cmF0aW9uKHByb2R1Y3Q6IERhZmZDb21wb3NpdGVQcm9kdWN0LCBhcHBsaWVkT3B0aW9uczogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+KTogRGFmZlByb2R1Y3RQcmljZXMge1xuICByZXR1cm4ge1xuICAgIGRpc2NvdW50ZWRQcmljZTogcHJvZHVjdC5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gZGFmZkFkZChcbiAgICAgIGFjYyxcbiAgICAgIGFwcGxpZWRPcHRpb25IYXNJZChhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICBkYWZmTXVsdGlwbHkoZ2V0RGlzY291bnRlZFByaWNlKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgZ2V0TWluaW11bVJlcXVpcmVkQ29tcG9zaXRlSXRlbURpc2NvdW50ZWRQcmljZShpdGVtLCBnZXRPcHRpb25RdHkoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pKSxcbiAgICApLCBnZXREaXNjb3VudGVkUHJpY2UocHJvZHVjdCkpLFxuICAgIGRpc2NvdW50OiB7IGFtb3VudDogbnVsbCwgcGVyY2VudDogbnVsbCB9LFxuICAgIG9yaWdpbmFsUHJpY2U6IHByb2R1Y3QuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IGRhZmZBZGQoXG4gICAgICBhY2MsXG4gICAgICBhcHBsaWVkT3B0aW9uSGFzSWQoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pID9cbiAgICAgICAgZGFmZk11bHRpcGx5KGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLnByaWNlLCBhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5xdWFudGl0eSkgOlxuICAgICAgICBnZXRNaW5pbXVtUmVxdWlyZWRDb21wb3NpdGVJdGVtUHJpY2UoaXRlbSwgZ2V0T3B0aW9uUXR5KGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSksXG4gICAgKSwgcHJvZHVjdC5wcmljZSksXG4gIH07XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbWF4aW11bSBwcmljZXMgb2YgYSBjb21wb3NpdGUgcHJvZHVjdCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gcHJvdmlkZWQgZXhjbHVkaW5nIHVuc2VsZWN0ZWQsIG9wdGlvbmFsIGl0ZW0gcHJpY2VzLlxuICpcbiAqIEBwYXJhbSBwcm9kdWN0IGEgRGFmZkNvbXBvc2l0ZVByb2R1Y3RcbiAqIEBwYXJhbSBhcHBsaWVkT3B0aW9ucyBhIERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uPiB0aGF0IGRldGVybWluZXMgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBvZiB0aGUgY29tcG9zaXRlIHByb2R1Y3QuXG4gKi9cbmZ1bmN0aW9uIGdldE1heFByaWNlc0ZvckNvbmZpZ3VyYXRpb24ocHJvZHVjdDogRGFmZkNvbXBvc2l0ZVByb2R1Y3QsIGFwcGxpZWRPcHRpb25zOiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbj4pOiBEYWZmUHJvZHVjdFByaWNlcyB7XG4gIHJldHVybiB7XG4gICAgZGlzY291bnRlZFByaWNlOiBwcm9kdWN0Lml0ZW1zLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiBkYWZmQWRkKFxuICAgICAgYWNjLFxuICAgICAgYXBwbGllZE9wdGlvbkhhc0lkKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSA/XG4gICAgICAgIGRhZmZNdWx0aXBseShnZXREaXNjb3VudGVkUHJpY2UoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pLCBhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5xdWFudGl0eSkgOlxuICAgICAgICBnZXRNYXhpbXVtUmVxdWlyZWRDb21wb3NpdGVJdGVtRGlzY291bnRlZFByaWNlKGl0ZW0sIGdldE9wdGlvblF0eShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkpLFxuICAgICksIGdldERpc2NvdW50ZWRQcmljZShwcm9kdWN0KSksXG4gICAgZGlzY291bnQ6IHsgYW1vdW50OiBudWxsLCBwZXJjZW50OiBudWxsIH0sXG4gICAgb3JpZ2luYWxQcmljZTogcHJvZHVjdC5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gZGFmZkFkZChcbiAgICAgIGFjYyxcbiAgICAgIGFwcGxpZWRPcHRpb25IYXNJZChhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICBkYWZmTXVsdGlwbHkoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucHJpY2UsIGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLnF1YW50aXR5KSA6XG4gICAgICAgIGdldE1heGltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1QcmljZShpdGVtLCBnZXRPcHRpb25RdHkoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pKSxcbiAgICApLCBwcm9kdWN0LnByaWNlKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGlzY291bnRlZFByaWNlKHByb2R1Y3Q6IERhZmZQcm9kdWN0KTogbnVtYmVyIHtcbiAgcmV0dXJuIHByb2R1Y3QuZGlzY291bnQgPyBkYWZmU3VidHJhY3QocHJvZHVjdC5wcmljZSwgcHJvZHVjdC5kaXNjb3VudC5hbW91bnQpIDogcHJvZHVjdC5wcmljZTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBtYXhpbXVtIHByaWNlcyBvZiBhIGNvbXBvc2l0ZSBwcm9kdWN0IGluY2x1ZGluZyBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdCBhIERhZmZDb21wb3NpdGVQcm9kdWN0XG4gKi9cbmZ1bmN0aW9uIGdldE1heFByaWNlc0ZvckNvbmZpZ3VyYXRpb25JbmNsdWRpbmdPcHRpb25hbEl0ZW1zKHByb2R1Y3Q6IERhZmZDb21wb3NpdGVQcm9kdWN0LCBhcHBsaWVkT3B0aW9uczogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+KTogRGFmZlByb2R1Y3RQcmljZXMge1xuICByZXR1cm4ge1xuICAgIGRpc2NvdW50ZWRQcmljZTogcHJvZHVjdC5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gZGFmZkFkZChcbiAgICAgIGFjYyxcbiAgICAgIGFwcGxpZWRPcHRpb25IYXNJZChhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICBkYWZmTXVsdGlwbHkoZ2V0RGlzY291bnRlZFByaWNlKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgYXBwbGllZE9wdGlvbkhhc1F0eShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICAgIGRhZmZNdWx0aXBseShNYXRoLm1heCguLi5pdGVtLm9wdGlvbnMubWFwKGdldERpc2NvdW50ZWRQcmljZSkpLCBhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5xdWFudGl0eSkgOlxuICAgICAgICAgIE1hdGgubWF4KC4uLml0ZW0ub3B0aW9ucy5tYXAoZ2V0RGlzY291bnRlZFByaWNlKSksXG4gICAgKSwgZ2V0RGlzY291bnRlZFByaWNlKHByb2R1Y3QpKSxcbiAgICBkaXNjb3VudDogeyBhbW91bnQ6IG51bGwsIHBlcmNlbnQ6IG51bGwgfSxcbiAgICBvcmlnaW5hbFByaWNlOiBwcm9kdWN0Lml0ZW1zLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiBkYWZmQWRkKFxuICAgICAgYWNjLFxuICAgICAgYXBwbGllZE9wdGlvbkhhc0lkKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSA/XG4gICAgICAgIGRhZmZNdWx0aXBseShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5wcmljZSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgYXBwbGllZE9wdGlvbkhhc1F0eShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICAgIGRhZmZNdWx0aXBseShNYXRoLm1heCguLi5pdGVtLm9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24ucHJpY2UpKSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgICBNYXRoLm1heCguLi5pdGVtLm9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24ucHJpY2UpKSxcbiAgICApLCBwcm9kdWN0LnByaWNlKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUYWtlcyBhIHByb2R1Y3QgYW5kIGEgc2V0IG9mIG9wdGlvbiBjb25maWd1cmF0aW9ucyBhbmQgY29udmVydCBpdCBpbnRvIGEgZGljdGlvbmFyeSBvZiB0aGUgZnVsbCBvcHRpb24gb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdCBhIERhZmZDb21wb3NpdGVQcm9kdWN0XG4gKiBAcGFyYW0gY29uZmlndXJhdGlvbiBhIERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPiB1c2VkIHRvIGJ1aWxkIHRoZSBhcHBsaWVkT3B0aW9ucyBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGdldEFwcGxpZWRPcHRpb25zRm9yQ29uZmlndXJhdGlvbihwcm9kdWN0OiBEYWZmQ29tcG9zaXRlUHJvZHVjdCwgY29uZmlndXJhdGlvbjogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlQ29uZmlndXJhdGlvbkl0ZW0+KTogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+IHtcbiAgcmV0dXJuIHByb2R1Y3QuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+ICh7XG4gICAgLi4uYWNjLFxuICAgIFtpdGVtLmlkXTogY29uZmlndXJhdGlvbltpdGVtLmlkXSA/IHtcbiAgICAgIC4uLml0ZW0ub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24uaWQgPT09IGNvbmZpZ3VyYXRpb25baXRlbS5pZF0udmFsdWUpLFxuICAgICAgcXVhbnRpdHk6IChjb25maWd1cmF0aW9uW2l0ZW0uaWRdLnF0eSA9PT0gbnVsbCB8fCBjb25maWd1cmF0aW9uW2l0ZW0uaWRdLnF0eSA9PT0gdW5kZWZpbmVkKSA/IDEgOiBjb25maWd1cmF0aW9uW2l0ZW0uaWRdLnF0eSxcbiAgICB9IDogbnVsbCxcbiAgfSksIHt9KTtcbn1cblxuZnVuY3Rpb24gYXBwbGllZE9wdGlvbkhhc0lkKGFwcGxpZWRPcHRpb246IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gISFhcHBsaWVkT3B0aW9uPy5pZDtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uUXR5KGFwcGxpZWRPcHRpb246IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbik6IG51bWJlciB7XG4gIHJldHVybiBhcHBsaWVkT3B0aW9uSGFzUXR5KGFwcGxpZWRPcHRpb24pID8gYXBwbGllZE9wdGlvbi5xdWFudGl0eSA6IDE7XG59XG5cbmZ1bmN0aW9uIGFwcGxpZWRPcHRpb25IYXNRdHkoYXBwbGllZE9wdGlvbjogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiBhcHBsaWVkT3B0aW9uPy5xdWFudGl0eSAhPT0gbnVsbCAmJiBhcHBsaWVkT3B0aW9uPy5xdWFudGl0eSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|
package/esm2022/state/selectors/composite-product-entities/composite-product-entities.selectors.mjs
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
import { createSelector, defaultMemoize, } from '@ngrx/store';
|
2
|
-
import { DaffProductTypeEnum, } from '@daffodil/product';
|
3
|
-
import { getDaffProductEntitiesSelectors } from '@daffodil/product/state';
|
4
|
-
import { daffCompositeProductAppliedOptionsEntitiesAdapter } from '../../reducers/composite-product-entities/composite-product-entities-reducer-adapter';
|
5
|
-
import { getDaffCompositeProductFeatureSelector } from '../feature.selector';
|
6
|
-
const createCompositeProductAppliedOptionsEntitiesSelectors = () => {
|
7
|
-
const { selectCompositeProductState, } = getDaffCompositeProductFeatureSelector();
|
8
|
-
const { selectProduct, } = getDaffProductEntitiesSelectors();
|
9
|
-
const adapterSelectors = daffCompositeProductAppliedOptionsEntitiesAdapter().getSelectors();
|
10
|
-
const selectCompositeProductAppliedOptionsEntitiesState = createSelector(selectCompositeProductState, (state) => state.compositeProductOptions);
|
11
|
-
const selectCompositeProductIds = createSelector(selectCompositeProductAppliedOptionsEntitiesState, adapterSelectors.selectIds);
|
12
|
-
const selectCompositeProductAppliedOptionsEntities = createSelector(selectCompositeProductAppliedOptionsEntitiesState, adapterSelectors.selectEntities);
|
13
|
-
const selectCompositeProductTotal = createSelector(selectCompositeProductAppliedOptionsEntitiesState, adapterSelectors.selectTotal);
|
14
|
-
const selectCompositeProductAppliedOptions = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntitiesState, (product, appliedOptions) => {
|
15
|
-
if (product.type !== DaffProductTypeEnum.Composite) {
|
16
|
-
return undefined;
|
17
|
-
}
|
18
|
-
return product.items.reduce((acc, item) => ({
|
19
|
-
...acc,
|
20
|
-
[item.id]: appliedOptions.entities[product.id].items[item.id].value ? {
|
21
|
-
...item.options.find(option => option.id === appliedOptions.entities[product.id].items[item.id].value),
|
22
|
-
quantity: appliedOptions.entities[product.id].items[item.id].qty,
|
23
|
-
} : null,
|
24
|
-
}), {});
|
25
|
-
})).memoized;
|
26
|
-
const selectIsCompositeProductItemRequired = defaultMemoize((id, item_id) => createSelector(selectProduct(id), (product) => {
|
27
|
-
if (product.type !== DaffProductTypeEnum.Composite) {
|
28
|
-
return undefined;
|
29
|
-
}
|
30
|
-
const productItem = product.items.find(item => item.id === item_id);
|
31
|
-
return productItem ? productItem.required : null;
|
32
|
-
})).memoized;
|
33
|
-
return {
|
34
|
-
selectCompositeProductAppliedOptionsEntitiesState,
|
35
|
-
selectCompositeProductIds,
|
36
|
-
selectCompositeProductAppliedOptionsEntities,
|
37
|
-
selectCompositeProductTotal,
|
38
|
-
selectCompositeProductAppliedOptions,
|
39
|
-
selectIsCompositeProductItemRequired,
|
40
|
-
};
|
41
|
-
};
|
42
|
-
/**
|
43
|
-
* A function that returns all selectors related to composite product applied option entities.
|
44
|
-
* Returns {@link DaffCompositeProductEntitiesMemoizedSelectors}.
|
45
|
-
*/
|
46
|
-
export const getDaffCompositeProductEntitiesSelectors = (() => {
|
47
|
-
let cache;
|
48
|
-
return () => cache = cache
|
49
|
-
? cache
|
50
|
-
: createCompositeProductAppliedOptionsEntitiesSelectors();
|
51
|
-
})();
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QtZW50aXRpZXMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS9zdGF0ZS9zcmMvc2VsZWN0b3JzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsY0FBYyxFQUVkLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBRUwsbUJBQW1CLEdBQ3BCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPMUUsT0FBTyxFQUFFLGlEQUFpRCxFQUFFLE1BQU0sc0ZBQXNGLENBQUM7QUFNekosT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFxQzdFLE1BQU0scURBQXFELEdBQUcsR0FBNEUsRUFBRTtJQUMxSSxNQUFNLEVBQ0osMkJBQTJCLEdBQzVCLEdBQUcsc0NBQXNDLEVBQUUsQ0FBQztJQUM3QyxNQUFNLEVBQ0osYUFBYSxHQUNkLEdBQUcsK0JBQStCLEVBQUssQ0FBQztJQUN6QyxNQUFNLGdCQUFnQixHQUFHLGlEQUFpRCxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFNUYsTUFBTSxpREFBaUQsR0FBRyxjQUFjLENBQ3RFLDJCQUEyQixFQUMzQixDQUFDLEtBQXdDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FDNUUsQ0FBQztJQUVGLE1BQU0seUJBQXlCLEdBQUcsY0FBYyxDQUM5QyxpREFBaUQsRUFDakQsZ0JBQWdCLENBQUMsU0FBUyxDQUMzQixDQUFDO0lBRUYsTUFBTSw0Q0FBNEMsR0FBRyxjQUFjLENBQ2pFLGlEQUFpRCxFQUNqRCxnQkFBZ0IsQ0FBQyxjQUFjLENBQ2hDLENBQUM7SUFFRixNQUFNLDJCQUEyQixHQUFHLGNBQWMsQ0FDaEQsaURBQWlELEVBQ2pELGdCQUFnQixDQUFDLFdBQVcsQ0FDN0IsQ0FBQztJQUVGLE1BQU0sb0NBQW9DLEdBQUcsY0FBYyxDQUFDLENBQUMsRUFBVyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQ3pGLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFDakIsaURBQWlELEVBQ2pELENBQUMsT0FBVSxFQUFFLGNBQWMsRUFBRSxFQUFFO1FBQzdCLElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBbUMsT0FBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLEdBQUcsR0FBRztZQUNOLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RHLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUc7YUFDakUsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNULENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNWLENBQUMsQ0FDRixDQUFDLENBQUMsUUFBUSxDQUFDO0lBRVosTUFBTSxvQ0FBb0MsR0FBRyxjQUFjLENBQUMsQ0FBQyxFQUFXLEVBQUUsT0FBdUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUNsSSxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ2pCLENBQUMsT0FBVSxFQUFFLEVBQUU7UUFDYixJQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUErQixPQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUM7UUFFakcsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDLENBQ0YsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUdaLE9BQU87UUFDTCxpREFBaUQ7UUFDakQseUJBQXlCO1FBQ3pCLDRDQUE0QztRQUM1QywyQkFBMkI7UUFDM0Isb0NBQW9DO1FBQ3BDLG9DQUFvQztLQUNyQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7SUFDNUQsSUFBSSxLQUFLLENBQUM7SUFDVixPQUFPLEdBQTRFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSztRQUNqRyxDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxxREFBcUQsRUFBSyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHlTdGF0ZSxcbiAgRGljdGlvbmFyeSxcbn0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlbGVjdG9yLFxuICBNZW1vaXplZFNlbGVjdG9yLFxuICBkZWZhdWx0TWVtb2l6ZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQge1xuICBEYWZmUHJvZHVjdCxcbiAgRGFmZlByb2R1Y3RUeXBlRW51bSxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QnO1xuaW1wb3J0IHsgZ2V0RGFmZlByb2R1Y3RFbnRpdGllc1NlbGVjdG9ycyB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0L3N0YXRlJztcbmltcG9ydCB7XG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbixcbiAgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtLFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdCxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgZGFmZkNvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uc0VudGl0aWVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLXJlZHVjZXItYWRhcHRlcic7XG5pbXBvcnQgeyBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eSB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0eSc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdFJlZHVjZXJzU3RhdGUsXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2UsXG59IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LXJlZHVjZXJzLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBnZXREYWZmQ29tcG9zaXRlUHJvZHVjdEZlYXR1cmVTZWxlY3RvciB9IGZyb20gJy4uL2ZlYXR1cmUuc2VsZWN0b3InO1xuXG4vKipcbiAqIEFuIGludGVyZmFjZSBmb3Igc2VsZWN0b3JzIHJlbGF0ZWQgdG8gdGhlIGNvbXBvc2l0ZSBwcm9kdWN0IGFwcGxpZWQgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0aWVzTWVtb2l6ZWRTZWxlY3RvcnM8VCBleHRlbmRzIERhZmZQcm9kdWN0ID0gRGFmZlByb2R1Y3Q+IHtcbiAgLyoqXG4gICAqIFRoZSBuZ3J4IGVudGl0aWVzIHN0YXRlIGZvciBjb21wb3NpdGUgcHJvZHVjdCBhcHBsaWVkIG9wdGlvbnMuXG4gICAqL1xuICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1N0YXRlOiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5Pj47XG4gIC8qKlxuICAgKiBBIHNlbGVjdG9yIGZvciBhbGwgY29tcG9zaXRlIHByb2R1Y3QgaWRzIGluIHN0YXRlLlxuICAgKi9cbiAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdElkczogTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBFbnRpdHlTdGF0ZTxEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eT5bJ2lkcyddPjtcbiAgLyoqXG4gICAqIFRoZSBuZ3J4IGVudGl0aWVzIGZvciB0aGUgY29tcG9zaXRlIHByb2R1Y3QgYXBwbGxpZWQgb3B0aW9ucy5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uc0VudGl0aWVzOiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5PlsnZW50aXRpZXMnXT47XG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIGNvbXBvc2l0ZSBwcm9kdWN0cyBpbiBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RUb3RhbDogTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBudW1iZXI+O1xuICAvKipcbiAgICogU2VsZWN0cyB0aGUgYXBwbGllZCBvcHRpb25zIGZvciBhIGNvbXBvc2l0ZSBwcm9kdWN0LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIG9mIHRoZSBjb21wb3NpdGUgcHJvZHVjdC5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uczogKGlkOiBUWydpZCddKSA9PiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uPj47XG4gIC8qKlxuICAgKiBTZWxlY3RzIHdoZXRoZXIgdGhlIHBhcnRpY3VsYXIgaXRlbSBvZiBhIGNvbXBvc2l0ZSBwcm9kdWN0IGlzIHJlcXVpcmVkIGluIG9yZGVyIGZvciB0aGUgcHJvZHVjdCB0byBiZSB2YWxpZCwgaS5lLiBhZGRhYmxlIHRvIHRoZSBjYXJ0LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIG9mIHRoZSBjb21wb3NpdGUgcHJvZHVjdC5cbiAgICogQHBhcmFtIGl0ZW1faWQgdGhlIGlkIG9mIHRoZSBjb21wb3NpdGUgcHJvZHVjdCBpdGVtLlxuICAgKi9cbiAgc2VsZWN0SXNDb21wb3NpdGVQcm9kdWN0SXRlbVJlcXVpcmVkOiAoaWQ6IFRbJ2lkJ10sIGl0ZW1faWQ6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbVsnaWQnXSkgPT4gTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBib29sZWFuPjtcbn1cblxuY29uc3QgY3JlYXRlQ29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTZWxlY3RvcnMgPSA8VCBleHRlbmRzIERhZmZQcm9kdWN0PigpOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0aWVzTWVtb2l6ZWRTZWxlY3RvcnM8VD4gPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFN0YXRlLFxuICB9ID0gZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlU2VsZWN0b3IoKTtcbiAgY29uc3Qge1xuICAgIHNlbGVjdFByb2R1Y3QsXG4gIH0gPSBnZXREYWZmUHJvZHVjdEVudGl0aWVzU2VsZWN0b3JzPFQ+KCk7XG4gIGNvbnN0IGFkYXB0ZXJTZWxlY3RvcnMgPSBkYWZmQ29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNBZGFwdGVyKCkuZ2V0U2VsZWN0b3JzKCk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RTdGF0ZSxcbiAgICAoc3RhdGU6IERhZmZDb21wb3NpdGVQcm9kdWN0UmVkdWNlcnNTdGF0ZSkgPT4gc3RhdGUuY29tcG9zaXRlUHJvZHVjdE9wdGlvbnMsXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdElkcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uc0VudGl0aWVzU3RhdGUsXG4gICAgYWRhcHRlclNlbGVjdG9ycy5zZWxlY3RJZHMsXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1N0YXRlLFxuICAgIGFkYXB0ZXJTZWxlY3RvcnMuc2VsZWN0RW50aXRpZXMsXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFRvdGFsID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTdGF0ZSxcbiAgICBhZGFwdGVyU2VsZWN0b3JzLnNlbGVjdFRvdGFsLFxuICApO1xuXG4gIGNvbnN0IHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9ucyA9IGRlZmF1bHRNZW1vaXplKChpZDogVFsnaWQnXSkgPT4gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTdGF0ZSxcbiAgICAocHJvZHVjdDogVCwgYXBwbGllZE9wdGlvbnMpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KS5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaXRlbS5pZF06IGFwcGxpZWRPcHRpb25zLmVudGl0aWVzW3Byb2R1Y3QuaWRdLml0ZW1zW2l0ZW0uaWRdLnZhbHVlID8ge1xuICAgICAgICAgIC4uLml0ZW0ub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24uaWQgPT09IGFwcGxpZWRPcHRpb25zLmVudGl0aWVzW3Byb2R1Y3QuaWRdLml0ZW1zW2l0ZW0uaWRdLnZhbHVlKSxcbiAgICAgICAgICBxdWFudGl0eTogYXBwbGllZE9wdGlvbnMuZW50aXRpZXNbcHJvZHVjdC5pZF0uaXRlbXNbaXRlbS5pZF0ucXR5LFxuICAgICAgICB9IDogbnVsbCxcbiAgICAgIH0pLCB7fSk7XG4gICAgfSxcbiAgKSkubWVtb2l6ZWQ7XG5cbiAgY29uc3Qgc2VsZWN0SXNDb21wb3NpdGVQcm9kdWN0SXRlbVJlcXVpcmVkID0gZGVmYXVsdE1lbW9pemUoKGlkOiBUWydpZCddLCBpdGVtX2lkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1bJ2lkJ10pID0+IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdFByb2R1Y3QoaWQpLFxuICAgIChwcm9kdWN0OiBUKSA9PiB7XG4gICAgICBpZihwcm9kdWN0LnR5cGUgIT09IERhZmZQcm9kdWN0VHlwZUVudW0uQ29tcG9zaXRlKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByb2R1Y3RJdGVtID0gKDxEYWZmQ29tcG9zaXRlUHJvZHVjdD48YW55PnByb2R1Y3QpLml0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBpdGVtX2lkKTtcblxuICAgICAgcmV0dXJuIHByb2R1Y3RJdGVtID8gcHJvZHVjdEl0ZW0ucmVxdWlyZWQgOiBudWxsO1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1N0YXRlLFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RJZHMsXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFRvdGFsLFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9ucyxcbiAgICBzZWxlY3RJc0NvbXBvc2l0ZVByb2R1Y3RJdGVtUmVxdWlyZWQsXG4gIH07XG59O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFsbCBzZWxlY3RvcnMgcmVsYXRlZCB0byBjb21wb3NpdGUgcHJvZHVjdCBhcHBsaWVkIG9wdGlvbiBlbnRpdGllcy5cbiAqIFJldHVybnMge0BsaW5rIERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXRpZXNNZW1vaXplZFNlbGVjdG9yc30uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0aWVzU2VsZWN0b3JzID0gKCgpID0+IHtcbiAgbGV0IGNhY2hlO1xuICByZXR1cm4gPFQgZXh0ZW5kcyBEYWZmUHJvZHVjdD4oKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RFbnRpdGllc01lbW9pemVkU2VsZWN0b3JzPFQ+ID0+IGNhY2hlID0gY2FjaGVcbiAgICA/IGNhY2hlXG4gICAgOiBjcmVhdGVDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1NlbGVjdG9yczxUPigpO1xufSkoKTtcbiJdfQ==
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { createFeatureSelector, } from '@ngrx/store';
|
2
|
-
import { DAFF_COMPOSITE_PRODUCT_STORE_FEATURE_KEY } from '../reducers/composite-product-store-feature-key';
|
3
|
-
/**
|
4
|
-
* A function that returns a selector for the composite product feature state.
|
5
|
-
*/
|
6
|
-
export const getDaffCompositeProductFeatureSelector = (() => {
|
7
|
-
let cache;
|
8
|
-
return () => cache = cache
|
9
|
-
? cache
|
10
|
-
: { selectCompositeProductState: createFeatureSelector(DAFF_COMPOSITE_PRODUCT_STORE_FEATURE_KEY) };
|
11
|
-
})();
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvc3JjL3NlbGVjdG9ycy9mZWF0dXJlLnNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxhQUFhLENBQUM7QUFHckIsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFTM0c7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUMxRCxJQUFJLEtBQUssQ0FBQztJQUNWLE9BQU8sR0FBZ0QsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLO1FBQ3JFLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLEVBQUUscUJBQXFCLENBQW9DLHdDQUF3QyxDQUFDLEVBQUUsQ0FBQztBQUMxSSxDQUFDLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLFxuICBNZW1vaXplZFNlbGVjdG9yLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0UmVkdWNlcnNTdGF0ZSB9IGZyb20gJy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LXJlZHVjZXJzLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEQUZGX0NPTVBPU0lURV9QUk9EVUNUX1NUT1JFX0ZFQVRVUkVfS0VZIH0gZnJvbSAnLi4vcmVkdWNlcnMvY29tcG9zaXRlLXByb2R1Y3Qtc3RvcmUtZmVhdHVyZS1rZXknO1xuXG4vKipcbiAqIEFuIGludGVyZmFjZSBmb3IgdGhlIGNvbXBvc2l0ZSBwcm9kdWN0IGZlYXR1cmUgc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlTWVtb2l6ZWRTZWxlY3RvciB7XG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxSZWNvcmQ8c3RyaW5nLCBhbnk+LCBEYWZmQ29tcG9zaXRlUHJvZHVjdFJlZHVjZXJzU3RhdGU+O1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgc2VsZWN0b3IgZm9yIHRoZSBjb21wb3NpdGUgcHJvZHVjdCBmZWF0dXJlIHN0YXRlLlxuICovXG5leHBvcnQgY29uc3QgZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlU2VsZWN0b3IgPSAoKCkgPT4ge1xuICBsZXQgY2FjaGU7XG4gIHJldHVybiAoKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlTWVtb2l6ZWRTZWxlY3RvciA9PiBjYWNoZSA9IGNhY2hlXG4gICAgPyBjYWNoZVxuICAgIDogeyBzZWxlY3RDb21wb3NpdGVQcm9kdWN0U3RhdGU6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFJlZHVjZXJzU3RhdGU+KERBRkZfQ09NUE9TSVRFX1BST0RVQ1RfU1RPUkVfRkVBVFVSRV9LRVkpIH07XG59KSgpO1xuIl19
|
@@ -1,5 +0,0 @@
|
|
1
|
-
export * from './all.selector';
|
2
|
-
export * from './composite-product/composite-product.selectors';
|
3
|
-
export * from './composite-product-entities/composite-product-entities.selectors';
|
4
|
-
export * from './feature.selector';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvc3JjL3NlbGVjdG9ycy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FsbC5zZWxlY3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvc2l0ZS1wcm9kdWN0L2NvbXBvc2l0ZS1wcm9kdWN0LnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUuc2VsZWN0b3InO1xuIl19
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtc3RhdGUtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvdGVzdGluZy9zcmMvZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtc3RhdGUtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './public_api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL3N0YXRlL3Rlc3Rpbmcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
@@ -1,46 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* @inheritdoc
|
6
|
-
*/
|
7
|
-
export class MockDaffCompositeProductFacade {
|
8
|
-
getRequiredItemPricesForConfiguration(id, configuration) {
|
9
|
-
return new BehaviorSubject(null);
|
10
|
-
}
|
11
|
-
getOptionalItemPricesForConfiguration(id, configuration) {
|
12
|
-
return new BehaviorSubject(null);
|
13
|
-
}
|
14
|
-
getPricesAsCurrentlyConfigured(id) {
|
15
|
-
return new BehaviorSubject(null);
|
16
|
-
}
|
17
|
-
getAppliedOptions(id) {
|
18
|
-
return new BehaviorSubject({});
|
19
|
-
}
|
20
|
-
getDiscountAmount(id) {
|
21
|
-
return new BehaviorSubject(null);
|
22
|
-
}
|
23
|
-
getDiscountPercent(id) {
|
24
|
-
return new BehaviorSubject(null);
|
25
|
-
}
|
26
|
-
isItemRequired(id, item_id) {
|
27
|
-
return new BehaviorSubject(false);
|
28
|
-
}
|
29
|
-
dispatch(action) { }
|
30
|
-
;
|
31
|
-
hasDiscount(priceRange) {
|
32
|
-
return false;
|
33
|
-
}
|
34
|
-
;
|
35
|
-
hasPriceRange(priceRange) {
|
36
|
-
return false;
|
37
|
-
}
|
38
|
-
;
|
39
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MockDaffCompositeProductFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
40
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MockDaffCompositeProductFacade, providedIn: 'root' }); }
|
41
|
-
}
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MockDaffCompositeProductFacade, decorators: [{
|
43
|
-
type: Injectable,
|
44
|
-
args: [{ providedIn: 'root' }]
|
45
|
-
}] });
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1jb21wb3NpdGUtcHJvZHVjdC1mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL3N0YXRlL3Rlc3Rpbmcvc3JjL21vY2stY29tcG9zaXRlLXByb2R1Y3QtZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXdkM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLHFDQUFxQyxDQUFDLEVBQThCLEVBQUUsYUFBMEQ7UUFDOUgsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QscUNBQXFDLENBQUMsRUFBOEIsRUFBRSxhQUEwRDtRQUM5SCxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCw4QkFBOEIsQ0FBQyxFQUE4QjtRQUMzRCxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUE4QjtRQUM5QyxPQUFPLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUE4QjtRQUM5QyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxFQUE4QjtRQUMvQyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxjQUFjLENBQUMsRUFBOEIsRUFBRSxPQUF1QztRQUNwRixPQUFPLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxRQUFRLENBQUMsTUFBTSxJQUFHLENBQUM7SUFBQSxDQUFDO0lBQ3BCLFdBQVcsQ0FBQyxVQUEwQjtRQUNwQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFBQSxDQUFDO0lBQ0YsYUFBYSxDQUFDLFVBQTBCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUFBLENBQUM7aUlBNUJTLDhCQUE4QjtxSUFBOUIsOEJBQThCLGNBRGpCLE1BQU07OzJGQUNuQiw4QkFBOEI7a0JBRDFDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGFmZlByaWNlUmFuZ2UgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdCc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0LFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbSxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlSW50ZXJmYWNlIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlL3N0YXRlJztcblxuLyoqXG4gKiBAaW5oZXJpdGRvY1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vY2tEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSBpbXBsZW1lbnRzIERhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlSW50ZXJmYWNlIHtcbiAgZ2V0UmVxdWlyZWRJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbihpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10sIGNvbmZpZ3VyYXRpb24/OiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbT4pOiBCZWhhdmlvclN1YmplY3Q8RGFmZlByaWNlUmFuZ2U+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgfVxuICBnZXRPcHRpb25hbEl0ZW1QcmljZXNGb3JDb25maWd1cmF0aW9uKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgY29uZmlndXJhdGlvbj86IERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPik6IEJlaGF2aW9yU3ViamVjdDxEYWZmUHJpY2VSYW5nZT4ge1xuICAgIHJldHVybiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICB9XG4gIGdldFByaWNlc0FzQ3VycmVudGx5Q29uZmlndXJlZChpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10pOiBCZWhhdmlvclN1YmplY3Q8RGFmZlByaWNlUmFuZ2U+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgfVxuICBnZXRBcHBsaWVkT3B0aW9ucyhpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10pOiBCZWhhdmlvclN1YmplY3Q8RGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+PiB7XG4gICAgcmV0dXJuIG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICB9XG4gIGdldERpc2NvdW50QW1vdW50KGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSk6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgfVxuICBnZXREaXNjb3VudFBlcmNlbnQoaWQ6IERhZmZDb21wb3NpdGVQcm9kdWN0WydpZCddKTogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4ge1xuICAgIHJldHVybiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICB9XG4gIGlzSXRlbVJlcXVpcmVkKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgaXRlbV9pZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtWydpZCddKTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIH1cbiAgZGlzcGF0Y2goYWN0aW9uKSB7fTtcbiAgaGFzRGlzY291bnQocHJpY2VSYW5nZTogRGFmZlByaWNlUmFuZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG4gIGhhc1ByaWNlUmFuZ2UocHJpY2VSYW5nZTogRGFmZlByaWNlUmFuZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG4iXX0=
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { DaffCompositeProductFacade } from '@daffodil/product-composite/state';
|
3
|
-
import { MockDaffCompositeProductFacade } from './mock-composite-product-facade';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class DaffCompositeProductStateTestingModule {
|
6
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
7
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule }); }
|
8
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule, providers: [
|
9
|
-
{ provide: DaffCompositeProductFacade, useExisting: MockDaffCompositeProductFacade },
|
10
|
-
] }); }
|
11
|
-
}
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule, decorators: [{
|
13
|
-
type: NgModule,
|
14
|
-
args: [{
|
15
|
-
providers: [
|
16
|
-
{ provide: DaffCompositeProductFacade, useExisting: MockDaffCompositeProductFacade },
|
17
|
-
],
|
18
|
-
}]
|
19
|
-
}] });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvdGVzdGluZy9zcmMvcHJvZHVjdC10ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU9qRixNQUFNLE9BQU8sc0NBQXNDO2lJQUF0QyxzQ0FBc0M7a0lBQXRDLHNDQUFzQztrSUFBdEMsc0NBQXNDLGFBSnRDO1lBQ1QsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLDhCQUE4QixFQUFFO1NBQ3JGOzsyRkFFVSxzQ0FBc0M7a0JBTGxELFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRTtxQkFDckY7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0LWNvbXBvc2l0ZS9zdGF0ZSc7XG5cbmltcG9ydCB7IE1vY2tEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSB9IGZyb20gJy4vbW9jay1jb21wb3NpdGUtcHJvZHVjdC1mYWNhZGUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IERhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlLCB1c2VFeGlzdGluZzogTW9ja0RhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVUZXN0aW5nTW9kdWxlIHsgfVxuIl19
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export { MockDaffCompositeProductFacade } from './mock-composite-product-facade';
|
2
|
-
export { DaffCompositeProductStateTestingModule } from './product-testing.module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvdGVzdGluZy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE1vY2tEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSB9IGZyb20gJy4vbW9jay1jb21wb3NpdGUtcHJvZHVjdC1mYWNhZGUnO1xuZXhwb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVRlc3RpbmdNb2R1bGUgfSBmcm9tICcuL3Byb2R1Y3QtdGVzdGluZy5tb2R1bGUnO1xuIl19
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { faker } from '@faker-js/faker/locale/en_US';
|
3
|
-
import { DaffModelFactory } from '@daffodil/core/testing';
|
4
|
-
import { DaffProductImageFactory, MockProduct, } from '@daffodil/product/testing';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@daffodil/product/testing";
|
7
|
-
/**
|
8
|
-
* Mocked DaffCompositeProductItemOption object.
|
9
|
-
*/
|
10
|
-
export class MockCompositeProductItemOption extends MockProduct {
|
11
|
-
constructor() {
|
12
|
-
super(...arguments);
|
13
|
-
this.quantity = faker.datatype.number({ min: 1, max: 9 });
|
14
|
-
this.is_default = faker.datatype.boolean();
|
15
|
-
}
|
16
|
-
}
|
17
|
-
/**
|
18
|
-
* Factory for creating DaffCompositeProductItemOptions.
|
19
|
-
*/
|
20
|
-
export class DaffCompositeProductItemOptionFactory extends DaffModelFactory {
|
21
|
-
constructor(imageFactory) {
|
22
|
-
super(MockCompositeProductItemOption, imageFactory);
|
23
|
-
}
|
24
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemOptionFactory, deps: [{ token: i1.DaffProductImageFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
25
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemOptionFactory, providedIn: 'root' }); }
|
26
|
-
}
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemOptionFactory, decorators: [{
|
28
|
-
type: Injectable,
|
29
|
-
args: [{
|
30
|
-
providedIn: 'root',
|
31
|
-
}]
|
32
|
-
}], ctorParameters: () => [{ type: i1.DaffProductImageFactory }] });
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QtaXRlbS1vcHRpb24uZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZmFjdG9yaWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWl0ZW0tb3B0aW9uLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixXQUFXLEdBQ1osTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR25DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLFdBQVc7SUFBL0Q7O1FBQ0UsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRCxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQUE7QUFFRDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSxnQkFBZ0Q7SUFDekcsWUFDRSxZQUFxQztRQUVyQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztpSUFMVSxxQ0FBcUM7cUlBQXJDLHFDQUFxQyxjQUZwQyxNQUFNOzsyRkFFUCxxQ0FBcUM7a0JBSGpELFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmFrZXIgfSBmcm9tICdAZmFrZXItanMvZmFrZXIvbG9jYWxlL2VuX1VTJztcblxuaW1wb3J0IHsgRGFmZk1vZGVsRmFjdG9yeSB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgRGFmZlByb2R1Y3RJbWFnZUZhY3RvcnksXG4gIE1vY2tQcm9kdWN0LFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC90ZXN0aW5nJztcbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0LWNvbXBvc2l0ZSc7XG5cbi8qKlxuICogTW9ja2VkIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2NrQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24gZXh0ZW5kcyBNb2NrUHJvZHVjdCBpbXBsZW1lbnRzIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiB7XG4gIHF1YW50aXR5ID0gZmFrZXIuZGF0YXR5cGUubnVtYmVyKHsgbWluOiAxLCBtYXg6IDkgfSk7XG4gIGlzX2RlZmF1bHQgPSBmYWtlci5kYXRhdHlwZS5ib29sZWFuKCk7XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbkZhY3RvcnkgZXh0ZW5kcyBEYWZmTW9kZWxGYWN0b3J5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbj57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGltYWdlRmFjdG9yeTogRGFmZlByb2R1Y3RJbWFnZUZhY3RvcnksXG4gICkge1xuICAgIHN1cGVyKE1vY2tDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiwgaW1hZ2VGYWN0b3J5KTtcbiAgfVxufVxuIl19
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { faker } from '@faker-js/faker/locale/en_US';
|
3
|
-
import { DaffModelFactory } from '@daffodil/core/testing';
|
4
|
-
import { DaffCompositeProductItemInputEnum, } from '@daffodil/product-composite';
|
5
|
-
import { DaffCompositeProductItemOptionFactory } from './composite-product-item-option.factory';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "./composite-product-item-option.factory";
|
8
|
-
/**
|
9
|
-
* Mocked DaffCompositeProductItem object.
|
10
|
-
*/
|
11
|
-
export class MockCompositeProductItem {
|
12
|
-
constructor(optionFactory) {
|
13
|
-
this.optionFactory = optionFactory;
|
14
|
-
this.id = faker.datatype.uuid();
|
15
|
-
this.url = `/${faker.internet.domainWord()}.html`;
|
16
|
-
this.required = faker.datatype.boolean();
|
17
|
-
this.title = faker.commerce.productName();
|
18
|
-
this.input_type = DaffCompositeProductItemInputEnum.select;
|
19
|
-
this.options = [
|
20
|
-
this.optionFactory.create({
|
21
|
-
is_default: true,
|
22
|
-
}),
|
23
|
-
this.optionFactory.create({
|
24
|
-
is_default: false,
|
25
|
-
}),
|
26
|
-
];
|
27
|
-
}
|
28
|
-
}
|
29
|
-
/**
|
30
|
-
* Factory for creating DaffCompositeProductItems.
|
31
|
-
*/
|
32
|
-
export class DaffCompositeProductItemFactory extends DaffModelFactory {
|
33
|
-
constructor(optionFactory) {
|
34
|
-
super(MockCompositeProductItem, optionFactory);
|
35
|
-
}
|
36
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemFactory, deps: [{ token: i1.DaffCompositeProductItemOptionFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
37
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemFactory, providedIn: 'root' }); }
|
38
|
-
}
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemFactory, decorators: [{
|
40
|
-
type: Injectable,
|
41
|
-
args: [{
|
42
|
-
providedIn: 'root',
|
43
|
-
}]
|
44
|
-
}], ctorParameters: () => [{ type: i1.DaffCompositeProductItemOptionFactory }] });
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QtaXRlbS5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS90ZXN0aW5nL3NyYy9mYWN0b3JpZXMvY29tcG9zaXRlLXByb2R1Y3QtaXRlbS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFFTCxpQ0FBaUMsR0FDbEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBRWhHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUNZLGFBQW9EO1FBQXBELGtCQUFhLEdBQWIsYUFBYSxDQUF1QztRQWZoRSxPQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixRQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7UUFDN0MsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsZUFBVSxHQUFHLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQztRQUN0RCxZQUFPLEdBQUc7WUFDUixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO2dCQUN4QixVQUFVLEVBQUUsS0FBSzthQUNsQixDQUFDO1NBQ0gsQ0FBQztJQUlDLENBQUM7Q0FDTDtBQUVEOztHQUVHO0FBSUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGdCQUEwQztJQUM3RixZQUNFLGFBQW9EO1FBRXBELEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO2lJQUxVLCtCQUErQjtxSUFBL0IsK0JBQStCLGNBRjlCLE1BQU07OzJGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmYWtlciB9IGZyb20gJ0BmYWtlci1qcy9mYWtlci9sb2NhbGUvZW5fVVMnO1xuXG5pbXBvcnQgeyBEYWZmTW9kZWxGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUlucHV0RW51bSxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uRmFjdG9yeSB9IGZyb20gJy4vY29tcG9zaXRlLXByb2R1Y3QtaXRlbS1vcHRpb24uZmFjdG9yeSc7XG5cbi8qKlxuICogTW9ja2VkIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbSBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2NrQ29tcG9zaXRlUHJvZHVjdEl0ZW0gaW1wbGVtZW50cyBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0ge1xuICBpZCA9IGZha2VyLmRhdGF0eXBlLnV1aWQoKTtcbiAgdXJsID0gYC8ke2Zha2VyLmludGVybmV0LmRvbWFpbldvcmQoKX0uaHRtbGA7XG4gIHJlcXVpcmVkID0gZmFrZXIuZGF0YXR5cGUuYm9vbGVhbigpO1xuICB0aXRsZSA9IGZha2VyLmNvbW1lcmNlLnByb2R1Y3ROYW1lKCk7XG4gIGlucHV0X3R5cGUgPSBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1JbnB1dEVudW0uc2VsZWN0O1xuICBvcHRpb25zID0gW1xuICAgIHRoaXMub3B0aW9uRmFjdG9yeS5jcmVhdGUoe1xuICAgICAgaXNfZGVmYXVsdDogdHJ1ZSxcbiAgICB9KSxcbiAgICB0aGlzLm9wdGlvbkZhY3RvcnkuY3JlYXRlKHtcbiAgICAgIGlzX2RlZmF1bHQ6IGZhbHNlLFxuICAgIH0pLFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvcHRpb25GYWN0b3J5OiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb25GYWN0b3J5LFxuICApIHt9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtcy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUZhY3RvcnkgZXh0ZW5kcyBEYWZmTW9kZWxGYWN0b3J5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbT57XG4gIGNvbnN0cnVjdG9yKFxuICAgIG9wdGlvbkZhY3Rvcnk6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbkZhY3RvcnksXG4gICkge1xuICAgIHN1cGVyKE1vY2tDb21wb3NpdGVQcm9kdWN0SXRlbSwgb3B0aW9uRmFjdG9yeSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { DaffModelFactory } from '@daffodil/core/testing';
|
3
|
-
import { DaffProductTypeEnum } from '@daffodil/product';
|
4
|
-
import { DaffProductImageFactory, MockProduct, } from '@daffodil/product/testing';
|
5
|
-
import { DaffCompositeProductItemFactory } from './composite-product-item.factory';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "./composite-product-item.factory";
|
8
|
-
import * as i2 from "@daffodil/product/testing";
|
9
|
-
/**
|
10
|
-
* Mocked DaffCompositeProduct object.
|
11
|
-
*/
|
12
|
-
export class MockCompositeProduct extends MockProduct {
|
13
|
-
constructor(itemFactory, imageFactory) {
|
14
|
-
super(imageFactory);
|
15
|
-
this.itemFactory = itemFactory;
|
16
|
-
this.type = DaffProductTypeEnum.Composite;
|
17
|
-
this.items = this.itemFactory.createMany(2);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
/**
|
21
|
-
* Factory for creating DaffCompositeProducts.
|
22
|
-
*/
|
23
|
-
export class DaffCompositeProductFactory extends DaffModelFactory {
|
24
|
-
constructor(itemFactory, imageFactory) {
|
25
|
-
super(MockCompositeProduct, itemFactory, imageFactory);
|
26
|
-
}
|
27
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductFactory, deps: [{ token: i1.DaffCompositeProductItemFactory }, { token: i2.DaffProductImageFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
28
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductFactory, providedIn: 'root' }); }
|
29
|
-
}
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductFactory, decorators: [{
|
31
|
-
type: Injectable,
|
32
|
-
args: [{
|
33
|
-
providedIn: 'root',
|
34
|
-
}]
|
35
|
-
}], ctorParameters: () => [{ type: i1.DaffCompositeProductItemFactory }, { type: i2.DaffProductImageFactory }] });
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZmFjdG9yaWVzL2NvbXBvc2l0ZS1wcm9kdWN0LmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsR0FDWixNQUFNLDJCQUEyQixDQUFDO0FBR25DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBRW5GOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFJbkQsWUFDWSxXQUE0QyxFQUN0RCxZQUFxQztRQUVyQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFIVixnQkFBVyxHQUFYLFdBQVcsQ0FBaUM7UUFKeEQsU0FBSSxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFPdkMsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZ0JBQXNDO0lBQ3JGLFlBQ0UsV0FBNEMsRUFDNUMsWUFBcUM7UUFFckMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO2lJQU5VLDJCQUEyQjtxSUFBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzJGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmYWtlciB9IGZyb20gJ0BmYWtlci1qcy9mYWtlci9sb2NhbGUvZW5fVVMnO1xuXG5pbXBvcnQgeyBEYWZmTW9kZWxGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBEYWZmUHJvZHVjdFR5cGVFbnVtIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QnO1xuaW1wb3J0IHtcbiAgRGFmZlByb2R1Y3RJbWFnZUZhY3RvcnksXG4gIE1vY2tQcm9kdWN0LFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC90ZXN0aW5nJztcbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtRmFjdG9yeSB9IGZyb20gJy4vY29tcG9zaXRlLXByb2R1Y3QtaXRlbS5mYWN0b3J5JztcblxuLyoqXG4gKiBNb2NrZWQgRGFmZkNvbXBvc2l0ZVByb2R1Y3Qgb2JqZWN0LlxuICovXG5leHBvcnQgY2xhc3MgTW9ja0NvbXBvc2l0ZVByb2R1Y3QgZXh0ZW5kcyBNb2NrUHJvZHVjdCBpbXBsZW1lbnRzIERhZmZDb21wb3NpdGVQcm9kdWN0IHtcbiAgdHlwZSA9IERhZmZQcm9kdWN0VHlwZUVudW0uQ29tcG9zaXRlO1xuICBpdGVtcyA9IHRoaXMuaXRlbUZhY3RvcnkuY3JlYXRlTWFueSgyKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaXRlbUZhY3Rvcnk6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUZhY3RvcnksXG4gICAgaW1hZ2VGYWN0b3J5OiBEYWZmUHJvZHVjdEltYWdlRmFjdG9yeSxcbiAgKSB7XG4gICAgc3VwZXIoaW1hZ2VGYWN0b3J5KTtcbiAgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgZm9yIGNyZWF0aW5nIERhZmZDb21wb3NpdGVQcm9kdWN0cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0RmFjdG9yeSBleHRlbmRzIERhZmZNb2RlbEZhY3Rvcnk8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+e1xuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtRmFjdG9yeTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtRmFjdG9yeSxcbiAgICBpbWFnZUZhY3Rvcnk6IERhZmZQcm9kdWN0SW1hZ2VGYWN0b3J5LFxuICApIHtcbiAgICBzdXBlcihNb2NrQ29tcG9zaXRlUHJvZHVjdCwgaXRlbUZhY3RvcnksIGltYWdlRmFjdG9yeSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,4 +0,0 @@
|
|
1
|
-
export * from './composite-product.factory';
|
2
|
-
export * from './composite-product-item.factory';
|
3
|
-
export * from './composite-product-item-option.factory';
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZmFjdG9yaWVzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvc2l0ZS1wcm9kdWN0LmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb3NpdGUtcHJvZHVjdC1pdGVtLmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb3NpdGUtcHJvZHVjdC1pdGVtLW9wdGlvbi5mYWN0b3J5JztcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './public_api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL3Rlc3Rpbmcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './factories/public_api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mYWN0b3JpZXMvcHVibGljX2FwaSc7XG4iXX0=
|