@vita-mojo/amounts 0.0.44 → 0.0.45
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/package.json +1 -1
- package/src/discounts/distributeDiscount.js +7 -7
- package/src/discounts/distributeDiscount.js.map +1 -1
- package/src/discounts/distributeDiscountAmount.js +1 -1
- package/src/discounts/distributeDiscountAmount.js.map +1 -1
- package/src/discounts/distributeDiscounts/bundle.util.d.ts +1 -0
- package/src/discounts/distributeDiscounts/bundle.util.js +15 -12
- package/src/discounts/distributeDiscounts/bundle.util.js.map +1 -1
- package/src/discounts/distributeDiscounts/distributeDiscounts.js +6 -5
- package/src/discounts/distributeDiscounts/distributeDiscounts.js.map +1 -1
- package/src/discounts/distributeDiscounts/mealDeal.util.js +2 -2
- package/src/discounts/distributeDiscounts/mealDeal.util.js.map +1 -1
- package/src/discounts/distributeDiscounts/types/product.d.ts +21 -0
- package/src/discounts/index.d.ts +1 -0
- package/src/discounts/index.js +3 -0
- package/src/discounts/index.js.map +1 -1
- package/src/discounts/itemPromotionValue.d.ts +1 -1
- package/src/discounts/itemPromotionValue.js +6 -6
- package/src/discounts/itemPromotionValue.js.map +1 -1
- package/src/discounts/mealDeal.d.ts +1 -0
- package/src/discounts/mealDeal.js +5 -4
- package/src/discounts/mealDeal.js.map +1 -1
- package/src/discounts/util.d.ts +2 -0
- package/src/discounts/util.js +35 -1
- package/src/discounts/util.js.map +1 -1
package/package.json
CHANGED
|
@@ -40,26 +40,26 @@ function distributeDiscount(basketBundles, promotion) {
|
|
|
40
40
|
const discountedBundlesWithMealDeal = groupMealDeals
|
|
41
41
|
? mealDeal_1.MealDeal.discountedBundles(bundlesWithSort)
|
|
42
42
|
: [];
|
|
43
|
-
const eligibleBundlesPrice = util_1.Bundle.priceTotal(discountedBundles);
|
|
44
|
-
const eligibleMealDealsPrice = util_1.Bundle.priceTotal(discountedBundlesWithMealDeal);
|
|
45
|
-
const priceOfAllDiscountedItems = (0, util_1.currency)(0)
|
|
46
|
-
.add(eligibleBundlesPrice)
|
|
47
|
-
.add(eligibleMealDealsPrice).value;
|
|
48
43
|
const isBundleLevel = !util_1.PromotionService.isOrderLevel(promo);
|
|
49
44
|
if (isBundleLevel && util_1.PromotionService.isFixed(promo)) {
|
|
50
45
|
const mealDealBundlesDiscount = mealDeal_1.MealDeal.discountedTotal(discountedMealDealMap, promo);
|
|
51
46
|
const result = [
|
|
52
|
-
...discountedBundles.map((bundle) => (Object.assign(Object.assign({}, bundle), { discount: (0, getBundlePromoValue_1.getBundlePromoValue)(bundle
|
|
47
|
+
...discountedBundles.map((bundle) => (Object.assign(Object.assign({}, bundle), { discount: (0, getBundlePromoValue_1.getBundlePromoValue)(util_1.Bundle.bundlePriceEligibleForDiscount(bundle), promo) }))),
|
|
53
48
|
...mealDeal_1.MealDeal.distributeDiscount(discountedMealDealMap, mealDealBundlesDiscount, promo),
|
|
54
49
|
];
|
|
55
50
|
return util_1.Bundle.mergeAndSort(result, bundlesWithSort);
|
|
56
51
|
}
|
|
52
|
+
const eligibleBundlesPrice = util_1.Bundle.priceTotalEligibleForDiscount(discountedBundles);
|
|
53
|
+
const eligibleMealDealsPrice = util_1.Bundle.priceTotalEligibleForDiscount(discountedBundlesWithMealDeal);
|
|
54
|
+
const priceOfAllDiscountedItems = (0, util_1.currency)(0)
|
|
55
|
+
.add(eligibleBundlesPrice)
|
|
56
|
+
.add(eligibleMealDealsPrice).value;
|
|
57
57
|
const totalBasketPromo = isBundleLevel
|
|
58
58
|
? Object.assign(Object.assign({}, promo), { value: (0, getBundlePromoValue_1.getBundlePromoValue)(priceOfAllDiscountedItems, promo), type: 'fixed' }) : promo;
|
|
59
59
|
const totalAmountToDiscount = (0, getBundlePromoValue_1.getBundlePromoValue)(priceOfAllDiscountedItems, totalBasketPromo);
|
|
60
60
|
const proportionalBundlesDiscount = !util_1.PromotionService.isFixed(promo)
|
|
61
61
|
? util_1.MathUtil.proportion(totalAmountToDiscount, priceOfAllDiscountedItems, eligibleBundlesPrice)
|
|
62
|
-
:
|
|
62
|
+
: totalAmountToDiscount;
|
|
63
63
|
const proportionalDealBundlesDiscount = proportionalBundlesDiscount > 0
|
|
64
64
|
? Math.max((0, util_1.currency)(totalAmountToDiscount).subtract(proportionalBundlesDiscount)
|
|
65
65
|
.value, 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributeDiscount.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/distributeDiscount.ts"],"names":[],"mappings":";;;;AAAA,yEAAyC;AACzC,6DAA6B;AAE7B,2CAAuD;AACvD,yEAAsE;AACtE,+DAAiF;AACjF,yCAAsC;AACtC,iCAKgB;AAEhB;;;;GAIG;AACH,iEAAiE;AACjE,4DAA4D;AAC5D,wEAAwE;AACxE,4EAA4E;AAC5E,SAAgB,kBAAkB,CAAC,aAAkB,EAAE,SAAe;IACpE,gEAAgE;IAChE,mEAAmE;IACnE,oCAAoC;IACpC,MAAM,KAAK,GACT,SAAS;QACT,IAAA,mBAAS,EAAC,IAAA,aAAG,EAAC,aAAa,CAAC,IAAI,CAAC,aAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC;IAEjC,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE,CAAC,iCACrE,MAAM,KACT,CAAC,oBAAQ,CAAC,EAAE,KAAK,IACjB,CAAC,CAAC;IACJ,MAAM,cAAc,GAAG;QACrB,0BAAc,CAAC,YAAY;QAC3B,0BAAc,CAAC,kBAAkB;QACjC,0BAAc,CAAC,mBAAmB;KACnC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE5B,MAAM,qBAAqB,GAAG,mBAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACtE,MAAM,2BAA2B,GAAG,CAAC,MAAW,EAAE,EAAE,CAClD,aAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,cAAc;QACtC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACrD,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,aAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"distributeDiscount.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/distributeDiscount.ts"],"names":[],"mappings":";;;;AAAA,yEAAyC;AACzC,6DAA6B;AAE7B,2CAAuD;AACvD,yEAAsE;AACtE,+DAAiF;AACjF,yCAAsC;AACtC,iCAKgB;AAEhB;;;;GAIG;AACH,iEAAiE;AACjE,4DAA4D;AAC5D,wEAAwE;AACxE,4EAA4E;AAC5E,SAAgB,kBAAkB,CAAC,aAAkB,EAAE,SAAe;IACpE,gEAAgE;IAChE,mEAAmE;IACnE,oCAAoC;IACpC,MAAM,KAAK,GACT,SAAS;QACT,IAAA,mBAAS,EAAC,IAAA,aAAG,EAAC,aAAa,CAAC,IAAI,CAAC,aAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,KAAK;QAAE,OAAO,aAAa,CAAC;IAEjC,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE,CAAC,iCACrE,MAAM,KACT,CAAC,oBAAQ,CAAC,EAAE,KAAK,IACjB,CAAC,CAAC;IACJ,MAAM,cAAc,GAAG;QACrB,0BAAc,CAAC,YAAY;QAC3B,0BAAc,CAAC,kBAAkB;QACjC,0BAAc,CAAC,mBAAmB;KACnC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE5B,MAAM,qBAAqB,GAAG,mBAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACtE,MAAM,2BAA2B,GAAG,CAAC,MAAW,EAAE,EAAE,CAClD,aAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,cAAc;QACtC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACrD,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,aAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAErE,MAAM,6BAA6B,GAAG,cAAc;QAClD,CAAC,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,CAAC,uBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAErD,IAAI,aAAa,IAAI,uBAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,uBAAuB,GAAG,mBAAQ,CAAC,eAAe,CACtD,qBAAqB,EACrB,KAAK,CACN,CAAC;QACF,MAAM,MAAM,GAAG;YACb,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,iCACrC,MAAM,KACT,QAAQ,EAAE,IAAA,yCAAiB,EAAC,aAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IACjF,CAAC;YACH,GAAG,mBAAQ,CAAC,kBAAkB,CAC5B,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,CACN;SACF,CAAC;QAEF,OAAO,aAAM,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,oBAAoB,GAAG,aAAM,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;IACrF,MAAM,sBAAsB,GAAG,aAAM,CAAC,6BAA6B,CACjE,6BAA6B,CAC9B,CAAC;IAEF,MAAM,yBAAyB,GAAG,IAAA,eAAQ,EAAC,CAAC,CAAC;SAC1C,GAAG,CAAC,oBAAoB,CAAC;SACzB,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;IAErC,MAAM,gBAAgB,GAAG,aAAa;QACpC,CAAC,iCACM,KAAK,KACR,KAAK,EAAE,IAAA,yCAAiB,EAAC,yBAAyB,EAAE,KAAK,CAAC,EAC1D,IAAI,EAAE,OAAO,IAEjB,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,qBAAqB,GAAG,IAAA,yCAAiB,EAC7C,yBAAyB,EACzB,gBAAgB,CACjB,CAAC;IAEF,MAAM,2BAA2B,GAAG,CAAC,uBAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,CAAC,CAAC,eAAQ,CAAC,UAAU,CACjB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,CACrB;QACH,CAAC,CAAC,qBAAqB,CAAC;IAE1B,MAAM,+BAA+B,GACnC,2BAA2B,GAAG,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAA,eAAQ,EAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aAClE,KAAK,EACR,CAAC,CACF;QACH,CAAC,CAAC,eAAQ,CAAC,UAAU,CACjB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,CACvB,CAAC;IACR,mEAAmE;IAEnE,MAAM,aAAa,GAAG;QACpB,GAAG,IAAA,mDAAwB,EACzB,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,KAAK,CACN;QACD,GAAG,mBAAQ,CAAC,kBAAkB,CAC5B,qBAAqB,EACrB,+BAA+B,EAC/B,KAAK,CACN;KACF,CAAC;IAEF,OAAO,aAAM,CAAC,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAC7D,CAAC;AAhHD,gDAgHC"}
|
|
@@ -8,7 +8,7 @@ function distributeDiscountAmount(bundles, discountAmount, totalPrice, promo) {
|
|
|
8
8
|
if (discountAmount === 0 || totalPrice === 0)
|
|
9
9
|
return bundles;
|
|
10
10
|
const discountedBundles = bundles.map((bundle) => {
|
|
11
|
-
const preciseValue = (0, util_1.currency)(bundle
|
|
11
|
+
const preciseValue = (0, util_1.currency)(util_1.Bundle.bundlePriceEligibleForDiscount(bundle))
|
|
12
12
|
.multiply(discountAmount)
|
|
13
13
|
.divide(totalPrice).value;
|
|
14
14
|
const value = Math.min(util_1.MathUtil.floor(preciseValue, 2), bundle.finalPrice);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributeDiscountAmount.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/distributeDiscountAmount.ts"],"names":[],"mappings":";;;;AAAA,6DAA6B;AAG7B,
|
|
1
|
+
{"version":3,"file":"distributeDiscountAmount.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/distributeDiscountAmount.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ export declare const addPromotionToBundle: (bundle: Product, promo: MinimalPromo
|
|
|
32
32
|
promotions?: InputPromotion[] | undefined;
|
|
33
33
|
tags?: import("../types").Tag[] | undefined;
|
|
34
34
|
promotion?: import("../types").Promotion | undefined;
|
|
35
|
+
itemTypes?: import("..").ItemType[] | undefined;
|
|
35
36
|
};
|
|
36
37
|
export declare function distributeDiscountAmount(bundles: Product[], discountAmount: number, totalPrice: number, promo: InputPromotion, isApplyingMoreThanOnePromotion: boolean): Product[];
|
|
37
38
|
export declare const fixFullDiscountDistribution: (product: SortedProductWithDistributedDiscounts, promos: InputPromotion[]) => SortedProductWithDistributedDiscounts;
|
|
@@ -63,10 +63,11 @@ const getBundlePromoValue = (bundle, promotion) => {
|
|
|
63
63
|
return 0;
|
|
64
64
|
}
|
|
65
65
|
const promotionValue = +promotion.value;
|
|
66
|
-
const
|
|
66
|
+
const bundlePriceEligibleForDiscount = __1.Bundle.bundlePriceEligibleForDiscount(bundle);
|
|
67
|
+
const bundleRemainingPrice = (0, currency_js_1.default)(bundlePriceEligibleForDiscount).subtract(bundle.discount || 0).value;
|
|
67
68
|
if (promotion.type === __1.promoTypes.PERCENTAGE) {
|
|
68
69
|
const promotionFixedValue = (0, currency_js_1.default)(promotionValue)
|
|
69
|
-
.multiply(
|
|
70
|
+
.multiply(bundlePriceEligibleForDiscount)
|
|
70
71
|
.divide(100).value;
|
|
71
72
|
const promotionMaxAmount = (0, promoMaxAmount_1.promoMaxAmount)(promotion);
|
|
72
73
|
if (promotionMaxAmount > 0) {
|
|
@@ -77,7 +78,7 @@ const getBundlePromoValue = (bundle, promotion) => {
|
|
|
77
78
|
return Math.min(bundleRemainingPrice, promotionValue);
|
|
78
79
|
};
|
|
79
80
|
exports.getBundlePromoValue = getBundlePromoValue;
|
|
80
|
-
const getDiscountedBundlesPrice = (bundles) => bundles.reduce((price, bundle) => price.add(bundle
|
|
81
|
+
const getDiscountedBundlesPrice = (bundles) => bundles.reduce((price, bundle) => price.add(__1.Bundle.bundlePriceEligibleForDiscount(bundle)).subtract(bundle.discount || 0), (0, currency_js_1.default)(0));
|
|
81
82
|
exports.getDiscountedBundlesPrice = getDiscountedBundlesPrice;
|
|
82
83
|
const addPromotionToBundle = (bundle, promo) => {
|
|
83
84
|
var _a;
|
|
@@ -94,13 +95,14 @@ const addPromotionToBundle = (bundle, promo) => {
|
|
|
94
95
|
};
|
|
95
96
|
exports.addPromotionToBundle = addPromotionToBundle;
|
|
96
97
|
function calculatePromotionFixedValue(bundle, discountAmount, totalPrice, totalPriceAfterDiscount, isApplyingMoreThanOnePromotion) {
|
|
98
|
+
const bundlePriceEligibleForDiscount = __1.Bundle.bundlePriceEligibleForDiscount(bundle);
|
|
97
99
|
if (isApplyingMoreThanOnePromotion) {
|
|
98
|
-
const preciseValue = (0, currency_js_1.default)(
|
|
100
|
+
const preciseValue = (0, currency_js_1.default)(bundlePriceEligibleForDiscount)
|
|
99
101
|
.multiply(discountAmount)
|
|
100
102
|
.divide(totalPrice).value;
|
|
101
|
-
return Math.min(__1.MathUtil.floor(preciseValue, 2),
|
|
103
|
+
return Math.min(__1.MathUtil.floor(preciseValue, 2), bundlePriceEligibleForDiscount);
|
|
102
104
|
}
|
|
103
|
-
const discountedPrice = (0, currency_js_1.default)(
|
|
105
|
+
const discountedPrice = (0, currency_js_1.default)(bundlePriceEligibleForDiscount).subtract((bundle === null || bundle === void 0 ? void 0 : bundle.discount) || 0).value;
|
|
104
106
|
const preciseValue = (0, currency_js_1.default)(discountedPrice)
|
|
105
107
|
.multiply(discountAmount)
|
|
106
108
|
.divide(totalPriceAfterDiscount).value;
|
|
@@ -136,7 +138,7 @@ function distributeDiscountAmount(bundles, discountAmount, totalPrice, promo, is
|
|
|
136
138
|
// @ts-expect-error
|
|
137
139
|
bundle.promotions = [...(bundle.promotions || []), updatedPromotion];
|
|
138
140
|
}
|
|
139
|
-
bundle.discount = Math.min((0, currency_js_1.default)(bundle.discount || 0).add(value).value, bundle
|
|
141
|
+
bundle.discount = Math.min((0, currency_js_1.default)(bundle.discount || 0).add(value).value, __1.Bundle.bundlePriceEligibleForDiscount(bundle));
|
|
140
142
|
return bundle;
|
|
141
143
|
});
|
|
142
144
|
const totalDiscounted = discountedBundles.reduce((total, { promotions }) => {
|
|
@@ -149,7 +151,7 @@ function distributeDiscountAmount(bundles, discountAmount, totalPrice, promo, is
|
|
|
149
151
|
discountedBundles
|
|
150
152
|
.slice()
|
|
151
153
|
.map((item, index) => (Object.assign(Object.assign({}, item), { index })))
|
|
152
|
-
.sort((bundleA, bundleB) => bundleB
|
|
154
|
+
.sort((bundleA, bundleB) => __1.Bundle.bundlePriceEligibleForDiscount(bundleB) - __1.Bundle.bundlePriceEligibleForDiscount(bundleA))
|
|
153
155
|
.forEach((bundle) => {
|
|
154
156
|
var _a, _b;
|
|
155
157
|
if (amountToAdjust !== 0) {
|
|
@@ -157,7 +159,7 @@ function distributeDiscountAmount(bundles, discountAmount, totalPrice, promo, is
|
|
|
157
159
|
const promotion = (_a = bundle.promotions) === null || _a === void 0 ? void 0 : _a.find(findPromotion(promo));
|
|
158
160
|
const adjustedPromoValue = (0, currency_js_1.default)((promotion === null || promotion === void 0 ? void 0 : promotion.value) || 0)[adjustFn](0.01).value;
|
|
159
161
|
const originalBundleDiscount = (0, currency_js_1.default)(bundle.discount || 0).subtract((promotion === null || promotion === void 0 ? void 0 : promotion.value) || 0).value;
|
|
160
|
-
const discountedPrice = (0, currency_js_1.default)(bundle
|
|
162
|
+
const discountedPrice = (0, currency_js_1.default)(__1.Bundle.bundlePriceEligibleForDiscount(bundle)).subtract(originalBundleDiscount).value;
|
|
161
163
|
const adjustedPrice = Math.min((0, currency_js_1.default)(discountedPrice).subtract(adjustedPromoValue).value, discountedPrice);
|
|
162
164
|
if (adjustedPrice >= 0 && adjustedPrice <= discountedPrice) {
|
|
163
165
|
const promotionIndex = (bundle.promotions || []).findIndex(findPromotion(promo));
|
|
@@ -189,12 +191,13 @@ const fixFullDiscountDistribution = (product, promos) => {
|
|
|
189
191
|
? total.add(basePromotion.value)
|
|
190
192
|
: total;
|
|
191
193
|
}, (0, currency_js_1.default)(0)).value;
|
|
194
|
+
const productPriceEligibleForDiscount = __1.Bundle.bundlePriceEligibleForDiscount(product);
|
|
192
195
|
if (totalPercentageDiscount < 100 ||
|
|
193
|
-
product.discount ===
|
|
196
|
+
product.discount === productPriceEligibleForDiscount) {
|
|
194
197
|
return product;
|
|
195
198
|
}
|
|
196
|
-
const discountDifference = (0, currency_js_1.default)(
|
|
197
|
-
product.discount =
|
|
199
|
+
const discountDifference = (0, currency_js_1.default)(productPriceEligibleForDiscount).subtract(product.discount || 0).value;
|
|
200
|
+
product.discount = productPriceEligibleForDiscount;
|
|
198
201
|
product.promotions[0].value = (0, currency_js_1.default)(product.promotions[0].value).add(discountDifference).value;
|
|
199
202
|
return product;
|
|
200
203
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.util.js","sourceRoot":"","sources":["../../../../../../packages/amounts/src/discounts/distributeDiscounts/bundle.util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundle.util.js","sourceRoot":"","sources":["../../../../../../packages/amounts/src/discounts/distributeDiscounts/bundle.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,11 +66,12 @@ const setSurplusDiscountsValues = (product) => {
|
|
|
66
66
|
let cumulativeTotalDiscount = (0, util_1.currency)(0);
|
|
67
67
|
const sortedBundlePromotions = (0, sortPromotions_1.sortPromotions)(product.promotions);
|
|
68
68
|
product.promotions = sortedBundlePromotions.map((promotion) => {
|
|
69
|
-
|
|
69
|
+
const productPriceEligibleForDiscount = util_1.Bundle.bundlePriceEligibleForDiscount(product);
|
|
70
|
+
if (cumulativeTotalDiscount.value >= productPriceEligibleForDiscount) {
|
|
70
71
|
return Object.assign(Object.assign({}, promotion), { value: (0, util_1.currency)(0).value });
|
|
71
72
|
}
|
|
72
|
-
if (cumulativeTotalDiscount.add(promotion.value).value >=
|
|
73
|
-
const discountValue = (0, util_1.currency)(
|
|
73
|
+
if (cumulativeTotalDiscount.add(promotion.value).value >= productPriceEligibleForDiscount) {
|
|
74
|
+
const discountValue = (0, util_1.currency)(productPriceEligibleForDiscount).subtract(cumulativeTotalDiscount);
|
|
74
75
|
cumulativeTotalDiscount = cumulativeTotalDiscount.add(discountValue);
|
|
75
76
|
return Object.assign(Object.assign({}, promotion), { value: discountValue.value });
|
|
76
77
|
}
|
|
@@ -92,8 +93,8 @@ function sortProductsByFixedAndBundlePromotion(relatedBundles, promo, unrelatedB
|
|
|
92
93
|
return (0, bundle_util_1.mergeAndSort)(result, [...relatedBundles, ...unrelatedBundles]);
|
|
93
94
|
}
|
|
94
95
|
function calculateAndApplyDiscounts(discountableBundles, discountedBundlesWithMealDealPromotions, promo, discountedMealDealsMap, isApplyingMoreThanOnePromotion) {
|
|
95
|
-
const eligibleBundlesPrice = util_1.Bundle.
|
|
96
|
-
const eligibleBundlesWithMealDealsPrice = util_1.Bundle.
|
|
96
|
+
const eligibleBundlesPrice = util_1.Bundle.priceTotalEligibleForDiscount(discountableBundles);
|
|
97
|
+
const eligibleBundlesWithMealDealsPrice = util_1.Bundle.priceTotalEligibleForDiscount(discountedBundlesWithMealDealPromotions);
|
|
97
98
|
const priceOfAllDiscountedItems = (0, util_1.currency)(eligibleBundlesPrice).add(eligibleBundlesWithMealDealsPrice).value;
|
|
98
99
|
const totalBasketPromo = Object.assign(Object.assign({}, promo), { value: (0, getBundlePromoValue_1.getBundlePromoValue)(priceOfAllDiscountedItems, promo), type: 'fixed' });
|
|
99
100
|
const totalAmountToDiscount = (0, getBundlePromoValue_1.getBundlePromoValue)(priceOfAllDiscountedItems, totalBasketPromo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distributeDiscounts.js","sourceRoot":"","sources":["../../../../../../packages/amounts/src/discounts/distributeDiscounts/distributeDiscounts.ts"],"names":[],"mappings":";;;;AAAA,+DAA+B;AAE/B,4CAAwC;AACxC,gEAAkF;AAClF,0CAAuC;AACvC,yEAAsE;AAEtE,kCAKiB;AACjB,+CASuB;AACvB,mDAGyB;AAGzB,SAAgB,mBAAmB,CACjC,OAAkB,EAClB,UAA6B;IAE7B,MAAM,MAAM,GAAqB,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM;QACjD,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,IAAA,sCAAwB,EAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,MAAe,EAAE,EAAE,CAClB,CAAC,gCACI,MAAM,KACT,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,EAAE,GACO,CAAA,CAC1B,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GACnB,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,8BAA8B,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAErE,MAAM,cAAc,GAA4C,MAAM,CAAC,MAAM,CAC3E,CACE,aAAsD,EACtD,KAAqB,EACoB,EAAE;QAC3C,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,IAAA,qCAAuB,EAClE,aAAa,EACb,KAAK,CAAC,IAAI,CACX,CAAC;QAEF,IAAI,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,qCAAqC,CAC1C,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,8BAA8B,CAC/B,CAAC;QACJ,CAAC;QAED,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,sBAAsB,GAC1B,IAAA,2DAA2C,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACrE,MAAM,mBAAmB,GACvB,cAAc,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,mCAAqB,EAAC,MAAM,EAAE,KAAK,CAAC,CAClD,CAAC;YACJ,MAAM,uCAAuC,GAC3C,cAAc,CAAC,MAAM,CAAC,CAAC,MAAe,EAAE,EAAE,CACxC,IAAA,mCAAqB,EAAC,MAAM,EAAE,KAAK,CAAC,CACrC,CAAC;YACJ,MAAM,aAAa,GACjB,0BAA0B,CACxB,mBAAmB,EACnB,uCAAuC,EACvC,KAAK,EACL,sBAAsB,EACtB,8BAA8B,CAC/B,CAAC;YAEJ,6DAA6D;YAC7D,mBAAmB;YACnB,OAAO,IAAA,0BAAY,EAAC,aAAa,EAAE;gBACjC,GAAG,cAAc;gBACjB,GAAG,gBAAgB;aACpB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,sBAAsB,GAC1B,IAAA,2DAA2C,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,mBAAmB,GACvB,cAAc,CAAC;QACjB,MAAM,uCAAuC,GAC3C,EAAE,CAAC;QACL,MAAM,aAAa,GAAc,0BAA0B,CACzD,mBAAmB,EACnB,uCAAuC,EACvC,KAAK,EACL,sBAAsB,EACtB,8BAA8B,CAC/B,CAAC;QAEF,6DAA6D;QAC7D,mBAAmB;QACnB,OAAO,IAAA,0BAAY,EAAC,aAAa,EAAE;YACjC,GAAG,cAAc;YACjB,GAAG,gBAAgB;SACpB,CAAC,CAAC;IACL,CAAC,EACD,eAAe,CAChB,CAAC;IAEF,OAAO,cAAc,CAAC,GAAG,CACvB,CAAC,aAAoD,EAAE,EAAE;QACvD,MAAM,cAAc,GAAG,8BAA8B;YACnD,CAAC,CAAC,yBAAyB,CAAC,aAAa,CAAC;YAC1C,CAAC,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"distributeDiscounts.js","sourceRoot":"","sources":["../../../../../../packages/amounts/src/discounts/distributeDiscounts/distributeDiscounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ const mapProductsWithDiscountedMealDealFromBasket = (bundles, promo, includeOnly
|
|
|
18
18
|
exports.mapProductsWithDiscountedMealDealFromBasket = mapProductsWithDiscountedMealDealFromBasket;
|
|
19
19
|
const distributeDiscount = (mealDealMap, discountAmount, promotion, isApplyingMoreThanOnePromotion) => {
|
|
20
20
|
let resultedBundles = [];
|
|
21
|
-
const dealsTotalPrice = mealDeal_1.MealDeal.
|
|
21
|
+
const dealsTotalPrice = mealDeal_1.MealDeal.priceEligibleForDiscount(mealDealMap);
|
|
22
22
|
const discountAmounts = [];
|
|
23
23
|
const dealsBundles = Object.values(mealDealMap);
|
|
24
24
|
for (const dealBundles of dealsBundles) {
|
|
@@ -36,7 +36,7 @@ const distributeDiscount = (mealDealMap, discountAmount, promotion, isApplyingMo
|
|
|
36
36
|
}
|
|
37
37
|
for (const index in dealsBundles) {
|
|
38
38
|
const dealBundles = dealsBundles[index];
|
|
39
|
-
const dealFinalPrice = util_1.Bundle.
|
|
39
|
+
const dealFinalPrice = util_1.Bundle.priceTotalEligibleForDiscount(dealBundles);
|
|
40
40
|
const discountedBundles = (0, bundle_util_1.distributeDiscountAmount)(dealBundles, discountAmounts[index], dealFinalPrice, promotion, isApplyingMoreThanOnePromotion);
|
|
41
41
|
resultedBundles = resultedBundles.concat(discountedBundles);
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mealDeal.util.js","sourceRoot":"","sources":["../../../../../../packages/amounts/src/discounts/distributeDiscounts/mealDeal.util.ts"],"names":[],"mappings":";;;;AAAA,sEAAmC;AACnC,qEAAqC;AACrC,qEAAqC;AAErC,0CAAuC;AAGvC,kCAAiC;AACjC,+CAGuB;AAGhB,MAAM,2CAA2C,GAAG,CACzD,OAAkB,EAClB,KAA0B,EAC1B,qBAAqB,GAAG,IAAI,EACE,EAAE;IAChC,MAAM,YAAY,GAAG,CAAC,MAAe,EAAE,EAAE,eACvC,OAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,UAAU,0CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;IAEnE,MAAM,6BAA6B,GAAG,qBAAqB;QACzD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC9B,CAAC,CAAC,OAAO,CAAC;IAEZ,OAAO,IAAA,iBAAO,EAAC,6BAA6B,EAAE,iBAAiB,CAAC,CAAC;AACnE,CAAC,CAAC;AAbW,QAAA,2CAA2C,+CAatD;AAEK,MAAM,kBAAkB,GAAG,CAChC,WAA0C,EAC1C,cAAsB,EACtB,SAAyB,EACzB,8BAAuC,EAC5B,EAAE;IACb,IAAI,eAAe,GAAc,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,mBAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"mealDeal.util.js","sourceRoot":"","sources":["../../../../../../packages/amounts/src/discounts/distributeDiscounts/mealDeal.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,26 @@ export interface ProductWithoutDiscount {
|
|
|
16
16
|
price?: number;
|
|
17
17
|
tags?: Tag[];
|
|
18
18
|
}
|
|
19
|
+
export interface FeeInfo {
|
|
20
|
+
type?: string;
|
|
21
|
+
includeInBasePrice?: boolean;
|
|
22
|
+
excludeFromDiscounts?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface Item {
|
|
25
|
+
discount?: number;
|
|
26
|
+
finalPrice: number;
|
|
27
|
+
itemUUID: string;
|
|
28
|
+
name: string;
|
|
29
|
+
type: string;
|
|
30
|
+
customizations: any;
|
|
31
|
+
uuid: string;
|
|
32
|
+
isFee?: boolean;
|
|
33
|
+
feeInfo?: FeeInfo;
|
|
34
|
+
}
|
|
35
|
+
export interface ItemType {
|
|
36
|
+
uuid: string;
|
|
37
|
+
items: Item[];
|
|
38
|
+
}
|
|
19
39
|
export interface Product {
|
|
20
40
|
uuid: string;
|
|
21
41
|
basketUUID: string;
|
|
@@ -31,6 +51,7 @@ export interface Product {
|
|
|
31
51
|
promotions?: InputPromotion[];
|
|
32
52
|
tags?: Tag[];
|
|
33
53
|
promotion?: Promotion;
|
|
54
|
+
itemTypes?: ItemType[];
|
|
34
55
|
}
|
|
35
56
|
export interface DiscountedProduct {
|
|
36
57
|
uuid: string;
|
package/src/discounts/index.d.ts
CHANGED
package/src/discounts/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BundleUtils = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
tslib_1.__exportStar(require("./applyPromotion"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./constants"), exports);
|
|
@@ -17,4 +18,6 @@ tslib_1.__exportStar(require("./promoIsApplicable"), exports);
|
|
|
17
18
|
tslib_1.__exportStar(require("./promoValue"), exports);
|
|
18
19
|
tslib_1.__exportStar(require("./removeDiscountsFromProducts"), exports);
|
|
19
20
|
tslib_1.__exportStar(require("./util"), exports);
|
|
21
|
+
var util_1 = require("./util");
|
|
22
|
+
Object.defineProperty(exports, "BundleUtils", { enumerable: true, get: function () { return util_1.Bundle; } });
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/index.ts"],"names":[],"mappings":";;;;AAAA,2DAAiC;AACjC,sDAA4B;AAC5B,gEAAsC;AACtC,+DAAqC;AACrC,gEAAsC;AACtC,sEAA4C;AAC5C,gEAAsC;AACtC,8DAAoC;AACpC,+DAAqC;AACrC,yDAA+B;AAC/B,+DAAqC;AACrC,sFAA4D;AAC5D,8DAAoC;AACpC,uDAA6B;AAC7B,wEAA8C;AAC9C,iDAAuB;AACvB,+BAA+C;AAAtC,mGAAA,MAAM,OAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const itemPromotionValue: (itemPrice: number, bundleTotalPrice: number, promotion: any) => number;
|
|
1
|
+
export declare const itemPromotionValue: (itemPrice: number, bundleTotalPrice: number, promotion: any, excludeFromDiscounts?: boolean) => number;
|
|
@@ -4,13 +4,13 @@ exports.itemPromotionValue = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const currency_js_1 = tslib_1.__importDefault(require("currency.js"));
|
|
6
6
|
const getBundlePromoValue_1 = require("./getBundlePromoValue");
|
|
7
|
-
const itemPromotionValue = (itemPrice, bundleTotalPrice, promotion) => {
|
|
8
|
-
if (bundleTotalPrice) {
|
|
9
|
-
|
|
10
|
-
return (0, currency_js_1.default)(itemPrice).multiply(promoValue).divide(bundleTotalPrice)
|
|
11
|
-
.value;
|
|
7
|
+
const itemPromotionValue = (itemPrice, bundleTotalPrice, promotion, excludeFromDiscounts = false) => {
|
|
8
|
+
if (!bundleTotalPrice || excludeFromDiscounts) {
|
|
9
|
+
return 0;
|
|
12
10
|
}
|
|
13
|
-
|
|
11
|
+
const promoValue = (0, getBundlePromoValue_1.getBundlePromoValue)(bundleTotalPrice, promotion);
|
|
12
|
+
return (0, currency_js_1.default)(itemPrice).multiply(promoValue).divide(bundleTotalPrice)
|
|
13
|
+
.value;
|
|
14
14
|
};
|
|
15
15
|
exports.itemPromotionValue = itemPromotionValue;
|
|
16
16
|
//# sourceMappingURL=itemPromotionValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemPromotionValue.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/itemPromotionValue.ts"],"names":[],"mappings":";;;;AAAA,sEAAmC;AAEnC,+DAA4D;AAErD,MAAM,kBAAkB,GAAG,CAChC,SAAiB,EACjB,gBAAwB,EACxB,SAAc,EACd,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"itemPromotionValue.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/itemPromotionValue.ts"],"names":[],"mappings":";;;;AAAA,sEAAmC;AAEnC,+DAA4D;AAErD,MAAM,kBAAkB,GAAG,CAChC,SAAiB,EACjB,gBAAwB,EACxB,SAAc,EACd,oBAAoB,GAAG,KAAK,EAC5B,EAAE;IACF,IAAG,CAAC,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,yCAAmB,EAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAEpE,OAAO,IAAA,qBAAQ,EAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;SACrE,KAAK,CAAC;AACX,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B"}
|
|
@@ -3,6 +3,7 @@ export declare const MealDeal: {
|
|
|
3
3
|
discountedTotal: (mealDealMap: any, promotion: any) => number;
|
|
4
4
|
discountedBundles: (bundles: any) => any;
|
|
5
5
|
priceTotal: (mealDealMap: any) => any;
|
|
6
|
+
priceEligibleForDiscount: (mealDealMap: any) => any;
|
|
6
7
|
distributeDiscount: (mealDealMap: any, discountAmount: number, promo: any) => never[];
|
|
7
8
|
getMostExpensive: (basket: []) => {
|
|
8
9
|
basketUUID: string;
|
|
@@ -16,7 +16,7 @@ exports.MealDeal = {
|
|
|
16
16
|
discountedTotal: (mealDealMap, promotion) => {
|
|
17
17
|
let discountedTotal = (0, util_1.currency)(0);
|
|
18
18
|
(0, lodash_1.values)(mealDealMap).forEach((dealBundles) => {
|
|
19
|
-
const dealFinalPrice = util_1.Bundle.
|
|
19
|
+
const dealFinalPrice = util_1.Bundle.priceTotalEligibleForDiscount(dealBundles);
|
|
20
20
|
const discountedAmount = (0, getBundlePromoValue_1.getBundlePromoValue)(dealFinalPrice, promotion);
|
|
21
21
|
discountedTotal = discountedTotal.add(discountedAmount);
|
|
22
22
|
});
|
|
@@ -24,12 +24,13 @@ exports.MealDeal = {
|
|
|
24
24
|
},
|
|
25
25
|
discountedBundles: (bundles) => bundles.filter((bundle) => (0, lodash_1.get)(bundle, 'deal.promotion')),
|
|
26
26
|
priceTotal: (mealDealMap) => (0, lodash_1.values)(mealDealMap).reduce((total, dealBundles) => total.add(util_1.Bundle.priceTotal(dealBundles)), (0, util_1.currency)(0)),
|
|
27
|
+
priceEligibleForDiscount: (mealDealMap) => (0, lodash_1.values)(mealDealMap).reduce((total, dealBundles) => total.add(util_1.Bundle.priceTotalEligibleForDiscount(dealBundles)), (0, util_1.currency)(0)),
|
|
27
28
|
distributeDiscount: (mealDealMap, discountAmount, promo) => {
|
|
28
29
|
let resultedBundles = [];
|
|
29
|
-
const dealsTotalPrice = exports.MealDeal.
|
|
30
|
+
const dealsTotalPrice = exports.MealDeal.priceEligibleForDiscount(mealDealMap);
|
|
30
31
|
const discountAmounts = [];
|
|
31
32
|
(0, lodash_1.values)(mealDealMap).forEach((dealBundles) => {
|
|
32
|
-
const dealFinalPrice = util_1.Bundle.
|
|
33
|
+
const dealFinalPrice = util_1.Bundle.priceTotalEligibleForDiscount(dealBundles);
|
|
33
34
|
const discountedAmount = (0, util_1.currency)(discountAmount, { precision: 2 })
|
|
34
35
|
.divide(dealsTotalPrice)
|
|
35
36
|
.multiply(dealFinalPrice).value;
|
|
@@ -42,7 +43,7 @@ exports.MealDeal = {
|
|
|
42
43
|
discountAmounts[lastItem] = (0, util_1.currency)(discountAmounts[lastItem]).add(discountDiff).value;
|
|
43
44
|
}
|
|
44
45
|
(0, lodash_1.values)(mealDealMap).forEach((dealBundles, index) => {
|
|
45
|
-
const dealFinalPrice = util_1.Bundle.
|
|
46
|
+
const dealFinalPrice = util_1.Bundle.priceTotalEligibleForDiscount(dealBundles);
|
|
46
47
|
const discountedBundles = (0, distributeDiscountAmount_1.distributeDiscountAmount)(dealBundles, discountAmounts[index], dealFinalPrice, promo);
|
|
47
48
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
48
49
|
// @ts-expect-error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mealDeal.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/mealDeal.ts"],"names":[],"mappings":";;;AAAA,mCAAuD;AAEvD,yEAAsE;AACtE,+DAA4D;AAC5D,iCAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,CAAC,OAAY,EAAE,qBAAqB,GAAG,IAAI,EAAE,EAAE;QAC5D,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE,CACnC,IAAA,YAAG,EAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,6BAA6B,GAAG,qBAAqB;YACzD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC;QAEZ,OAAO,IAAA,gBAAO,EAAC,6BAA6B,EAAE,iBAAiB,CAAC,CAAC;IACnE,CAAC;IACD,eAAe,EAAE,CAAC,WAAgB,EAAE,SAAc,EAAE,EAAE;QACpD,IAAI,eAAe,GAAG,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;QAElC,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC1C,MAAM,cAAc,GAAG,aAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"mealDeal.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/mealDeal.ts"],"names":[],"mappings":";;;AAAA,mCAAuD;AAEvD,yEAAsE;AACtE,+DAA4D;AAC5D,iCAA0C;AAE7B,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,CAAC,OAAY,EAAE,qBAAqB,GAAG,IAAI,EAAE,EAAE;QAC5D,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE,CACnC,IAAA,YAAG,EAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,6BAA6B,GAAG,qBAAqB;YACzD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC;QAEZ,OAAO,IAAA,gBAAO,EAAC,6BAA6B,EAAE,iBAAiB,CAAC,CAAC;IACnE,CAAC;IACD,eAAe,EAAE,CAAC,WAAgB,EAAE,SAAc,EAAE,EAAE;QACpD,IAAI,eAAe,GAAG,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;QAElC,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC1C,MAAM,cAAc,GAAG,aAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,gBAAgB,GAAG,IAAA,yCAAmB,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAExE,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,iBAAiB,EAAE,CAAC,OAAY,EAAE,EAAE,CAClC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,IAAA,YAAG,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChE,UAAU,EAAE,CAAC,WAAgB,EAAE,EAAE,CAC/B,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,aAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EACjE,IAAA,eAAQ,EAAC,CAAC,CAAC,CACZ;IACH,wBAAwB,EAAE,CAAC,WAAgB,EAAE,EAAE,CAC7C,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,aAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,EACpF,IAAA,eAAQ,EAAC,CAAC,CAAC,CACZ;IACH,kBAAkB,EAAE,CAClB,WAAgB,EAChB,cAAsB,EACtB,KAAU,EACV,EAAE;QACF,IAAI,eAAe,GAAY,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,gBAAQ,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAEvE,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC1C,MAAM,cAAc,GAAG,aAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,gBAAgB,GAAG,IAAA,eAAQ,EAAC,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;iBAChE,MAAM,CAAC,eAAe,CAAC;iBACvB,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;YAElC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC5C,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAChC,IAAA,eAAQ,EAAC,CAAC,CAAC,CACZ,CAAC,KAAK,CAAC;QACR,MAAM,YAAY,GAChB,IAAA,eAAQ,EAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;QAE3D,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAE5C,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAA,eAAQ,EAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CACjE,YAAY,CACb,CAAC,KAAK,CAAC;QACV,CAAC;QAED,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;YACjD,MAAM,cAAc,GAAG,aAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,iBAAiB,GAAG,IAAA,mDAAwB,EAChD,WAAW,EACX,eAAe,CAAC,KAAK,CAAC,EACtB,cAAc,EACd,KAAK,CACN,CAAC;YAEF,6DAA6D;YAC7D,mBAAmB;YACnB,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,gBAAgB,EAAE,CAAC,MAAU,EAAE,EAAE;QAC/B,MAAM,WAAW,GAAG,gBAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACzD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,WAAW,CAC7C,CAAC;QAEF,OAAO,IAAA,gBAAO,EACZ,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACvC,UAAU;YACV,KAAK,EAAE,aAAM,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAClD,CAAC,CAAC,EACH,OAAO,CACR;aACE,OAAO,EAAE;aACT,KAAK,EAAE,CAAC;IACb,CAAC;IACD,iBAAiB,EAAE,CAAC,MAAU,EAAE,EAAE;QAChC,MAAM,WAAW,GAAG,gBAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACzD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,WAAW,CAC7C,CAAC;QAEF,OAAO,IAAA,gBAAO,EACZ,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACvC,UAAU;YACV,KAAK,EAAE,aAAM,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAClD,CAAC,CAAC,EACH,OAAO,EACP,KAAK,CACN,CAAC,KAAK,EAAE,CAAC;IACZ,CAAC;IACD,qCAAqC,CAAC,OAAY;;QAChD,IAAI,CAAC,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,cAAc,0CAAE,MAAM,CAAA,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CACjE,CAAC,QAAa,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CACxC,CAAC;QAEF,OAAO,wBAAwB,CAAC,IAAI,CAClC,CAAC,QAAa,EAAE,EAAE,WAAC,OAAA,QAAQ,CAAC,IAAI,MAAK,MAAA,OAAO,CAAC,IAAI,0CAAE,gBAAgB,CAAA,CAAA,EAAA,CACpE,CAAC;IACJ,CAAC;CACF,CAAC"}
|
package/src/discounts/util.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ import { InputPromotion } from './multiplePromotions/types';
|
|
|
3
3
|
export declare const currency: (value: number, options?: currencyjs.Options) => currencyjs;
|
|
4
4
|
export declare const Bundle: {
|
|
5
5
|
hasPromo: (bundle: any) => boolean;
|
|
6
|
+
bundlePriceEligibleForDiscount: (bundle: any) => number;
|
|
6
7
|
priceTotal: (bundles: any) => any;
|
|
8
|
+
priceTotalEligibleForDiscount: (bundles: any) => any;
|
|
7
9
|
discountTotal: (bundles: any, promotion: InputPromotion) => any;
|
|
8
10
|
hasDiscountedMealDeal: (bundle: any) => boolean;
|
|
9
11
|
mergeAndSort: (processedBundles: any, originalList: any) => Pick<{
|
package/src/discounts/util.js
CHANGED
|
@@ -13,10 +13,44 @@ const getBundlePromoValue_1 = require("./getBundlePromoValue");
|
|
|
13
13
|
const currencyOpts = { precision: 2 };
|
|
14
14
|
const currency = (value, options) => (0, currency_js_1.default)(value, options || currencyOpts);
|
|
15
15
|
exports.currency = currency;
|
|
16
|
+
const getPriceEligibleForDiscount = (bundle) => {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
const priceNonEligibleForDiscount = (_b = (_a = bundle.itemTypes) === null || _a === void 0 ? void 0 : _a.reduce((total, itemType) => {
|
|
19
|
+
var _a;
|
|
20
|
+
const itemTypeNonEligibleAmount = (_a = (itemType.items || [])) === null || _a === void 0 ? void 0 : _a.reduce((total, item) => {
|
|
21
|
+
var _a;
|
|
22
|
+
if (item.isFee && ((_a = item.feeInfo) === null || _a === void 0 ? void 0 : _a.excludeFromDiscounts)) {
|
|
23
|
+
return total.add(item.finalPrice);
|
|
24
|
+
}
|
|
25
|
+
return total;
|
|
26
|
+
}, (0, exports.currency)(0));
|
|
27
|
+
return total.add(itemTypeNonEligibleAmount.value);
|
|
28
|
+
}, (0, exports.currency)(0)).value) !== null && _b !== void 0 ? _b : 0;
|
|
29
|
+
return (0, exports.currency)(bundle.finalPrice).subtract(priceNonEligibleForDiscount).value;
|
|
30
|
+
};
|
|
16
31
|
exports.Bundle = {
|
|
17
32
|
hasPromo: (bundle) => (0, get_1.default)(bundle, 'promotion.value', 0) > 0,
|
|
33
|
+
bundlePriceEligibleForDiscount: (bundle) => getPriceEligibleForDiscount(bundle),
|
|
18
34
|
priceTotal: (bundles) => bundles.reduce((total, bundle) => total.add(bundle.finalPrice), (0, exports.currency)(0)).value,
|
|
19
|
-
|
|
35
|
+
priceTotalEligibleForDiscount: (bundles) => bundles === null || bundles === void 0 ? void 0 : bundles.reduce((total, bundle) => {
|
|
36
|
+
var _a;
|
|
37
|
+
const priceNonEligibleForDiscount = (_a = bundle.itemTypes) === null || _a === void 0 ? void 0 : _a.reduce((total, itemType) => {
|
|
38
|
+
var _a;
|
|
39
|
+
const itemTypeNonEligibleAmount = (_a = itemType === null || itemType === void 0 ? void 0 : itemType.items) === null || _a === void 0 ? void 0 : _a.reduce((total, item) => {
|
|
40
|
+
var _a;
|
|
41
|
+
if (item.isFee && ((_a = item.feeInfo) === null || _a === void 0 ? void 0 : _a.excludeFromDiscounts)) {
|
|
42
|
+
return total.add(item.finalPrice);
|
|
43
|
+
}
|
|
44
|
+
return total;
|
|
45
|
+
}, (0, exports.currency)(0));
|
|
46
|
+
return total.add(itemTypeNonEligibleAmount.value);
|
|
47
|
+
}, (0, exports.currency)(0));
|
|
48
|
+
const bundlePriceEligibleForDiscount = priceNonEligibleForDiscount
|
|
49
|
+
? (0, exports.currency)(bundle.finalPrice).subtract(priceNonEligibleForDiscount.value).value
|
|
50
|
+
: bundle.finalPrice;
|
|
51
|
+
return total.add(bundlePriceEligibleForDiscount);
|
|
52
|
+
}, (0, exports.currency)(0)).value,
|
|
53
|
+
discountTotal: (bundles, promotion) => bundles.reduce((total, bundle) => total.add((0, getBundlePromoValue_1.getBundlePromoValue)(getPriceEligibleForDiscount(bundle), promotion)), (0, exports.currency)(0)).value,
|
|
20
54
|
hasDiscountedMealDeal: (bundle) => !!(0, get_1.default)(bundle, 'deal.promotion', false),
|
|
21
55
|
mergeAndSort: (processedBundles, originalList) => (0, sortBy_1.default)((0, unionBy_1.default)(processedBundles, originalList, Constants.SORT_KEY), [
|
|
22
56
|
Constants.SORT_KEY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/util.ts"],"names":[],"mappings":";;;;AAAA,sEAAqC;AACrC,6DAA6B;AAC7B,+DAA+B;AAC/B,mEAAmC;AACnC,mEAAmC;AACnC,qEAAqC;AAErC,+DAAyC;AACzC,+DAA4D;AAG5D,MAAM,YAAY,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AAE/B,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,OAA4B,EAAE,EAAE,CACtE,IAAA,qBAAU,EAAC,KAAK,EAAE,OAAO,IAAI,YAAY,CAAC,CAAC;AADhC,QAAA,QAAQ,YACwB;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/util.ts"],"names":[],"mappings":"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"}
|