@pisell/pisellos 0.0.569 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/dist/core/index.js +10 -6
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -3
  4. package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
  5. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  6. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  7. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  8. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  9. package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
  10. package/dist/model/strategy/strategy-example.js +19 -5
  11. package/dist/modules/BaseModule.d.ts +1 -1
  12. package/dist/modules/BaseModule.js +8 -10
  13. package/dist/modules/Cart/index.js +3 -0
  14. package/dist/modules/Cart/utils/cartProduct.js +1 -0
  15. package/dist/modules/Cart/utils/cartResource.js +0 -2
  16. package/dist/modules/Cart/utils/changePrice.js +9 -16
  17. package/dist/modules/Date/index.js +5 -1
  18. package/dist/modules/Discount/index.d.ts +0 -1
  19. package/dist/modules/Discount/index.js +7 -22
  20. package/dist/modules/Discount/types.d.ts +0 -1
  21. package/dist/modules/OpenData/index.js +2 -0
  22. package/dist/modules/Order/index.d.ts +1 -1
  23. package/dist/modules/Order/index.js +70 -40
  24. package/dist/modules/Payment/index.js +162 -97
  25. package/dist/modules/Payment/types.d.ts +4 -8
  26. package/dist/modules/Payment/walletpass.d.ts +0 -2
  27. package/dist/modules/Payment/walletpass.js +5 -4
  28. package/dist/modules/ProductList/index.d.ts +1 -1
  29. package/dist/modules/ProductList/index.js +3 -12
  30. package/dist/modules/ProductList/types.d.ts +0 -1
  31. package/dist/modules/Rules/index.js +126 -427
  32. package/dist/modules/SalesSummary/utils.js +1 -2
  33. package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
  34. package/dist/modules/Schedule/index.js +1 -0
  35. package/dist/modules/Schedule/utils.js +1 -0
  36. package/dist/modules/Step/index.js +1 -0
  37. package/dist/modules/Summary/utils.js +22 -43
  38. package/dist/plugins/request.js +4 -1
  39. package/dist/plugins/window.js +6 -2
  40. package/dist/server/index.js +129 -97
  41. package/dist/server/modules/menu/index.js +41 -32
  42. package/dist/server/modules/order/index.js +4 -2
  43. package/dist/server/modules/products/index.js +42 -24
  44. package/dist/server/modules/quotation/index.js +38 -29
  45. package/dist/server/modules/resource/index.js +4 -3
  46. package/dist/server/modules/schedule/index.js +35 -27
  47. package/dist/server/utils/product.js +1 -0
  48. package/dist/solution/BaseSales/index.js +41 -38
  49. package/dist/solution/BookingByStep/index.d.ts +1 -1
  50. package/dist/solution/BookingByStep/index.js +60 -11
  51. package/dist/solution/BookingByStep/utils/capacity.js +11 -1
  52. package/dist/solution/BookingByStep/utils/resources.js +3 -1
  53. package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
  54. package/dist/solution/BookingTicket/index.d.ts +1 -1
  55. package/dist/solution/BookingTicket/index.js +2 -0
  56. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
  57. package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
  58. package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
  59. package/dist/solution/BuyTickets/index.js +12 -9
  60. package/dist/solution/Checkout/index.js +252 -177
  61. package/dist/solution/Checkout/utils/index.js +16 -4
  62. package/dist/solution/RegisterAndLogin/index.js +76 -30
  63. package/dist/solution/ScanOrder/index.js +60 -50
  64. package/dist/solution/ShopDiscount/index.js +14 -15
  65. package/dist/solution/ShopDiscount/types.d.ts +4 -5
  66. package/dist/solution/ShopDiscount/utils.d.ts +0 -9
  67. package/dist/solution/ShopDiscount/utils.js +0 -9
  68. package/dist/solution/VenueBooking/index.d.ts +3 -31
  69. package/dist/solution/VenueBooking/index.js +496 -651
  70. package/dist/solution/VenueBooking/types.d.ts +1 -3
  71. package/dist/solution/VenueBooking/types.js +0 -1
  72. package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  73. package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
  74. package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  75. package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/utils/task.js +18 -15
  78. package/dist/utils/watch.js +1 -0
  79. package/lib/apis/picoding.js +0 -2
  80. package/lib/core/index.js +132 -130
  81. package/lib/effects/index.js +57 -46
  82. package/lib/index.d.ts +0 -1
  83. package/lib/index.js +50 -92
  84. package/lib/model/index.js +21 -14
  85. package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
  86. package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
  87. package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
  88. package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
  89. package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
  90. package/lib/model/strategy/adapter/index.js +64 -100
  91. package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
  92. package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
  93. package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
  94. package/lib/model/strategy/adapter/itemRule/index.js +57 -83
  95. package/lib/model/strategy/adapter/itemRule/type.js +36 -97
  96. package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
  97. package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
  98. package/lib/model/strategy/adapter/promotion/examples.js +159 -139
  99. package/lib/model/strategy/adapter/promotion/index.js +0 -1
  100. package/lib/model/strategy/adapter/promotion/type.js +35 -199
  101. package/lib/model/strategy/adapter/type.js +16 -4
  102. package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
  103. package/lib/model/strategy/adapter/walletPass/example.js +190 -217
  104. package/lib/model/strategy/adapter/walletPass/index.js +51 -75
  105. package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
  106. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
  107. package/lib/model/strategy/adapter/walletPass/type.js +16 -4
  108. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  109. package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
  110. package/lib/model/strategy/engine.js +168 -270
  111. package/lib/model/strategy/index.js +34 -49
  112. package/lib/model/strategy/strategy-example.js +239 -243
  113. package/lib/model/strategy/type.js +40 -100
  114. package/lib/modules/Account/index.js +53 -39
  115. package/lib/modules/Account/types.js +33 -20
  116. package/lib/modules/AccountList/index.js +154 -116
  117. package/lib/modules/AccountList/types.js +31 -30
  118. package/lib/modules/AccountList/utils.js +30 -18
  119. package/lib/modules/BaseModule.d.ts +1 -1
  120. package/lib/modules/BaseModule.js +46 -25
  121. package/lib/modules/BookingContext/index.js +136 -158
  122. package/lib/modules/BookingContext/types.js +32 -46
  123. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
  124. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
  125. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
  126. package/lib/modules/BookingContext/utils/flexible.js +55 -38
  127. package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
  128. package/lib/modules/BookingContext/utils/index.js +41 -124
  129. package/lib/modules/BookingContext/utils/noResource.js +70 -58
  130. package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
  131. package/lib/modules/BookingContext/utils/productExtend.js +155 -202
  132. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  133. package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
  134. package/lib/modules/BookingContext/utils/resources.js +167 -209
  135. package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
  136. package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
  137. package/lib/modules/Cart/index.js +124 -170
  138. package/lib/modules/Cart/types.js +51 -46
  139. package/lib/modules/Cart/utils/cartAccount.js +39 -40
  140. package/lib/modules/Cart/utils/cartDate.js +61 -56
  141. package/lib/modules/Cart/utils/cartDiscount.js +33 -28
  142. package/lib/modules/Cart/utils/cartNote.js +32 -27
  143. package/lib/modules/Cart/utils/cartProduct.js +251 -321
  144. package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
  145. package/lib/modules/Cart/utils/cartResource.js +78 -72
  146. package/lib/modules/Cart/utils/changePrice.js +50 -28
  147. package/lib/modules/Cart/utils/index.js +48 -106
  148. package/lib/modules/Customer/constants.js +34 -13
  149. package/lib/modules/Customer/index.js +169 -232
  150. package/lib/modules/Customer/types.js +35 -38
  151. package/lib/modules/Date/index.js +115 -116
  152. package/lib/modules/Date/types.js +28 -16
  153. package/lib/modules/Date/utils.js +123 -174
  154. package/lib/modules/Discount/index.d.ts +0 -1
  155. package/lib/modules/Discount/index.js +128 -130
  156. package/lib/modules/Discount/types.d.ts +0 -1
  157. package/lib/modules/Discount/types.js +31 -9
  158. package/lib/modules/Guests/index.js +56 -30
  159. package/lib/modules/Guests/types.js +33 -23
  160. package/lib/modules/Holder/index.js +189 -209
  161. package/lib/modules/Holder/types.js +16 -4
  162. package/lib/modules/Holder/utils.js +49 -20
  163. package/lib/modules/OpenData/index.js +76 -69
  164. package/lib/modules/OpenData/types.js +16 -4
  165. package/lib/modules/OpenData/utils.js +78 -44
  166. package/lib/modules/Order/index.d.ts +1 -1
  167. package/lib/modules/Order/index.js +1909 -1572
  168. package/lib/modules/Order/types.js +35 -78
  169. package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
  170. package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
  171. package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
  172. package/lib/modules/Order/utils.js +634 -799
  173. package/lib/modules/Payment/cash.js +33 -20
  174. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  175. package/lib/modules/Payment/eftpos.js +30 -16
  176. package/lib/modules/Payment/index.js +378 -518
  177. package/lib/modules/Payment/mx51.js +0 -1
  178. package/lib/modules/Payment/types.d.ts +4 -8
  179. package/lib/modules/Payment/types.js +107 -216
  180. package/lib/modules/Payment/utils.js +48 -51
  181. package/lib/modules/Payment/walletpass.d.ts +0 -2
  182. package/lib/modules/Payment/walletpass.js +211 -226
  183. package/lib/modules/Product/index.js +46 -51
  184. package/lib/modules/Product/types.js +16 -4
  185. package/lib/modules/Product/utils.js +33 -32
  186. package/lib/modules/ProductList/index.d.ts +1 -1
  187. package/lib/modules/ProductList/index.js +117 -117
  188. package/lib/modules/ProductList/types.d.ts +0 -1
  189. package/lib/modules/ProductList/types.js +31 -9
  190. package/lib/modules/Quotation/index.js +100 -66
  191. package/lib/modules/Quotation/types.js +16 -4
  192. package/lib/modules/Resource/index.js +59 -27
  193. package/lib/modules/Resource/types.js +32 -22
  194. package/lib/modules/Resource/utils.js +38 -30
  195. package/lib/modules/ResourcePlanner/index.js +61 -60
  196. package/lib/modules/ResourcePlanner/planner.js +384 -346
  197. package/lib/modules/ResourcePlanner/types.js +16 -4
  198. package/lib/modules/Rules/index.js +903 -1475
  199. package/lib/modules/Rules/types.js +40 -17
  200. package/lib/modules/SalesSummary/index.js +90 -85
  201. package/lib/modules/SalesSummary/types.js +16 -4
  202. package/lib/modules/SalesSummary/utils.js +427 -351
  203. package/lib/modules/ScanOrderLogger/index.js +79 -59
  204. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  205. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  206. package/lib/modules/ScanOrderLogger/types.js +16 -4
  207. package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
  208. package/lib/modules/Schedule/index.js +114 -100
  209. package/lib/modules/Schedule/type.js +16 -4
  210. package/lib/modules/Schedule/types.js +16 -4
  211. package/lib/modules/Schedule/utils.js +291 -433
  212. package/lib/modules/Step/index.js +52 -40
  213. package/lib/modules/Step/tyeps.js +16 -4
  214. package/lib/modules/Summary/index.js +71 -66
  215. package/lib/modules/Summary/types.js +16 -4
  216. package/lib/modules/Summary/utils.js +418 -791
  217. package/lib/modules/SurchargeList/index.js +60 -46
  218. package/lib/modules/SurchargeList/types.js +16 -4
  219. package/lib/modules/index.js +63 -245
  220. package/lib/plugins/app.js +16 -4
  221. package/lib/plugins/index.js +25 -36
  222. package/lib/plugins/request.js +126 -137
  223. package/lib/plugins/shopStore.js +16 -4
  224. package/lib/plugins/user.js +16 -4
  225. package/lib/plugins/window.js +179 -171
  226. package/lib/server/index.js +2337 -2675
  227. package/lib/server/modules/floor-plan/index.js +123 -102
  228. package/lib/server/modules/floor-plan/types.js +30 -15
  229. package/lib/server/modules/index.js +68 -106
  230. package/lib/server/modules/menu/index.js +122 -146
  231. package/lib/server/modules/menu/types.js +31 -18
  232. package/lib/server/modules/order/index.js +642 -567
  233. package/lib/server/modules/order/types.js +32 -117
  234. package/lib/server/modules/order/utils/filterBookings.js +194 -219
  235. package/lib/server/modules/order/utils/filterOrders.js +92 -118
  236. package/lib/server/modules/payment/index.js +83 -59
  237. package/lib/server/modules/payment/types.js +16 -4
  238. package/lib/server/modules/products/index.js +459 -575
  239. package/lib/server/modules/products/types.js +34 -44
  240. package/lib/server/modules/quotation/index.js +172 -137
  241. package/lib/server/modules/quotation/types.js +31 -21
  242. package/lib/server/modules/resource/index.js +184 -213
  243. package/lib/server/modules/resource/types.js +33 -42
  244. package/lib/server/modules/schedule/index.js +123 -135
  245. package/lib/server/modules/schedule/types.js +21 -14
  246. package/lib/server/modules/schedule/utils.js +163 -334
  247. package/lib/server/types.js +16 -4
  248. package/lib/server/utils/index.js +23 -25
  249. package/lib/server/utils/product.js +139 -196
  250. package/lib/server/utils/schedule.js +41 -34
  251. package/lib/server/utils/small-ticket.js +456 -478
  252. package/lib/server/utils/time.js +49 -40
  253. package/lib/solution/BaseSales/index.js +1016 -850
  254. package/lib/solution/BaseSales/types.js +37 -41
  255. package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
  256. package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
  257. package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
  258. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
  259. package/lib/solution/BaseSales/utils.js +140 -155
  260. package/lib/solution/BookingByStep/index.d.ts +1 -1
  261. package/lib/solution/BookingByStep/index.js +1340 -1530
  262. package/lib/solution/BookingByStep/types.js +99 -40
  263. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  264. package/lib/solution/BookingByStep/utils/products.js +52 -42
  265. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  266. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  267. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  268. package/lib/solution/BookingTicket/index.d.ts +1 -1
  269. package/lib/solution/BookingTicket/index.js +459 -543
  270. package/lib/solution/BookingTicket/types.js +77 -99
  271. package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
  272. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
  273. package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
  274. package/lib/solution/BookingTicket/utils/cartView.js +94 -110
  275. package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
  276. package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
  277. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
  278. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
  279. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
  280. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
  281. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
  282. package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
  283. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  284. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
  285. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
  286. package/lib/solution/BuyTickets/index.js +70 -67
  287. package/lib/solution/BuyTickets/types.js +38 -22
  288. package/lib/solution/Checkout/index.js +1158 -1451
  289. package/lib/solution/Checkout/types.js +61 -91
  290. package/lib/solution/Checkout/utils/index.js +156 -228
  291. package/lib/solution/PlaceOrder/index.js +0 -55
  292. package/lib/solution/RegisterAndLogin/config.js +460 -493
  293. package/lib/solution/RegisterAndLogin/index.js +630 -633
  294. package/lib/solution/RegisterAndLogin/types.js +76 -189
  295. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  296. package/lib/solution/Sales/index.js +320 -317
  297. package/lib/solution/Sales/types.js +33 -27
  298. package/lib/solution/ScanOrder/index.js +862 -831
  299. package/lib/solution/ScanOrder/types.js +34 -33
  300. package/lib/solution/ScanOrder/utils.js +371 -406
  301. package/lib/solution/ShopDiscount/index.js +233 -235
  302. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  303. package/lib/solution/ShopDiscount/types.js +37 -15
  304. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  305. package/lib/solution/ShopDiscount/utils.js +172 -309
  306. package/lib/solution/UnifiedBookingSales/index.js +405 -379
  307. package/lib/solution/UnifiedBookingSales/types.js +31 -12
  308. package/lib/solution/VenueBooking/index.d.ts +3 -31
  309. package/lib/solution/VenueBooking/index.js +916 -967
  310. package/lib/solution/VenueBooking/types.d.ts +1 -3
  311. package/lib/solution/VenueBooking/types.js +39 -20
  312. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  313. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  314. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  315. package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
  316. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  317. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  318. package/lib/solution/VenueBooking/utils.js +67 -130
  319. package/lib/solution/index.js +41 -124
  320. package/lib/store/createStore.js +29 -32
  321. package/lib/types/index.d.ts +1 -1
  322. package/lib/types/index.js +16 -4
  323. package/lib/utils/task.js +36 -36
  324. package/lib/utils/watch.js +47 -81
  325. package/package.json +2 -4
  326. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  327. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  328. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  329. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
@@ -1,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
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.option_group_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
+ });