@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,120 +1,143 @@
1
- "use strict";
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
28
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
29
+ // src/modules/BookingContext/utils/buildCacheItemFromOrderLine.ts
30
+ var buildCacheItemFromOrderLine_exports = {};
31
+ __export(buildCacheItemFromOrderLine_exports, {
32
+ buildCacheItemFromOrderLine: () => buildCacheItemFromOrderLine
5
33
  });
6
- exports.buildCacheItemFromOrderLine = buildCacheItemFromOrderLine;
7
- var _dayjs = _interopRequireDefault(require("dayjs"));
8
- var _utils = require("../../Order/utils");
9
- var _manualProductDiscount = require("../../Order/utils/manualProductDiscount");
10
- var _orderLineDisplay = require("./orderLineDisplay");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
+ module.exports = __toCommonJS(buildCacheItemFromOrderLine_exports);
35
+ var import_dayjs = __toESM(require("dayjs"));
36
+ var import_utils = require("../../Order/utils");
37
+ var import_manualProductDiscount = require("../../Order/utils/manualProductDiscount");
38
+ var import_orderLineDisplay = require("./orderLineDisplay");
12
39
  function safeFormat(value, fmt) {
13
- if (value === undefined || value === null) return undefined;
14
- const d = (0, _dayjs.default)(value);
15
- if (!d.isValid()) return undefined;
40
+ if (value === void 0 || value === null)
41
+ return void 0;
42
+ const d = (0, import_dayjs.default)(value);
43
+ if (!d.isValid())
44
+ return void 0;
16
45
  return d.format(fmt);
17
46
  }
18
47
  function normalizeTimeString(value) {
19
- if (value === undefined || value === null) return undefined;
20
- if (typeof value === 'string') {
48
+ if (value === void 0 || value === null)
49
+ return void 0;
50
+ if (typeof value === "string") {
21
51
  const t = value.trim();
22
52
  const hhmmFromHhmmss = t.match(/^(\d{1,2}:\d{2}):\d{2}$/);
23
- if (hhmmFromHhmmss) return hhmmFromHhmmss[1];
24
- if (/^\d{1,2}:\d{2}$/.test(t)) return t;
53
+ if (hhmmFromHhmmss)
54
+ return hhmmFromHhmmss[1];
55
+ if (/^\d{1,2}:\d{2}$/.test(t))
56
+ return t;
25
57
  }
26
- const d = (0, _dayjs.default)(value);
27
- if (d.isValid()) return d.format('HH:mm');
28
- return undefined;
58
+ const d = (0, import_dayjs.default)(value);
59
+ if (d.isValid())
60
+ return d.format("HH:mm");
61
+ return void 0;
29
62
  }
30
-
31
- /**
32
- * bookings[].resources[] → cacheItem._extend.resource(与 cacheItemToBookingInput.flattenResources 互逆)。
33
- */
34
63
  function unflattenResourceMap(resources) {
35
64
  const map = {};
36
- if (!Array.isArray(resources)) return map;
37
- resources.forEach(r => {
38
- const formId = r?.form_id;
39
- if (formId === undefined || formId === null) return;
65
+ if (!Array.isArray(resources))
66
+ return map;
67
+ resources.forEach((r) => {
68
+ const formId = r == null ? void 0 : r.form_id;
69
+ if (formId === void 0 || formId === null)
70
+ return;
40
71
  const key = String(formId);
41
- if (!map[key]) map[key] = [];
72
+ if (!map[key])
73
+ map[key] = [];
42
74
  map[key].push({
43
75
  form_id: formId,
44
76
  relation_id: r.relation_id,
45
- relation_type: r.relation_type || 'form',
46
- like_status: r.like_status || 'common',
47
- metadata: r.metadata ? {
48
- ...r.metadata
49
- } : undefined,
77
+ relation_type: r.relation_type || "form",
78
+ like_status: r.like_status || "common",
79
+ metadata: r.metadata ? { ...r.metadata } : void 0,
50
80
  children: r.children
51
81
  });
52
82
  });
53
83
  return map;
54
84
  }
55
-
56
- /**
57
- * 从 booking.metadata.capacity 还原 `_extend.capacity`(与 info2 ticketBooking getCapacity 对齐)。
58
- * 勿用 resources[].relation_id 反推人数维度 id。
59
- */
60
85
  function resolveCapacityFromBooking(booking) {
61
- const metaCap = booking.metadata?.capacity;
86
+ var _a;
87
+ const metaCap = (_a = booking.metadata) == null ? void 0 : _a.capacity;
62
88
  if (Array.isArray(metaCap) && metaCap.length > 0) {
63
- return metaCap.map(item => {
64
- if (!item || typeof item !== 'object') return null;
65
- if (item.id === undefined || item.id === null) return null;
89
+ return metaCap.map((item) => {
90
+ if (!item || typeof item !== "object")
91
+ return null;
92
+ if (item.id === void 0 || item.id === null)
93
+ return null;
66
94
  const row = {
67
95
  id: item.id,
68
96
  value: Number(item.value ?? 0)
69
97
  };
70
- if (item.name !== undefined) row.name = item.name;
98
+ if (item.name !== void 0)
99
+ row.name = item.name;
71
100
  return row;
72
- }).filter(item => item != null);
101
+ }).filter((item) => item != null);
73
102
  }
74
- if (typeof metaCap === 'number' && Number.isFinite(metaCap)) {
75
- return [{
76
- id: 0,
77
- value: metaCap,
78
- name: ''
79
- }];
103
+ if (typeof metaCap === "number" && Number.isFinite(metaCap)) {
104
+ return [{ id: 0, value: metaCap, name: "" }];
80
105
  }
81
106
  return [];
82
107
  }
83
108
  function resolveDurationForExtend(booking) {
84
109
  const duration = booking.duration;
85
- if (booking.sub_type === 'days' || booking.is_all === 1) {
110
+ if (booking.sub_type === "days" || booking.is_all === 1) {
86
111
  return duration;
87
112
  }
88
- if (typeof duration === 'number' && Number.isFinite(duration)) {
113
+ if (typeof duration === "number" && Number.isFinite(duration)) {
89
114
  return duration;
90
115
  }
91
116
  return duration;
92
117
  }
93
-
94
- /** booking.duration → catalog 顶层 duration 结构(供 isNormalProductByDurationSchedule 识别)。 */
95
118
  function resolveTopLevelDuration(booking, sourceProduct) {
96
- if (sourceProduct?.duration !== undefined) {
119
+ if ((sourceProduct == null ? void 0 : sourceProduct.duration) !== void 0) {
97
120
  return sourceProduct.duration;
98
121
  }
99
122
  const raw = booking.duration;
100
- if (raw == null || raw === '') return undefined;
101
- if (typeof raw === 'object' && raw.type) {
123
+ if (raw == null || raw === "")
124
+ return void 0;
125
+ if (typeof raw === "object" && raw.type) {
102
126
  return raw;
103
127
  }
104
- const subType = booking.sub_type === 'days' ? 'days' : 'minutes';
128
+ const subType = booking.sub_type === "days" ? "days" : "minutes";
105
129
  const value = Number(raw);
106
- if (!Number.isFinite(value) || value <= 0) return undefined;
107
- return {
108
- type: subType,
109
- value
110
- };
130
+ if (!Number.isFinite(value) || value <= 0)
131
+ return void 0;
132
+ return { type: subType, value };
111
133
  }
112
134
  function resolveProductTitle(product, booking, sourceProduct) {
135
+ var _a, _b;
113
136
  const metadata = product.metadata || {};
114
- return sourceProduct?.title ?? sourceProduct?.name ?? metadata.product_title ?? metadata.product_name ?? booking?.product?.title ?? booking?.detail?.product_title ?? '';
137
+ return (sourceProduct == null ? void 0 : sourceProduct.title) ?? (sourceProduct == null ? void 0 : sourceProduct.name) ?? metadata.product_title ?? metadata.product_name ?? ((_a = booking == null ? void 0 : booking.product) == null ? void 0 : _a.title) ?? ((_b = booking == null ? void 0 : booking.detail) == null ? void 0 : _b.product_title) ?? "";
115
138
  }
116
139
  function resolveProductCover(product, booking, sourceProduct) {
117
- return sourceProduct?.cover ?? product.product_cover ?? '';
140
+ return (sourceProduct == null ? void 0 : sourceProduct.cover) ?? product.product_cover ?? "";
118
141
  }
119
142
  function resolveMainProductPrice(product, fallback) {
120
143
  const metadata = product.metadata || {};
@@ -123,29 +146,22 @@ function resolveMainProductPrice(product, fallback) {
123
146
  return Number.isFinite(parsed) ? parsed : fallback;
124
147
  }
125
148
  function mapOrderBundleToOtherBundle(bundle) {
126
- return bundle.map(item => {
149
+ return bundle.map((item) => {
127
150
  return {
128
151
  ...item,
129
152
  original_price: item.original_price ?? item.bundle_selling_price ?? item.price
130
153
  };
131
154
  });
132
155
  }
133
-
134
- /**
135
- * catalog 缺 product_resource 时,从 booking.resources 反推最小 product_resource 结构,
136
- * 供 getResourceByIds / formatResources 渲染资源编辑 UI。
137
- *
138
- * @example
139
- * synthesizeProductResourceFromBooking({ resources: [{ form_id: 35, relation_id: 41077 }] });
140
- */
141
156
  function synthesizeProductResourceFromBooking(booking) {
142
- const rows = booking?.resources;
143
- if (!Array.isArray(rows) || rows.length === 0) return undefined;
144
- const relationIdsByForm = new Map();
145
- rows.forEach(row => {
146
- const formId = row?.form_id;
147
- const relationId = Number(row?.relation_id);
148
- if (formId == null || formId === '' || !Number.isFinite(relationId) || relationId <= 0) {
157
+ const rows = booking == null ? void 0 : booking.resources;
158
+ if (!Array.isArray(rows) || rows.length === 0)
159
+ return void 0;
160
+ const relationIdsByForm = /* @__PURE__ */ new Map();
161
+ rows.forEach((row) => {
162
+ const formId = row == null ? void 0 : row.form_id;
163
+ const relationId = Number(row == null ? void 0 : row.relation_id);
164
+ if (formId == null || formId === "" || !Number.isFinite(relationId) || relationId <= 0) {
149
165
  return;
150
166
  }
151
167
  const list = relationIdsByForm.get(formId) ?? [];
@@ -154,55 +170,48 @@ function synthesizeProductResourceFromBooking(booking) {
154
170
  }
155
171
  relationIdsByForm.set(formId, list);
156
172
  });
157
- if (relationIdsByForm.size === 0) return undefined;
173
+ if (relationIdsByForm.size === 0)
174
+ return void 0;
158
175
  return {
159
176
  resources: Array.from(relationIdsByForm.entries()).map(([formId, relationIds]) => ({
160
177
  id: formId,
161
178
  status: 1,
162
- type: 'form',
163
- code: '',
179
+ type: "form",
180
+ code: "",
164
181
  optional_resource: relationIds,
165
182
  default_resource: []
166
183
  }))
167
184
  };
168
185
  }
169
-
170
- /**
171
- * 从已加车的 order line + booking 反查 editService 所需的 cacheItem。
172
- *
173
- * 与 `buildCacheItemFromCartDetail` / `buildCacheItemFromDetail` 正向拼装互逆(在 getProductExtend 之前调用)。
174
- * 调用方须传入与该行关联的 booking(通常 bookings[].product_uid === product.metadata.unique_identification_number)。
175
- */
176
186
  function buildCacheItemFromOrderLine(input) {
177
- const {
178
- product,
179
- booking,
180
- sourceProduct
181
- } = input;
182
- const resolvedId = product.product_id ?? sourceProduct?.id;
187
+ var _a, _b, _c, _d, _e, _f;
188
+ const { product, booking, sourceProduct } = input;
189
+ const resolvedId = product.product_id ?? (sourceProduct == null ? void 0 : sourceProduct.id);
183
190
  const selling = Number(product.selling_price ?? 0);
184
191
  const original = Number(product.original_price ?? selling);
185
192
  const mainProductPrice = resolveMainProductPrice(product, selling);
186
- const startDate = safeFormat(booking.start_date, 'YYYY-MM-DD');
187
- const endDate = safeFormat(booking.end_date, 'YYYY-MM-DD');
193
+ const startDate = safeFormat(booking.start_date, "YYYY-MM-DD");
194
+ const endDate = safeFormat(booking.end_date, "YYYY-MM-DD");
188
195
  const startTime = normalizeTimeString(booking.start_time);
189
196
  const endTime = normalizeTimeString(booking.end_time);
190
197
  const resource = unflattenResourceMap(booking.resources);
191
198
  const capacity = resolveCapacityFromBooking(booking);
192
- const holderId = booking.metadata?.holder_id ?? booking.holder_id;
199
+ const holderId = ((_a = booking.metadata) == null ? void 0 : _a.holder_id) ?? booking.holder_id;
193
200
  const productTitle = resolveProductTitle(product, booking, sourceProduct);
194
201
  const productCover = resolveProductCover(product, booking, sourceProduct);
195
- const productOptionString = (0, _orderLineDisplay.buildProductOptionStringFromOrderLine)(product);
202
+ const productOptionString = (0, import_orderLineDisplay.buildProductOptionStringFromOrderLine)(product);
196
203
  const other = {
197
204
  product_variant_id: product.product_variant_id ?? 0,
198
- option: (0, _utils.getProductSkuOptions)(product),
199
- bundle: mapOrderBundleToOtherBundle(Array.isArray(product.product_bundle) ? product.product_bundle : [])
205
+ option: (0, import_utils.getProductSkuOptions)(product),
206
+ bundle: mapOrderBundleToOtherBundle(
207
+ Array.isArray(product.product_bundle) ? product.product_bundle : []
208
+ )
200
209
  };
201
210
  const extend = {
202
- start_date: startDate ? (0, _dayjs.default)(startDate) : undefined,
203
- end_date: endDate ? (0, _dayjs.default)(endDate) : undefined,
204
- startDate: startDate ? (0, _dayjs.default)(startDate) : undefined,
205
- endDate: endDate ? (0, _dayjs.default)(endDate) : undefined,
211
+ start_date: startDate ? (0, import_dayjs.default)(startDate) : void 0,
212
+ end_date: endDate ? (0, import_dayjs.default)(endDate) : void 0,
213
+ startDate: startDate ? (0, import_dayjs.default)(startDate) : void 0,
214
+ endDate: endDate ? (0, import_dayjs.default)(endDate) : void 0,
206
215
  start_time: startTime,
207
216
  end_time: endTime,
208
217
  duration: resolveDurationForExtend(booking),
@@ -210,7 +219,7 @@ function buildCacheItemFromOrderLine(input) {
210
219
  quantity: product.num ?? 1,
211
220
  product_name: productTitle,
212
221
  product_cover: productCover,
213
- note: product.note ?? booking?.detail?.note ?? '',
222
+ note: product.note ?? ((_b = booking == null ? void 0 : booking.detail) == null ? void 0 : _b.note) ?? "",
214
223
  price: mainProductPrice,
215
224
  total: selling,
216
225
  origin_total: original,
@@ -218,54 +227,53 @@ function buildCacheItemFromOrderLine(input) {
218
227
  capacity,
219
228
  holder_id: holderId,
220
229
  other,
221
- like_status: booking.like_status || 'common',
222
- discount_reason: (0, _manualProductDiscount.resolveManualDiscountMessage)(product.discount_list, product.metadata?.product_discount_reason) || undefined,
223
- ...(productOptionString ? {
224
- product_option_string: productOptionString
225
- } : {})
230
+ like_status: booking.like_status || "common",
231
+ discount_reason: (0, import_manualProductDiscount.resolveManualDiscountMessage)(
232
+ product.discount_list,
233
+ (_c = product.metadata) == null ? void 0 : _c.product_discount_reason
234
+ ) || void 0,
235
+ ...productOptionString ? { product_option_string: productOptionString } : {}
226
236
  };
227
- const manualDiscount = (product.discount_list || []).find(d => d?.type === 'product');
237
+ const manualDiscount = (product.discount_list || []).find((d) => (d == null ? void 0 : d.type) === "product");
228
238
  if (manualDiscount && extend.origin_total === selling) {
229
239
  const manualAmount = Number(manualDiscount.amount ?? 0);
230
240
  if (Number.isFinite(manualAmount) && manualAmount > 0) {
231
241
  extend.origin_total = selling + manualAmount;
232
242
  }
233
243
  }
234
- if (product.metadata?.price_override != null || manualDiscount) {
244
+ if (((_d = product.metadata) == null ? void 0 : _d.price_override) != null || manualDiscount) {
235
245
  extend.priceOverride = selling;
236
246
  }
237
- if (booking.holder !== undefined) {
247
+ if (booking.holder !== void 0) {
238
248
  extend.holder = booking.holder;
239
249
  }
240
250
  if (Array.isArray(booking.relation_forms)) {
241
251
  extend.relation_forms = booking.relation_forms;
242
252
  }
243
253
  const base = {
244
- ...(sourceProduct || {}),
254
+ ...sourceProduct || {},
245
255
  id: resolvedId,
246
256
  product_id: resolvedId,
247
- extension_type: sourceProduct?.extension_type ?? booking?.product?.extension_type ?? sourceProduct?.extension_type,
248
- title: productTitle || sourceProduct?.title || booking?.product?.title,
249
- price: sourceProduct?.price ?? selling,
257
+ extension_type: (sourceProduct == null ? void 0 : sourceProduct.extension_type) ?? ((_e = booking == null ? void 0 : booking.product) == null ? void 0 : _e.extension_type) ?? (sourceProduct == null ? void 0 : sourceProduct.extension_type),
258
+ title: productTitle || (sourceProduct == null ? void 0 : sourceProduct.title) || ((_f = booking == null ? void 0 : booking.product) == null ? void 0 : _f.title),
259
+ price: (sourceProduct == null ? void 0 : sourceProduct.price) ?? selling,
250
260
  selling_price: product.selling_price,
251
261
  original_price: product.original_price,
252
- ...(productOptionString ? {
253
- product_option_string: productOptionString
254
- } : {}),
262
+ ...productOptionString ? { product_option_string: productOptionString } : {},
255
263
  _extend: extend,
256
264
  new: 0,
257
265
  autoClose: false,
258
266
  order_detail_id: product.order_detail_id ?? null,
259
267
  booking_id: booking.id ?? booking.booking_id ?? 0
260
268
  };
261
- if (sourceProduct?.capacity !== undefined) {
269
+ if ((sourceProduct == null ? void 0 : sourceProduct.capacity) !== void 0) {
262
270
  base.capacity = sourceProduct.capacity;
263
271
  }
264
272
  const topLevelDuration = resolveTopLevelDuration(booking, sourceProduct);
265
- if (topLevelDuration !== undefined) {
273
+ if (topLevelDuration !== void 0) {
266
274
  base.duration = topLevelDuration;
267
275
  }
268
- if (sourceProduct?.product_resource !== undefined) {
276
+ if ((sourceProduct == null ? void 0 : sourceProduct.product_resource) !== void 0) {
269
277
  base.product_resource = sourceProduct.product_resource;
270
278
  } else {
271
279
  const synthesized = synthesizeProductResourceFromBooking(booking);
@@ -273,14 +281,18 @@ function buildCacheItemFromOrderLine(input) {
273
281
  base.product_resource = synthesized;
274
282
  }
275
283
  }
276
- if (Array.isArray(sourceProduct?.schedules) && sourceProduct.schedules.length) {
284
+ if (Array.isArray(sourceProduct == null ? void 0 : sourceProduct.schedules) && sourceProduct.schedules.length) {
277
285
  base.schedules = sourceProduct.schedules;
278
286
  }
279
- if (Array.isArray(sourceProduct?.['schedule.ids']) && sourceProduct['schedule.ids'].length) {
280
- base['schedule.ids'] = sourceProduct['schedule.ids'];
287
+ if (Array.isArray(sourceProduct == null ? void 0 : sourceProduct["schedule.ids"]) && sourceProduct["schedule.ids"].length) {
288
+ base["schedule.ids"] = sourceProduct["schedule.ids"];
281
289
  }
282
- if (booking.schedule_event_id !== undefined) {
290
+ if (booking.schedule_event_id !== void 0) {
283
291
  base.schedule_event_id = booking.schedule_event_id;
284
292
  }
285
293
  return base;
286
- }
294
+ }
295
+ // Annotate the CommonJS export names for ESM import in node:
296
+ 0 && (module.exports = {
297
+ buildCacheItemFromOrderLine
298
+ });
@@ -1,93 +1,102 @@
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/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.ts
20
+ var buildNormalProductCacheItemFromOrderLine_exports = {};
21
+ __export(buildNormalProductCacheItemFromOrderLine_exports, {
22
+ buildNormalProductCacheItemFromOrderLine: () => buildNormalProductCacheItemFromOrderLine
5
23
  });
6
- exports.buildNormalProductCacheItemFromOrderLine = buildNormalProductCacheItemFromOrderLine;
7
- var _utils = require("../../Order/utils");
8
- var _orderLineDisplay = require("./orderLineDisplay");
9
- /**
10
- * 从已加车的普通商品 order line 反查 SkuDetailModal edit 所需的 cacheItem。
11
- *
12
- * 与 `buildCacheItemFromOrderLine`(预约行 + booking)并列;不含 resource / duration / holder 等预约字段。
13
- */
14
- /**
15
- * 解析 v2 主商品 source 价(不含 option、不含 bundle),供 SkuDetailModal / transform 使用。
16
- */
24
+ module.exports = __toCommonJS(buildNormalProductCacheItemFromOrderLine_exports);
25
+ var import_utils = require("../../Order/utils");
26
+ var import_orderLineDisplay = require("./orderLineDisplay");
17
27
  function resolveSourceProductPrice(product, sourceProduct) {
28
+ var _a, _b, _c;
18
29
  const metadata = product.metadata || {};
19
- if (metadata.source_product_price !== undefined && metadata.source_product_price !== null) {
30
+ if (metadata.source_product_price !== void 0 && metadata.source_product_price !== null) {
20
31
  const parsed = Number(metadata.source_product_price);
21
- if (Number.isFinite(parsed)) return parsed;
32
+ if (Number.isFinite(parsed))
33
+ return parsed;
22
34
  }
23
35
  const variantId = Number(product.product_variant_id || 0);
24
36
  if (variantId > 0) {
25
- const variantList = metadata.origin?.variant ?? sourceProduct?.variant;
37
+ const variantList = ((_a = metadata.origin) == null ? void 0 : _a.variant) ?? (sourceProduct == null ? void 0 : sourceProduct.variant);
26
38
  if (Array.isArray(variantList)) {
27
- const matched = variantList.find(v => Number(v?.id) === variantId);
28
- const variantPrice = matched?.price ?? matched?.base_price;
29
- if (variantPrice !== undefined && variantPrice !== null) {
39
+ const matched = variantList.find((v) => Number(v == null ? void 0 : v.id) === variantId);
40
+ const variantPrice = (matched == null ? void 0 : matched.price) ?? (matched == null ? void 0 : matched.base_price);
41
+ if (variantPrice !== void 0 && variantPrice !== null) {
30
42
  const parsed = Number(variantPrice);
31
- if (Number.isFinite(parsed)) return parsed;
43
+ if (Number.isFinite(parsed))
44
+ return parsed;
32
45
  }
33
46
  }
34
47
  }
35
- const catalogPrice = sourceProduct?.price ?? sourceProduct?.base_price;
36
- if (catalogPrice !== undefined && catalogPrice !== null) {
48
+ const catalogPrice = (sourceProduct == null ? void 0 : sourceProduct.price) ?? (sourceProduct == null ? void 0 : sourceProduct.base_price);
49
+ if (catalogPrice !== void 0 && catalogPrice !== null) {
37
50
  const parsed = Number(catalogPrice);
38
- if (Number.isFinite(parsed)) return parsed;
51
+ if (Number.isFinite(parsed))
52
+ return parsed;
39
53
  }
40
- const originPrice = metadata.origin?.price ?? metadata.origin?.base_price;
41
- if (originPrice !== undefined && originPrice !== null) {
54
+ const originPrice = ((_b = metadata.origin) == null ? void 0 : _b.price) ?? ((_c = metadata.origin) == null ? void 0 : _c.base_price);
55
+ if (originPrice !== void 0 && originPrice !== null) {
42
56
  const parsed = Number(originPrice);
43
- if (Number.isFinite(parsed)) return parsed;
57
+ if (Number.isFinite(parsed))
58
+ return parsed;
44
59
  }
45
60
  return Number(product.selling_price ?? 0);
46
61
  }
47
-
48
- /** 订单行 bundle → booking other.bundle(保留 original_price 供 setProductPrice 按比例分摊) */
49
62
  function mapOrderBundleToOtherBundle(bundle) {
50
- return bundle.map(item => {
63
+ return bundle.map((item) => {
51
64
  const catalogOriginal = item.original_price ?? item.product_price ?? item.price ?? item.bundle_selling_price;
52
65
  const selling = item.bundle_selling_price ?? item.price ?? catalogOriginal;
53
- const {
54
- bundle_selling_price: _omitBundleSelling,
55
- ...rest
56
- } = item;
57
- const isMarkupOrMarkdown = (item.price_type === 'markdown' || item.price_type === 'markup') && (item.price_type_ext === '' || item.price_type_ext === undefined || item.price_type_ext === null);
58
- if (isMarkupOrMarkdown) delete rest.original_total;
66
+ const { bundle_selling_price: _omitBundleSelling, ...rest } = item;
67
+ const isMarkupOrMarkdown = (item.price_type === "markdown" || item.price_type === "markup") && (item.price_type_ext === "" || item.price_type_ext === void 0 || item.price_type_ext === null);
68
+ if (isMarkupOrMarkdown)
69
+ delete rest.original_total;
59
70
  return {
60
71
  ...rest,
61
72
  price: selling,
62
73
  original_price: catalogOriginal,
63
- ...(isMarkupOrMarkdown ? {} : {
64
- original_total: item.original_total ?? catalogOriginal
65
- }),
74
+ ...isMarkupOrMarkdown ? {} : { original_total: item.original_total ?? catalogOriginal },
66
75
  num: item.num ?? item.quantity ?? 1,
67
76
  quantity: item.quantity ?? item.num ?? 1
68
77
  };
69
78
  });
70
79
  }
71
80
  function buildNormalProductCacheItemFromOrderLine(input) {
72
- const {
73
- product,
74
- sourceProduct
75
- } = input;
76
- const resolvedId = product.product_id ?? sourceProduct?.id;
81
+ var _a, _b, _c, _d, _e;
82
+ const { product, sourceProduct } = input;
83
+ const resolvedId = product.product_id ?? (sourceProduct == null ? void 0 : sourceProduct.id);
77
84
  const sourcePrice = resolveSourceProductPrice(product, sourceProduct);
78
85
  const selling = Number(product.selling_price ?? 0);
79
86
  const original = Number(product.original_price ?? selling);
80
- const uid = product.metadata?.unique_identification_number;
81
- const option = (0, _utils.getProductSkuOptions)(product);
82
- const bundle = mapOrderBundleToOtherBundle(Array.isArray(product.product_bundle) ? product.product_bundle : []);
83
- const originExtend = product.metadata?.origin?._extend;
84
- const productOptionString = (0, _orderLineDisplay.buildProductOptionStringFromOrderLine)(product);
87
+ const uid = (_a = product.metadata) == null ? void 0 : _a.unique_identification_number;
88
+ const option = (0, import_utils.getProductSkuOptions)(product);
89
+ const bundle = mapOrderBundleToOtherBundle(
90
+ Array.isArray(product.product_bundle) ? product.product_bundle : []
91
+ );
92
+ const originExtend = (_c = (_b = product.metadata) == null ? void 0 : _b.origin) == null ? void 0 : _c._extend;
93
+ const productOptionString = (0, import_orderLineDisplay.buildProductOptionStringFromOrderLine)(product);
85
94
  const discountList = product.discount_list || [];
86
95
  const other = {
87
96
  product_id: resolvedId,
88
97
  product_variant_id: product.product_variant_id ?? 0,
89
98
  option,
90
- bundle: originExtend?.other?.bundle ? JSON.parse(JSON.stringify(originExtend.other.bundle)) : bundle,
99
+ bundle: ((_d = originExtend == null ? void 0 : originExtend.other) == null ? void 0 : _d.bundle) ? JSON.parse(JSON.stringify(originExtend.other.bundle)) : bundle,
91
100
  quantity: product.num ?? 1
92
101
  };
93
102
  const skuValue = {
@@ -98,46 +107,40 @@ function buildNormalProductCacheItemFromOrderLine(input) {
98
107
  };
99
108
  const extend = {
100
109
  quantity: product.num ?? 1,
101
- product_name: sourceProduct?.title ?? '',
102
- note: product.note ?? '',
110
+ product_name: (sourceProduct == null ? void 0 : sourceProduct.title) ?? "",
111
+ note: product.note ?? "",
103
112
  // v2:_extend.price 为主商品 source 价;行 composite 用 total / origin_total 展示
104
- price: originExtend?.price ?? sourcePrice,
105
- total: originExtend?.total ?? selling,
106
- origin_total: originExtend?.origin_total ?? original,
113
+ price: (originExtend == null ? void 0 : originExtend.price) ?? sourcePrice,
114
+ total: (originExtend == null ? void 0 : originExtend.total) ?? selling,
115
+ origin_total: (originExtend == null ? void 0 : originExtend.origin_total) ?? original,
107
116
  other,
108
117
  skuValue: JSON.parse(JSON.stringify(skuValue)),
109
118
  _skuValue: JSON.parse(JSON.stringify(skuValue)),
110
119
  isNormalProduct: true,
111
120
  metadata: {
112
- product_add_schedule_time: product.metadata?.product_add_schedule_time
121
+ product_add_schedule_time: (_e = product.metadata) == null ? void 0 : _e.product_add_schedule_time
113
122
  },
114
- ...(productOptionString ? {
115
- product_option_string: productOptionString
116
- } : {}),
117
- ...(originExtend?.priceOverride !== undefined ? {
118
- priceOverride: originExtend.priceOverride
119
- } : {}),
120
- ...(originExtend?.bundle_edit !== undefined ? {
121
- bundle_edit: originExtend.bundle_edit
122
- } : {})
123
+ ...productOptionString ? { product_option_string: productOptionString } : {},
124
+ ...(originExtend == null ? void 0 : originExtend.priceOverride) !== void 0 ? { priceOverride: originExtend.priceOverride } : {},
125
+ ...(originExtend == null ? void 0 : originExtend.bundle_edit) !== void 0 ? { bundle_edit: originExtend.bundle_edit } : {}
123
126
  };
124
- if (originExtend?.skuValue || originExtend?._skuValue) {
125
- extend.skuValue = JSON.parse(JSON.stringify(originExtend.skuValue || originExtend._skuValue));
127
+ if ((originExtend == null ? void 0 : originExtend.skuValue) || (originExtend == null ? void 0 : originExtend._skuValue)) {
128
+ extend.skuValue = JSON.parse(
129
+ JSON.stringify(originExtend.skuValue || originExtend._skuValue)
130
+ );
126
131
  extend._skuValue = JSON.parse(JSON.stringify(extend.skuValue));
127
132
  }
128
133
  return {
129
- ...(sourceProduct || {}),
134
+ ...sourceProduct || {},
130
135
  id: resolvedId,
131
136
  product_id: resolvedId,
132
137
  _id: uid,
133
- title: sourceProduct?.title ?? product.product_title ?? '',
134
- cover: sourceProduct?.cover ?? product.product_cover ?? '',
135
- price: sourceProduct?.price ?? sourcePrice,
138
+ title: (sourceProduct == null ? void 0 : sourceProduct.title) ?? product.product_title ?? "",
139
+ cover: (sourceProduct == null ? void 0 : sourceProduct.cover) ?? product.product_cover ?? "",
140
+ price: (sourceProduct == null ? void 0 : sourceProduct.price) ?? sourcePrice,
136
141
  selling_price: product.selling_price,
137
142
  original_price: product.original_price,
138
- ...(productOptionString ? {
139
- product_option_string: productOptionString
140
- } : {}),
143
+ ...productOptionString ? { product_option_string: productOptionString } : {},
141
144
  note: product.note,
142
145
  order_detail_id: product.order_detail_id ?? null,
143
146
  discount_list: discountList,
@@ -145,4 +148,8 @@ function buildNormalProductCacheItemFromOrderLine(input) {
145
148
  autoClose: true,
146
149
  _extend: extend
147
150
  };
148
- }
151
+ }
152
+ // Annotate the CommonJS export names for ESM import in node:
153
+ 0 && (module.exports = {
154
+ buildNormalProductCacheItemFromOrderLine
155
+ });