@pisell/pisellos 0.0.569 → 0.10.2

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