@acmekit/utils 2.13.2 → 2.13.4

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.
Files changed (192) hide show
  1. package/dist/bundles.d.ts +0 -7
  2. package/dist/bundles.d.ts.map +1 -1
  3. package/dist/bundles.js +1 -8
  4. package/dist/bundles.js.map +1 -1
  5. package/dist/common/define-config.d.ts.map +1 -1
  6. package/dist/common/define-config.js +2 -49
  7. package/dist/common/define-config.js.map +1 -1
  8. package/dist/index.d.ts +0 -9
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +0 -9
  11. package/dist/index.js.map +1 -1
  12. package/dist/link/links.d.ts +0 -21
  13. package/dist/link/links.d.ts.map +1 -1
  14. package/dist/link/links.js +0 -21
  15. package/dist/link/links.js.map +1 -1
  16. package/dist/modules-sdk/definition.d.ts +0 -39
  17. package/dist/modules-sdk/definition.d.ts.map +1 -1
  18. package/dist/modules-sdk/definition.js +0 -26
  19. package/dist/modules-sdk/definition.js.map +1 -1
  20. package/dist/modules-sdk/modules-to-container-types.d.ts.map +1 -1
  21. package/dist/modules-sdk/modules-to-container-types.js +0 -13
  22. package/dist/modules-sdk/modules-to-container-types.js.map +1 -1
  23. package/dist/translations/index.d.ts +0 -1
  24. package/dist/translations/index.d.ts.map +1 -1
  25. package/dist/translations/index.js +0 -1
  26. package/dist/translations/index.js.map +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +3 -3
  29. package/dist/fulfillment/events.d.ts +0 -77
  30. package/dist/fulfillment/events.d.ts.map +0 -1
  31. package/dist/fulfillment/events.js +0 -117
  32. package/dist/fulfillment/events.js.map +0 -1
  33. package/dist/fulfillment/geo-zone.d.ts +0 -7
  34. package/dist/fulfillment/geo-zone.d.ts.map +0 -1
  35. package/dist/fulfillment/geo-zone.js +0 -11
  36. package/dist/fulfillment/geo-zone.js.map +0 -1
  37. package/dist/fulfillment/index.d.ts +0 -5
  38. package/dist/fulfillment/index.d.ts.map +0 -1
  39. package/dist/fulfillment/index.js +0 -21
  40. package/dist/fulfillment/index.js.map +0 -1
  41. package/dist/fulfillment/provider.d.ts +0 -394
  42. package/dist/fulfillment/provider.d.ts.map +0 -1
  43. package/dist/fulfillment/provider.js +0 -412
  44. package/dist/fulfillment/provider.js.map +0 -1
  45. package/dist/fulfillment/shipping-options.d.ts +0 -5
  46. package/dist/fulfillment/shipping-options.d.ts.map +0 -1
  47. package/dist/fulfillment/shipping-options.js +0 -9
  48. package/dist/fulfillment/shipping-options.js.map +0 -1
  49. package/dist/inventory/events.d.ts +0 -26
  50. package/dist/inventory/events.d.ts.map +0 -1
  51. package/dist/inventory/events.js +0 -40
  52. package/dist/inventory/events.js.map +0 -1
  53. package/dist/inventory/index.d.ts +0 -2
  54. package/dist/inventory/index.d.ts.map +0 -1
  55. package/dist/inventory/index.js +0 -18
  56. package/dist/inventory/index.js.map +0 -1
  57. package/dist/order/index.d.ts +0 -4
  58. package/dist/order/index.d.ts.map +0 -1
  59. package/dist/order/index.js +0 -20
  60. package/dist/order/index.js.map +0 -1
  61. package/dist/order/order-change-action.d.ts +0 -25
  62. package/dist/order/order-change-action.d.ts.map +0 -1
  63. package/dist/order/order-change-action.js +0 -29
  64. package/dist/order/order-change-action.js.map +0 -1
  65. package/dist/order/order-change.d.ts +0 -31
  66. package/dist/order/order-change.d.ts.map +0 -1
  67. package/dist/order/order-change.js +0 -36
  68. package/dist/order/order-change.js.map +0 -1
  69. package/dist/order/status.d.ts +0 -85
  70. package/dist/order/status.d.ts.map +0 -1
  71. package/dist/order/status.js +0 -92
  72. package/dist/order/status.js.map +0 -1
  73. package/dist/payment/abstract-payment-provider.d.ts +0 -632
  74. package/dist/payment/abstract-payment-provider.d.ts.map +0 -1
  75. package/dist/payment/abstract-payment-provider.js +0 -110
  76. package/dist/payment/abstract-payment-provider.js.map +0 -1
  77. package/dist/payment/index.d.ts +0 -5
  78. package/dist/payment/index.d.ts.map +0 -1
  79. package/dist/payment/index.js +0 -21
  80. package/dist/payment/index.js.map +0 -1
  81. package/dist/payment/payment-collection.d.ts +0 -40
  82. package/dist/payment/payment-collection.d.ts.map +0 -1
  83. package/dist/payment/payment-collection.js +0 -44
  84. package/dist/payment/payment-collection.js.map +0 -1
  85. package/dist/payment/payment-session.d.ts +0 -32
  86. package/dist/payment/payment-session.d.ts.map +0 -1
  87. package/dist/payment/payment-session.js +0 -36
  88. package/dist/payment/payment-session.js.map +0 -1
  89. package/dist/payment/webhook.d.ts +0 -37
  90. package/dist/payment/webhook.d.ts.map +0 -1
  91. package/dist/payment/webhook.js +0 -42
  92. package/dist/payment/webhook.js.map +0 -1
  93. package/dist/pricing/builders.d.ts +0 -10
  94. package/dist/pricing/builders.d.ts.map +0 -1
  95. package/dist/pricing/builders.js +0 -53
  96. package/dist/pricing/builders.js.map +0 -1
  97. package/dist/pricing/enums.d.ts +0 -8
  98. package/dist/pricing/enums.d.ts.map +0 -1
  99. package/dist/pricing/enums.js +0 -12
  100. package/dist/pricing/enums.js.map +0 -1
  101. package/dist/pricing/events.d.ts +0 -38
  102. package/dist/pricing/events.d.ts.map +0 -1
  103. package/dist/pricing/events.js +0 -50
  104. package/dist/pricing/events.js.map +0 -1
  105. package/dist/pricing/index.d.ts +0 -5
  106. package/dist/pricing/index.d.ts.map +0 -1
  107. package/dist/pricing/index.js +0 -21
  108. package/dist/pricing/index.js.map +0 -1
  109. package/dist/pricing/price-list.d.ts +0 -9
  110. package/dist/pricing/price-list.d.ts.map +0 -1
  111. package/dist/pricing/price-list.js +0 -14
  112. package/dist/pricing/price-list.js.map +0 -1
  113. package/dist/product/csv-normalizer.d.ts +0 -43
  114. package/dist/product/csv-normalizer.d.ts.map +0 -1
  115. package/dist/product/csv-normalizer.js +0 -382
  116. package/dist/product/csv-normalizer.js.map +0 -1
  117. package/dist/product/enums.d.ts +0 -7
  118. package/dist/product/enums.d.ts.map +0 -1
  119. package/dist/product/enums.js +0 -11
  120. package/dist/product/enums.js.map +0 -1
  121. package/dist/product/events.d.ts +0 -62
  122. package/dist/product/events.d.ts.map +0 -1
  123. package/dist/product/events.js +0 -88
  124. package/dist/product/events.js.map +0 -1
  125. package/dist/product/get-variant-availability.d.ts +0 -59
  126. package/dist/product/get-variant-availability.d.ts.map +0 -1
  127. package/dist/product/get-variant-availability.js +0 -111
  128. package/dist/product/get-variant-availability.js.map +0 -1
  129. package/dist/product/index.d.ts +0 -6
  130. package/dist/product/index.d.ts.map +0 -1
  131. package/dist/product/index.js +0 -45
  132. package/dist/product/index.js.map +0 -1
  133. package/dist/product/validators.d.ts +0 -894
  134. package/dist/product/validators.d.ts.map +0 -1
  135. package/dist/product/validators.js +0 -163
  136. package/dist/product/validators.js.map +0 -1
  137. package/dist/promotion/index.d.ts +0 -57
  138. package/dist/promotion/index.d.ts.map +0 -1
  139. package/dist/promotion/index.js +0 -70
  140. package/dist/promotion/index.js.map +0 -1
  141. package/dist/shipping/index.d.ts +0 -6
  142. package/dist/shipping/index.d.ts.map +0 -1
  143. package/dist/shipping/index.js +0 -10
  144. package/dist/shipping/index.js.map +0 -1
  145. package/dist/totals/adjustment/index.d.ts +0 -16
  146. package/dist/totals/adjustment/index.d.ts.map +0 -1
  147. package/dist/totals/adjustment/index.js +0 -49
  148. package/dist/totals/adjustment/index.js.map +0 -1
  149. package/dist/totals/cart/index.d.ts +0 -40
  150. package/dist/totals/cart/index.d.ts.map +0 -1
  151. package/dist/totals/cart/index.js +0 -165
  152. package/dist/totals/cart/index.js.map +0 -1
  153. package/dist/totals/create-raw-properties-from-bignumber.d.ts +0 -5
  154. package/dist/totals/create-raw-properties-from-bignumber.d.ts.map +0 -1
  155. package/dist/totals/create-raw-properties-from-bignumber.js +0 -52
  156. package/dist/totals/create-raw-properties-from-bignumber.js.map +0 -1
  157. package/dist/totals/credit-lines/index.d.ts +0 -14
  158. package/dist/totals/credit-lines/index.d.ts.map +0 -1
  159. package/dist/totals/credit-lines/index.js +0 -46
  160. package/dist/totals/credit-lines/index.js.map +0 -1
  161. package/dist/totals/index.d.ts +0 -9
  162. package/dist/totals/index.d.ts.map +0 -1
  163. package/dist/totals/index.js +0 -25
  164. package/dist/totals/index.js.map +0 -1
  165. package/dist/totals/line-item/index.d.ts +0 -48
  166. package/dist/totals/line-item/index.d.ts.map +0 -1
  167. package/dist/totals/line-item/index.js +0 -123
  168. package/dist/totals/line-item/index.js.map +0 -1
  169. package/dist/totals/math.d.ts +0 -26
  170. package/dist/totals/math.d.ts.map +0 -1
  171. package/dist/totals/math.js +0 -107
  172. package/dist/totals/math.js.map +0 -1
  173. package/dist/totals/promotion/index.d.ts +0 -5
  174. package/dist/totals/promotion/index.d.ts.map +0 -1
  175. package/dist/totals/promotion/index.js +0 -124
  176. package/dist/totals/promotion/index.js.map +0 -1
  177. package/dist/totals/shipping-method/index.d.ts +0 -28
  178. package/dist/totals/shipping-method/index.d.ts.map +0 -1
  179. package/dist/totals/shipping-method/index.js +0 -59
  180. package/dist/totals/shipping-method/index.js.map +0 -1
  181. package/dist/totals/tax/index.d.ts +0 -16
  182. package/dist/totals/tax/index.d.ts.map +0 -1
  183. package/dist/totals/tax/index.js +0 -37
  184. package/dist/totals/tax/index.js.map +0 -1
  185. package/dist/totals/transform-properties-to-bignumber.d.ts +0 -6
  186. package/dist/totals/transform-properties-to-bignumber.d.ts.map +0 -1
  187. package/dist/totals/transform-properties-to-bignumber.js +0 -40
  188. package/dist/totals/transform-properties-to-bignumber.js.map +0 -1
  189. package/dist/translations/apply-translations-to-tax-lines.d.ts +0 -12
  190. package/dist/translations/apply-translations-to-tax-lines.d.ts.map +0 -1
  191. package/dist/translations/apply-translations-to-tax-lines.js +0 -38
  192. package/dist/translations/apply-translations-to-tax-lines.js.map +0 -1
@@ -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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"}
@@ -1,6 +0,0 @@
1
- export * from "./events";
2
- export * from "./enums";
3
- export * from "./csv-normalizer";
4
- export * from "./get-variant-availability";
5
- export * as productValidators from "./validators";
6
- //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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"}