@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
package/dist/product/events.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProductEvents = void 0;
|
|
4
|
-
// TODO: Comment temporarely and we will re enable it in the near future #14478
|
|
5
|
-
// import { EventOptions } from "@acmekit/types"
|
|
6
|
-
const event_bus_1 = require("../event-bus");
|
|
7
|
-
const modules_sdk_1 = require("../modules-sdk");
|
|
8
|
-
const eventBaseNames = [
|
|
9
|
-
"product",
|
|
10
|
-
"productVariant",
|
|
11
|
-
"productOption",
|
|
12
|
-
"productOptionValue",
|
|
13
|
-
"productType",
|
|
14
|
-
"productTag",
|
|
15
|
-
"productCategory",
|
|
16
|
-
"productCollection",
|
|
17
|
-
"productImage",
|
|
18
|
-
];
|
|
19
|
-
exports.ProductEvents = (0, event_bus_1.buildEventNamesFromEntityName)(eventBaseNames, modules_sdk_1.Modules.PRODUCT);
|
|
20
|
-
// TODO: Comment temporarely and we will re enable it in the near future #14478
|
|
21
|
-
// declare module "@acmekit/types" {
|
|
22
|
-
// export interface EventBusEventsOptions {
|
|
23
|
-
// // Product events
|
|
24
|
-
// [ProductEvents.PRODUCT_CREATED]?: EventOptions
|
|
25
|
-
// [ProductEvents.PRODUCT_UPDATED]?: EventOptions
|
|
26
|
-
// [ProductEvents.PRODUCT_DELETED]?: EventOptions
|
|
27
|
-
// [ProductEvents.PRODUCT_RESTORED]?: EventOptions
|
|
28
|
-
// [ProductEvents.PRODUCT_ATTACHED]?: EventOptions
|
|
29
|
-
// [ProductEvents.PRODUCT_DETACHED]?: EventOptions
|
|
30
|
-
// // Product Variant events
|
|
31
|
-
// [ProductEvents.PRODUCT_VARIANT_CREATED]?: EventOptions
|
|
32
|
-
// [ProductEvents.PRODUCT_VARIANT_UPDATED]?: EventOptions
|
|
33
|
-
// [ProductEvents.PRODUCT_VARIANT_DELETED]?: EventOptions
|
|
34
|
-
// [ProductEvents.PRODUCT_VARIANT_RESTORED]?: EventOptions
|
|
35
|
-
// [ProductEvents.PRODUCT_VARIANT_ATTACHED]?: EventOptions
|
|
36
|
-
// [ProductEvents.PRODUCT_VARIANT_DETACHED]?: EventOptions
|
|
37
|
-
// // Product Option events
|
|
38
|
-
// [ProductEvents.PRODUCT_OPTION_CREATED]?: EventOptions
|
|
39
|
-
// [ProductEvents.PRODUCT_OPTION_UPDATED]?: EventOptions
|
|
40
|
-
// [ProductEvents.PRODUCT_OPTION_DELETED]?: EventOptions
|
|
41
|
-
// [ProductEvents.PRODUCT_OPTION_RESTORED]?: EventOptions
|
|
42
|
-
// [ProductEvents.PRODUCT_OPTION_ATTACHED]?: EventOptions
|
|
43
|
-
// [ProductEvents.PRODUCT_OPTION_DETACHED]?: EventOptions
|
|
44
|
-
// // Product Option Value events
|
|
45
|
-
// [ProductEvents.PRODUCT_OPTION_VALUE_CREATED]?: EventOptions
|
|
46
|
-
// [ProductEvents.PRODUCT_OPTION_VALUE_UPDATED]?: EventOptions
|
|
47
|
-
// [ProductEvents.PRODUCT_OPTION_VALUE_DELETED]?: EventOptions
|
|
48
|
-
// [ProductEvents.PRODUCT_OPTION_VALUE_RESTORED]?: EventOptions
|
|
49
|
-
// [ProductEvents.PRODUCT_OPTION_VALUE_ATTACHED]?: EventOptions
|
|
50
|
-
// [ProductEvents.PRODUCT_OPTION_VALUE_DETACHED]?: EventOptions
|
|
51
|
-
// // Product Type events
|
|
52
|
-
// [ProductEvents.PRODUCT_TYPE_CREATED]?: EventOptions
|
|
53
|
-
// [ProductEvents.PRODUCT_TYPE_UPDATED]?: EventOptions
|
|
54
|
-
// [ProductEvents.PRODUCT_TYPE_DELETED]?: EventOptions
|
|
55
|
-
// [ProductEvents.PRODUCT_TYPE_RESTORED]?: EventOptions
|
|
56
|
-
// [ProductEvents.PRODUCT_TYPE_ATTACHED]?: EventOptions
|
|
57
|
-
// [ProductEvents.PRODUCT_TYPE_DETACHED]?: EventOptions
|
|
58
|
-
// // Product Tag events
|
|
59
|
-
// [ProductEvents.PRODUCT_TAG_CREATED]?: EventOptions
|
|
60
|
-
// [ProductEvents.PRODUCT_TAG_UPDATED]?: EventOptions
|
|
61
|
-
// [ProductEvents.PRODUCT_TAG_DELETED]?: EventOptions
|
|
62
|
-
// [ProductEvents.PRODUCT_TAG_RESTORED]?: EventOptions
|
|
63
|
-
// [ProductEvents.PRODUCT_TAG_ATTACHED]?: EventOptions
|
|
64
|
-
// [ProductEvents.PRODUCT_TAG_DETACHED]?: EventOptions
|
|
65
|
-
// // Product Category events
|
|
66
|
-
// [ProductEvents.PRODUCT_CATEGORY_CREATED]?: EventOptions
|
|
67
|
-
// [ProductEvents.PRODUCT_CATEGORY_UPDATED]?: EventOptions
|
|
68
|
-
// [ProductEvents.PRODUCT_CATEGORY_DELETED]?: EventOptions
|
|
69
|
-
// [ProductEvents.PRODUCT_CATEGORY_RESTORED]?: EventOptions
|
|
70
|
-
// [ProductEvents.PRODUCT_CATEGORY_ATTACHED]?: EventOptions
|
|
71
|
-
// [ProductEvents.PRODUCT_CATEGORY_DETACHED]?: EventOptions
|
|
72
|
-
// // Product Collection events
|
|
73
|
-
// [ProductEvents.PRODUCT_COLLECTION_CREATED]?: EventOptions
|
|
74
|
-
// [ProductEvents.PRODUCT_COLLECTION_UPDATED]?: EventOptions
|
|
75
|
-
// [ProductEvents.PRODUCT_COLLECTION_DELETED]?: EventOptions
|
|
76
|
-
// [ProductEvents.PRODUCT_COLLECTION_RESTORED]?: EventOptions
|
|
77
|
-
// [ProductEvents.PRODUCT_COLLECTION_ATTACHED]?: EventOptions
|
|
78
|
-
// [ProductEvents.PRODUCT_COLLECTION_DETACHED]?: EventOptions
|
|
79
|
-
// // Product Image events
|
|
80
|
-
// [ProductEvents.PRODUCT_IMAGE_CREATED]?: EventOptions
|
|
81
|
-
// [ProductEvents.PRODUCT_IMAGE_UPDATED]?: EventOptions
|
|
82
|
-
// [ProductEvents.PRODUCT_IMAGE_DELETED]?: EventOptions
|
|
83
|
-
// [ProductEvents.PRODUCT_IMAGE_RESTORED]?: EventOptions
|
|
84
|
-
// [ProductEvents.PRODUCT_IMAGE_ATTACHED]?: EventOptions
|
|
85
|
-
// [ProductEvents.PRODUCT_IMAGE_DETACHED]?: EventOptions
|
|
86
|
-
// }
|
|
87
|
-
// }
|
|
88
|
-
//# sourceMappingURL=events.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/product/events.ts"],"names":[],"mappings":";;;AAAA,+EAA+E;AAC/E,gDAAgD;AAChD,4CAA4D;AAC5D,gDAAwC;AAExC,MAAM,cAAc,GAUhB;IACF,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;CACf,CAAA;AAEY,QAAA,aAAa,GAAG,IAAA,yCAA6B,EACxD,cAAc,EACd,qBAAO,CAAC,OAAO,CAChB,CAAA;AAED,+EAA+E;AAC/E,oCAAoC;AACpC,6CAA6C;AAC7C,wBAAwB;AACxB,qDAAqD;AACrD,qDAAqD;AACrD,qDAAqD;AACrD,sDAAsD;AACtD,sDAAsD;AACtD,sDAAsD;AAEtD,gCAAgC;AAChC,6DAA6D;AAC7D,6DAA6D;AAC7D,6DAA6D;AAC7D,8DAA8D;AAC9D,8DAA8D;AAC9D,8DAA8D;AAE9D,+BAA+B;AAC/B,4DAA4D;AAC5D,4DAA4D;AAC5D,4DAA4D;AAC5D,6DAA6D;AAC7D,6DAA6D;AAC7D,6DAA6D;AAE7D,qCAAqC;AACrC,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,mEAAmE;AACnE,mEAAmE;AACnE,mEAAmE;AAEnE,6BAA6B;AAC7B,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,2DAA2D;AAC3D,2DAA2D;AAC3D,2DAA2D;AAE3D,4BAA4B;AAC5B,yDAAyD;AACzD,yDAAyD;AACzD,yDAAyD;AACzD,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAE1D,iCAAiC;AACjC,8DAA8D;AAC9D,8DAA8D;AAC9D,8DAA8D;AAC9D,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAE/D,mCAAmC;AACnC,gEAAgE;AAChE,gEAAgE;AAChE,gEAAgE;AAChE,iEAAiE;AACjE,iEAAiE;AACjE,iEAAiE;AAEjE,8BAA8B;AAC9B,2DAA2D;AAC3D,2DAA2D;AAC3D,2DAA2D;AAC3D,4DAA4D;AAC5D,4DAA4D;AAC5D,4DAA4D;AAC5D,MAAM;AACN,IAAI"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { RemoteQueryFunction } from "@acmekit/types";
|
|
2
|
-
/**
|
|
3
|
-
* The computed inventory availability for variants in a given sales channel.
|
|
4
|
-
* The object's keys are the variant IDs.
|
|
5
|
-
*/
|
|
6
|
-
export type VariantAvailabilityResult = {
|
|
7
|
-
[variant_id: string]: {
|
|
8
|
-
/**
|
|
9
|
-
* The available inventory quantity for the variant in the sales channel.
|
|
10
|
-
*/
|
|
11
|
-
availability: number | null;
|
|
12
|
-
/**
|
|
13
|
-
* The ID of the sales channel for which the availability was computed.
|
|
14
|
-
*/
|
|
15
|
-
sales_channel_id: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Computes the variant availability for a list of variants in a given sales channel
|
|
20
|
-
*
|
|
21
|
-
* The availability algorithm works as follows:
|
|
22
|
-
* 1. For each variant, we retrieve its inventory items.
|
|
23
|
-
* 2. We calculate the available quantity for each inventory item, considering only the stock locations associated with the given sales channel.
|
|
24
|
-
* 3. For each inventory item, we calculate the maximum deliverable quantity by dividing the available quantity by the quantity required for the variant.
|
|
25
|
-
* 4. We take the minimum of these maximum deliverable quantities across all inventory items for the variant.
|
|
26
|
-
* 5. This minimum value represents the overall availability of the variant in the given sales channel.
|
|
27
|
-
*
|
|
28
|
-
* The algorithm takes into account:
|
|
29
|
-
* - Variant inventory items: The inventory records associated with each variant.
|
|
30
|
-
* - Required quantities: The quantity of each inventory item required to fulfill one unit of the variant.
|
|
31
|
-
* - Sales channels: The specific sales channel for which we're calculating availability.
|
|
32
|
-
* - Stock locations: The inventory locations associated with the sales channel.
|
|
33
|
-
*
|
|
34
|
-
* @param query - The Query function
|
|
35
|
-
* @param data - An object containing the variant ids and the sales channel id to compute the availability for
|
|
36
|
-
* @returns an object containing the variant ids and their availability
|
|
37
|
-
*/
|
|
38
|
-
export declare function getVariantAvailability(query: Omit<RemoteQueryFunction, symbol>, data: VariantAvailabilityData): Promise<VariantAvailabilityResult>;
|
|
39
|
-
type TotalVariantAvailabilityData = {
|
|
40
|
-
variant_ids: string[];
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Computes the total availability for a list of variants across all stock locations
|
|
44
|
-
*
|
|
45
|
-
* @param query - The Query function
|
|
46
|
-
* @param data - An object containing the variant ids to compute the availability for
|
|
47
|
-
* @returns the total availability for the given variants
|
|
48
|
-
*/
|
|
49
|
-
export declare function getTotalVariantAvailability(query: Omit<RemoteQueryFunction, symbol>, data: TotalVariantAvailabilityData): Promise<{
|
|
50
|
-
[variant_id: string]: {
|
|
51
|
-
availability: number | null;
|
|
52
|
-
};
|
|
53
|
-
}>;
|
|
54
|
-
type VariantAvailabilityData = {
|
|
55
|
-
variant_ids: string[];
|
|
56
|
-
sales_channel_id: string;
|
|
57
|
-
};
|
|
58
|
-
export {};
|
|
59
|
-
//# sourceMappingURL=get-variant-availability.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-variant-availability.d.ts","sourceRoot":"","sources":["../../src/product/get-variant-availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,CAAC,UAAU,EAAE,MAAM,GAAG;QACpB;;WAEG;QACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B;;WAEG;QACH,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACxC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,yBAAyB,CAAC,CAkBpC;AAED,KAAK,4BAA4B,GAAG;IAClC,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACxC,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC;IACT,CAAC,UAAU,EAAE,MAAM,GAAG;QACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;CACF,CAAC,CAiBD;AAmDD,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getVariantAvailability = getVariantAvailability;
|
|
4
|
-
exports.getTotalVariantAvailability = getTotalVariantAvailability;
|
|
5
|
-
/**
|
|
6
|
-
* Computes the variant availability for a list of variants in a given sales channel
|
|
7
|
-
*
|
|
8
|
-
* The availability algorithm works as follows:
|
|
9
|
-
* 1. For each variant, we retrieve its inventory items.
|
|
10
|
-
* 2. We calculate the available quantity for each inventory item, considering only the stock locations associated with the given sales channel.
|
|
11
|
-
* 3. For each inventory item, we calculate the maximum deliverable quantity by dividing the available quantity by the quantity required for the variant.
|
|
12
|
-
* 4. We take the minimum of these maximum deliverable quantities across all inventory items for the variant.
|
|
13
|
-
* 5. This minimum value represents the overall availability of the variant in the given sales channel.
|
|
14
|
-
*
|
|
15
|
-
* The algorithm takes into account:
|
|
16
|
-
* - Variant inventory items: The inventory records associated with each variant.
|
|
17
|
-
* - Required quantities: The quantity of each inventory item required to fulfill one unit of the variant.
|
|
18
|
-
* - Sales channels: The specific sales channel for which we're calculating availability.
|
|
19
|
-
* - Stock locations: The inventory locations associated with the sales channel.
|
|
20
|
-
*
|
|
21
|
-
* @param query - The Query function
|
|
22
|
-
* @param data - An object containing the variant ids and the sales channel id to compute the availability for
|
|
23
|
-
* @returns an object containing the variant ids and their availability
|
|
24
|
-
*/
|
|
25
|
-
async function getVariantAvailability(query, data) {
|
|
26
|
-
const { variantInventoriesMap, locationIds } = await getDataForComputation(query, data);
|
|
27
|
-
return data.variant_ids.reduce((acc, variantId) => {
|
|
28
|
-
const variantInventoryItems = variantInventoriesMap.get(variantId) || [];
|
|
29
|
-
acc[variantId] = {
|
|
30
|
-
availability: computeVariantAvailability(variantInventoryItems, locationIds, { requireChannelCheck: true }),
|
|
31
|
-
sales_channel_id: data.sales_channel_id,
|
|
32
|
-
};
|
|
33
|
-
return acc;
|
|
34
|
-
}, {});
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Computes the total availability for a list of variants across all stock locations
|
|
38
|
-
*
|
|
39
|
-
* @param query - The Query function
|
|
40
|
-
* @param data - An object containing the variant ids to compute the availability for
|
|
41
|
-
* @returns the total availability for the given variants
|
|
42
|
-
*/
|
|
43
|
-
async function getTotalVariantAvailability(query, data) {
|
|
44
|
-
const { variantInventoriesMap, locationIds } = await getDataForComputation(query, data);
|
|
45
|
-
return data.variant_ids.reduce((acc, variantId) => {
|
|
46
|
-
const variantInventoryItems = variantInventoriesMap.get(variantId) || [];
|
|
47
|
-
acc[variantId] = {
|
|
48
|
-
availability: computeVariantAvailability(variantInventoryItems, locationIds, { requireChannelCheck: false }),
|
|
49
|
-
};
|
|
50
|
-
return acc;
|
|
51
|
-
}, {});
|
|
52
|
-
}
|
|
53
|
-
const computeVariantAvailability = (variantInventoryItems, channelLocationsSet, { requireChannelCheck } = { requireChannelCheck: true }) => {
|
|
54
|
-
const inventoryQuantities = [];
|
|
55
|
-
for (const link of variantInventoryItems) {
|
|
56
|
-
const requiredQuantity = link.required_quantity;
|
|
57
|
-
const availableQuantity = (link.inventory?.location_levels || []).reduce((sum, level) => {
|
|
58
|
-
if (requireChannelCheck &&
|
|
59
|
-
!channelLocationsSet.has(level.location_id)) {
|
|
60
|
-
return sum;
|
|
61
|
-
}
|
|
62
|
-
return sum + (level?.available_quantity || 0);
|
|
63
|
-
}, 0);
|
|
64
|
-
// This will give us the maximum deliverable quantities for each inventory item
|
|
65
|
-
const maxInventoryQuantity = Math.floor(availableQuantity / requiredQuantity);
|
|
66
|
-
inventoryQuantities.push(maxInventoryQuantity);
|
|
67
|
-
}
|
|
68
|
-
return inventoryQuantities.length ? Math.min(...inventoryQuantities) : null;
|
|
69
|
-
};
|
|
70
|
-
const getDataForComputation = async (query, data) => {
|
|
71
|
-
const { data: variantInventoryItems } = await query.graph({
|
|
72
|
-
entity: "product_variant_inventory_items",
|
|
73
|
-
fields: [
|
|
74
|
-
"variant_id",
|
|
75
|
-
"required_quantity",
|
|
76
|
-
"variant.manage_inventory",
|
|
77
|
-
"variant.allow_backorder",
|
|
78
|
-
"inventory.*",
|
|
79
|
-
"inventory.location_levels.*",
|
|
80
|
-
],
|
|
81
|
-
filters: { variant_id: data.variant_ids },
|
|
82
|
-
}, {
|
|
83
|
-
cache: {
|
|
84
|
-
enable: true,
|
|
85
|
-
},
|
|
86
|
-
});
|
|
87
|
-
const variantInventoriesMap = new Map();
|
|
88
|
-
variantInventoryItems.forEach((link) => {
|
|
89
|
-
const array = variantInventoriesMap.get(link.variant_id) || [];
|
|
90
|
-
array.push(link);
|
|
91
|
-
variantInventoriesMap.set(link.variant_id, array);
|
|
92
|
-
});
|
|
93
|
-
const locationIds = new Set();
|
|
94
|
-
if (data.sales_channel_id) {
|
|
95
|
-
const { data: channelLocations } = await query.graph({
|
|
96
|
-
entity: "sales_channel_locations",
|
|
97
|
-
fields: ["stock_location_id"],
|
|
98
|
-
filters: { sales_channel_id: data.sales_channel_id },
|
|
99
|
-
}, {
|
|
100
|
-
cache: {
|
|
101
|
-
tags: [
|
|
102
|
-
`SalesChannel:${data.sales_channel_id}`,
|
|
103
|
-
"StockLocation:list:*",
|
|
104
|
-
],
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
channelLocations.forEach((loc) => locationIds.add(loc.stock_location_id));
|
|
108
|
-
}
|
|
109
|
-
return { variantInventoriesMap, locationIds };
|
|
110
|
-
};
|
|
111
|
-
//# sourceMappingURL=get-variant-availability.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-variant-availability.js","sourceRoot":"","sources":["../../src/product/get-variant-availability.ts"],"names":[],"mappings":"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"}
|
package/dist/product/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,KAAK,iBAAiB,MAAM,cAAc,CAAA"}
|
package/dist/product/index.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
-
};
|
|
21
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
-
var ownKeys = function(o) {
|
|
23
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
-
var ar = [];
|
|
25
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
-
return ar;
|
|
27
|
-
};
|
|
28
|
-
return ownKeys(o);
|
|
29
|
-
};
|
|
30
|
-
return function (mod) {
|
|
31
|
-
if (mod && mod.__esModule) return mod;
|
|
32
|
-
var result = {};
|
|
33
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
-
__setModuleDefault(result, mod);
|
|
35
|
-
return result;
|
|
36
|
-
};
|
|
37
|
-
})();
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.productValidators = void 0;
|
|
40
|
-
__exportStar(require("./events"), exports);
|
|
41
|
-
__exportStar(require("./enums"), exports);
|
|
42
|
-
__exportStar(require("./csv-normalizer"), exports);
|
|
43
|
-
__exportStar(require("./get-variant-availability"), exports);
|
|
44
|
-
exports.productValidators = __importStar(require("./validators"));
|
|
45
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,0CAAuB;AACvB,mDAAgC;AAChC,6DAA0C;AAC1C,kEAAiD"}
|