@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vita-mojo/amounts",
3
- "version": "0.0.44",
3
+ "version": "0.0.45",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "@vita-mojo/types": "*",
@@ -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.finalPrice, promo) }))),
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
- : promo.value;
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;IACrE,MAAM,6BAA6B,GAAG,cAAc;QAClD,CAAC,CAAC,mBAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,oBAAoB,GAAG,aAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAClE,MAAM,sBAAsB,GAAG,aAAM,CAAC,UAAU,CAC9C,6BAA6B,CAC9B,CAAC;IACF,MAAM,yBAAyB,GAAG,IAAA,eAAQ,EAAC,CAAC,CAAC;SAC1C,GAAG,CAAC,oBAAoB,CAAC;SACzB,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;IAErC,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,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IACrD,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,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;IACF,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,KAAK,CAAC,KAAK,CAAC;IAEhB,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;AA7GD,gDA6GC"}
1
+ {"version":3,"file":"distributeDiscount.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/distributeDiscount.ts"],"names":[],"mappings":"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"}
@@ -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.finalPrice)
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":"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"}
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 bundleRemainingPrice = (0, currency_js_1.default)(bundle.finalPrice).subtract(bundle.discount || 0).value;
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(bundle.finalPrice)
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.finalPrice).subtract(bundle.discount || 0), (0, currency_js_1.default)(0));
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)(bundle.finalPrice)
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), bundle.finalPrice);
103
+ return Math.min(__1.MathUtil.floor(preciseValue, 2), bundlePriceEligibleForDiscount);
102
104
  }
103
- const discountedPrice = (0, currency_js_1.default)(bundle.finalPrice).subtract((bundle === null || bundle === void 0 ? void 0 : bundle.discount) || 0).value;
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.finalPrice);
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.finalPrice - bundleA.finalPrice)
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.finalPrice).subtract(originalBundleDiscount).value;
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 === product.finalPrice) {
196
+ product.discount === productPriceEligibleForDiscount) {
194
197
  return product;
195
198
  }
196
- const discountDifference = (0, currency_js_1.default)(product.finalPrice).subtract(product.discount || 0).value;
197
- product.discount = product.finalPrice;
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":";;;;AAAA,sEAAmC;AACnC,mEAAmC;AACnC,qEAAqC;AAErC,0BAA8E;AAE9E,sDAAmD;AAiB5C,MAAM,wBAAwB,GAAG,CACtC,OAAkB,EACA,EAAE;IACpB,MAAM,aAAa,GAAkB,OAAO,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,MAAM,EAAiB,EAAE;;QAC7B,IAAI,MAAA,MAAM,CAAC,UAAU,0CAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACtC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,UAAU,0CAAE,MAAM,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC3C,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC,CAAC;AAvBW,QAAA,wBAAwB,4BAuBnC;AAEK,MAAM,uBAAuB,GAAG,CACrC,OAAgD,EAChD,aAAqB,EACK,EAAE;IAC5B,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;;QAC/C,MAAM,eAAe,GAAG;YACtB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;iBACzB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;iBAChC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC1B,GAAG,CAAC,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,UAAU,KAAI,EAAE,CAAC;iBAC/B,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;iBAChC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;SAC3B,CAAC;QAEF,OAAO,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;;QACjD,MAAM,eAAe,GAAG;YACtB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;iBACzB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;iBAChC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC1B,GAAG,CAAC,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,UAAU,KAAI,EAAE,CAAC;iBAC/B,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;iBAChC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;SAC3B,CAAC;QAEF,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC,CAAC;AA/BW,QAAA,uBAAuB,2BA+BlC;AAEK,MAAM,qBAAqB,GAAG,CACnC,MAAe,EACf,KAA0B,EACjB,EAAE;;IACX,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,UAAU,0CAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA,CAAC;AAC5E,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,mBAAmB,GAAG,CACjC,MAAe,EACf,SAA+B,EAC/B,EAAE;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;IAExC,MAAM,8BAA8B,GAAG,UAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAErF,MAAM,oBAAoB,GAAG,IAAA,qBAAQ,EAAC,8BAA8B,CAAC,CAAC,QAAQ,CAC5E,MAAM,CAAC,QAAQ,IAAI,CAAC,CACrB,CAAC,KAAK,CAAC;IAER,IAAI,SAAS,CAAC,IAAI,KAAK,cAAU,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,mBAAmB,GAAG,IAAA,qBAAQ,EAAC,cAAc,CAAC;aACjD,QAAQ,CAAC,8BAA8B,CAAC;aACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACrB,MAAM,kBAAkB,GAAG,IAAA,+BAAc,EAAC,SAAS,CAAC,CAAC;QAErD,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,GAAG,CACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,CACnB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACxD,CAAC,CAAC;AAlCW,QAAA,mBAAmB,uBAkC9B;AAEK,MAAM,yBAAyB,GAAG,CAAC,OAAkB,EAAE,EAAE,CAC9D,OAAO,CAAC,MAAM,CACZ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAChB,KAAK,CAAC,GAAG,CAAC,UAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EACzF,IAAA,qBAAQ,EAAC,CAAC,CAAC,CACZ,CAAC;AALS,QAAA,yBAAyB,6BAKlC;AAEG,MAAM,oBAAoB,GAAG,CAClC,MAAe,EACf,KAA0B,EAC1B,EAAE;;IACF,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,SAAS,CACxD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAClC,CAAC;IAEF,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,0CAAG,cAAc,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnD,6DAA6D;QAC7D,mBAAmB;QACnB,gBAAgB,CAAC,cAAc,CAAC,mCAC3B,IAAA,oBAAgB,EAAC,KAAK,CAAC,KAC1B,KAAK,GACN,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,gBAAgB,CAAC;IACvC,CAAC;IAED,uCACK,MAAM,KACT,QAAQ,EAAE,IAAA,qBAAQ,EAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,CAAC,CAAC,CAAC,GAAG,CAC3C,IAAA,2BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,CACnC,CAAC,KAAK,IACP;AACJ,CAAC,CAAC;AA3BW,QAAA,oBAAoB,wBA2B/B;AAEF,SAAS,4BAA4B,CACnC,MAAe,EACf,cAAsB,EACtB,UAAkB,EAClB,uBAA+B,EAC/B,8BAAuC;IAEvC,MAAM,8BAA8B,GAAG,UAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAErF,IAAI,8BAA8B,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,8BAA8B,CAAC;aAC1D,QAAQ,CAAC,cAAc,CAAC;aACxB,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;QAE5B,OAAO,IAAI,CAAC,GAAG,CAAC,YAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,qBAAQ,EAAC,8BAA8B,CAAC,CAAC,QAAQ,CACvE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,CAAC,CACtB,CAAC,KAAK,CAAC;IACR,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,eAAe,CAAC;SAC3C,QAAQ,CAAC,cAAc,CAAC;SACxB,MAAM,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC;IAEzC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,aAAa,GACjB,CAAC,KAAqB,EAAE,EAAE,CAC1B,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAkB,EAAE,EAAE,CAC9C,iBAAiB,IAAI,KAAK,CAAC,iBAAiB;IAC1C,CAAC,CAAC,iBAAiB,KAAK,KAAK,CAAC,iBAAiB;IAC/C,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;AAE5B,SAAgB,wBAAwB,CACtC,OAAkB,EAClB,cAAsB,EACtB,UAAkB,EAClB,KAAqB,EACrB,8BAAuC;IAEvC,MAAM,uBAAuB,GAAG,IAAA,iCAAyB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAEzE,IACE,cAAc,KAAK,CAAC;QACpB,UAAU,KAAK,CAAC;QAChB,uBAAuB,KAAK,CAAC,EAC7B,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;YAAC,OAAA,iCAC1B,MAAM,KACT,UAAU,EAAE,MAAA,MAAM,CAAC,UAAU,0CAAE,MAAM,CACnC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,KAAK,iBAAiB,CACzE,EACD,cAAc,EAAE,IAAI,IACpB,CAAA;SAAA,CAAC,CAAC;IACN,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;QAC/C,MAAM,KAAK,GAAG,4BAA4B,CACxC,MAAM,EACN,cAAc,EACd,UAAU,EACV,uBAAuB,EACvB,8BAA8B,CAC/B,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,SAAS,CACxD,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;QACF,MAAM,gBAAgB,mCACjB,IAAA,oBAAgB,EAAC,KAAK,CAAC,KAC1B,KAAK,EACL,SAAS,EAAE,CAAC,EACZ,IAAI,EAAE,OAAO,GACd,CAAC;QAEF,IAAI,MAAA,MAAM,CAAC,UAAU,0CAAG,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAEnD,6DAA6D;YAC7D,mBAAmB;YACnB,gBAAgB,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC;YACpD,MAAM,CAAC,UAAU,GAAG,gBAAgB,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,mBAAmB;YACnB,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CACxB,IAAA,qBAAQ,EAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAC/C,UAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAC9C,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACzE,MAAM,SAAS,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAEzD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;IAC1C,CAAC,EAAE,IAAA,qBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEtB,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;IAE9E,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,cAAc,GAAG,YAAY,CAAC;QAElC,iBAAiB;aACd,KAAK,EAAE;aACP,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,KAAK,IAAG,CAAC;aAC1C,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,UAAM,CAAC,8BAA8B,CAAC,OAAO,CAAC,GAAG,UAAM,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;aAC3H,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;YAClB,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;gBACzD,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,UAAU,0CAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChE,MAAM,kBAAkB,GAAG,IAAA,qBAAQ,EAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAClE,IAAI,CACL,CAAC,KAAK,CAAC;gBAER,MAAM,sBAAsB,GAAG,IAAA,qBAAQ,EACrC,MAAM,CAAC,QAAQ,IAAI,CAAC,CACrB,CAAC,QAAQ,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,MAAM,eAAe,GAAG,IAAA,qBAAQ,EAAC,UAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CACtF,sBAAsB,CACvB,CAAC,KAAK,CAAC;gBACR,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,IAAA,qBAAQ,EAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAC5D,eAAe,CAChB,CAAC;gBAEF,IAAI,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;oBAC3D,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,SAAS,CACxD,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;oBAEF,IAAI,MAAA,MAAM,CAAC,UAAU,0CAAG,cAAc,CAAC,EAAE,CAAC;wBACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBAEnD,6DAA6D;wBAC7D,mBAAmB;wBACnB,gBAAgB,CAAC,cAAc,CAAC,mCAC3B,IAAA,oBAAgB,EAAC,KAAK,CAAC,KAC1B,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,CAAC,EACZ,IAAI,EAAE,OAAO,GACd,CAAC;wBACF,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC;oBAChE,CAAC;oBAED,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAA,qBAAQ,EACjD,sBAAsB,CACvB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;oBAEhC,cAAc,GAAG,IAAA,qBAAQ,EAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AA9HD,4DA8HC;AAEM,MAAM,2BAA2B,GAAG,CACzC,OAA8C,EAC9C,MAAwB,EACe,EAAE;;IACzC,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,MAAM,CAAA,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CACvD,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACnB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CACzC,CAAC;QAEF,OAAO,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,MAAK,cAAU,CAAC,UAAU;YAClD,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAA;YACzB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EACD,IAAA,qBAAQ,EAAC,CAAC,CAAC,CACZ,CAAC,KAAK,CAAC;IAER,MAAM,+BAA+B,GAAG,UAAM,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAEvF,IACE,uBAAuB,GAAG,GAAG;QAC7B,OAAO,CAAC,QAAQ,KAAK,+BAA+B,EACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAA,qBAAQ,EAAC,+BAA+B,CAAC,CAAC,QAAQ,CAC3E,OAAO,CAAC,QAAQ,IAAI,CAAC,CACtB,CAAC,KAAK,CAAC;IAER,OAAO,CAAC,QAAQ,GAAG,+BAA+B,CAAC;IACnD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAA,qBAAQ,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CACrE,kBAAkB,CACnB,CAAC,KAAK,CAAC;IAER,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAzCW,QAAA,2BAA2B,+BAyCtC;AAEF,6DAA6D;AAC7D,mBAAmB;AACZ,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,EAAE,CAC7D,IAAA,gBAAM,EAAC,IAAA,iBAAO,EAAC,gBAAgB,EAAE,YAAY,EAAE,YAAQ,CAAC,EAAE,CAAC,YAAQ,CAAC,CAAC,CAAC;AAD3D,QAAA,YAAY,gBAC+C"}
@@ -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
- if (cumulativeTotalDiscount.value >= product.finalPrice) {
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 >= product.finalPrice) {
73
- const discountValue = (0, util_1.currency)(product.finalPrice).subtract(cumulativeTotalDiscount);
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.priceTotal(discountableBundles);
96
- const eligibleBundlesWithMealDealsPrice = util_1.Bundle.priceTotal(discountedBundlesWithMealDealPromotions);
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":"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"}
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.priceTotal(mealDealMap);
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.priceTotal(dealBundles);
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":"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"}
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,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEhD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,IAAA,uCAAyB,EAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,IAAA,qBAAQ,EAAC,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;aAChE,MAAM,CAAC,eAAe,CAAC;aACvB,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAElC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC5C,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAChC,IAAA,qBAAQ,EAAC,CAAC,CAAC,CACZ,CAAC,KAAK,CAAC;IACR,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;IAE9E,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5C,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAA,qBAAQ,EAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CACjE,YAAY,CACb,CAAC,KAAK,CAAC;IACV,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,aAAM,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,IAAA,sCAAwB,EAChD,WAAW,EACX,eAAe,CAAC,KAAK,CAAC,EACtB,cAAc,EACd,SAAS,EACT,8BAA8B,CAC/B,CAAC;QAEF,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAjDW,QAAA,kBAAkB,sBAiD7B;AAEK,MAAM,gBAAgB,GAAG,CAC9B,OAAkB,EAClB,KAAuB,EACd,EAAE;IACX,MAAM,WAAW,GAAG,IAAA,mDAA2C,EAC7D,OAAO,EACP,KAAK,EACL,KAAK,CACN,CAAC;IACF,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACzD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,WAAW,CAC7C,CAAC;IAEF,6DAA6D;IAC7D,mBAAmB;IACnB,OAAO,IAAA,iBAAO,EACZ,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvC,UAAU;QACV,KAAK,EAAE,aAAM,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAClD,CAAC,CAAC,EACH,CAAC,OAAO,CAAC,EACT,CAAC,MAAM,CAAC,CACT,CAAC,KAAK,EAAE,CAAC;AACZ,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B;AAEK,MAAM,iBAAiB,GAAG,CAC/B,OAAkB,EAClB,KAAuB,EACd,EAAE;IACX,MAAM,WAAW,GAAG,IAAA,mDAA2C,EAC7D,OAAO,EACP,KAAK,EACL,KAAK,CACN,CAAC;IACF,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACzD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,WAAW,CAC7C,CAAC;IAEF,6DAA6D;IAC7D,mBAAmB;IACnB,OAAO,IAAA,iBAAO,EACZ,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvC,UAAU;QACV,KAAK,EAAE,aAAM,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAClD,CAAC,CAAC,EACH,CAAC,OAAO,CAAC,EACT,CAAC,KAAK,CAAC,CACR,CAAC,KAAK,EAAE,CAAC;AACZ,CAAC,CAAC;AAvBW,QAAA,iBAAiB,qBAuB5B"}
@@ -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;
@@ -14,3 +14,4 @@ export * from './promoIsApplicable';
14
14
  export * from './promoValue';
15
15
  export * from './removeDiscountsFromProducts';
16
16
  export * from './util';
17
+ export { Bundle as BundleUtils } from './util';
@@ -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":";;;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"}
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
- const promoValue = (0, getBundlePromoValue_1.getBundlePromoValue)(bundleTotalPrice, promotion);
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
- return 0;
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,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,IAAA,yCAAmB,EAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAEpE,OAAO,IAAA,qBAAQ,EAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;aACrE,KAAK,CAAC;IACX,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
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.priceTotal(dealBundles);
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.priceTotal(mealDealMap);
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.priceTotal(dealBundles);
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.priceTotal(dealBundles);
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":"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"}
1
+ {"version":3,"file":"mealDeal.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/mealDeal.ts"],"names":[],"mappings":"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"}
@@ -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<{
@@ -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
- discountTotal: (bundles, promotion) => bundles.reduce((total, bundle) => total.add((0, getBundlePromoValue_1.getBundlePromoValue)(bundle.finalPrice, promotion)), (0, exports.currency)(0)).value,
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":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../packages/amounts/src/discounts/util.ts"],"names":[],"mappings":"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"}