@pisell/pisellos 0.0.569 → 0.10.2

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 (328) hide show
  1. package/dist/core/index.js +10 -6
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -3
  4. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  5. package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
  6. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  7. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  8. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  9. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  10. package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
  11. package/dist/model/strategy/strategy-example.js +19 -5
  12. package/dist/modules/BaseModule.d.ts +1 -1
  13. package/dist/modules/BaseModule.js +8 -10
  14. package/dist/modules/Cart/index.js +3 -0
  15. package/dist/modules/Cart/utils/cartProduct.js +1 -0
  16. package/dist/modules/Cart/utils/cartResource.js +0 -2
  17. package/dist/modules/Cart/utils/changePrice.js +9 -16
  18. package/dist/modules/Date/index.js +5 -1
  19. package/dist/modules/Discount/index.d.ts +0 -1
  20. package/dist/modules/Discount/index.js +7 -22
  21. package/dist/modules/Discount/types.d.ts +0 -1
  22. package/dist/modules/OpenData/index.js +2 -0
  23. package/dist/modules/Order/index.js +70 -40
  24. package/dist/modules/Payment/index.js +162 -97
  25. package/dist/modules/Payment/types.d.ts +4 -8
  26. package/dist/modules/Payment/walletpass.d.ts +0 -2
  27. package/dist/modules/Payment/walletpass.js +5 -4
  28. package/dist/modules/ProductList/index.d.ts +1 -1
  29. package/dist/modules/ProductList/index.js +3 -12
  30. package/dist/modules/ProductList/types.d.ts +0 -1
  31. package/dist/modules/Rules/index.js +126 -427
  32. package/dist/modules/SalesSummary/utils.js +1 -2
  33. package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
  34. package/dist/modules/Schedule/index.js +1 -0
  35. package/dist/modules/Schedule/utils.js +1 -0
  36. package/dist/modules/Step/index.js +1 -0
  37. package/dist/modules/Summary/utils.js +22 -43
  38. package/dist/plugins/request.js +4 -1
  39. package/dist/plugins/window.js +6 -2
  40. package/dist/server/index.js +129 -97
  41. package/dist/server/modules/menu/index.js +41 -32
  42. package/dist/server/modules/order/index.js +4 -2
  43. package/dist/server/modules/products/index.js +42 -24
  44. package/dist/server/modules/quotation/index.js +38 -29
  45. package/dist/server/modules/resource/index.js +4 -3
  46. package/dist/server/modules/schedule/index.js +35 -27
  47. package/dist/server/utils/product.js +1 -0
  48. package/dist/solution/BaseSales/index.js +41 -38
  49. package/dist/solution/BookingByStep/index.d.ts +1 -1
  50. package/dist/solution/BookingByStep/index.js +60 -11
  51. package/dist/solution/BookingByStep/utils/capacity.js +11 -1
  52. package/dist/solution/BookingByStep/utils/resources.js +3 -1
  53. package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
  54. package/dist/solution/BookingTicket/index.d.ts +1 -1
  55. package/dist/solution/BookingTicket/index.js +2 -0
  56. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
  57. package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
  58. package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
  59. package/dist/solution/BuyTickets/index.js +12 -9
  60. package/dist/solution/Checkout/index.js +252 -177
  61. package/dist/solution/Checkout/utils/index.js +16 -4
  62. package/dist/solution/RegisterAndLogin/index.js +76 -30
  63. package/dist/solution/ScanOrder/index.js +60 -50
  64. package/dist/solution/ShopDiscount/index.js +14 -15
  65. package/dist/solution/ShopDiscount/types.d.ts +4 -5
  66. package/dist/solution/ShopDiscount/utils.d.ts +0 -9
  67. package/dist/solution/ShopDiscount/utils.js +0 -9
  68. package/dist/solution/VenueBooking/index.d.ts +3 -31
  69. package/dist/solution/VenueBooking/index.js +496 -651
  70. package/dist/solution/VenueBooking/types.d.ts +1 -3
  71. package/dist/solution/VenueBooking/types.js +0 -1
  72. package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  73. package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
  74. package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  75. package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/utils/task.js +18 -15
  78. package/dist/utils/watch.js +1 -0
  79. package/lib/apis/picoding.js +0 -2
  80. package/lib/core/index.js +132 -130
  81. package/lib/effects/index.js +57 -46
  82. package/lib/index.d.ts +0 -1
  83. package/lib/index.js +50 -92
  84. package/lib/model/index.js +21 -14
  85. package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
  86. package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
  87. package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
  88. package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
  89. package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
  90. package/lib/model/strategy/adapter/index.js +64 -100
  91. package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
  92. package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
  93. package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
  94. package/lib/model/strategy/adapter/itemRule/index.js +57 -83
  95. package/lib/model/strategy/adapter/itemRule/type.js +36 -97
  96. package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
  97. package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
  98. package/lib/model/strategy/adapter/promotion/examples.js +159 -139
  99. package/lib/model/strategy/adapter/promotion/index.js +49 -1
  100. package/lib/model/strategy/adapter/promotion/type.js +35 -199
  101. package/lib/model/strategy/adapter/type.js +16 -4
  102. package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
  103. package/lib/model/strategy/adapter/walletPass/example.js +190 -217
  104. package/lib/model/strategy/adapter/walletPass/index.js +51 -75
  105. package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
  106. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
  107. package/lib/model/strategy/adapter/walletPass/type.js +16 -4
  108. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  109. package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
  110. package/lib/model/strategy/engine.js +168 -270
  111. package/lib/model/strategy/index.js +34 -49
  112. package/lib/model/strategy/strategy-example.js +239 -243
  113. package/lib/model/strategy/type.js +40 -100
  114. package/lib/modules/Account/index.js +53 -39
  115. package/lib/modules/Account/types.js +33 -20
  116. package/lib/modules/AccountList/index.js +154 -116
  117. package/lib/modules/AccountList/types.js +31 -30
  118. package/lib/modules/AccountList/utils.js +30 -18
  119. package/lib/modules/BaseModule.d.ts +1 -1
  120. package/lib/modules/BaseModule.js +46 -25
  121. package/lib/modules/BookingContext/index.js +136 -158
  122. package/lib/modules/BookingContext/types.js +32 -46
  123. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
  124. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
  125. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
  126. package/lib/modules/BookingContext/utils/flexible.js +55 -38
  127. package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
  128. package/lib/modules/BookingContext/utils/index.js +41 -124
  129. package/lib/modules/BookingContext/utils/noResource.js +70 -58
  130. package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
  131. package/lib/modules/BookingContext/utils/productExtend.js +155 -202
  132. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  133. package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
  134. package/lib/modules/BookingContext/utils/resources.js +167 -209
  135. package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
  136. package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
  137. package/lib/modules/Cart/index.js +124 -170
  138. package/lib/modules/Cart/types.js +51 -46
  139. package/lib/modules/Cart/utils/cartAccount.js +39 -40
  140. package/lib/modules/Cart/utils/cartDate.js +61 -56
  141. package/lib/modules/Cart/utils/cartDiscount.js +33 -28
  142. package/lib/modules/Cart/utils/cartNote.js +32 -27
  143. package/lib/modules/Cart/utils/cartProduct.js +251 -321
  144. package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
  145. package/lib/modules/Cart/utils/cartResource.js +78 -72
  146. package/lib/modules/Cart/utils/changePrice.js +50 -28
  147. package/lib/modules/Cart/utils/index.js +48 -106
  148. package/lib/modules/Customer/constants.js +34 -13
  149. package/lib/modules/Customer/index.js +169 -232
  150. package/lib/modules/Customer/types.js +35 -38
  151. package/lib/modules/Date/index.js +115 -116
  152. package/lib/modules/Date/types.js +28 -16
  153. package/lib/modules/Date/utils.js +123 -174
  154. package/lib/modules/Discount/index.d.ts +0 -1
  155. package/lib/modules/Discount/index.js +128 -130
  156. package/lib/modules/Discount/types.d.ts +0 -1
  157. package/lib/modules/Discount/types.js +31 -9
  158. package/lib/modules/Guests/index.js +56 -30
  159. package/lib/modules/Guests/types.js +33 -23
  160. package/lib/modules/Holder/index.js +189 -209
  161. package/lib/modules/Holder/types.js +16 -4
  162. package/lib/modules/Holder/utils.js +49 -20
  163. package/lib/modules/OpenData/index.js +76 -69
  164. package/lib/modules/OpenData/types.js +16 -4
  165. package/lib/modules/OpenData/utils.js +78 -44
  166. package/lib/modules/Order/index.js +1909 -1572
  167. package/lib/modules/Order/types.js +35 -78
  168. package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
  169. package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
  170. package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
  171. package/lib/modules/Order/utils.js +634 -799
  172. package/lib/modules/Payment/cash.js +33 -20
  173. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  174. package/lib/modules/Payment/eftpos.js +30 -16
  175. package/lib/modules/Payment/index.js +378 -518
  176. package/lib/modules/Payment/mx51.js +0 -1
  177. package/lib/modules/Payment/types.d.ts +4 -8
  178. package/lib/modules/Payment/types.js +107 -216
  179. package/lib/modules/Payment/utils.js +48 -51
  180. package/lib/modules/Payment/walletpass.d.ts +0 -2
  181. package/lib/modules/Payment/walletpass.js +211 -226
  182. package/lib/modules/Product/index.js +46 -51
  183. package/lib/modules/Product/types.js +16 -4
  184. package/lib/modules/Product/utils.js +33 -32
  185. package/lib/modules/ProductList/index.d.ts +1 -1
  186. package/lib/modules/ProductList/index.js +117 -117
  187. package/lib/modules/ProductList/types.d.ts +0 -1
  188. package/lib/modules/ProductList/types.js +31 -9
  189. package/lib/modules/Quotation/index.js +100 -66
  190. package/lib/modules/Quotation/types.js +16 -4
  191. package/lib/modules/Resource/index.js +59 -27
  192. package/lib/modules/Resource/types.js +32 -22
  193. package/lib/modules/Resource/utils.js +38 -30
  194. package/lib/modules/ResourcePlanner/index.js +61 -60
  195. package/lib/modules/ResourcePlanner/planner.js +384 -346
  196. package/lib/modules/ResourcePlanner/types.js +16 -4
  197. package/lib/modules/Rules/index.js +903 -1475
  198. package/lib/modules/Rules/types.js +40 -17
  199. package/lib/modules/SalesSummary/index.js +90 -85
  200. package/lib/modules/SalesSummary/types.js +16 -4
  201. package/lib/modules/SalesSummary/utils.js +427 -351
  202. package/lib/modules/ScanOrderLogger/index.js +79 -59
  203. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  204. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  205. package/lib/modules/ScanOrderLogger/types.js +16 -4
  206. package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
  207. package/lib/modules/Schedule/index.js +114 -100
  208. package/lib/modules/Schedule/type.js +16 -4
  209. package/lib/modules/Schedule/types.js +16 -4
  210. package/lib/modules/Schedule/utils.js +291 -433
  211. package/lib/modules/Step/index.js +52 -40
  212. package/lib/modules/Step/tyeps.js +16 -4
  213. package/lib/modules/Summary/index.js +71 -66
  214. package/lib/modules/Summary/types.js +16 -4
  215. package/lib/modules/Summary/utils.js +418 -791
  216. package/lib/modules/SurchargeList/index.js +60 -46
  217. package/lib/modules/SurchargeList/types.js +16 -4
  218. package/lib/modules/index.js +63 -245
  219. package/lib/plugins/app.js +16 -4
  220. package/lib/plugins/index.js +25 -36
  221. package/lib/plugins/request.js +126 -137
  222. package/lib/plugins/shopStore.js +16 -4
  223. package/lib/plugins/user.js +16 -4
  224. package/lib/plugins/window.js +179 -171
  225. package/lib/server/index.js +2337 -2675
  226. package/lib/server/modules/floor-plan/index.js +123 -102
  227. package/lib/server/modules/floor-plan/types.js +30 -15
  228. package/lib/server/modules/index.js +68 -106
  229. package/lib/server/modules/menu/index.js +122 -146
  230. package/lib/server/modules/menu/types.js +31 -18
  231. package/lib/server/modules/order/index.js +642 -567
  232. package/lib/server/modules/order/types.js +32 -117
  233. package/lib/server/modules/order/utils/filterBookings.js +194 -219
  234. package/lib/server/modules/order/utils/filterOrders.js +92 -118
  235. package/lib/server/modules/payment/index.js +83 -59
  236. package/lib/server/modules/payment/types.js +16 -4
  237. package/lib/server/modules/products/index.js +459 -575
  238. package/lib/server/modules/products/types.js +34 -44
  239. package/lib/server/modules/quotation/index.js +172 -137
  240. package/lib/server/modules/quotation/types.js +31 -21
  241. package/lib/server/modules/resource/index.js +184 -213
  242. package/lib/server/modules/resource/types.js +33 -42
  243. package/lib/server/modules/schedule/index.js +123 -135
  244. package/lib/server/modules/schedule/types.js +21 -14
  245. package/lib/server/modules/schedule/utils.js +163 -334
  246. package/lib/server/types.js +16 -4
  247. package/lib/server/utils/index.js +23 -25
  248. package/lib/server/utils/product.js +139 -196
  249. package/lib/server/utils/schedule.js +41 -34
  250. package/lib/server/utils/small-ticket.js +456 -478
  251. package/lib/server/utils/time.js +49 -40
  252. package/lib/solution/BaseSales/index.js +1016 -850
  253. package/lib/solution/BaseSales/types.js +37 -41
  254. package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
  255. package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
  256. package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
  257. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
  258. package/lib/solution/BaseSales/utils.js +140 -155
  259. package/lib/solution/BookingByStep/index.d.ts +1 -1
  260. package/lib/solution/BookingByStep/index.js +1340 -1530
  261. package/lib/solution/BookingByStep/types.js +99 -40
  262. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  263. package/lib/solution/BookingByStep/utils/products.js +52 -42
  264. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  265. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  266. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  267. package/lib/solution/BookingTicket/index.d.ts +1 -1
  268. package/lib/solution/BookingTicket/index.js +459 -543
  269. package/lib/solution/BookingTicket/types.js +77 -99
  270. package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
  271. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
  272. package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
  273. package/lib/solution/BookingTicket/utils/cartView.js +94 -110
  274. package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
  275. package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
  276. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
  277. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
  278. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
  279. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
  280. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
  281. package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
  282. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  283. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
  284. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
  285. package/lib/solution/BuyTickets/index.js +70 -67
  286. package/lib/solution/BuyTickets/types.js +38 -22
  287. package/lib/solution/Checkout/index.js +1158 -1451
  288. package/lib/solution/Checkout/types.js +61 -91
  289. package/lib/solution/Checkout/utils/index.js +156 -228
  290. package/lib/solution/PlaceOrder/index.js +0 -55
  291. package/lib/solution/RegisterAndLogin/config.js +460 -493
  292. package/lib/solution/RegisterAndLogin/index.js +630 -633
  293. package/lib/solution/RegisterAndLogin/types.js +76 -189
  294. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  295. package/lib/solution/Sales/index.js +320 -317
  296. package/lib/solution/Sales/types.js +33 -27
  297. package/lib/solution/ScanOrder/index.js +862 -831
  298. package/lib/solution/ScanOrder/types.js +34 -33
  299. package/lib/solution/ScanOrder/utils.js +371 -406
  300. package/lib/solution/ShopDiscount/index.js +233 -235
  301. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  302. package/lib/solution/ShopDiscount/types.js +37 -15
  303. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  304. package/lib/solution/ShopDiscount/utils.js +172 -309
  305. package/lib/solution/UnifiedBookingSales/index.js +405 -379
  306. package/lib/solution/UnifiedBookingSales/types.js +31 -12
  307. package/lib/solution/VenueBooking/index.d.ts +3 -31
  308. package/lib/solution/VenueBooking/index.js +916 -967
  309. package/lib/solution/VenueBooking/types.d.ts +1 -3
  310. package/lib/solution/VenueBooking/types.js +39 -20
  311. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  312. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  313. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  314. package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
  315. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  316. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  317. package/lib/solution/VenueBooking/utils.js +67 -130
  318. package/lib/solution/index.js +41 -124
  319. package/lib/store/createStore.js +29 -32
  320. package/lib/types/index.d.ts +1 -1
  321. package/lib/types/index.js +16 -4
  322. package/lib/utils/task.js +36 -36
  323. package/lib/utils/watch.js +47 -81
  324. package/package.json +2 -4
  325. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  326. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  327. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  328. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
@@ -1,62 +1,87 @@
1
- "use strict";
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
18
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
19
+ // src/solution/BaseSales/utils/transformBaseProductToOrderProduct.ts
20
+ var transformBaseProductToOrderProduct_exports = {};
21
+ __export(transformBaseProductToOrderProduct_exports, {
22
+ transformBaseProductToOrderProduct: () => transformBaseProductToOrderProduct
5
23
  });
6
- exports.transformBaseProductToOrderProduct = transformBaseProductToOrderProduct;
7
- var _utils = require("../../../modules/Order/utils");
8
- var _manualProductDiscount = require("../../../modules/Order/utils/manualProductDiscount");
24
+ module.exports = __toCommonJS(transformBaseProductToOrderProduct_exports);
25
+ var import_utils = require("../../../modules/Order/utils");
26
+ var import_manualProductDiscount = require("../../../modules/Order/utils/manualProductDiscount");
9
27
  function toNumber(value, fallback = 0) {
10
28
  const parsedValue = Number(value);
11
- if (!Number.isFinite(parsedValue)) return fallback;
29
+ if (!Number.isFinite(parsedValue))
30
+ return fallback;
12
31
  return parsedValue;
13
32
  }
14
33
  function toProductId(value) {
15
- if (value === null || value === undefined || value === '') return null;
34
+ if (value === null || value === void 0 || value === "")
35
+ return null;
16
36
  const parsedValue = Number(value);
17
- if (!Number.isFinite(parsedValue)) return null;
37
+ if (!Number.isFinite(parsedValue))
38
+ return null;
18
39
  return parsedValue;
19
40
  }
20
41
  function toSafePositiveInt(value, fallback = 1) {
21
42
  const parsedValue = Math.floor(Number(value));
22
- if (!Number.isFinite(parsedValue) || parsedValue < 1) return fallback;
43
+ if (!Number.isFinite(parsedValue) || parsedValue < 1)
44
+ return fallback;
23
45
  return parsedValue;
24
46
  }
25
- function toPriceString(value, fallback = '0.00') {
47
+ function toPriceString(value, fallback = "0.00") {
26
48
  const parsedValue = Number(value);
27
- if (!Number.isFinite(parsedValue)) return fallback;
49
+ if (!Number.isFinite(parsedValue))
50
+ return fallback;
28
51
  return parsedValue.toFixed(2);
29
52
  }
30
53
  function isBlankValue(value) {
31
- return value === undefined || value === null || typeof value === 'string' && value.trim() === '';
54
+ return value === void 0 || value === null || typeof value === "string" && value.trim() === "";
32
55
  }
33
56
  function firstNonBlank(...values) {
34
- return values.find(value => !isBlankValue(value));
57
+ return values.find((value) => !isBlankValue(value));
35
58
  }
36
59
  function normalizeOptionItems(optionItems) {
37
- if (!Array.isArray(optionItems)) return [];
38
- return optionItems.map(optionItem => {
39
- const optionGroupItemId = toNumber(optionItem?.option_group_item_id ?? optionItem?.id);
40
- const price = optionItem?.price ?? optionItem?.add_price ?? 0;
60
+ if (!Array.isArray(optionItems))
61
+ return [];
62
+ return optionItems.map((optionItem) => {
63
+ const optionGroupItemId = toNumber((optionItem == null ? void 0 : optionItem.option_group_item_id) ?? (optionItem == null ? void 0 : optionItem.id));
64
+ const price = (optionItem == null ? void 0 : optionItem.price) ?? (optionItem == null ? void 0 : optionItem.add_price) ?? 0;
41
65
  return {
42
66
  ...optionItem,
43
67
  option_group_item_id: optionGroupItemId,
44
- option_group_id: toNumber(optionItem?.option_group_id),
45
- num: toSafePositiveInt(optionItem?.num ?? optionItem?.quantity, 1),
68
+ option_group_id: toNumber(optionItem == null ? void 0 : optionItem.option_group_id),
69
+ num: toSafePositiveInt((optionItem == null ? void 0 : optionItem.num) ?? (optionItem == null ? void 0 : optionItem.quantity), 1),
46
70
  add_price: toNumber(price, 0),
47
- price: undefined
71
+ price: void 0
48
72
  };
49
73
  });
50
74
  }
51
75
  function normalizeBundleItems(bundleItems, preferPriceField = false) {
52
- if (!Array.isArray(bundleItems)) return [];
53
- return bundleItems.map(bundleItem => {
54
- const unitSelling = preferPriceField ? bundleItem.price ?? bundleItem.bundle_selling_price ?? bundleItem.custom_price ?? bundleItem.product_price ?? '0' : bundleItem.bundle_selling_price ?? bundleItem.price ?? bundleItem.custom_price ?? bundleItem.product_price ?? '0';
55
- const unitStr = toPriceString(unitSelling, '0.00');
56
- const num = toSafePositiveInt(bundleItem?.num ?? bundleItem?.quantity, 1);
76
+ if (!Array.isArray(bundleItems))
77
+ return [];
78
+ return bundleItems.map((bundleItem) => {
79
+ const unitSelling = preferPriceField ? bundleItem.price ?? bundleItem.bundle_selling_price ?? bundleItem.custom_price ?? bundleItem.product_price ?? "0" : bundleItem.bundle_selling_price ?? bundleItem.price ?? bundleItem.custom_price ?? bundleItem.product_price ?? "0";
80
+ const unitStr = toPriceString(unitSelling, "0.00");
81
+ const num = toSafePositiveInt((bundleItem == null ? void 0 : bundleItem.num) ?? (bundleItem == null ? void 0 : bundleItem.quantity), 1);
57
82
  const magnitudeSource = {
58
83
  ...bundleItem,
59
- option: normalizeOptionItems(bundleItem?.option),
84
+ option: normalizeOptionItems(bundleItem == null ? void 0 : bundleItem.option),
60
85
  bundle_selling_price: unitStr,
61
86
  // 计算 markdown 净额时,只传真实毛价;仅有 bundle_selling_price 时按历史净额兜底。
62
87
  price: bundleItem.price ?? bundleItem.custom_price
@@ -64,17 +89,16 @@ function normalizeBundleItems(bundleItems, preferPriceField = false) {
64
89
  const normalizedItem = {
65
90
  ...bundleItem,
66
91
  num,
67
- quantity: bundleItem?.quantity ?? num,
92
+ quantity: (bundleItem == null ? void 0 : bundleItem.quantity) ?? num,
68
93
  // price 保留毛价(markdown 仍为正),由 price_type 决定符号。
69
94
  price: bundleItem.price ?? unitStr,
70
95
  bundle_selling_price: unitStr,
71
96
  original_price: bundleItem.original_price ?? bundleItem.product_price ?? bundleItem.price ?? unitStr,
72
- option: normalizeOptionItems(bundleItem?.option),
97
+ option: normalizeOptionItems(bundleItem == null ? void 0 : bundleItem.option),
73
98
  discount_list: preferPriceField ? [] : bundleItem.discount_list
74
99
  };
75
- // bundle_selling_price 落「正净额」:markdown = |price| − Σoptions;markup/原价维持原值。
76
- normalizedItem.bundle_selling_price = (0, _utils.getBundleSellingMagnitude)(magnitudeSource).toFixed(2);
77
- if ((normalizedItem.price_type ?? normalizedItem.custom_price_type) === 'markdown' && (normalizedItem.price_type_ext === '' || normalizedItem.price_type_ext === undefined || normalizedItem.price_type_ext === null)) {
100
+ normalizedItem.bundle_selling_price = (0, import_utils.getBundleSellingMagnitude)(magnitudeSource).toFixed(2);
101
+ if ((normalizedItem.price_type ?? normalizedItem.custom_price_type) === "markdown" && (normalizedItem.price_type_ext === "" || normalizedItem.price_type_ext === void 0 || normalizedItem.price_type_ext === null)) {
78
102
  normalizedItem.custom_price = normalizedItem.custom_price ?? normalizedItem.price;
79
103
  normalizedItem.price = normalizedItem.bundle_selling_price;
80
104
  }
@@ -82,80 +106,90 @@ function normalizeBundleItems(bundleItems, preferPriceField = false) {
82
106
  });
83
107
  }
84
108
  function findVariantById(origin, variantId) {
85
- if (!origin || !variantId || variantId <= 0) return null;
86
- const variants = Array.isArray(origin?.variant) ? origin.variant : [];
87
- return variants.find(variant => Number(variant?.id) === variantId) || null;
109
+ if (!origin || !variantId || variantId <= 0)
110
+ return null;
111
+ const variants = Array.isArray(origin == null ? void 0 : origin.variant) ? origin.variant : [];
112
+ return variants.find((variant) => Number(variant == null ? void 0 : variant.id) === variantId) || null;
88
113
  }
89
-
90
- /**
91
- * 将商品列表原始数据 + 商品详情选择回调转换成 OrderModule.addProductToOrder 入参。
92
- *
93
- * 注意:这里不生成 identity,缺省时由 OrderModule 自动补齐。
94
- */
95
114
  function transformBaseProductToOrderProduct(params) {
96
- const {
97
- payload,
98
- fallbackProductId = null
99
- } = params;
100
- if (!payload || typeof payload !== 'object') return null;
115
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
116
+ const { payload, fallbackProductId = null } = params;
117
+ if (!payload || typeof payload !== "object")
118
+ return null;
101
119
  const sourceProduct = params.sourceProduct || params.sourceItem || {};
102
- const productId = toProductId(payload.product_id ?? payload.id ?? sourceProduct?.product_id ?? sourceProduct?.id ?? fallbackProductId);
103
- if (productId === null) return null;
104
- const productVariantId = toNumber(payload.product_variant_id ?? payload.variant_id ?? sourceProduct?.product_variant_id ?? sourceProduct?.variant_id, 0);
105
- const callbackOrigin = payload.origin || payload._origin?.sourceProduct || payload._origin?.sourceItem || payload._origin || {};
120
+ const productId = toProductId(
121
+ payload.product_id ?? payload.id ?? (sourceProduct == null ? void 0 : sourceProduct.product_id) ?? (sourceProduct == null ? void 0 : sourceProduct.id) ?? fallbackProductId
122
+ );
123
+ if (productId === null)
124
+ return null;
125
+ const productVariantId = toNumber(
126
+ payload.product_variant_id ?? payload.variant_id ?? (sourceProduct == null ? void 0 : sourceProduct.product_variant_id) ?? (sourceProduct == null ? void 0 : sourceProduct.variant_id),
127
+ 0
128
+ );
129
+ const callbackOrigin = payload.origin || ((_a = payload._origin) == null ? void 0 : _a.sourceProduct) || ((_b = payload._origin) == null ? void 0 : _b.sourceItem) || payload._origin || {};
106
130
  const origin = {
107
- ...(sourceProduct || {}),
108
- ...(callbackOrigin || {})
131
+ ...sourceProduct || {},
132
+ ...callbackOrigin || {}
109
133
  };
110
134
  const matchedVariant = findVariantById(callbackOrigin, productVariantId) ?? findVariantById(sourceProduct, productVariantId) ?? findVariantById(origin, productVariantId);
111
- const sourceProductPrice = toPriceString(payload.price ?? payload.selling_price ?? matchedVariant?.price ?? matchedVariant?.base_price ?? origin?.price ?? origin?.base_price ?? sourceProduct?.price ?? sourceProduct?.selling_price ?? sourceProduct?.base_price, '0.00');
112
- const explicitLineTotal = payload.line_total ?? payload.total ?? payload._extend?.total;
135
+ const sourceProductPrice = toPriceString(
136
+ payload.price ?? payload.selling_price ?? (matchedVariant == null ? void 0 : matchedVariant.price) ?? (matchedVariant == null ? void 0 : matchedVariant.base_price) ?? (origin == null ? void 0 : origin.price) ?? (origin == null ? void 0 : origin.base_price) ?? (sourceProduct == null ? void 0 : sourceProduct.price) ?? (sourceProduct == null ? void 0 : sourceProduct.selling_price) ?? (sourceProduct == null ? void 0 : sourceProduct.base_price),
137
+ "0.00"
138
+ );
139
+ const explicitLineTotal = payload.line_total ?? payload.total ?? ((_c = payload._extend) == null ? void 0 : _c.total);
113
140
  const hasExplicitLineTotal = Number.isFinite(Number(explicitLineTotal));
114
141
  const lineCompositeTotal = toPriceString(explicitLineTotal, sourceProductPrice);
115
- const hasPriceOverride = payload.price_override !== undefined && payload.price_override !== null && payload.price_override !== '';
116
- const productOptionItem = (0, _utils.normalizeProductSkuOptions)(normalizeOptionItems(payload.product_sku?.option ?? payload.option ?? payload.options ?? payload.product_option_item));
117
- const productBundle = normalizeBundleItems(payload.bundle ?? payload.product_bundle, hasPriceOverride);
118
- // `payload.unique` 是业务侧商品/票务标识,可能在连续加同一商品时重复;
119
- // 行级唯一值只接受显式协议字段,缺省交给 OrderModule 生成。
142
+ const hasPriceOverride = payload.price_override !== void 0 && payload.price_override !== null && payload.price_override !== "";
143
+ const productOptionItem = (0, import_utils.normalizeProductSkuOptions)(
144
+ normalizeOptionItems(
145
+ ((_d = payload.product_sku) == null ? void 0 : _d.option) ?? payload.option ?? payload.options ?? payload.product_option_item
146
+ )
147
+ );
148
+ const productBundle = normalizeBundleItems(
149
+ payload.bundle ?? payload.product_bundle,
150
+ hasPriceOverride
151
+ );
120
152
  const uniqueIdentificationNumber = payload.unique_identification_number;
121
153
  const resolvedQuantity = toSafePositiveInt(payload.quantity ?? payload.num, 1);
122
- const originTotal = (0, _manualProductDiscount.resolveManualDiscountOriginTotal)({
154
+ const originTotal = (0, import_manualProductDiscount.resolveManualDiscountOriginTotal)({
123
155
  originTotal: payload.origin_total,
124
- extendOriginTotal: payload._extend?.origin_total,
125
- originExtendOriginTotal: origin?._extend?.origin_total,
126
- sourceExtendOriginTotal: sourceProduct?._extend?.origin_total,
127
- catalogUnitPrice: origin?.base_price ?? origin?.price ?? sourceProduct?.base_price ?? sourceProduct?.price,
156
+ extendOriginTotal: (_e = payload._extend) == null ? void 0 : _e.origin_total,
157
+ originExtendOriginTotal: (_f = origin == null ? void 0 : origin._extend) == null ? void 0 : _f.origin_total,
158
+ sourceExtendOriginTotal: (_g = sourceProduct == null ? void 0 : sourceProduct._extend) == null ? void 0 : _g.origin_total,
159
+ catalogUnitPrice: (origin == null ? void 0 : origin.base_price) ?? (origin == null ? void 0 : origin.price) ?? (sourceProduct == null ? void 0 : sourceProduct.base_price) ?? (sourceProduct == null ? void 0 : sourceProduct.price),
128
160
  quantity: resolvedQuantity
129
161
  });
130
- const sellingTotal = Number(payload.line_total ?? payload.total ?? payload._extend?.total ?? lineCompositeTotal);
131
- const discountReason = (0, _manualProductDiscount.resolveManualDiscountReasonFromSources)({
162
+ const sellingTotal = Number(
163
+ payload.line_total ?? payload.total ?? ((_h = payload._extend) == null ? void 0 : _h.total) ?? lineCompositeTotal
164
+ );
165
+ const discountReason = (0, import_manualProductDiscount.resolveManualDiscountReasonFromSources)({
132
166
  discountReason: payload.discount_reason,
133
- extendDiscountReason: payload._extend?.discount_reason,
134
- originExtendDiscountReason: origin?._extend?.discount_reason
167
+ extendDiscountReason: (_i = payload._extend) == null ? void 0 : _i.discount_reason,
168
+ originExtendDiscountReason: (_j = origin == null ? void 0 : origin._extend) == null ? void 0 : _j.discount_reason
135
169
  });
136
170
  const lineOriginalPrice = hasPriceOverride && Number.isFinite(originTotal) ? toPriceString(originTotal) : lineCompositeTotal;
137
- const manualDiscountList = (0, _manualProductDiscount.shouldBuildManualProductDiscount)({
171
+ const manualDiscountList = (0, import_manualProductDiscount.shouldBuildManualProductDiscount)({
138
172
  hasPriceOverride,
139
173
  originTotal,
140
174
  sellingTotal
141
- }) ? (0, _manualProductDiscount.mergeManualProductDiscountIntoList)(payload.discount_list, (0, _manualProductDiscount.buildManualProductDiscountItem)({
142
- originTotal: Number.isFinite(originTotal) ? originTotal : Number(lineOriginalPrice),
143
- sellingTotal: Number.isFinite(sellingTotal) ? sellingTotal : Number(lineCompositeTotal),
144
- quantity: resolvedQuantity,
145
- message: discountReason,
146
- discountway: payload._extend?.discountway,
147
- discount_per: payload._extend?.discount_per
148
- })) : payload.discount_list || [];
149
-
150
- // v2:source 不含 option;main_product_* 含 option(与 normalizeOrderProduct 一致)
151
- const optionSum = (0, _utils.sumOptionUnitPrice)(productOptionItem).toNumber();
175
+ }) ? (0, import_manualProductDiscount.mergeManualProductDiscountIntoList)(
176
+ payload.discount_list,
177
+ (0, import_manualProductDiscount.buildManualProductDiscountItem)({
178
+ originTotal: Number.isFinite(originTotal) ? originTotal : Number(lineOriginalPrice),
179
+ sellingTotal: Number.isFinite(sellingTotal) ? sellingTotal : Number(lineCompositeTotal),
180
+ quantity: resolvedQuantity,
181
+ message: discountReason,
182
+ discountway: (_k = payload._extend) == null ? void 0 : _k.discountway,
183
+ discount_per: (_l = payload._extend) == null ? void 0 : _l.discount_per
184
+ })
185
+ ) : payload.discount_list || [];
186
+ const optionSum = (0, import_utils.sumOptionUnitPrice)(productOptionItem).toNumber();
152
187
  const mainProductOriginalPrice = toPriceString(Number(sourceProductPrice) + optionSum);
153
- const bundleOnlyComposite = (0, _utils.composeLinePrice)({
154
- mainPrice: 0,
155
- bundle: productBundle
156
- });
188
+ const bundleOnlyComposite = (0, import_utils.composeLinePrice)({ mainPrice: 0, bundle: productBundle });
157
189
  const derivedMainSelling = hasExplicitLineTotal ? Number(lineCompositeTotal) - Number(bundleOnlyComposite) : Number(mainProductOriginalPrice);
158
- const mainProductSellingPrice = toPriceString(Number.isFinite(derivedMainSelling) && derivedMainSelling >= 0 ? derivedMainSelling : Number(mainProductOriginalPrice));
190
+ const mainProductSellingPrice = toPriceString(
191
+ Number.isFinite(derivedMainSelling) && derivedMainSelling >= 0 ? derivedMainSelling : Number(mainProductOriginalPrice)
192
+ );
159
193
  const metadata = {
160
194
  unique: payload.unique,
161
195
  session: payload.session,
@@ -170,30 +204,27 @@ function transformBaseProductToOrderProduct(params) {
170
204
  main_product_selling_price: mainProductSellingPrice,
171
205
  main_product_original_price: mainProductOriginalPrice,
172
206
  price_schema_version: 2,
173
- holder_config: sourceProduct?.holder_config,
174
- ...(hasPriceOverride ? {
207
+ holder_config: sourceProduct == null ? void 0 : sourceProduct.holder_config,
208
+ ...hasPriceOverride ? {
175
209
  price_override: String(payload.price_override),
176
210
  is_manual_discount: 1
177
- } : {}),
178
- ...(payload.bundle_edit !== undefined ? {
179
- bundle_edit: payload.bundle_edit
180
- } : {})
211
+ } : {},
212
+ ...payload.bundle_edit !== void 0 ? { bundle_edit: payload.bundle_edit } : {}
181
213
  };
182
214
  if (uniqueIdentificationNumber) {
183
215
  metadata.unique_identification_number = String(uniqueIdentificationNumber);
184
216
  }
185
- // 从源头补充商品多语言标题
186
217
  const productTitle = {
187
- ...(sourceProduct?.title_i18n || {}),
188
- original: sourceProduct?.title || ''
218
+ ...(sourceProduct == null ? void 0 : sourceProduct.title_i18n) || {},
219
+ original: (sourceProduct == null ? void 0 : sourceProduct.title) || ""
189
220
  };
190
221
  return {
191
222
  product_id: productId,
192
223
  product_variant_id: productVariantId,
193
- unique_identification_number: uniqueIdentificationNumber ? String(uniqueIdentificationNumber) : undefined,
224
+ unique_identification_number: uniqueIdentificationNumber ? String(uniqueIdentificationNumber) : void 0,
194
225
  num: resolvedQuantity,
195
226
  product_sku: {
196
- ...(payload.product_sku && typeof payload.product_sku === 'object' ? payload.product_sku : {}),
227
+ ...payload.product_sku && typeof payload.product_sku === "object" ? payload.product_sku : {},
197
228
  option: productOptionItem
198
229
  },
199
230
  product_bundle: productBundle,
@@ -201,15 +232,25 @@ function transformBaseProductToOrderProduct(params) {
201
232
  // 折后行价由 normalizeOrderProduct 按 main + bundle 合成;手动改价时 bundle 已为分摊后单价
202
233
  selling_price: lineCompositeTotal,
203
234
  original_price: lineOriginalPrice,
204
- tax_fee: toPriceString(payload.tax_fee ?? matchedVariant?.tax_fee ?? origin?.tax_fee ?? sourceProduct?.tax_fee, '0.00'),
205
- is_charge_tax: toNumber(payload.is_charge_tax ?? matchedVariant?.is_charge_tax ?? origin?.is_charge_tax ?? sourceProduct?.is_charge_tax, 0),
235
+ tax_fee: toPriceString(
236
+ payload.tax_fee ?? (matchedVariant == null ? void 0 : matchedVariant.tax_fee) ?? (origin == null ? void 0 : origin.tax_fee) ?? (sourceProduct == null ? void 0 : sourceProduct.tax_fee),
237
+ "0.00"
238
+ ),
239
+ is_charge_tax: toNumber(
240
+ payload.is_charge_tax ?? (matchedVariant == null ? void 0 : matchedVariant.is_charge_tax) ?? (origin == null ? void 0 : origin.is_charge_tax) ?? (sourceProduct == null ? void 0 : sourceProduct.is_charge_tax),
241
+ 0
242
+ ),
206
243
  metadata,
207
- note: payload.note != null ? String(payload.note) : '',
244
+ note: payload.note != null ? String(payload.note) : "",
208
245
  product_title: productTitle,
209
- product_cover: firstNonBlank(matchedVariant?.cover, sourceProduct?.cover),
246
+ product_cover: firstNonBlank(matchedVariant == null ? void 0 : matchedVariant.cover, sourceProduct == null ? void 0 : sourceProduct.cover),
210
247
  _origin: {
211
- ...(sourceProduct || {}),
248
+ ...sourceProduct || {},
212
249
  callbackData: payload
213
250
  }
214
251
  };
215
- }
252
+ }
253
+ // Annotate the CommonJS export names for ESM import in node:
254
+ 0 && (module.exports = {
255
+ transformBaseProductToOrderProduct
256
+ });