@pisell/pisellos 0.0.569 → 0.10.1

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 (329) 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/walletPass/evaluator.js +7 -5
  5. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  6. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  7. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  8. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  9. package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
  10. package/dist/model/strategy/strategy-example.js +19 -5
  11. package/dist/modules/BaseModule.d.ts +1 -1
  12. package/dist/modules/BaseModule.js +8 -10
  13. package/dist/modules/Cart/index.js +3 -0
  14. package/dist/modules/Cart/utils/cartProduct.js +1 -0
  15. package/dist/modules/Cart/utils/cartResource.js +0 -2
  16. package/dist/modules/Cart/utils/changePrice.js +9 -16
  17. package/dist/modules/Date/index.js +5 -1
  18. package/dist/modules/Discount/index.d.ts +0 -1
  19. package/dist/modules/Discount/index.js +7 -22
  20. package/dist/modules/Discount/types.d.ts +0 -1
  21. package/dist/modules/OpenData/index.js +2 -0
  22. package/dist/modules/Order/index.d.ts +1 -1
  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 +0 -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.d.ts +1 -1
  167. package/lib/modules/Order/index.js +1909 -1572
  168. package/lib/modules/Order/types.js +35 -78
  169. package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
  170. package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
  171. package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
  172. package/lib/modules/Order/utils.js +634 -799
  173. package/lib/modules/Payment/cash.js +33 -20
  174. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  175. package/lib/modules/Payment/eftpos.js +30 -16
  176. package/lib/modules/Payment/index.js +378 -518
  177. package/lib/modules/Payment/mx51.js +0 -1
  178. package/lib/modules/Payment/types.d.ts +4 -8
  179. package/lib/modules/Payment/types.js +107 -216
  180. package/lib/modules/Payment/utils.js +48 -51
  181. package/lib/modules/Payment/walletpass.d.ts +0 -2
  182. package/lib/modules/Payment/walletpass.js +211 -226
  183. package/lib/modules/Product/index.js +46 -51
  184. package/lib/modules/Product/types.js +16 -4
  185. package/lib/modules/Product/utils.js +33 -32
  186. package/lib/modules/ProductList/index.d.ts +1 -1
  187. package/lib/modules/ProductList/index.js +117 -117
  188. package/lib/modules/ProductList/types.d.ts +0 -1
  189. package/lib/modules/ProductList/types.js +31 -9
  190. package/lib/modules/Quotation/index.js +100 -66
  191. package/lib/modules/Quotation/types.js +16 -4
  192. package/lib/modules/Resource/index.js +59 -27
  193. package/lib/modules/Resource/types.js +32 -22
  194. package/lib/modules/Resource/utils.js +38 -30
  195. package/lib/modules/ResourcePlanner/index.js +61 -60
  196. package/lib/modules/ResourcePlanner/planner.js +384 -346
  197. package/lib/modules/ResourcePlanner/types.js +16 -4
  198. package/lib/modules/Rules/index.js +903 -1475
  199. package/lib/modules/Rules/types.js +40 -17
  200. package/lib/modules/SalesSummary/index.js +90 -85
  201. package/lib/modules/SalesSummary/types.js +16 -4
  202. package/lib/modules/SalesSummary/utils.js +427 -351
  203. package/lib/modules/ScanOrderLogger/index.js +79 -59
  204. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  205. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  206. package/lib/modules/ScanOrderLogger/types.js +16 -4
  207. package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
  208. package/lib/modules/Schedule/index.js +114 -100
  209. package/lib/modules/Schedule/type.js +16 -4
  210. package/lib/modules/Schedule/types.js +16 -4
  211. package/lib/modules/Schedule/utils.js +291 -433
  212. package/lib/modules/Step/index.js +52 -40
  213. package/lib/modules/Step/tyeps.js +16 -4
  214. package/lib/modules/Summary/index.js +71 -66
  215. package/lib/modules/Summary/types.js +16 -4
  216. package/lib/modules/Summary/utils.js +418 -791
  217. package/lib/modules/SurchargeList/index.js +60 -46
  218. package/lib/modules/SurchargeList/types.js +16 -4
  219. package/lib/modules/index.js +63 -245
  220. package/lib/plugins/app.js +16 -4
  221. package/lib/plugins/index.js +25 -36
  222. package/lib/plugins/request.js +126 -137
  223. package/lib/plugins/shopStore.js +16 -4
  224. package/lib/plugins/user.js +16 -4
  225. package/lib/plugins/window.js +179 -171
  226. package/lib/server/index.js +2337 -2675
  227. package/lib/server/modules/floor-plan/index.js +123 -102
  228. package/lib/server/modules/floor-plan/types.js +30 -15
  229. package/lib/server/modules/index.js +68 -106
  230. package/lib/server/modules/menu/index.js +122 -146
  231. package/lib/server/modules/menu/types.js +31 -18
  232. package/lib/server/modules/order/index.js +642 -567
  233. package/lib/server/modules/order/types.js +32 -117
  234. package/lib/server/modules/order/utils/filterBookings.js +194 -219
  235. package/lib/server/modules/order/utils/filterOrders.js +92 -118
  236. package/lib/server/modules/payment/index.js +83 -59
  237. package/lib/server/modules/payment/types.js +16 -4
  238. package/lib/server/modules/products/index.js +459 -575
  239. package/lib/server/modules/products/types.js +34 -44
  240. package/lib/server/modules/quotation/index.js +172 -137
  241. package/lib/server/modules/quotation/types.js +31 -21
  242. package/lib/server/modules/resource/index.js +184 -213
  243. package/lib/server/modules/resource/types.js +33 -42
  244. package/lib/server/modules/schedule/index.js +123 -135
  245. package/lib/server/modules/schedule/types.js +21 -14
  246. package/lib/server/modules/schedule/utils.js +163 -334
  247. package/lib/server/types.js +16 -4
  248. package/lib/server/utils/index.js +23 -25
  249. package/lib/server/utils/product.js +139 -196
  250. package/lib/server/utils/schedule.js +41 -34
  251. package/lib/server/utils/small-ticket.js +456 -478
  252. package/lib/server/utils/time.js +49 -40
  253. package/lib/solution/BaseSales/index.js +1016 -850
  254. package/lib/solution/BaseSales/types.js +37 -41
  255. package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
  256. package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
  257. package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
  258. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
  259. package/lib/solution/BaseSales/utils.js +140 -155
  260. package/lib/solution/BookingByStep/index.d.ts +1 -1
  261. package/lib/solution/BookingByStep/index.js +1340 -1530
  262. package/lib/solution/BookingByStep/types.js +99 -40
  263. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  264. package/lib/solution/BookingByStep/utils/products.js +52 -42
  265. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  266. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  267. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  268. package/lib/solution/BookingTicket/index.d.ts +1 -1
  269. package/lib/solution/BookingTicket/index.js +459 -543
  270. package/lib/solution/BookingTicket/types.js +77 -99
  271. package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
  272. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
  273. package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
  274. package/lib/solution/BookingTicket/utils/cartView.js +94 -110
  275. package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
  276. package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
  277. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
  278. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
  279. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
  280. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
  281. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
  282. package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
  283. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  284. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
  285. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
  286. package/lib/solution/BuyTickets/index.js +70 -67
  287. package/lib/solution/BuyTickets/types.js +38 -22
  288. package/lib/solution/Checkout/index.js +1158 -1451
  289. package/lib/solution/Checkout/types.js +61 -91
  290. package/lib/solution/Checkout/utils/index.js +156 -228
  291. package/lib/solution/PlaceOrder/index.js +0 -55
  292. package/lib/solution/RegisterAndLogin/config.js +460 -493
  293. package/lib/solution/RegisterAndLogin/index.js +630 -633
  294. package/lib/solution/RegisterAndLogin/types.js +76 -189
  295. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  296. package/lib/solution/Sales/index.js +320 -317
  297. package/lib/solution/Sales/types.js +33 -27
  298. package/lib/solution/ScanOrder/index.js +862 -831
  299. package/lib/solution/ScanOrder/types.js +34 -33
  300. package/lib/solution/ScanOrder/utils.js +371 -406
  301. package/lib/solution/ShopDiscount/index.js +233 -235
  302. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  303. package/lib/solution/ShopDiscount/types.js +37 -15
  304. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  305. package/lib/solution/ShopDiscount/utils.js +172 -309
  306. package/lib/solution/UnifiedBookingSales/index.js +405 -379
  307. package/lib/solution/UnifiedBookingSales/types.js +31 -12
  308. package/lib/solution/VenueBooking/index.d.ts +3 -31
  309. package/lib/solution/VenueBooking/index.js +916 -967
  310. package/lib/solution/VenueBooking/types.d.ts +1 -3
  311. package/lib/solution/VenueBooking/types.js +39 -20
  312. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  313. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  314. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  315. package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
  316. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  317. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  318. package/lib/solution/VenueBooking/utils.js +67 -130
  319. package/lib/solution/index.js +41 -124
  320. package/lib/store/createStore.js +29 -32
  321. package/lib/types/index.d.ts +1 -1
  322. package/lib/types/index.js +16 -4
  323. package/lib/utils/task.js +36 -36
  324. package/lib/utils/watch.js +47 -81
  325. package/package.json +2 -4
  326. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  327. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  328. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  329. 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
+ });