@acmekit/utils 2.13.1 → 2.13.3
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/dist/bundles.d.ts +0 -7
- package/dist/bundles.d.ts.map +1 -1
- package/dist/bundles.js +1 -8
- package/dist/bundles.js.map +1 -1
- package/dist/common/define-config.d.ts.map +1 -1
- package/dist/common/define-config.js +2 -49
- package/dist/common/define-config.js.map +1 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +1 -1
- package/dist/link/links.d.ts +0 -21
- package/dist/link/links.d.ts.map +1 -1
- package/dist/link/links.js +0 -21
- package/dist/link/links.js.map +1 -1
- package/dist/modules-sdk/definition.d.ts +0 -39
- package/dist/modules-sdk/definition.d.ts.map +1 -1
- package/dist/modules-sdk/definition.js +0 -26
- package/dist/modules-sdk/definition.js.map +1 -1
- package/dist/modules-sdk/modules-to-container-types.d.ts.map +1 -1
- package/dist/modules-sdk/modules-to-container-types.js +0 -13
- package/dist/modules-sdk/modules-to-container-types.js.map +1 -1
- package/dist/translations/index.d.ts +0 -1
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/index.js +0 -1
- package/dist/translations/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/fulfillment/events.d.ts +0 -77
- package/dist/fulfillment/events.d.ts.map +0 -1
- package/dist/fulfillment/events.js +0 -117
- package/dist/fulfillment/events.js.map +0 -1
- package/dist/fulfillment/geo-zone.d.ts +0 -7
- package/dist/fulfillment/geo-zone.d.ts.map +0 -1
- package/dist/fulfillment/geo-zone.js +0 -11
- package/dist/fulfillment/geo-zone.js.map +0 -1
- package/dist/fulfillment/index.d.ts +0 -5
- package/dist/fulfillment/index.d.ts.map +0 -1
- package/dist/fulfillment/index.js +0 -21
- package/dist/fulfillment/index.js.map +0 -1
- package/dist/fulfillment/provider.d.ts +0 -394
- package/dist/fulfillment/provider.d.ts.map +0 -1
- package/dist/fulfillment/provider.js +0 -412
- package/dist/fulfillment/provider.js.map +0 -1
- package/dist/fulfillment/shipping-options.d.ts +0 -5
- package/dist/fulfillment/shipping-options.d.ts.map +0 -1
- package/dist/fulfillment/shipping-options.js +0 -9
- package/dist/fulfillment/shipping-options.js.map +0 -1
- package/dist/inventory/events.d.ts +0 -26
- package/dist/inventory/events.d.ts.map +0 -1
- package/dist/inventory/events.js +0 -40
- package/dist/inventory/events.js.map +0 -1
- package/dist/inventory/index.d.ts +0 -2
- package/dist/inventory/index.d.ts.map +0 -1
- package/dist/inventory/index.js +0 -18
- package/dist/inventory/index.js.map +0 -1
- package/dist/order/index.d.ts +0 -4
- package/dist/order/index.d.ts.map +0 -1
- package/dist/order/index.js +0 -20
- package/dist/order/index.js.map +0 -1
- package/dist/order/order-change-action.d.ts +0 -25
- package/dist/order/order-change-action.d.ts.map +0 -1
- package/dist/order/order-change-action.js +0 -29
- package/dist/order/order-change-action.js.map +0 -1
- package/dist/order/order-change.d.ts +0 -31
- package/dist/order/order-change.d.ts.map +0 -1
- package/dist/order/order-change.js +0 -36
- package/dist/order/order-change.js.map +0 -1
- package/dist/order/status.d.ts +0 -85
- package/dist/order/status.d.ts.map +0 -1
- package/dist/order/status.js +0 -92
- package/dist/order/status.js.map +0 -1
- package/dist/payment/abstract-payment-provider.d.ts +0 -632
- package/dist/payment/abstract-payment-provider.d.ts.map +0 -1
- package/dist/payment/abstract-payment-provider.js +0 -110
- package/dist/payment/abstract-payment-provider.js.map +0 -1
- package/dist/payment/index.d.ts +0 -5
- package/dist/payment/index.d.ts.map +0 -1
- package/dist/payment/index.js +0 -21
- package/dist/payment/index.js.map +0 -1
- package/dist/payment/payment-collection.d.ts +0 -40
- package/dist/payment/payment-collection.d.ts.map +0 -1
- package/dist/payment/payment-collection.js +0 -44
- package/dist/payment/payment-collection.js.map +0 -1
- package/dist/payment/payment-session.d.ts +0 -32
- package/dist/payment/payment-session.d.ts.map +0 -1
- package/dist/payment/payment-session.js +0 -36
- package/dist/payment/payment-session.js.map +0 -1
- package/dist/payment/webhook.d.ts +0 -37
- package/dist/payment/webhook.d.ts.map +0 -1
- package/dist/payment/webhook.js +0 -42
- package/dist/payment/webhook.js.map +0 -1
- package/dist/pricing/builders.d.ts +0 -10
- package/dist/pricing/builders.d.ts.map +0 -1
- package/dist/pricing/builders.js +0 -53
- package/dist/pricing/builders.js.map +0 -1
- package/dist/pricing/enums.d.ts +0 -8
- package/dist/pricing/enums.d.ts.map +0 -1
- package/dist/pricing/enums.js +0 -12
- package/dist/pricing/enums.js.map +0 -1
- package/dist/pricing/events.d.ts +0 -38
- package/dist/pricing/events.d.ts.map +0 -1
- package/dist/pricing/events.js +0 -50
- package/dist/pricing/events.js.map +0 -1
- package/dist/pricing/index.d.ts +0 -5
- package/dist/pricing/index.d.ts.map +0 -1
- package/dist/pricing/index.js +0 -21
- package/dist/pricing/index.js.map +0 -1
- package/dist/pricing/price-list.d.ts +0 -9
- package/dist/pricing/price-list.d.ts.map +0 -1
- package/dist/pricing/price-list.js +0 -14
- package/dist/pricing/price-list.js.map +0 -1
- package/dist/product/csv-normalizer.d.ts +0 -43
- package/dist/product/csv-normalizer.d.ts.map +0 -1
- package/dist/product/csv-normalizer.js +0 -382
- package/dist/product/csv-normalizer.js.map +0 -1
- package/dist/product/enums.d.ts +0 -7
- package/dist/product/enums.d.ts.map +0 -1
- package/dist/product/enums.js +0 -11
- package/dist/product/enums.js.map +0 -1
- package/dist/product/events.d.ts +0 -62
- package/dist/product/events.d.ts.map +0 -1
- package/dist/product/events.js +0 -88
- package/dist/product/events.js.map +0 -1
- package/dist/product/get-variant-availability.d.ts +0 -59
- package/dist/product/get-variant-availability.d.ts.map +0 -1
- package/dist/product/get-variant-availability.js +0 -111
- package/dist/product/get-variant-availability.js.map +0 -1
- package/dist/product/index.d.ts +0 -6
- package/dist/product/index.d.ts.map +0 -1
- package/dist/product/index.js +0 -45
- package/dist/product/index.js.map +0 -1
- package/dist/product/validators.d.ts +0 -894
- package/dist/product/validators.d.ts.map +0 -1
- package/dist/product/validators.js +0 -163
- package/dist/product/validators.js.map +0 -1
- package/dist/promotion/index.d.ts +0 -57
- package/dist/promotion/index.d.ts.map +0 -1
- package/dist/promotion/index.js +0 -70
- package/dist/promotion/index.js.map +0 -1
- package/dist/shipping/index.d.ts +0 -6
- package/dist/shipping/index.d.ts.map +0 -1
- package/dist/shipping/index.js +0 -10
- package/dist/shipping/index.js.map +0 -1
- package/dist/totals/adjustment/index.d.ts +0 -16
- package/dist/totals/adjustment/index.d.ts.map +0 -1
- package/dist/totals/adjustment/index.js +0 -49
- package/dist/totals/adjustment/index.js.map +0 -1
- package/dist/totals/cart/index.d.ts +0 -40
- package/dist/totals/cart/index.d.ts.map +0 -1
- package/dist/totals/cart/index.js +0 -165
- package/dist/totals/cart/index.js.map +0 -1
- package/dist/totals/create-raw-properties-from-bignumber.d.ts +0 -5
- package/dist/totals/create-raw-properties-from-bignumber.d.ts.map +0 -1
- package/dist/totals/create-raw-properties-from-bignumber.js +0 -52
- package/dist/totals/create-raw-properties-from-bignumber.js.map +0 -1
- package/dist/totals/credit-lines/index.d.ts +0 -14
- package/dist/totals/credit-lines/index.d.ts.map +0 -1
- package/dist/totals/credit-lines/index.js +0 -46
- package/dist/totals/credit-lines/index.js.map +0 -1
- package/dist/totals/index.d.ts +0 -9
- package/dist/totals/index.d.ts.map +0 -1
- package/dist/totals/index.js +0 -25
- package/dist/totals/index.js.map +0 -1
- package/dist/totals/line-item/index.d.ts +0 -48
- package/dist/totals/line-item/index.d.ts.map +0 -1
- package/dist/totals/line-item/index.js +0 -123
- package/dist/totals/line-item/index.js.map +0 -1
- package/dist/totals/math.d.ts +0 -26
- package/dist/totals/math.d.ts.map +0 -1
- package/dist/totals/math.js +0 -107
- package/dist/totals/math.js.map +0 -1
- package/dist/totals/promotion/index.d.ts +0 -5
- package/dist/totals/promotion/index.d.ts.map +0 -1
- package/dist/totals/promotion/index.js +0 -124
- package/dist/totals/promotion/index.js.map +0 -1
- package/dist/totals/shipping-method/index.d.ts +0 -28
- package/dist/totals/shipping-method/index.d.ts.map +0 -1
- package/dist/totals/shipping-method/index.js +0 -59
- package/dist/totals/shipping-method/index.js.map +0 -1
- package/dist/totals/tax/index.d.ts +0 -16
- package/dist/totals/tax/index.d.ts.map +0 -1
- package/dist/totals/tax/index.js +0 -37
- package/dist/totals/tax/index.js.map +0 -1
- package/dist/totals/transform-properties-to-bignumber.d.ts +0 -6
- package/dist/totals/transform-properties-to-bignumber.d.ts.map +0 -1
- package/dist/totals/transform-properties-to-bignumber.js +0 -40
- package/dist/totals/transform-properties-to-bignumber.js.map +0 -1
- package/dist/translations/apply-translations-to-tax-lines.d.ts +0 -12
- package/dist/translations/apply-translations-to-tax-lines.d.ts.map +0 -1
- package/dist/translations/apply-translations-to-tax-lines.js +0 -38
- package/dist/translations/apply-translations-to-tax-lines.js.map +0 -1
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPromotionValue = getPromotionValue;
|
|
4
|
-
exports.getApplicableQuantity = getApplicableQuantity;
|
|
5
|
-
exports.calculateAdjustmentAmountFromPromotion = calculateAdjustmentAmountFromPromotion;
|
|
6
|
-
const promotion_1 = require("../../promotion");
|
|
7
|
-
const math_1 = require("../math");
|
|
8
|
-
const big_number_1 = require("../big-number");
|
|
9
|
-
function getPromotionValueForPercentage(promotion, lineItemAmount) {
|
|
10
|
-
return math_1.MathBN.mult(math_1.MathBN.div(promotion.value, 100), lineItemAmount);
|
|
11
|
-
}
|
|
12
|
-
function getPromotionValueForFixed(promotion, lineItemAmount, lineItemsAmount, lineItem) {
|
|
13
|
-
if (promotion.allocation === promotion_1.ApplicationMethodAllocation.ACROSS) {
|
|
14
|
-
const promotionValueForItem = math_1.MathBN.mult(math_1.MathBN.div(lineItemAmount, lineItemsAmount), promotion.value);
|
|
15
|
-
if (math_1.MathBN.lte(promotionValueForItem, lineItemAmount)) {
|
|
16
|
-
return promotionValueForItem;
|
|
17
|
-
}
|
|
18
|
-
const percentage = math_1.MathBN.div(math_1.MathBN.mult(lineItemAmount, 100), promotionValueForItem);
|
|
19
|
-
return math_1.MathBN.mult(promotionValueForItem, math_1.MathBN.div(percentage, 100));
|
|
20
|
-
}
|
|
21
|
-
// For each allocation, promotion is applied in the scope of the line item.
|
|
22
|
-
// lineItemAmount will be the total applicable amount for the line item
|
|
23
|
-
// maximumPromotionAmount is the maximum amount that can be applied to the line item
|
|
24
|
-
// We need to return the minimum of the two
|
|
25
|
-
const maximumQuantity = math_1.MathBN.min(lineItem.quantity, promotion.max_quantity ?? math_1.MathBN.convert(1));
|
|
26
|
-
const maximumPromotionAmount = math_1.MathBN.mult(promotion.value, maximumQuantity);
|
|
27
|
-
return math_1.MathBN.min(maximumPromotionAmount, lineItemAmount);
|
|
28
|
-
}
|
|
29
|
-
function getPromotionValue(promotion, lineItemAmount, lineItemsAmount, lineItem) {
|
|
30
|
-
if (promotion.type === promotion_1.ApplicationMethodType.PERCENTAGE) {
|
|
31
|
-
return getPromotionValueForPercentage(promotion, lineItemAmount);
|
|
32
|
-
}
|
|
33
|
-
return getPromotionValueForFixed(promotion, lineItemAmount, lineItemsAmount, lineItem);
|
|
34
|
-
}
|
|
35
|
-
function getApplicableQuantity(lineItem, maxQuantity) {
|
|
36
|
-
if (maxQuantity && lineItem.quantity) {
|
|
37
|
-
return math_1.MathBN.min(lineItem.quantity, maxQuantity);
|
|
38
|
-
}
|
|
39
|
-
return lineItem.quantity;
|
|
40
|
-
}
|
|
41
|
-
function getLineItemSubtotal(lineItem) {
|
|
42
|
-
return math_1.MathBN.div(lineItem.subtotal, lineItem.quantity);
|
|
43
|
-
}
|
|
44
|
-
function getLineItemOriginalTotal(lineItem) {
|
|
45
|
-
return math_1.MathBN.div(lineItem.original_total, lineItem.quantity);
|
|
46
|
-
}
|
|
47
|
-
function calculateAdjustmentAmountFromPromotion(lineItem, promotion, lineItemsAmount = 0) {
|
|
48
|
-
/*
|
|
49
|
-
For a promotion with an across allocation, we consider not only the line item total, but also the total of all other line items in the order.
|
|
50
|
-
|
|
51
|
-
We then distribute the promotion value proportionally across the line items based on the total of each line item.
|
|
52
|
-
|
|
53
|
-
For example, if the promotion is 100$, and the order total is 400$, and the items are:
|
|
54
|
-
item1: 250$
|
|
55
|
-
item2: 150$
|
|
56
|
-
total: 400$
|
|
57
|
-
|
|
58
|
-
The promotion value for the line items would be:
|
|
59
|
-
item1: 62.5$
|
|
60
|
-
item2: 37.5$
|
|
61
|
-
total: 100$
|
|
62
|
-
|
|
63
|
-
For the next 100$ promotion, we remove the applied promotions value from the line item total and redistribute the promotion value across the line items based on the updated totals.
|
|
64
|
-
|
|
65
|
-
Example:
|
|
66
|
-
item1: (250 - 62.5) = 187.5
|
|
67
|
-
item2: (150 - 37.5) = 112.5
|
|
68
|
-
total: 300
|
|
69
|
-
|
|
70
|
-
The promotion value for the line items would be:
|
|
71
|
-
item1: $62.5
|
|
72
|
-
item2: $37.5
|
|
73
|
-
total: 100$
|
|
74
|
-
|
|
75
|
-
*/
|
|
76
|
-
if (promotion.allocation === promotion_1.ApplicationMethodAllocation.ACROSS) {
|
|
77
|
-
const quantity = getApplicableQuantity(lineItem, promotion.max_quantity);
|
|
78
|
-
const lineItemAmount = math_1.MathBN.mult(promotion.is_tax_inclusive
|
|
79
|
-
? getLineItemOriginalTotal(lineItem)
|
|
80
|
-
: getLineItemSubtotal(lineItem), quantity);
|
|
81
|
-
const applicableAmount = math_1.MathBN.sub(lineItemAmount, promotion.applied_value);
|
|
82
|
-
if (math_1.MathBN.lte(applicableAmount, big_number_1.MEDUSA_EPSILON)) {
|
|
83
|
-
return math_1.MathBN.convert(0);
|
|
84
|
-
}
|
|
85
|
-
const promotionValue = getPromotionValue(promotion, applicableAmount, lineItemsAmount, lineItem);
|
|
86
|
-
const returnValue = math_1.MathBN.min(promotionValue, applicableAmount);
|
|
87
|
-
if (math_1.MathBN.lte(returnValue, big_number_1.MEDUSA_EPSILON)) {
|
|
88
|
-
return math_1.MathBN.convert(0);
|
|
89
|
-
}
|
|
90
|
-
return returnValue;
|
|
91
|
-
}
|
|
92
|
-
/*
|
|
93
|
-
For a promotion with an EACH allocation, we calculate the promotion value on the line item as a whole.
|
|
94
|
-
|
|
95
|
-
Example:
|
|
96
|
-
item1: {
|
|
97
|
-
subtotal: 200$,
|
|
98
|
-
unit_price: 50$,
|
|
99
|
-
quantity: 4,
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
When applying promotions, we need to consider 2 values:
|
|
103
|
-
1. What is the maximum promotion value?
|
|
104
|
-
2. What is the maximum promotion we can apply on the line item?
|
|
105
|
-
|
|
106
|
-
After applying each promotion, we reduce the maximum promotion that you can add to the line item by the value of the promotions applied.
|
|
107
|
-
|
|
108
|
-
We then apply whichever is lower.
|
|
109
|
-
*/
|
|
110
|
-
const remainingItemAmount = math_1.MathBN.sub(promotion.is_tax_inclusive ? lineItem.original_total : lineItem.subtotal, promotion.applied_value);
|
|
111
|
-
const itemAmount = math_1.MathBN.div(promotion.is_tax_inclusive ? lineItem.original_total : lineItem.subtotal, lineItem.quantity);
|
|
112
|
-
const maximumPromotionAmount = math_1.MathBN.mult(itemAmount, promotion.max_quantity ?? math_1.MathBN.convert(1));
|
|
113
|
-
const applicableAmount = math_1.MathBN.min(remainingItemAmount, maximumPromotionAmount);
|
|
114
|
-
if (math_1.MathBN.lte(applicableAmount, big_number_1.MEDUSA_EPSILON)) {
|
|
115
|
-
return math_1.MathBN.convert(0);
|
|
116
|
-
}
|
|
117
|
-
const promotionValue = getPromotionValue(promotion, applicableAmount, lineItemsAmount, lineItem);
|
|
118
|
-
const returnValue = math_1.MathBN.min(promotionValue, applicableAmount);
|
|
119
|
-
if (math_1.MathBN.lte(returnValue, big_number_1.MEDUSA_EPSILON)) {
|
|
120
|
-
return math_1.MathBN.convert(0);
|
|
121
|
-
}
|
|
122
|
-
return returnValue;
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/totals/promotion/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { AdjustmentLineDTO, TaxLineDTO } from "@acmekit/types";
|
|
2
|
-
import { BigNumber } from "../big-number";
|
|
3
|
-
interface GetShippingMethodsTotalsContext {
|
|
4
|
-
includeTax?: boolean;
|
|
5
|
-
}
|
|
6
|
-
export interface GetShippingMethodTotalInput {
|
|
7
|
-
id: string;
|
|
8
|
-
amount: BigNumber;
|
|
9
|
-
is_tax_inclusive?: boolean;
|
|
10
|
-
tax_lines?: TaxLineDTO[];
|
|
11
|
-
adjustments?: Pick<AdjustmentLineDTO, "amount">[];
|
|
12
|
-
}
|
|
13
|
-
export interface GetShippingMethodTotalOutput {
|
|
14
|
-
amount: BigNumber;
|
|
15
|
-
subtotal: BigNumber;
|
|
16
|
-
original_subtotal: BigNumber;
|
|
17
|
-
total: BigNumber;
|
|
18
|
-
original_total: BigNumber;
|
|
19
|
-
discount_total: BigNumber;
|
|
20
|
-
discount_subtotal: BigNumber;
|
|
21
|
-
discount_tax_total: BigNumber;
|
|
22
|
-
tax_total: BigNumber;
|
|
23
|
-
original_tax_total: BigNumber;
|
|
24
|
-
}
|
|
25
|
-
export declare function getShippingMethodsTotals(shippingMethods: GetShippingMethodTotalInput[], context: GetShippingMethodsTotalsContext): Record<string, GetShippingMethodTotalOutput>;
|
|
26
|
-
export declare function getShippingMethodTotals(shippingMethod: GetShippingMethodTotalInput, context: GetShippingMethodsTotalsContext): GetShippingMethodTotalOutput;
|
|
27
|
-
export {};
|
|
28
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/totals/shipping-method/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,UAAU,+BAA+B;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,SAAS,CAAA;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,UAAU,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAA;CAClD;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,SAAS,CAAA;IAEjB,QAAQ,EAAE,SAAS,CAAA;IACnB,iBAAiB,EAAE,SAAS,CAAA;IAE5B,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,SAAS,CAAA;IAEzB,cAAc,EAAE,SAAS,CAAA;IACzB,iBAAiB,EAAE,SAAS,CAAA;IAC5B,kBAAkB,EAAE,SAAS,CAAA;IAE7B,SAAS,EAAE,SAAS,CAAA;IACpB,kBAAkB,EAAE,SAAS,CAAA;CAC9B;AAED,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,2BAA2B,EAAE,EAC9C,OAAO,EAAE,+BAA+B,GACvC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAa9C;AAED,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,2BAA2B,EAC3C,OAAO,EAAE,+BAA+B,gCAmEzC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getShippingMethodsTotals = getShippingMethodsTotals;
|
|
4
|
-
exports.getShippingMethodTotals = getShippingMethodTotals;
|
|
5
|
-
const adjustment_1 = require("../adjustment");
|
|
6
|
-
const big_number_1 = require("../big-number");
|
|
7
|
-
const math_1 = require("../math");
|
|
8
|
-
const tax_1 = require("../tax");
|
|
9
|
-
function getShippingMethodsTotals(shippingMethods, context) {
|
|
10
|
-
const shippingMethodsTotals = {};
|
|
11
|
-
let index = 0;
|
|
12
|
-
for (const shippingMethod of shippingMethods) {
|
|
13
|
-
shippingMethodsTotals[shippingMethod.id ?? index] = getShippingMethodTotals(shippingMethod, context);
|
|
14
|
-
index++;
|
|
15
|
-
}
|
|
16
|
-
return shippingMethodsTotals;
|
|
17
|
-
}
|
|
18
|
-
function getShippingMethodTotals(shippingMethod, context) {
|
|
19
|
-
const isTaxInclusive = shippingMethod.is_tax_inclusive ?? context.includeTax;
|
|
20
|
-
const shippingMethodAmount = math_1.MathBN.convert(shippingMethod.amount);
|
|
21
|
-
const sumTax = math_1.MathBN.sum(...(shippingMethod.tax_lines?.map((taxLine) => taxLine.rate) ?? []));
|
|
22
|
-
const sumTaxRate = math_1.MathBN.div(sumTax, 100);
|
|
23
|
-
const subtotal = isTaxInclusive
|
|
24
|
-
? math_1.MathBN.div(shippingMethodAmount, math_1.MathBN.add(1, sumTaxRate))
|
|
25
|
-
: shippingMethodAmount;
|
|
26
|
-
const { adjustmentsTotal: discountsTotal, adjustmentsSubtotal: discountsSubtotal, adjustmentsTaxTotal: discountsTaxTotal, } = (0, adjustment_1.calculateAdjustmentTotal)({
|
|
27
|
-
adjustments: shippingMethod.adjustments || [],
|
|
28
|
-
taxRate: sumTaxRate,
|
|
29
|
-
});
|
|
30
|
-
const taxLines = shippingMethod.tax_lines || [];
|
|
31
|
-
const taxTotal = (0, tax_1.calculateTaxTotal)({
|
|
32
|
-
taxLines,
|
|
33
|
-
taxableAmount: math_1.MathBN.sub(subtotal, discountsSubtotal),
|
|
34
|
-
setTotalField: "total",
|
|
35
|
-
});
|
|
36
|
-
const originalTaxTotal = (0, tax_1.calculateTaxTotal)({
|
|
37
|
-
taxLines,
|
|
38
|
-
taxableAmount: subtotal,
|
|
39
|
-
setTotalField: "subtotal",
|
|
40
|
-
});
|
|
41
|
-
const totals = {
|
|
42
|
-
amount: new big_number_1.BigNumber(shippingMethodAmount),
|
|
43
|
-
subtotal: new big_number_1.BigNumber(subtotal),
|
|
44
|
-
total: new big_number_1.BigNumber(math_1.MathBN.sum(math_1.MathBN.sub(subtotal, discountsSubtotal), taxTotal)),
|
|
45
|
-
original_subtotal: new big_number_1.BigNumber(math_1.MathBN.sub(isTaxInclusive
|
|
46
|
-
? shippingMethodAmount
|
|
47
|
-
: math_1.MathBN.add(subtotal, originalTaxTotal), originalTaxTotal)),
|
|
48
|
-
original_total: new big_number_1.BigNumber(isTaxInclusive
|
|
49
|
-
? shippingMethodAmount
|
|
50
|
-
: math_1.MathBN.add(subtotal, originalTaxTotal)),
|
|
51
|
-
discount_total: new big_number_1.BigNumber(discountsTotal),
|
|
52
|
-
discount_subtotal: new big_number_1.BigNumber(discountsSubtotal),
|
|
53
|
-
discount_tax_total: new big_number_1.BigNumber(discountsTaxTotal),
|
|
54
|
-
tax_total: new big_number_1.BigNumber(taxTotal),
|
|
55
|
-
original_tax_total: new big_number_1.BigNumber(originalTaxTotal),
|
|
56
|
-
};
|
|
57
|
-
return totals;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/totals/shipping-method/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { BigNumberInput, TaxLineDTO } from "@acmekit/types";
|
|
2
|
-
export declare function calculateTaxTotal({ isTaxInclusive, taxLines, taxableAmount, setTotalField, }: {
|
|
3
|
-
isTaxInclusive?: boolean;
|
|
4
|
-
taxLines: Pick<TaxLineDTO, "rate">[];
|
|
5
|
-
taxableAmount: BigNumberInput;
|
|
6
|
-
setTotalField?: string;
|
|
7
|
-
}): globalThis.BigNumber;
|
|
8
|
-
export declare function calculateAmountsWithTax({ taxLines, amount, includesTax, }: {
|
|
9
|
-
taxLines: Pick<TaxLineDTO, "rate">[];
|
|
10
|
-
amount: number;
|
|
11
|
-
includesTax?: boolean;
|
|
12
|
-
}): {
|
|
13
|
-
priceWithTax: number;
|
|
14
|
-
priceWithoutTax: number;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/totals/tax/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAI3D,wBAAgB,iBAAiB,CAAC,EAChC,cAAsB,EACtB,QAAQ,EACR,aAAa,EACb,aAAa,GACd,EAAE;IACD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAA;IACpC,aAAa,EAAE,cAAc,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,wBAkBA;AAED,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,MAAM,EACN,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;;;EAmBA"}
|
package/dist/totals/tax/index.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.calculateTaxTotal = calculateTaxTotal;
|
|
4
|
-
exports.calculateAmountsWithTax = calculateAmountsWithTax;
|
|
5
|
-
const big_number_1 = require("../big-number");
|
|
6
|
-
const math_1 = require("../math");
|
|
7
|
-
function calculateTaxTotal({ isTaxInclusive = false, taxLines, taxableAmount, setTotalField, }) {
|
|
8
|
-
let taxTotal = math_1.MathBN.convert(0);
|
|
9
|
-
if (isTaxInclusive) {
|
|
10
|
-
return taxTotal;
|
|
11
|
-
}
|
|
12
|
-
for (const taxLine of taxLines) {
|
|
13
|
-
const rate = math_1.MathBN.div(taxLine.rate, 100);
|
|
14
|
-
let taxAmount = math_1.MathBN.mult(taxableAmount, rate);
|
|
15
|
-
if (setTotalField) {
|
|
16
|
-
;
|
|
17
|
-
taxLine[setTotalField] = new big_number_1.BigNumber(taxAmount);
|
|
18
|
-
}
|
|
19
|
-
taxTotal = math_1.MathBN.add(taxTotal, taxAmount);
|
|
20
|
-
}
|
|
21
|
-
return taxTotal;
|
|
22
|
-
}
|
|
23
|
-
function calculateAmountsWithTax({ taxLines, amount, includesTax, }) {
|
|
24
|
-
const sumTaxRate = math_1.MathBN.div(math_1.MathBN.sum(...((taxLines ?? []).map((taxLine) => taxLine.rate) ?? [])), 100);
|
|
25
|
-
const taxableAmount = includesTax
|
|
26
|
-
? math_1.MathBN.div(amount, math_1.MathBN.add(1, sumTaxRate))
|
|
27
|
-
: amount;
|
|
28
|
-
const tax = calculateTaxTotal({
|
|
29
|
-
taxLines,
|
|
30
|
-
taxableAmount,
|
|
31
|
-
});
|
|
32
|
-
return {
|
|
33
|
-
priceWithTax: includesTax ? amount : math_1.MathBN.add(tax, amount).toNumber(),
|
|
34
|
-
priceWithoutTax: includesTax ? math_1.MathBN.sub(amount, tax).toNumber() : amount,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/totals/tax/index.ts"],"names":[],"mappings":";;AAIA,8CA4BC;AAED,0DA2BC;AA5DD,8CAAyC;AACzC,kCAAgC;AAEhC,SAAgB,iBAAiB,CAAC,EAChC,cAAc,GAAG,KAAK,EACtB,QAAQ,EACR,aAAa,EACb,aAAa,GAMd;IACC,IAAI,QAAQ,GAAG,aAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAChC,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,aAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1C,IAAI,SAAS,GAAG,aAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAEhD,IAAI,aAAa,EAAE,CAAC;YAClB,CAAC;YAAC,OAAe,CAAC,aAAa,CAAC,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAA;QAC7D,CAAC;QAED,QAAQ,GAAG,aAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,MAAM,EACN,WAAW,GAKZ;IACC,MAAM,UAAU,GAAG,aAAM,CAAC,GAAG,CAC3B,aAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EACtE,GAAG,CACJ,CAAA;IAED,MAAM,aAAa,GAAG,WAAW;QAC/B,CAAC,CAAC,aAAM,CAAC,GAAG,CAAC,MAAM,EAAE,aAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,MAAM,CAAA;IAEV,MAAM,GAAG,GAAG,iBAAiB,CAAC;QAC5B,QAAQ;QACR,aAAa;KACd,CAAC,CAAA;IAEF,OAAO;QACL,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE;QACvE,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,aAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM;KAC3E,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform-properties-to-bignumber.d.ts","sourceRoot":"","sources":["../../src/totals/transform-properties-to-bignumber.ts"],"names":[],"mappings":"AAEA,wBAAgB,8BAA8B,CAC5C,GAAG,KAAA,EACH,EACE,MAAe,EACf,OAAY,EACZ,OAAY,GACb,GAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACd,QA2CP"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transformPropertiesToBigNumber = transformPropertiesToBigNumber;
|
|
4
|
-
const big_number_1 = require("./big-number");
|
|
5
|
-
function transformPropertiesToBigNumber(obj, { prefix = "raw_", include = [], exclude = [], } = {}) {
|
|
6
|
-
const stack = [{ current: obj, path: "" }];
|
|
7
|
-
while (stack.length > 0) {
|
|
8
|
-
const { current, path } = stack.pop();
|
|
9
|
-
if (current == null ||
|
|
10
|
-
typeof current !== "object" ||
|
|
11
|
-
current instanceof big_number_1.BigNumber) {
|
|
12
|
-
continue;
|
|
13
|
-
}
|
|
14
|
-
if (Array.isArray(current)) {
|
|
15
|
-
current.forEach((element, index) => stack.push({ current: element, path }));
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
for (const key of Object.keys(current)) {
|
|
19
|
-
const value = current[key];
|
|
20
|
-
const currentPath = path ? `${path}.${key}` : key;
|
|
21
|
-
if (value != null && !exclude.includes(currentPath)) {
|
|
22
|
-
if (key.startsWith(prefix)) {
|
|
23
|
-
const newKey = key.replace(prefix, "");
|
|
24
|
-
const newPath = path ? `${path}.${newKey}` : newKey;
|
|
25
|
-
if (!exclude.includes(newPath)) {
|
|
26
|
-
current[newKey] = new big_number_1.BigNumber(value);
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else if (include.includes(currentPath)) {
|
|
31
|
-
current[key] = new big_number_1.BigNumber(value);
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
stack.push({ current: value, path: currentPath });
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=transform-properties-to-bignumber.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform-properties-to-bignumber.js","sourceRoot":"","sources":["../../src/totals/transform-properties-to-bignumber.ts"],"names":[],"mappings":";;AAEA,wEAqDC;AAvDD,6CAAwC;AAExC,SAAgB,8BAA8B,CAC5C,GAAG,EACH,EACE,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,MAKV,EAAE;IAEN,MAAM,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAE1C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;QAEtC,IACE,OAAO,IAAI,IAAI;YACf,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,YAAY,sBAAS,EAC5B,CAAC;YACD,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CACjC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACvC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAEjD,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;wBAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;wBACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC/B,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,sBAAS,CAAC,KAAK,CAAC,CAAA;4BACtC,SAAQ;wBACV,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,sBAAS,CAAC,KAAK,CAAC,CAAA;wBACnC,SAAQ;oBACV,CAAC;gBACH,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ItemTaxLineDTO, AcmeKitContainer, ShippingTaxLineDTO } from "@acmekit/types";
|
|
2
|
-
/**
|
|
3
|
-
* Applies translations to tax lines. If you are using a tax provider that doesn't have TaxRates defined in the database,
|
|
4
|
-
* you should apply the translations inside of your tax provider's `getTaxLines` method, using the `locale` provided in the context.
|
|
5
|
-
*
|
|
6
|
-
* @param taxLines - The tax lines to apply translations to.
|
|
7
|
-
* @param locale - The locale to apply translations to.
|
|
8
|
-
* @param container - The container to use for the translations.
|
|
9
|
-
* @returns The tax lines with translations applied.
|
|
10
|
-
*/
|
|
11
|
-
export declare const applyTranslationsToTaxLines: (taxLines: ItemTaxLineDTO[] | ShippingTaxLineDTO[], locale: string | undefined, container: AcmeKitContainer) => Promise<ItemTaxLineDTO[] | ShippingTaxLineDTO[]>;
|
|
12
|
-
//# sourceMappingURL=apply-translations-to-tax-lines.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-translations-to-tax-lines.d.ts","sourceRoot":"","sources":["../../src/translations/apply-translations-to-tax-lines.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,gBAAgB,CAAA;AAEvB;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,cAAc,EAAE,GAAG,kBAAkB,EAAE,EACjD,QAAQ,MAAM,GAAG,SAAS,EAC1B,WAAW,gBAAgB,qDA6B5B,CAAA"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.applyTranslationsToTaxLines = void 0;
|
|
4
|
-
const apply_translations_1 = require("./apply-translations");
|
|
5
|
-
/**
|
|
6
|
-
* Applies translations to tax lines. If you are using a tax provider that doesn't have TaxRates defined in the database,
|
|
7
|
-
* you should apply the translations inside of your tax provider's `getTaxLines` method, using the `locale` provided in the context.
|
|
8
|
-
*
|
|
9
|
-
* @param taxLines - The tax lines to apply translations to.
|
|
10
|
-
* @param locale - The locale to apply translations to.
|
|
11
|
-
* @param container - The container to use for the translations.
|
|
12
|
-
* @returns The tax lines with translations applied.
|
|
13
|
-
*/
|
|
14
|
-
const applyTranslationsToTaxLines = async (taxLines, locale, container) => {
|
|
15
|
-
const translatedTaxRates = taxLines.map((taxLine) => ({
|
|
16
|
-
id: taxLine.rate_id,
|
|
17
|
-
name: taxLine.name,
|
|
18
|
-
}));
|
|
19
|
-
await (0, apply_translations_1.applyTranslations)({
|
|
20
|
-
localeCode: locale,
|
|
21
|
-
objects: translatedTaxRates,
|
|
22
|
-
container,
|
|
23
|
-
});
|
|
24
|
-
const rateTranslationMap = new Map();
|
|
25
|
-
for (const translatedRate of translatedTaxRates) {
|
|
26
|
-
if (!!translatedRate.id) {
|
|
27
|
-
rateTranslationMap.set(translatedRate.id, translatedRate.name);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
for (const taxLine of taxLines) {
|
|
31
|
-
if (taxLine.rate_id) {
|
|
32
|
-
taxLine.name = rateTranslationMap.get(taxLine.rate_id);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return taxLines;
|
|
36
|
-
};
|
|
37
|
-
exports.applyTranslationsToTaxLines = applyTranslationsToTaxLines;
|
|
38
|
-
//# sourceMappingURL=apply-translations-to-tax-lines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-translations-to-tax-lines.js","sourceRoot":"","sources":["../../src/translations/apply-translations-to-tax-lines.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AAOxD;;;;;;;;GAQG;AACI,MAAM,2BAA2B,GAAG,KAAK,EAC9C,QAAiD,EACjD,MAA0B,EAC1B,SAA2B,EAC3B,EAAE;IACF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CACrC,CAAC,OAA4C,EAAE,EAAE,CAAC,CAAC;QACjD,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CACH,CAAA;IAED,MAAM,IAAA,sCAAiB,EAAC;QACtB,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,kBAAkB;QAC3B,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACpD,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE,CAAC;QAChD,IAAI,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACxB,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAE,CAAA;QACzD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAhCY,QAAA,2BAA2B,+BAgCvC"}
|