@pisell/pisellos 0.0.568 → 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 (588) 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/evaluator.js +3 -2
  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 +24 -96
  11. package/dist/model/strategy/strategy-example.js +19 -5
  12. package/dist/modules/BaseModule.d.ts +2 -2
  13. package/dist/modules/BaseModule.js +12 -14
  14. package/dist/modules/BookingContext/index.d.ts +48 -0
  15. package/dist/modules/BookingContext/index.js +566 -0
  16. package/dist/modules/BookingContext/types.d.ts +102 -0
  17. package/dist/modules/BookingContext/types.js +51 -0
  18. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  19. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  20. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  21. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  22. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  23. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  24. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  25. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  26. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  27. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  28. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  29. package/dist/modules/BookingContext/utils/index.js +11 -0
  30. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  31. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  32. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  33. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  34. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  35. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  36. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  37. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  38. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  39. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  40. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  41. package/dist/modules/BookingContext/utils/resources.js +486 -0
  42. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  43. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  44. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  45. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  46. package/dist/modules/Cart/index.js +3 -0
  47. package/dist/modules/Cart/utils/cartProduct.js +27 -5
  48. package/dist/modules/Cart/utils/cartResource.js +0 -2
  49. package/dist/modules/Cart/utils/changePrice.js +11 -11
  50. package/dist/modules/Customer/index.d.ts +20 -0
  51. package/dist/modules/Customer/index.js +172 -83
  52. package/dist/modules/Customer/types.d.ts +2 -0
  53. package/dist/modules/Date/index.js +5 -1
  54. package/dist/modules/Discount/index.d.ts +2 -2
  55. package/dist/modules/Discount/index.js +43 -30
  56. package/dist/modules/Discount/types.d.ts +1 -1
  57. package/dist/modules/OpenData/index.d.ts +8 -0
  58. package/dist/modules/OpenData/index.js +38 -16
  59. package/dist/modules/Order/index.d.ts +449 -24
  60. package/dist/modules/Order/index.js +5460 -574
  61. package/dist/modules/Order/types.d.ts +693 -88
  62. package/dist/modules/Order/types.js +68 -1
  63. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  64. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  65. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  66. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  67. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  68. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  69. package/dist/modules/Order/utils.d.ts +167 -18
  70. package/dist/modules/Order/utils.js +960 -165
  71. package/dist/modules/Payment/index.d.ts +10 -9
  72. package/dist/modules/Payment/index.js +573 -746
  73. package/dist/modules/Payment/types.d.ts +44 -24
  74. package/dist/modules/Payment/utils.d.ts +1 -1
  75. package/dist/modules/Payment/utils.js +4 -3
  76. package/dist/modules/Payment/walletpass.d.ts +0 -2
  77. package/dist/modules/Payment/walletpass.js +49 -33
  78. package/dist/modules/Product/types.d.ts +29 -7
  79. package/dist/modules/ProductList/index.d.ts +17 -13
  80. package/dist/modules/ProductList/index.js +182 -81
  81. package/dist/modules/ProductList/types.d.ts +16 -0
  82. package/dist/modules/Quotation/index.d.ts +22 -2
  83. package/dist/modules/Quotation/index.js +108 -42
  84. package/dist/modules/Quotation/types.d.ts +19 -0
  85. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  86. package/dist/modules/ResourcePlanner/index.js +181 -0
  87. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  88. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  89. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  90. package/dist/modules/ResourcePlanner/types.js +1 -0
  91. package/dist/modules/Rules/index.d.ts +8 -10
  92. package/dist/modules/Rules/index.js +324 -513
  93. package/dist/modules/Rules/types.d.ts +14 -3
  94. package/dist/modules/SalesSummary/index.d.ts +23 -26
  95. package/dist/modules/SalesSummary/index.js +152 -46
  96. package/dist/modules/SalesSummary/types.d.ts +9 -1
  97. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  98. package/dist/modules/SalesSummary/utils.js +804 -165
  99. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -12
  100. package/dist/modules/Schedule/index.d.ts +18 -5
  101. package/dist/modules/Schedule/index.js +79 -24
  102. package/dist/modules/Schedule/types.d.ts +2 -0
  103. package/dist/modules/Schedule/utils.js +1 -0
  104. package/dist/modules/Step/index.js +1 -0
  105. package/dist/modules/Summary/index.js +4 -3
  106. package/dist/modules/Summary/utils.js +22 -43
  107. package/dist/modules/SurchargeList/index.d.ts +18 -0
  108. package/dist/modules/SurchargeList/index.js +185 -0
  109. package/dist/modules/SurchargeList/types.d.ts +15 -0
  110. package/dist/modules/SurchargeList/types.js +1 -0
  111. package/dist/modules/index.d.ts +3 -0
  112. package/dist/modules/index.js +4 -1
  113. package/dist/plugins/app.d.ts +2 -0
  114. package/dist/plugins/request.d.ts +1 -0
  115. package/dist/plugins/request.js +4 -1
  116. package/dist/plugins/window.js +6 -2
  117. package/dist/server/index.d.ts +462 -8
  118. package/dist/server/index.js +6168 -680
  119. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  120. package/dist/server/modules/floor-plan/index.js +595 -0
  121. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  122. package/dist/server/modules/floor-plan/types.js +13 -0
  123. package/dist/server/modules/index.d.ts +7 -2
  124. package/dist/server/modules/index.js +6 -0
  125. package/dist/server/modules/menu/index.js +41 -32
  126. package/dist/server/modules/order/index.d.ts +207 -14
  127. package/dist/server/modules/order/index.js +2328 -379
  128. package/dist/server/modules/order/types.d.ts +76 -5
  129. package/dist/server/modules/order/types.js +14 -1
  130. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  131. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  132. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  133. package/dist/server/modules/payment/index.d.ts +28 -0
  134. package/dist/server/modules/payment/index.js +305 -0
  135. package/dist/server/modules/payment/types.d.ts +9 -0
  136. package/dist/server/modules/payment/types.js +1 -0
  137. package/dist/server/modules/products/index.d.ts +105 -14
  138. package/dist/server/modules/products/index.js +1416 -521
  139. package/dist/server/modules/products/types.d.ts +34 -1
  140. package/dist/server/modules/products/types.js +4 -0
  141. package/dist/server/modules/quotation/index.d.ts +39 -0
  142. package/dist/server/modules/quotation/index.js +298 -77
  143. package/dist/server/modules/resource/index.d.ts +2 -3
  144. package/dist/server/modules/resource/index.js +109 -86
  145. package/dist/server/modules/schedule/index.d.ts +6 -4
  146. package/dist/server/modules/schedule/index.js +145 -106
  147. package/dist/server/test.json +713 -0
  148. package/dist/server/types.d.ts +2 -0
  149. package/dist/server/utils/product.js +3 -2
  150. package/dist/server/utils/small-ticket.d.ts +71 -0
  151. package/dist/server/utils/small-ticket.js +963 -0
  152. package/dist/solution/BaseSales/index.d.ts +378 -0
  153. package/dist/solution/BaseSales/index.js +4009 -0
  154. package/dist/solution/BaseSales/types.d.ts +394 -0
  155. package/dist/solution/BaseSales/types.js +40 -0
  156. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  157. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  158. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  159. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  160. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  161. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  162. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  163. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  164. package/dist/solution/BaseSales/utils.d.ts +40 -0
  165. package/dist/solution/BaseSales/utils.js +263 -0
  166. package/dist/solution/BookingByStep/index.d.ts +1 -1
  167. package/dist/solution/BookingByStep/index.js +60 -11
  168. package/dist/solution/BookingByStep/utils/capacity.js +11 -1
  169. package/dist/solution/BookingByStep/utils/resources.js +3 -1
  170. package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
  171. package/dist/solution/BookingTicket/index.d.ts +393 -24
  172. package/dist/solution/BookingTicket/index.js +2508 -443
  173. package/dist/solution/BookingTicket/types.d.ts +191 -6
  174. package/dist/solution/BookingTicket/types.js +83 -10
  175. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  176. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  177. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  178. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  179. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  180. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  181. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  182. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  183. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  184. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  185. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  186. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  187. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  188. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  189. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  190. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  191. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  192. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +42 -1
  193. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  194. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  195. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  196. package/dist/solution/BookingTicket/utils/scan/handleScan.js +42 -28
  197. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  198. package/dist/solution/BookingTicket/utils/scan/index.js +30 -14
  199. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  200. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  201. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  202. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  203. package/dist/solution/BuyTickets/index.js +12 -9
  204. package/dist/solution/Checkout/index.d.ts +1 -0
  205. package/dist/solution/Checkout/index.js +275 -209
  206. package/dist/solution/Checkout/utils/index.js +20 -8
  207. package/dist/solution/RegisterAndLogin/config.js +2 -10
  208. package/dist/solution/RegisterAndLogin/index.js +76 -30
  209. package/dist/solution/Sales/index.d.ts +50 -5
  210. package/dist/solution/Sales/index.js +484 -92
  211. package/dist/solution/Sales/types.d.ts +26 -2
  212. package/dist/solution/ScanOrder/index.d.ts +27 -21
  213. package/dist/solution/ScanOrder/index.js +519 -444
  214. package/dist/solution/ScanOrder/types.d.ts +33 -11
  215. package/dist/solution/ScanOrder/types.js +4 -5
  216. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  217. package/dist/solution/ScanOrder/utils.js +109 -34
  218. package/dist/solution/ShopDiscount/index.js +18 -19
  219. package/dist/solution/ShopDiscount/types.d.ts +4 -5
  220. package/dist/solution/ShopDiscount/utils.d.ts +0 -9
  221. package/dist/solution/ShopDiscount/utils.js +0 -9
  222. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  223. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  224. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  225. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  226. package/dist/solution/VenueBooking/index.d.ts +32 -51
  227. package/dist/solution/VenueBooking/index.js +741 -808
  228. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  229. package/dist/solution/VenueBooking/types.d.ts +1 -3
  230. package/dist/solution/VenueBooking/types.js +0 -1
  231. package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  232. package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
  233. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  234. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  235. package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  236. package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
  237. package/dist/solution/index.d.ts +2 -0
  238. package/dist/solution/index.js +3 -1
  239. package/dist/types/index.d.ts +12 -2
  240. package/dist/utils/task.js +18 -15
  241. package/dist/utils/watch.js +1 -0
  242. package/lib/apis/picoding.js +0 -2
  243. package/lib/core/index.js +132 -130
  244. package/lib/effects/index.js +57 -46
  245. package/lib/index.d.ts +0 -1
  246. package/lib/index.js +50 -92
  247. package/lib/model/index.js +21 -14
  248. package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
  249. package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
  250. package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
  251. package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
  252. package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
  253. package/lib/model/strategy/adapter/index.js +64 -100
  254. package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
  255. package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
  256. package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
  257. package/lib/model/strategy/adapter/itemRule/index.js +57 -83
  258. package/lib/model/strategy/adapter/itemRule/type.js +36 -97
  259. package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
  260. package/lib/model/strategy/adapter/promotion/evaluator.js +233 -382
  261. package/lib/model/strategy/adapter/promotion/examples.js +159 -139
  262. package/lib/model/strategy/adapter/promotion/index.js +0 -1
  263. package/lib/model/strategy/adapter/promotion/type.js +35 -199
  264. package/lib/model/strategy/adapter/type.js +16 -4
  265. package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
  266. package/lib/model/strategy/adapter/walletPass/example.js +190 -217
  267. package/lib/model/strategy/adapter/walletPass/index.js +51 -75
  268. package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
  269. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
  270. package/lib/model/strategy/adapter/walletPass/type.js +16 -4
  271. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  272. package/lib/model/strategy/adapter/walletPass/utils.js +383 -676
  273. package/lib/model/strategy/engine.js +168 -270
  274. package/lib/model/strategy/index.js +34 -49
  275. package/lib/model/strategy/strategy-example.js +239 -243
  276. package/lib/model/strategy/type.js +40 -100
  277. package/lib/modules/Account/index.js +53 -39
  278. package/lib/modules/Account/types.js +33 -20
  279. package/lib/modules/AccountList/index.js +154 -116
  280. package/lib/modules/AccountList/types.js +31 -30
  281. package/lib/modules/AccountList/utils.js +30 -18
  282. package/lib/modules/BaseModule.d.ts +2 -2
  283. package/lib/modules/BaseModule.js +50 -29
  284. package/lib/modules/BookingContext/index.d.ts +48 -0
  285. package/lib/modules/BookingContext/index.js +368 -0
  286. package/lib/modules/BookingContext/types.d.ts +102 -0
  287. package/lib/modules/BookingContext/types.js +34 -0
  288. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  289. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +298 -0
  290. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  291. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +155 -0
  292. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  293. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +222 -0
  294. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  295. package/lib/modules/BookingContext/utils/flexible.js +80 -0
  296. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  297. package/lib/modules/BookingContext/utils/formatResourceList.js +50 -0
  298. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  299. package/lib/modules/BookingContext/utils/index.js +43 -0
  300. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  301. package/lib/modules/BookingContext/utils/noResource.js +90 -0
  302. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  303. package/lib/modules/BookingContext/utils/orderLineDisplay.js +56 -0
  304. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  305. package/lib/modules/BookingContext/utils/productExtend.js +283 -0
  306. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  307. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  308. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  309. package/lib/modules/BookingContext/utils/resourceSelection.js +46 -0
  310. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  311. package/lib/modules/BookingContext/utils/resources.js +377 -0
  312. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  313. package/lib/modules/BookingContext/utils/serviceTimes.js +162 -0
  314. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  315. package/lib/modules/BookingContext/utils/timeSlices.js +124 -0
  316. package/lib/modules/Cart/index.js +124 -170
  317. package/lib/modules/Cart/types.js +51 -46
  318. package/lib/modules/Cart/utils/cartAccount.js +39 -40
  319. package/lib/modules/Cart/utils/cartDate.js +61 -56
  320. package/lib/modules/Cart/utils/cartDiscount.js +33 -28
  321. package/lib/modules/Cart/utils/cartNote.js +32 -27
  322. package/lib/modules/Cart/utils/cartProduct.js +261 -309
  323. package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
  324. package/lib/modules/Cart/utils/cartResource.js +78 -72
  325. package/lib/modules/Cart/utils/changePrice.js +59 -31
  326. package/lib/modules/Cart/utils/index.js +48 -106
  327. package/lib/modules/Customer/constants.js +34 -13
  328. package/lib/modules/Customer/index.d.ts +20 -0
  329. package/lib/modules/Customer/index.js +207 -217
  330. package/lib/modules/Customer/types.d.ts +2 -0
  331. package/lib/modules/Customer/types.js +35 -38
  332. package/lib/modules/Date/index.js +115 -116
  333. package/lib/modules/Date/types.js +28 -16
  334. package/lib/modules/Date/utils.js +123 -174
  335. package/lib/modules/Discount/index.d.ts +2 -2
  336. package/lib/modules/Discount/index.js +133 -119
  337. package/lib/modules/Discount/types.d.ts +1 -1
  338. package/lib/modules/Discount/types.js +31 -9
  339. package/lib/modules/Guests/index.js +56 -30
  340. package/lib/modules/Guests/types.js +33 -23
  341. package/lib/modules/Holder/index.js +189 -209
  342. package/lib/modules/Holder/types.js +16 -4
  343. package/lib/modules/Holder/utils.js +49 -20
  344. package/lib/modules/OpenData/index.d.ts +8 -0
  345. package/lib/modules/OpenData/index.js +88 -63
  346. package/lib/modules/OpenData/types.js +16 -4
  347. package/lib/modules/OpenData/utils.js +78 -44
  348. package/lib/modules/Order/index.d.ts +449 -24
  349. package/lib/modules/Order/index.js +4184 -514
  350. package/lib/modules/Order/types.d.ts +693 -88
  351. package/lib/modules/Order/types.js +35 -24
  352. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  353. package/lib/modules/Order/utils/bundleDiscountHydration.js +139 -0
  354. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  355. package/lib/modules/Order/utils/manualProductDiscount.js +206 -0
  356. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  357. package/lib/modules/Order/utils/orderCollectionIdentity.js +415 -0
  358. package/lib/modules/Order/utils.d.ts +167 -18
  359. package/lib/modules/Order/utils.js +1085 -414
  360. package/lib/modules/Payment/cash.js +33 -20
  361. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  362. package/lib/modules/Payment/eftpos.js +30 -16
  363. package/lib/modules/Payment/index.d.ts +10 -9
  364. package/lib/modules/Payment/index.js +402 -636
  365. package/lib/modules/Payment/mx51.js +0 -1
  366. package/lib/modules/Payment/types.d.ts +44 -24
  367. package/lib/modules/Payment/types.js +107 -216
  368. package/lib/modules/Payment/utils.d.ts +1 -1
  369. package/lib/modules/Payment/utils.js +50 -52
  370. package/lib/modules/Payment/walletpass.d.ts +0 -2
  371. package/lib/modules/Payment/walletpass.js +216 -221
  372. package/lib/modules/Product/index.js +46 -51
  373. package/lib/modules/Product/types.d.ts +29 -7
  374. package/lib/modules/Product/types.js +16 -4
  375. package/lib/modules/Product/utils.js +33 -32
  376. package/lib/modules/ProductList/index.d.ts +17 -13
  377. package/lib/modules/ProductList/index.js +161 -120
  378. package/lib/modules/ProductList/types.d.ts +16 -0
  379. package/lib/modules/ProductList/types.js +31 -9
  380. package/lib/modules/Quotation/index.d.ts +22 -2
  381. package/lib/modules/Quotation/index.js +154 -64
  382. package/lib/modules/Quotation/types.d.ts +19 -0
  383. package/lib/modules/Quotation/types.js +16 -4
  384. package/lib/modules/Resource/index.js +59 -27
  385. package/lib/modules/Resource/types.js +32 -22
  386. package/lib/modules/Resource/utils.js +38 -30
  387. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  388. package/lib/modules/ResourcePlanner/index.js +148 -0
  389. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  390. package/lib/modules/ResourcePlanner/planner.js +933 -0
  391. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  392. package/lib/modules/ResourcePlanner/types.js +17 -0
  393. package/lib/modules/Rules/index.d.ts +8 -10
  394. package/lib/modules/Rules/index.js +960 -1440
  395. package/lib/modules/Rules/types.d.ts +14 -3
  396. package/lib/modules/Rules/types.js +40 -17
  397. package/lib/modules/SalesSummary/index.d.ts +23 -26
  398. package/lib/modules/SalesSummary/index.js +134 -61
  399. package/lib/modules/SalesSummary/types.d.ts +9 -1
  400. package/lib/modules/SalesSummary/types.js +16 -4
  401. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  402. package/lib/modules/SalesSummary/utils.js +814 -233
  403. package/lib/modules/ScanOrderLogger/index.js +79 -59
  404. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  405. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  406. package/lib/modules/ScanOrderLogger/types.js +16 -4
  407. package/lib/modules/Schedule/getDateIsInSchedule.js +169 -338
  408. package/lib/modules/Schedule/index.d.ts +18 -5
  409. package/lib/modules/Schedule/index.js +153 -104
  410. package/lib/modules/Schedule/type.js +16 -4
  411. package/lib/modules/Schedule/types.d.ts +2 -0
  412. package/lib/modules/Schedule/types.js +16 -4
  413. package/lib/modules/Schedule/utils.js +291 -433
  414. package/lib/modules/Step/index.js +52 -40
  415. package/lib/modules/Step/tyeps.js +16 -4
  416. package/lib/modules/Summary/index.js +71 -66
  417. package/lib/modules/Summary/types.js +16 -4
  418. package/lib/modules/Summary/utils.js +418 -791
  419. package/lib/modules/SurchargeList/index.d.ts +18 -0
  420. package/lib/modules/SurchargeList/index.js +109 -0
  421. package/lib/modules/SurchargeList/types.d.ts +15 -0
  422. package/lib/modules/SurchargeList/types.js +17 -0
  423. package/lib/modules/index.d.ts +3 -0
  424. package/lib/modules/index.js +63 -212
  425. package/lib/plugins/app.d.ts +2 -0
  426. package/lib/plugins/app.js +16 -4
  427. package/lib/plugins/index.js +25 -36
  428. package/lib/plugins/request.d.ts +1 -0
  429. package/lib/plugins/request.js +126 -137
  430. package/lib/plugins/shopStore.js +16 -4
  431. package/lib/plugins/user.js +16 -4
  432. package/lib/plugins/window.js +179 -171
  433. package/lib/server/index.d.ts +462 -8
  434. package/lib/server/index.js +4520 -1162
  435. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  436. package/lib/server/modules/floor-plan/index.js +327 -0
  437. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  438. package/lib/server/modules/floor-plan/types.js +34 -0
  439. package/lib/server/modules/index.d.ts +7 -2
  440. package/lib/server/modules/index.js +67 -84
  441. package/lib/server/modules/menu/index.js +122 -146
  442. package/lib/server/modules/menu/types.js +31 -18
  443. package/lib/server/modules/order/index.d.ts +207 -14
  444. package/lib/server/modules/order/index.js +1543 -285
  445. package/lib/server/modules/order/types.d.ts +76 -5
  446. package/lib/server/modules/order/types.js +32 -107
  447. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  448. package/lib/server/modules/order/utils/filterBookings.js +259 -176
  449. package/lib/server/modules/order/utils/filterOrders.js +293 -94
  450. package/lib/server/modules/payment/index.d.ts +28 -0
  451. package/lib/server/modules/payment/index.js +192 -0
  452. package/lib/server/modules/payment/types.d.ts +9 -0
  453. package/lib/server/modules/payment/types.js +17 -0
  454. package/lib/server/modules/products/index.d.ts +105 -14
  455. package/lib/server/modules/products/index.js +850 -475
  456. package/lib/server/modules/products/types.d.ts +34 -1
  457. package/lib/server/modules/products/types.js +34 -41
  458. package/lib/server/modules/quotation/index.d.ts +39 -0
  459. package/lib/server/modules/quotation/index.js +254 -75
  460. package/lib/server/modules/quotation/types.js +31 -21
  461. package/lib/server/modules/resource/index.d.ts +2 -3
  462. package/lib/server/modules/resource/index.js +240 -243
  463. package/lib/server/modules/resource/types.js +33 -42
  464. package/lib/server/modules/schedule/index.d.ts +6 -4
  465. package/lib/server/modules/schedule/index.js +146 -147
  466. package/lib/server/modules/schedule/types.js +21 -14
  467. package/lib/server/modules/schedule/utils.js +163 -334
  468. package/lib/server/test.json +713 -0
  469. package/lib/server/types.d.ts +2 -0
  470. package/lib/server/types.js +16 -4
  471. package/lib/server/utils/index.js +23 -25
  472. package/lib/server/utils/product.js +140 -197
  473. package/lib/server/utils/schedule.js +41 -34
  474. package/lib/server/utils/small-ticket.d.ts +71 -0
  475. package/lib/server/utils/small-ticket.js +904 -0
  476. package/lib/server/utils/time.js +49 -40
  477. package/lib/solution/BaseSales/index.d.ts +378 -0
  478. package/lib/solution/BaseSales/index.js +2533 -0
  479. package/lib/solution/BaseSales/types.d.ts +394 -0
  480. package/lib/solution/BaseSales/types.js +43 -0
  481. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  482. package/lib/solution/BaseSales/utils/cartPromotion.js +1004 -0
  483. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  484. package/lib/solution/BaseSales/utils/parseSalesResponse.js +160 -0
  485. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  486. package/lib/solution/BaseSales/utils/quotationPrice.js +289 -0
  487. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  488. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +256 -0
  489. package/lib/solution/BaseSales/utils.d.ts +40 -0
  490. package/lib/solution/BaseSales/utils.js +244 -0
  491. package/lib/solution/BookingByStep/index.d.ts +1 -1
  492. package/lib/solution/BookingByStep/index.js +1340 -1530
  493. package/lib/solution/BookingByStep/types.js +99 -40
  494. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  495. package/lib/solution/BookingByStep/utils/products.js +52 -42
  496. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  497. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  498. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  499. package/lib/solution/BookingTicket/index.d.ts +393 -24
  500. package/lib/solution/BookingTicket/index.js +1374 -184
  501. package/lib/solution/BookingTicket/types.d.ts +191 -6
  502. package/lib/solution/BookingTicket/types.js +79 -40
  503. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  504. package/lib/solution/BookingTicket/utils/addProductDecision.js +318 -0
  505. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  506. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +125 -0
  507. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  508. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -0
  509. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  510. package/lib/solution/BookingTicket/utils/cartView.js +184 -0
  511. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  512. package/lib/solution/BookingTicket/utils/exampleData.js +0 -0
  513. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  514. package/lib/solution/BookingTicket/utils/orderCustomer.js +58 -0
  515. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  516. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +254 -0
  517. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  518. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +169 -0
  519. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  520. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +97 -64
  521. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  522. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +51 -0
  523. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  524. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -82
  525. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  526. package/lib/solution/BookingTicket/utils/scan/index.js +109 -91
  527. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  528. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  529. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +127 -0
  530. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  531. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +85 -0
  532. package/lib/solution/BuyTickets/index.js +70 -67
  533. package/lib/solution/BuyTickets/types.js +38 -22
  534. package/lib/solution/Checkout/index.d.ts +1 -0
  535. package/lib/solution/Checkout/index.js +1169 -1463
  536. package/lib/solution/Checkout/types.js +61 -91
  537. package/lib/solution/Checkout/utils/index.js +156 -228
  538. package/lib/solution/PlaceOrder/index.js +0 -55
  539. package/lib/solution/RegisterAndLogin/config.js +462 -503
  540. package/lib/solution/RegisterAndLogin/index.js +630 -633
  541. package/lib/solution/RegisterAndLogin/types.js +76 -189
  542. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  543. package/lib/solution/Sales/index.d.ts +50 -5
  544. package/lib/solution/Sales/index.js +498 -238
  545. package/lib/solution/Sales/types.d.ts +26 -2
  546. package/lib/solution/Sales/types.js +33 -27
  547. package/lib/solution/ScanOrder/index.d.ts +27 -21
  548. package/lib/solution/ScanOrder/index.js +936 -864
  549. package/lib/solution/ScanOrder/types.d.ts +33 -11
  550. package/lib/solution/ScanOrder/types.js +34 -34
  551. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  552. package/lib/solution/ScanOrder/utils.js +422 -385
  553. package/lib/solution/ShopDiscount/index.js +233 -235
  554. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  555. package/lib/solution/ShopDiscount/types.js +37 -15
  556. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  557. package/lib/solution/ShopDiscount/utils.js +172 -309
  558. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  559. package/lib/solution/UnifiedBookingSales/index.js +1076 -0
  560. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  561. package/lib/solution/UnifiedBookingSales/types.js +33 -0
  562. package/lib/solution/VenueBooking/index.d.ts +32 -51
  563. package/lib/solution/VenueBooking/index.js +1008 -984
  564. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  565. package/lib/solution/VenueBooking/types.d.ts +1 -3
  566. package/lib/solution/VenueBooking/types.js +39 -20
  567. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  568. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  569. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  570. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  571. package/lib/solution/VenueBooking/utils/slotMerge.js +109 -90
  572. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  573. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  574. package/lib/solution/VenueBooking/utils.js +67 -130
  575. package/lib/solution/index.d.ts +2 -0
  576. package/lib/solution/index.js +41 -102
  577. package/lib/store/createStore.js +29 -32
  578. package/lib/types/index.d.ts +12 -2
  579. package/lib/types/index.js +16 -4
  580. package/lib/utils/task.js +36 -36
  581. package/lib/utils/watch.js +47 -81
  582. package/package.json +2 -4
  583. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  584. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  585. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  586. package/lib/solution/Checkout/appointmentDemo.json +0 -1
  587. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  588. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
@@ -25,6 +25,8 @@ export type RouteHandler = (params: {
25
25
  method: 'get' | 'post' | 'remove' | 'put';
26
26
  data?: any;
27
27
  config?: RequestSetting;
28
+ /** 路由路径(前缀匹配时由 handleRoute 注入,便于 handler 解析动态段) */
29
+ path?: string;
28
30
  }) => Promise<any> | any;
29
31
  /**
30
32
  * HTTP 方法类型
@@ -1,5 +1,17 @@
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 __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
14
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
15
+ // src/server/types.ts
16
+ var types_exports = {};
17
+ module.exports = __toCommonJS(types_exports);
@@ -1,27 +1,25 @@
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 __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
15
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
16
+ // src/server/utils/index.ts
17
+ var utils_exports = {};
18
+ module.exports = __toCommonJS(utils_exports);
19
+ __reExport(utils_exports, require("./time"), module.exports);
20
+ __reExport(utils_exports, require("./schedule"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./time"),
24
+ ...require("./schedule")
5
25
  });
6
- var _time = require("./time");
7
- Object.keys(_time).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _time[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _time[key];
14
- }
15
- });
16
- });
17
- var _schedule = require("./schedule");
18
- Object.keys(_schedule).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _schedule[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _schedule[key];
25
- }
26
- });
27
- });
@@ -1,105 +1,90 @@
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/server/utils/product.ts
20
+ var product_exports = {};
21
+ __export(product_exports, {
22
+ applyDetailValueToProducts: () => applyDetailValueToProducts,
23
+ applyI18nToProducts: () => applyI18nToProducts,
24
+ applyPriceDataToProducts: () => applyPriceDataToProducts,
25
+ getIsSessionProduct: () => getIsSessionProduct,
26
+ perfMark: () => perfMark
5
27
  });
6
- exports.applyDetailValueToProducts = applyDetailValueToProducts;
7
- exports.applyI18nToProducts = applyI18nToProducts;
8
- exports.applyPriceDataToProducts = applyPriceDataToProducts;
9
- exports.getIsSessionProduct = void 0;
10
- exports.perfMark = perfMark;
11
- var _utils = require("../modules/schedule/utils");
12
- var _utils2 = require("../../modules/Cart/utils");
28
+ module.exports = __toCommonJS(product_exports);
29
+ var import_utils = require("../modules/schedule/utils");
30
+ var import_utils2 = require("../../modules/Cart/utils");
13
31
  function perfMark(label, durationMs, meta) {
14
32
  try {
15
- const w = typeof window !== 'undefined' ? window : typeof globalThis !== 'undefined' ? globalThis : null;
16
- if (!w) return;
17
- if (!w.__PERF__) w.__PERF__ = {
18
- records: []
19
- };
20
- w.__PERF__.records.push({
21
- label,
22
- duration: Math.round(durationMs * 100) / 100,
23
- ts: Date.now(),
24
- ...meta
25
- });
26
- } catch {/* noop */}
33
+ const w = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : null;
34
+ if (!w)
35
+ return;
36
+ if (!w.__PERF__)
37
+ w.__PERF__ = { records: [] };
38
+ w.__PERF__.records.push({ label, duration: Math.round(durationMs * 100) / 100, ts: Date.now(), ...meta });
39
+ } catch {
40
+ }
27
41
  }
28
-
29
- /**
30
- * 构建价格数据的 Map 索引结构
31
- * 使用三层 Map 实现 O(1) 查询,大幅提升性能
32
- * @param priceData 价格数据数组
33
- * @returns 三层 Map 索引:商品、variant、bundle
34
- */
35
42
  function buildPriceIndexMap(priceData) {
36
- // 1. 商品主价格 Map: productId -> priceInfo
37
- const priceMap = new Map(priceData.map(p => [p.id, p]));
38
-
39
- // 2. Variant 价格 Map: productId -> (variantId -> variantPriceInfo)
40
- const variantMap = new Map();
41
- priceData.forEach(p => {
43
+ const priceMap = new Map(
44
+ priceData.map((p) => [p.id, p])
45
+ );
46
+ const variantMap = /* @__PURE__ */ new Map();
47
+ priceData.forEach((p) => {
42
48
  if (p.variant && p.variant.length > 0) {
43
- const variantById = new Map(p.variant.map(v => [v.id, v]));
49
+ const variantById = new Map(p.variant.map((v) => [v.id, v]));
44
50
  variantMap.set(p.id, variantById);
45
51
  }
46
52
  });
47
-
48
- // 3. Bundle 价格 Map: productId -> (groupId -> (itemId -> itemPriceInfo))
49
- const bundleMap = new Map();
50
- priceData.forEach(p => {
53
+ const bundleMap = /* @__PURE__ */ new Map();
54
+ priceData.forEach((p) => {
51
55
  if (p.bundle_group && p.bundle_group.length > 0) {
52
- const groupMap = new Map();
53
- p.bundle_group.forEach(bg => {
54
- const itemMap = new Map((bg.bundle_item || []).map(bi => [bi.id, bi]));
56
+ const groupMap = /* @__PURE__ */ new Map();
57
+ p.bundle_group.forEach((bg) => {
58
+ const itemMap = new Map((bg.bundle_item || []).map((bi) => [bi.id, bi]));
55
59
  groupMap.set(bg.id, itemMap);
56
60
  });
57
61
  bundleMap.set(p.id, groupMap);
58
62
  }
59
63
  });
60
- return {
61
- priceMap,
62
- variantMap,
63
- bundleMap
64
- };
64
+ return { priceMap, variantMap, bundleMap };
65
65
  }
66
-
67
- /**
68
- * 将价格数据应用到商品列表(高性能版本)
69
- * 通过预构建 Map 索引,将时间复杂度从 O(n×m) 优化到 O(n+m)
70
- * @param products 商品列表
71
- * @param priceData 价格数据
72
- * @returns 应用价格后的商品列表
73
- */
74
66
  function applyPriceDataToProducts(products, priceData) {
75
67
  const t0 = performance.now();
76
68
  if (!priceData || priceData.length === 0) {
69
+ console.log("[applyPriceDataToProducts] 没有价格数据,返回原商品");
77
70
  return products;
78
71
  }
79
72
  const t1 = performance.now();
80
- const {
81
- priceMap,
82
- variantMap,
83
- bundleMap
84
- } = buildPriceIndexMap(priceData);
85
- perfMark('buildPriceIndexMap', performance.now() - t1, {
86
- priceCount: priceData.length
87
- });
73
+ const { priceMap, variantMap, bundleMap } = buildPriceIndexMap(priceData);
74
+ perfMark("buildPriceIndexMap", performance.now() - t1, { priceCount: priceData.length });
88
75
  const t2 = performance.now();
89
- const updatedProducts = products.map(product => {
76
+ const updatedProducts = products.map((product) => {
90
77
  const priceInfo = priceMap.get(product.id);
91
78
  if (!priceInfo) {
92
79
  return product;
93
80
  }
94
- const updatedProduct = {
95
- ...product
96
- };
81
+ const updatedProduct = { ...product };
97
82
  updatedProduct.price = priceInfo.price;
98
83
  updatedProduct.base_price = priceInfo.base_price;
99
84
  if (updatedProduct.variant && updatedProduct.variant.length > 0) {
100
85
  const productVariantMap = variantMap.get(product.id);
101
86
  if (productVariantMap) {
102
- updatedProduct.variant = updatedProduct.variant.map(v => {
87
+ updatedProduct.variant = updatedProduct.variant.map((v) => {
103
88
  const priceVariant = productVariantMap.get(v.id);
104
89
  if (priceVariant) {
105
90
  return {
@@ -115,155 +100,127 @@ function applyPriceDataToProducts(products, priceData) {
115
100
  if (updatedProduct.bundle_group && updatedProduct.bundle_group.length > 0) {
116
101
  const productBundleMap = bundleMap.get(product.id);
117
102
  if (productBundleMap) {
118
- updatedProduct.bundle_group = updatedProduct.bundle_group.map(bg => {
119
- const groupItemMap = productBundleMap.get(bg.id);
120
- if (!groupItemMap) return bg;
121
- return {
122
- ...bg,
123
- bundle_item: bg.bundle_item.map(bi => {
124
- const priceBi = groupItemMap.get(bi.id);
125
- if (priceBi) {
126
- let price = priceBi.price;
127
- return {
128
- ...bi,
129
- price: String(price),
130
- base_price: String(priceBi.base_price)
131
- };
132
- }
133
- return bi;
134
- })
135
- };
136
- });
103
+ updatedProduct.bundle_group = updatedProduct.bundle_group.map(
104
+ (bg) => {
105
+ const groupItemMap = productBundleMap.get(bg.id);
106
+ if (!groupItemMap)
107
+ return bg;
108
+ return {
109
+ ...bg,
110
+ bundle_item: bg.bundle_item.map((bi) => {
111
+ const priceBi = groupItemMap.get(bi.id);
112
+ if (priceBi) {
113
+ let price = priceBi.price;
114
+ return {
115
+ ...bi,
116
+ price: String(price),
117
+ base_price: String(priceBi.base_price)
118
+ };
119
+ }
120
+ return bi;
121
+ })
122
+ };
123
+ }
124
+ );
137
125
  }
138
126
  }
139
127
  return updatedProduct;
140
128
  });
141
- perfMark('applyPriceDataToProducts.mapProducts', performance.now() - t2, {
142
- count: products.length
143
- });
144
- perfMark('applyPriceDataToProducts', performance.now() - t0, {
129
+ perfMark("applyPriceDataToProducts.mapProducts", performance.now() - t2, { count: products.length });
130
+ perfMark("applyPriceDataToProducts", performance.now() - t0, {
145
131
  productCount: products.length,
146
132
  priceCount: priceData.length
147
133
  });
148
134
  return updatedProducts;
149
135
  }
150
- const getIsSessionProduct = product => {
151
- return ['session_product', 'session_ticket'].includes(product.extension_type);
136
+ var getIsSessionProduct = (product) => {
137
+ return ["session_product", "session_ticket"].includes(product.extension_type);
152
138
  };
153
-
154
- /**
155
- * 获取是否打开详情弹窗
156
- * @param product 商品
157
- * @param context 格式化器上下文
158
- * @returns 是否打开详情弹窗
159
- */
160
- exports.getIsSessionProduct = getIsSessionProduct;
161
- const getIsOpenDetailModal = (product, context) => {
162
- /** 是否为套餐组商品 */
139
+ var getIsOpenDetailModal = (product, context) => {
163
140
  const isBundleProduct = product.bundle_group_count > 0;
164
-
165
- /** 是否为选项组商品 */
166
141
  const isOptionProduct = product.option_group_count > 0;
167
-
168
- /** 是否为组合规格商品 */
169
142
  const isVariantProduct = product.is_variant > 0;
170
-
171
- /** 是否为日程商品 */
172
143
  const isSessionProduct = getIsSessionProduct(product);
173
-
174
- // 获取商品关联的日程时间段
175
144
  let scheduleTimeSlots = [];
176
- if (isSessionProduct && product['schedule.ids'] && context.scheduleModule) {
177
- const scheduleIds = product['schedule.ids'];
178
- // 从 context 中获取完整的 scheduleList,然后过滤出商品关联的 schedule
145
+ if (isSessionProduct && product["schedule.ids"] && context.scheduleModule) {
146
+ const scheduleIds = product["schedule.ids"];
179
147
  const productSchedules = context.scheduleModule.getScheduleByIds(scheduleIds);
180
- // 获取当前日期的所有时间段
181
- scheduleTimeSlots = (0, _utils.getScheduleStartEndTimePoints)(context.schedule_date, productSchedules);
148
+ scheduleTimeSlots = (0, import_utils.getScheduleStartEndTimePoints)(
149
+ context.schedule_date,
150
+ productSchedules
151
+ );
182
152
  }
183
-
184
- // 是否打开详情弹窗 套餐组、选项组、组合规格、日程商品、日程时间段大于1个 打开详情弹窗
185
153
  const isOpenDetailModal = isBundleProduct || isOptionProduct || isVariantProduct || scheduleTimeSlots.length > 1;
186
154
  return {
187
155
  isOpenDetailModal,
188
156
  scheduleTimeSlots
189
157
  };
190
158
  };
191
- const I18N_FIELD_MAP = {
192
- title_i18n: 'title',
193
- subtitle_i18n: 'subtitle',
194
- description_i18n: 'description',
195
- cover_i18n: 'cover'
159
+ var I18N_FIELD_MAP = {
160
+ title_i18n: "title",
161
+ subtitle_i18n: "subtitle",
162
+ description_i18n: "description",
163
+ cover_i18n: "cover"
196
164
  };
197
-
198
- /**
199
- * 根据 locale 将商品的 i18n 字段覆盖到对应原始字段
200
- */
201
165
  function applyI18nToProducts(products, locale) {
202
- if (!locale) return products;
203
- return products.map(product => {
166
+ if (!locale)
167
+ return products;
168
+ return products.map((product) => {
204
169
  let patched = null;
205
170
  for (const [i18nKey, originalKey] of Object.entries(I18N_FIELD_MAP)) {
206
171
  const i18nDict = product[i18nKey];
207
- if (!i18nDict) continue;
172
+ if (!i18nDict)
173
+ continue;
208
174
  const localizedValue = i18nDict[locale];
209
175
  if (localizedValue) {
210
- if (!patched) patched = {
211
- ...product
212
- };
176
+ if (!patched)
177
+ patched = { ...product };
213
178
  patched[originalKey] = localizedValue;
214
179
  }
215
180
  }
216
181
  return patched ?? product;
217
182
  });
218
183
  }
219
- const formatDataKey = data => {
184
+ var formatDataKey = (data) => {
185
+ var _a, _b, _c, _d;
220
186
  const _data = {
221
187
  ...data
222
188
  };
223
189
  let key = `${_data.product_id}`;
224
190
  let rowKey = key;
225
-
226
- // 组合规格
227
191
  if (_data.product_variant_id) {
228
192
  let str = `_${_data.product_variant_id}`;
229
193
  key += str;
230
194
  rowKey += str;
231
195
  }
232
-
233
- // 单规格
234
- if (_data?.option?.length) {
196
+ if ((_a = _data == null ? void 0 : _data.option) == null ? void 0 : _a.length) {
235
197
  for (const item of _data.option) {
236
- let str = `_${item.option_group_id}_${item.product_option_item_id}`;
198
+ let str = `_${item.option_group_id}_${item.option_group_item_id}`;
237
199
  key += str;
238
200
  rowKey += `${str}_${item.quantity || item.num}`;
239
201
  }
240
202
  }
241
-
242
- // 套餐
243
- if (_data?.bundle?.length) {
203
+ if ((_b = _data == null ? void 0 : _data.bundle) == null ? void 0 : _b.length) {
244
204
  for (const item of _data.bundle) {
245
205
  let str = `_${item.group_id}_${item.bundle_product_id}`;
246
206
  key += str;
247
207
  rowKey += `${str}_${item.quantity || item.num}`;
248
- // 如果有单规格
249
- if (item?.option) {
208
+ if (item == null ? void 0 : item.option) {
250
209
  for (const opt of item.option) {
251
- let str = `_${opt.option_group_id}_${opt.product_option_item_id}`;
252
- key += str;
253
- rowKey += `${str}_${opt.quantity || opt.num}`;
210
+ let str2 = `_${opt.option_group_id}_${opt.option_group_item_id}`;
211
+ key += str2;
212
+ rowKey += `${str2}_${opt.quantity || opt.num}`;
254
213
  }
255
214
  }
256
215
  }
257
216
  }
258
-
259
- // session time
260
- if (_data?.session) {
261
- let str = `_${_data?.session?.key}`;
217
+ if (_data == null ? void 0 : _data.session) {
218
+ let str = `_${(_c = _data == null ? void 0 : _data.session) == null ? void 0 : _c.key}`;
262
219
  key += str;
263
220
  rowKey += str;
264
221
  }
265
- if (_data?.schedule) {
266
- let str = `_${_data?.schedule?.key}`;
222
+ if (_data == null ? void 0 : _data.schedule) {
223
+ let str = `_${(_d = _data == null ? void 0 : _data.schedule) == null ? void 0 : _d.key}`;
267
224
  key += str;
268
225
  rowKey += str;
269
226
  }
@@ -271,66 +228,46 @@ const formatDataKey = data => {
271
228
  _data.rowKey = rowKey;
272
229
  return _data;
273
230
  };
274
-
275
- /**
276
- * 生成购物车详情值
277
- * @param product 商品
278
- * @param context 格式化器上下文
279
- * @returns 购物车详情值
280
- */
281
- const genCartDetailValue = (product, scheduleTimeSlots) => {
231
+ var genCartDetailValue = (product, scheduleTimeSlots) => {
282
232
  const params = {
283
- product_id: product?.id,
233
+ product_id: product == null ? void 0 : product.id,
284
234
  option: [],
285
235
  bundle: [],
286
236
  product_variant_id: 0,
287
237
  quantity: 1,
288
- unique: (0, _utils2.getUniqueId)(),
238
+ unique: (0, import_utils2.getUniqueId)(),
289
239
  session: null
290
240
  };
291
241
  if (scheduleTimeSlots.length) {
292
- params.session = scheduleTimeSlots.map(item => ({
242
+ params.session = scheduleTimeSlots.map((item) => ({
293
243
  ...item,
294
- unique: (0, _utils2.getUniqueId)()
244
+ unique: (0, import_utils2.getUniqueId)()
295
245
  }))[0];
296
246
  }
297
- if (product?.service_times) {
298
- params.service_times = product?.service_times;
247
+ if (product == null ? void 0 : product.service_times) {
248
+ params.service_times = product == null ? void 0 : product.service_times;
299
249
  }
300
-
301
- // 票务订单需要返回对应的扩展属性
302
- if (product?.machine_code) {
250
+ if (product == null ? void 0 : product.machine_code) {
303
251
  params.machine_code = product.machine_code;
304
252
  }
305
- if (product?.['schedule.ids']) {
306
- params.schedule_id = product['schedule.ids'];
253
+ if (product == null ? void 0 : product["schedule.ids"]) {
254
+ params.schedule_id = product["schedule.ids"];
307
255
  }
308
-
309
- // 协议id
310
- if (product?.policy) {
311
- params.policy_id = product?.policy;
256
+ if (product == null ? void 0 : product.policy) {
257
+ params.policy_id = product == null ? void 0 : product.policy;
312
258
  }
313
-
314
- // appointment预约商品
315
- if (product?.duration) {
259
+ if (product == null ? void 0 : product.duration) {
316
260
  params.duration = product.duration;
317
261
  }
318
262
  return formatDataKey(params);
319
263
  };
320
-
321
- /**
322
- * 将详情值数据应用到商品列表
323
- * @param products 商品列表
324
- * @param context 格式化器上下文
325
- * @returns 应用详情值后的商品列表
326
- */
327
264
  function applyDetailValueToProducts(products, context) {
328
265
  const t0 = performance.now();
329
- const newProducts = products.map(product => {
330
- const {
331
- isOpenDetailModal,
332
- scheduleTimeSlots
333
- } = getIsOpenDetailModal(product, context);
266
+ const newProducts = products.map((product) => {
267
+ const { isOpenDetailModal, scheduleTimeSlots } = getIsOpenDetailModal(
268
+ product,
269
+ context
270
+ );
334
271
  let cartDetailValue = null;
335
272
  if (!isOpenDetailModal) {
336
273
  cartDetailValue = genCartDetailValue(product, scheduleTimeSlots);
@@ -341,8 +278,14 @@ function applyDetailValueToProducts(products, context) {
341
278
  cartDetailValue
342
279
  };
343
280
  });
344
- perfMark('applyDetailValueToProducts', performance.now() - t0, {
345
- count: products.length
346
- });
281
+ perfMark("applyDetailValueToProducts", performance.now() - t0, { count: products.length });
347
282
  return newProducts;
348
- }
283
+ }
284
+ // Annotate the CommonJS export names for ESM import in node:
285
+ 0 && (module.exports = {
286
+ applyDetailValueToProducts,
287
+ applyI18nToProducts,
288
+ applyPriceDataToProducts,
289
+ getIsSessionProduct,
290
+ perfMark
291
+ });
@@ -1,16 +1,29 @@
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/server/utils/schedule.ts
20
+ var schedule_exports = {};
21
+ __export(schedule_exports, {
22
+ extractScheduleIdsFromMenus: () => extractScheduleIdsFromMenus,
23
+ extractTimePointsFromSchedules: () => extractTimePointsFromSchedules
5
24
  });
6
- exports.extractScheduleIdsFromMenus = extractScheduleIdsFromMenus;
7
- exports.extractTimePointsFromSchedules = extractTimePointsFromSchedules;
8
- var _time = require("./time");
9
- /**
10
- * 从餐牌列表中提取所有 schedule IDs
11
- * @param menus 餐牌列表
12
- * @returns 去重后的日程ID数组
13
- */
25
+ module.exports = __toCommonJS(schedule_exports);
26
+ var import_time = require("./time");
14
27
  function extractScheduleIdsFromMenus(menus) {
15
28
  const scheduleIds = menus.reduce((ids, menu) => {
16
29
  if (menu.schedule && Array.isArray(menu.schedule)) {
@@ -18,33 +31,25 @@ function extractScheduleIdsFromMenus(menus) {
18
31
  }
19
32
  return ids;
20
33
  }, []);
21
-
22
- // 去重
23
34
  return Array.from(new Set(scheduleIds));
24
35
  }
25
-
26
- /**
27
- * 从日程列表中提取所有时间点
28
- * @param schedules 日程列表
29
- * @returns 排序后的时间点数组,格式为 ["10:00", "12:00", "14:00", "18:00"]
30
- */
31
36
  function extractTimePointsFromSchedules(schedules) {
32
- const timePointsSet = new Set();
37
+ const timePointsSet = /* @__PURE__ */ new Set();
33
38
  for (const schedule of schedules) {
34
39
  switch (schedule.type) {
35
- case 'standard':
36
- // 标准类型:从 start_time 和 end_time 中提取时间部分
40
+ case "standard":
37
41
  if (schedule.start_time) {
38
- const startTime = (0, _time.extractTimeFromDateTime)(schedule.start_time);
39
- if (startTime) timePointsSet.add(startTime);
42
+ const startTime = (0, import_time.extractTimeFromDateTime)(schedule.start_time);
43
+ if (startTime)
44
+ timePointsSet.add(startTime);
40
45
  }
41
46
  if (schedule.end_time) {
42
- const endTime = (0, _time.extractTimeFromDateTime)(schedule.end_time);
43
- if (endTime) timePointsSet.add(endTime);
47
+ const endTime = (0, import_time.extractTimeFromDateTime)(schedule.end_time);
48
+ if (endTime)
49
+ timePointsSet.add(endTime);
44
50
  }
45
51
  break;
46
- case 'time-slots':
47
- // 时间段类型:从 time_slot 数组中提取时间
52
+ case "time-slots":
48
53
  if (schedule.time_slot && Array.isArray(schedule.time_slot)) {
49
54
  for (const slot of schedule.time_slot) {
50
55
  if (slot.start_time) {
@@ -56,8 +61,7 @@ function extractTimePointsFromSchedules(schedules) {
56
61
  }
57
62
  }
58
63
  break;
59
- case 'designation':
60
- // 指定日期类型:从 designation 中提取时间
64
+ case "designation":
61
65
  if (schedule.designation) {
62
66
  const designations = Array.isArray(schedule.designation) ? schedule.designation : [schedule.designation];
63
67
  for (const des of designations) {
@@ -74,8 +78,11 @@ function extractTimePointsFromSchedules(schedules) {
74
78
  console.warn(`[ScheduleUtils] 未知的日程类型: ${schedule.type}`);
75
79
  }
76
80
  }
77
-
78
- // 转换为数组并排序
79
81
  const timePoints = Array.from(timePointsSet);
80
- return (0, _time.sortTimePoints)(timePoints);
81
- }
82
+ return (0, import_time.sortTimePoints)(timePoints);
83
+ }
84
+ // Annotate the CommonJS export names for ESM import in node:
85
+ 0 && (module.exports = {
86
+ extractScheduleIdsFromMenus,
87
+ extractTimePointsFromSchedules
88
+ });