@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
@@ -1,22 +1,47 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/server/modules/schedule/utils.ts
30
+ var utils_exports = {};
31
+ __export(utils_exports, {
32
+ getDateIsInSchedule: () => getDateIsInSchedule,
33
+ getScheduleStartEndTimePoints: () => getScheduleStartEndTimePoints
5
34
  });
6
- exports.getScheduleStartEndTimePoints = exports.getDateIsInSchedule = void 0;
7
- var _dayjs = _interopRequireDefault(require("dayjs"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- // 获取时间是否在日程范围内
10
- const getDateIsInSchedule = (dateTime, scheduleList) => {
35
+ module.exports = __toCommonJS(utils_exports);
36
+ var import_dayjs = __toESM(require("dayjs"));
37
+ var getDateIsInSchedule = (dateTime, scheduleList) => {
11
38
  if (!dateTime || !scheduleList || scheduleList.length === 0) {
12
39
  return false;
13
40
  }
14
- const targetDate = (0, _dayjs.default)(dateTime);
41
+ const targetDate = (0, import_dayjs.default)(dateTime);
15
42
  if (!targetDate.isValid()) {
16
43
  return false;
17
44
  }
18
-
19
- // 遍历所有日程项
20
45
  for (const schedule of scheduleList) {
21
46
  if (isTimeInScheduleItem(dateTime, schedule)) {
22
47
  return true;
@@ -24,270 +49,175 @@ const getDateIsInSchedule = (dateTime, scheduleList) => {
24
49
  }
25
50
  return false;
26
51
  };
27
-
28
- // 判断时间是否在单个日程项范围内
29
- exports.getDateIsInSchedule = getDateIsInSchedule;
30
- const isTimeInScheduleItem = (dateTime, schedule) => {
31
- const targetDate = (0, _dayjs.default)(dateTime);
32
- const targetDateString = dateTime.split(' ')[0]; // YYYY-MM-DD
33
- const targetTimeString = dateTime.split(' ')[1] || '00:00:00'; // HH:mm:ss
34
-
52
+ var isTimeInScheduleItem = (dateTime, schedule) => {
53
+ const targetDate = (0, import_dayjs.default)(dateTime);
54
+ const targetDateString = dateTime.split(" ")[0];
55
+ const targetTimeString = dateTime.split(" ")[1] || "00:00:00";
35
56
  switch (schedule.type) {
36
- case 'standard':
57
+ case "standard":
37
58
  return isInStandardSchedule(targetDate, targetDateString, targetTimeString, schedule);
38
- case 'time-slots':
59
+ case "time-slots":
39
60
  return isInTimeSlotsSchedule(targetDate, targetDateString, targetTimeString, schedule);
40
- case 'designation':
61
+ case "designation":
41
62
  return isInDesignationSchedule(targetDate, targetDateString, targetTimeString, schedule);
42
63
  default:
43
64
  return false;
44
65
  }
45
66
  };
46
-
47
- // 处理标准类型日程
48
- const isInStandardSchedule = (targetDate, targetDateString, targetTimeString, schedule) => {
67
+ var isInStandardSchedule = (targetDate, targetDateString, targetTimeString, schedule) => {
49
68
  if (!schedule.start_time || !schedule.end_time) {
50
69
  return false;
51
70
  }
52
- const startDate = (0, _dayjs.default)(schedule.start_time);
53
- const endDate = (0, _dayjs.default)(schedule.end_time);
54
-
55
- // 先检查是否在基础时间范围内(不考虑重复)
71
+ const startDate = (0, import_dayjs.default)(schedule.start_time);
72
+ const endDate = (0, import_dayjs.default)(schedule.end_time);
56
73
  const isInBasicRange = targetDate.isSameOrAfter(startDate) && targetDate.isSameOrBefore(endDate);
57
- if (schedule.repeat_type === 'none') {
74
+ if (schedule.repeat_type === "none") {
58
75
  return isInBasicRange;
59
76
  }
60
-
61
- // 处理重复日程
62
77
  return isInRepeatingSchedule(targetDate, targetDateString, targetTimeString, schedule, startDate, endDate);
63
78
  };
64
-
65
- // 处理时间段类型日程
66
- const isInTimeSlotsSchedule = (targetDate, targetDateString, targetTimeString, schedule) => {
79
+ var isInTimeSlotsSchedule = (targetDate, targetDateString, targetTimeString, schedule) => {
67
80
  if (!schedule.start_time) {
68
81
  return false;
69
82
  }
70
- const scheduleDate = schedule.start_time.split(' ')[0];
71
-
72
- // 检查日期是否匹配
83
+ const scheduleDate = schedule.start_time.split(" ")[0];
73
84
  if (targetDateString !== scheduleDate) {
74
85
  return false;
75
86
  }
76
-
77
- // 检查是否在任一时间段内
78
87
  for (const timeSlot of schedule.time_slot) {
79
88
  const slotStart = `${scheduleDate} ${timeSlot.start_time}:00`;
80
89
  const slotEnd = `${scheduleDate} ${timeSlot.end_time}:00`;
81
- const slotStartDate = (0, _dayjs.default)(slotStart);
82
- const slotEndDate = (0, _dayjs.default)(slotEnd);
90
+ const slotStartDate = (0, import_dayjs.default)(slotStart);
91
+ const slotEndDate = (0, import_dayjs.default)(slotEnd);
83
92
  if (targetDate.isSameOrAfter(slotStartDate) && targetDate.isSameOrBefore(slotEndDate)) {
84
93
  return true;
85
94
  }
86
95
  }
87
96
  return false;
88
97
  };
89
-
90
- // 处理指定类型日程
91
- const isInDesignationSchedule = (targetDate, targetDateString, targetTimeString, schedule) => {
98
+ var isInDesignationSchedule = (targetDate, targetDateString, targetTimeString, schedule) => {
92
99
  if (!schedule.designation) {
93
100
  return false;
94
101
  }
95
-
96
- // @ts-ignore
97
102
  for (const designation of schedule.designation) {
98
103
  const startDateTime = `${designation.start_date} ${designation.start_time}:00`;
99
104
  const endDateTime = `${designation.end_date} ${designation.end_time}:00`;
100
- const startDate = (0, _dayjs.default)(startDateTime);
101
- const endDate = (0, _dayjs.default)(endDateTime);
105
+ const startDate = (0, import_dayjs.default)(startDateTime);
106
+ const endDate = (0, import_dayjs.default)(endDateTime);
102
107
  if (targetDate.isSameOrAfter(startDate) && targetDate.isSameOrBefore(endDate)) {
103
108
  return true;
104
109
  }
105
110
  }
106
111
  return false;
107
112
  };
108
-
109
- // 处理重复日程逻辑
110
- const isInRepeatingSchedule = (targetDate, targetDateString, targetTimeString, schedule, startDate, endDate) => {
113
+ var isInRepeatingSchedule = (targetDate, targetDateString, targetTimeString, schedule, startDate, endDate) => {
111
114
  if (!schedule.repeat_rule) {
112
115
  return false;
113
116
  }
114
- const {
115
- repeat_rule,
116
- repeat_type
117
- } = schedule;
118
- const targetDateOnly = (0, _dayjs.default)(targetDateString); // 只取日期部分
119
-
120
- // 首先检查是否在包含日期中(包含日期是额外增加的有效日期)
117
+ const { repeat_rule, repeat_type } = schedule;
118
+ const targetDateOnly = (0, import_dayjs.default)(targetDateString);
121
119
  if (repeat_rule.included_date && repeat_rule.included_date.length > 0) {
122
120
  for (const includedDate of repeat_rule.included_date) {
123
- const includeStartDate = (0, _dayjs.default)(includedDate.start);
124
- const includeEndDate = (0, _dayjs.default)(includedDate.end);
125
- if (targetDateOnly.isSameOrAfter(includeStartDate, 'day') && targetDateOnly.isSameOrBefore(includeEndDate, 'day')) {
126
- // 在包含日期中,直接返回true,无需检查其他条件
121
+ const includeStartDate = (0, import_dayjs.default)(includedDate.start);
122
+ const includeEndDate = (0, import_dayjs.default)(includedDate.end);
123
+ if (targetDateOnly.isSameOrAfter(includeStartDate, "day") && targetDateOnly.isSameOrBefore(includeEndDate, "day")) {
127
124
  return true;
128
125
  }
129
126
  }
130
127
  }
131
-
132
- // 检查是否在排除日期中
133
128
  for (const excludedDate of repeat_rule.excluded_date) {
134
- const excludeStartDate = (0, _dayjs.default)(excludedDate.start);
135
- const excludeEndDate = (0, _dayjs.default)(excludedDate.end);
136
- // 检查目标日期是否在排除范围内(包含边界)
137
- if (targetDateOnly.isSameOrAfter(excludeStartDate, 'day') && targetDateOnly.isSameOrBefore(excludeEndDate, 'day')) {
129
+ const excludeStartDate = (0, import_dayjs.default)(excludedDate.start);
130
+ const excludeEndDate = (0, import_dayjs.default)(excludedDate.end);
131
+ if (targetDateOnly.isSameOrAfter(excludeStartDate, "day") && targetDateOnly.isSameOrBefore(excludeEndDate, "day")) {
138
132
  return false;
139
133
  }
140
134
  }
141
-
142
- // 检查重复规则的结束条件
143
- if (repeat_rule.end.type === 'date' && repeat_rule.end.end_date) {
144
- const ruleEndDate = (0, _dayjs.default)(repeat_rule.end.end_date);
135
+ if (repeat_rule.end.type === "date" && repeat_rule.end.end_date) {
136
+ const ruleEndDate = (0, import_dayjs.default)(repeat_rule.end.end_date);
145
137
  if (targetDate.isAfter(ruleEndDate)) {
146
138
  return false;
147
139
  }
148
140
  }
149
-
150
- // 根据重复类型检查
151
141
  switch (repeat_type) {
152
- case 'daily':
142
+ case "daily":
153
143
  return isInDailyRepeat(targetDate, startDate, endDate, repeat_rule);
154
- case 'weekly':
144
+ case "weekly":
155
145
  return isInWeeklyRepeat(targetDate, startDate, endDate, repeat_rule);
156
146
  default:
157
147
  return false;
158
- // 不支持月和年重复
159
148
  }
160
149
  };
161
-
162
- // 每日重复逻辑
163
- const isInDailyRepeat = (targetDate, startDate, endDate, repeatRule) => {
164
- const daysDiff = targetDate.diff(startDate, 'day');
150
+ var isInDailyRepeat = (targetDate, startDate, endDate, repeatRule) => {
151
+ const daysDiff = targetDate.diff(startDate, "day");
165
152
  if (daysDiff < 0) {
166
153
  return false;
167
154
  }
168
-
169
- // 检查频率
170
155
  if (daysDiff % repeatRule.frequency !== 0) {
171
156
  return false;
172
157
  }
173
-
174
- // 检查时间是否在日程的时间范围内
175
158
  const targetTimeOfDay = targetDate.hour() * 3600 + targetDate.minute() * 60 + targetDate.second();
176
159
  const startTimeOfDay = startDate.hour() * 3600 + startDate.minute() * 60 + startDate.second();
177
160
  const endTimeOfDay = endDate.hour() * 3600 + endDate.minute() * 60 + endDate.second();
178
-
179
- // 每日重复:每天都在相同的时间段内有效
180
- // 例如:01:00:00 - 16:00:00,每天都是这个时间段
181
161
  return targetTimeOfDay >= startTimeOfDay && targetTimeOfDay <= endTimeOfDay;
182
162
  };
183
-
184
- // 每周重复逻辑
185
- const isInWeeklyRepeat = (targetDate, startDate, endDate, repeatRule) => {
186
- const targetDayOfWeek = targetDate.day(); // 0=周日, 1=周一, ..., 6=周六
187
-
188
- // 检查是否在指定的星期几内
163
+ var isInWeeklyRepeat = (targetDate, startDate, endDate, repeatRule) => {
164
+ const targetDayOfWeek = targetDate.day();
189
165
  if (!repeatRule.frequency_date.includes(targetDayOfWeek)) {
190
166
  return false;
191
167
  }
192
-
193
- // 计算周差
194
- const weeksDiff = targetDate.diff(startDate, 'week');
168
+ const weeksDiff = targetDate.diff(startDate, "week");
195
169
  if (weeksDiff < 0) {
196
170
  return false;
197
171
  }
198
-
199
- // 检查频率
200
172
  if (weeksDiff % repeatRule.frequency !== 0) {
201
173
  return false;
202
174
  }
203
-
204
- // 检查时间是否在日程的时间范围内
205
175
  const targetTimeOfDay = targetDate.hour() * 3600 + targetDate.minute() * 60 + targetDate.second();
206
176
  const startTimeOfDay = startDate.hour() * 3600 + startDate.minute() * 60 + startDate.second();
207
177
  const endTimeOfDay = endDate.hour() * 3600 + endDate.minute() * 60 + endDate.second();
208
178
  return targetTimeOfDay >= startTimeOfDay && targetTimeOfDay <= endTimeOfDay;
209
179
  };
210
-
211
- // 日程时间段类型
212
-
213
- /**
214
- * 获取当前日期日程时间点
215
- * @param date 日期 YYYY-MM-DD
216
- * @param scheduleList 日程列表
217
- * @returns 当前日期日程时间点 结构,数组 [{
218
- *
219
- * // HH:mm
220
- * end_time: string,
221
- * // HH:mm
222
- * start_time: string,
223
- * // 日期时间
224
- * // YYYY-MM-DD HH:mm:ss
225
- * end_at: Dayjs,
226
- * // YYYY-MM-DD HH:mm:ss
227
- * start_at: Dayjs,
228
- *
229
- * }]
230
- */
231
- const getScheduleStartEndTimePoints = (date, scheduleList) => {
180
+ var getScheduleStartEndTimePoints = (date, scheduleList) => {
232
181
  if (!date || !scheduleList || scheduleList.length === 0) {
233
182
  return [];
234
183
  }
235
- const targetDate = (0, _dayjs.default)(date);
184
+ const targetDate = (0, import_dayjs.default)(date);
236
185
  if (!targetDate.isValid()) {
237
186
  return [];
238
187
  }
239
188
  const timeSlots = [];
240
-
241
- // 遍历所有日程
242
189
  for (const schedule of scheduleList) {
243
190
  const slots = extractTimeSlotsFromSchedule(date, schedule);
244
191
  timeSlots.push(...slots);
245
192
  }
246
-
247
- // 去重并排序时间段
248
193
  return mergeAndSortTimeSlots(timeSlots);
249
194
  };
250
-
251
- /**
252
- * 从单个日程中提取指定日期的时间段
253
- */
254
- exports.getScheduleStartEndTimePoints = getScheduleStartEndTimePoints;
255
- const extractTimeSlotsFromSchedule = (date, schedule) => {
195
+ var extractTimeSlotsFromSchedule = (date, schedule) => {
256
196
  switch (schedule.type) {
257
- case 'standard':
197
+ case "standard":
258
198
  return extractStandardScheduleTimeSlots(date, schedule);
259
- case 'time-slots':
199
+ case "time-slots":
260
200
  return extractTimeSlotsScheduleTimeSlots(date, schedule);
261
- case 'designation':
201
+ case "designation":
262
202
  return extractDesignationScheduleTimeSlots(date, schedule);
263
203
  default:
264
204
  return [];
265
205
  }
266
206
  };
267
-
268
- /**
269
- * 提取标准类型日程的时间段
270
- */
271
- const extractStandardScheduleTimeSlots = (date, schedule) => {
207
+ var extractStandardScheduleTimeSlots = (date, schedule) => {
272
208
  if (!schedule.start_time || !schedule.end_time) {
273
209
  return [];
274
210
  }
275
- const targetDate = (0, _dayjs.default)(date);
276
- const startDate = (0, _dayjs.default)(schedule.start_time);
277
- const endDate = (0, _dayjs.default)(schedule.end_time);
278
-
279
- // 检查日期是否在日程范围内
211
+ const targetDate = (0, import_dayjs.default)(date);
212
+ const startDate = (0, import_dayjs.default)(schedule.start_time);
213
+ const endDate = (0, import_dayjs.default)(schedule.end_time);
280
214
  if (!isDateInStandardSchedule(targetDate, schedule, startDate, endDate)) {
281
215
  return [];
282
216
  }
283
-
284
- // 提取时间部分
285
- const startTime = startDate.format('HH:mm');
286
- const endTime = endDate.format('HH:mm');
287
-
288
- // 构造完整的日期时间
289
- const startAt = (0, _dayjs.default)(`${date} ${startTime}:00`);
290
- const endAt = (0, _dayjs.default)(`${date} ${endTime}:00`);
217
+ const startTime = startDate.format("HH:mm");
218
+ const endTime = endDate.format("HH:mm");
219
+ const startAt = (0, import_dayjs.default)(`${date} ${startTime}:00`);
220
+ const endAt = (0, import_dayjs.default)(`${date} ${endTime}:00`);
291
221
  return [{
292
222
  start_time: startTime,
293
223
  end_time: endTime,
@@ -295,30 +225,22 @@ const extractStandardScheduleTimeSlots = (date, schedule) => {
295
225
  end_at: endAt
296
226
  }];
297
227
  };
298
-
299
- /**
300
- * 提取时间段类型日程的时间段
301
- */
302
- const extractTimeSlotsScheduleTimeSlots = (date, schedule) => {
228
+ var extractTimeSlotsScheduleTimeSlots = (date, schedule) => {
303
229
  if (!schedule.start_time || !schedule.time_slot || schedule.time_slot.length === 0) {
304
230
  return [];
305
231
  }
306
- const targetDate = (0, _dayjs.default)(date);
307
- const scheduleStartDate = (0, _dayjs.default)(schedule.start_time.split(' ')[0]);
308
-
309
- // 检查日期是否在日程的有效范围内(考虑重复规则)
232
+ const targetDate = (0, import_dayjs.default)(date);
233
+ const scheduleStartDate = (0, import_dayjs.default)(schedule.start_time.split(" ")[0]);
310
234
  if (!isDateInTimeSlotsSchedule(targetDate, schedule, scheduleStartDate)) {
311
235
  return [];
312
236
  }
313
237
  const slots = [];
314
-
315
- // 提取所有时间段
316
238
  for (const timeSlot of schedule.time_slot) {
317
239
  if (!timeSlot.start_time || !timeSlot.end_time) {
318
240
  continue;
319
241
  }
320
- const startAt = (0, _dayjs.default)(`${date} ${timeSlot.start_time}:00`);
321
- const endAt = (0, _dayjs.default)(`${date} ${timeSlot.end_time}:00`);
242
+ const startAt = (0, import_dayjs.default)(`${date} ${timeSlot.start_time}:00`);
243
+ const endAt = (0, import_dayjs.default)(`${date} ${timeSlot.end_time}:00`);
322
244
  slots.push({
323
245
  start_time: timeSlot.start_time,
324
246
  end_time: timeSlot.end_time,
@@ -328,90 +250,63 @@ const extractTimeSlotsScheduleTimeSlots = (date, schedule) => {
328
250
  }
329
251
  return slots;
330
252
  };
331
-
332
- /**
333
- * 检查日期是否在时间段类型日程范围内
334
- */
335
- const isDateInTimeSlotsSchedule = (targetDate, schedule, scheduleStartDate) => {
336
- // 不重复的日程
337
- if (schedule.repeat_type === 'none') {
338
- // 只在 start_time 的日期有效
339
- return targetDate.isSame(scheduleStartDate, 'day');
253
+ var isDateInTimeSlotsSchedule = (targetDate, schedule, scheduleStartDate) => {
254
+ if (schedule.repeat_type === "none") {
255
+ return targetDate.isSame(scheduleStartDate, "day");
340
256
  }
341
-
342
- // 重复的日程,需要检查重复规则
343
257
  if (!schedule.repeat_rule) {
344
258
  return false;
345
259
  }
346
- const {
347
- repeat_rule,
348
- repeat_type
349
- } = schedule;
350
-
351
- // 检查是否在包含日期中(优先级最高)
260
+ const { repeat_rule, repeat_type } = schedule;
352
261
  if (repeat_rule.included_date && repeat_rule.included_date.length > 0) {
353
262
  for (const includedDate of repeat_rule.included_date) {
354
- const includeStartDate = (0, _dayjs.default)(includedDate.start);
355
- const includeEndDate = (0, _dayjs.default)(includedDate.end);
356
- if (targetDate.isSameOrAfter(includeStartDate, 'day') && targetDate.isSameOrBefore(includeEndDate, 'day')) {
263
+ const includeStartDate = (0, import_dayjs.default)(includedDate.start);
264
+ const includeEndDate = (0, import_dayjs.default)(includedDate.end);
265
+ if (targetDate.isSameOrAfter(includeStartDate, "day") && targetDate.isSameOrBefore(includeEndDate, "day")) {
357
266
  return true;
358
267
  }
359
268
  }
360
269
  }
361
-
362
- // 检查是否在排除日期中
363
270
  if (repeat_rule.excluded_date && repeat_rule.excluded_date.length > 0) {
364
271
  for (const excludedDate of repeat_rule.excluded_date) {
365
- const excludeStartDate = (0, _dayjs.default)(excludedDate.start);
366
- const excludeEndDate = (0, _dayjs.default)(excludedDate.end);
367
- if (targetDate.isSameOrAfter(excludeStartDate, 'day') && targetDate.isSameOrBefore(excludeEndDate, 'day')) {
272
+ const excludeStartDate = (0, import_dayjs.default)(excludedDate.start);
273
+ const excludeEndDate = (0, import_dayjs.default)(excludedDate.end);
274
+ if (targetDate.isSameOrAfter(excludeStartDate, "day") && targetDate.isSameOrBefore(excludeEndDate, "day")) {
368
275
  return false;
369
276
  }
370
277
  }
371
278
  }
372
-
373
- // 检查重复规则的结束条件
374
- if (repeat_rule.end.type === 'date' && repeat_rule.end.end_date) {
375
- const ruleEndDate = (0, _dayjs.default)(repeat_rule.end.end_date);
376
- if (targetDate.isAfter(ruleEndDate, 'day')) {
279
+ if (repeat_rule.end.type === "date" && repeat_rule.end.end_date) {
280
+ const ruleEndDate = (0, import_dayjs.default)(repeat_rule.end.end_date);
281
+ if (targetDate.isAfter(ruleEndDate, "day")) {
377
282
  return false;
378
283
  }
379
284
  }
380
-
381
- // 检查是否在开始日期之前
382
- if (targetDate.isBefore(scheduleStartDate, 'day')) {
285
+ if (targetDate.isBefore(scheduleStartDate, "day")) {
383
286
  return false;
384
287
  }
385
-
386
- // 根据重复类型检查
387
288
  switch (repeat_type) {
388
- case 'daily':
289
+ case "daily":
389
290
  return isDateInDailyRepeat(targetDate, scheduleStartDate, repeat_rule);
390
- case 'weekly':
291
+ case "weekly":
391
292
  return isDateInWeeklyRepeat(targetDate, scheduleStartDate, repeat_rule);
392
293
  default:
393
294
  return false;
394
295
  }
395
296
  };
396
-
397
- /**
398
- * 提取指定日期类型日程的时间段
399
- */
400
- const extractDesignationScheduleTimeSlots = (date, schedule) => {
297
+ var extractDesignationScheduleTimeSlots = (date, schedule) => {
401
298
  if (!schedule.designation) {
402
299
  return [];
403
300
  }
404
- const targetDate = (0, _dayjs.default)(date);
301
+ const targetDate = (0, import_dayjs.default)(date);
405
302
  const designations = Array.isArray(schedule.designation) ? schedule.designation : [schedule.designation];
406
303
  const slots = [];
407
304
  for (const designation of designations) {
408
- const startDate = (0, _dayjs.default)(designation.start_date);
409
- const endDate = (0, _dayjs.default)(designation.end_date);
410
-
411
- // 检查日期是否在指定范围内(考虑重复规则)
305
+ const startDate = (0, import_dayjs.default)(designation.start_date);
306
+ const endDate = (0, import_dayjs.default)(designation.end_date);
412
307
  if (isDateInDesignationSchedule(targetDate, schedule, designation, startDate, endDate)) {
413
- const startAt = (0, _dayjs.default)(`${date} ${designation.start_time}:00`);
414
- const endAt = (0, _dayjs.default)(`${date} ${designation.end_time}:00`);
308
+ const startAt = (0, import_dayjs.default)(`${date} ${designation.start_time}:00`);
309
+ const endAt = (0, import_dayjs.default)(`${date} ${designation.end_time}:00`);
415
310
  slots.push({
416
311
  start_time: designation.start_time,
417
312
  end_time: designation.end_time,
@@ -422,196 +317,125 @@ const extractDesignationScheduleTimeSlots = (date, schedule) => {
422
317
  }
423
318
  return slots;
424
319
  };
425
-
426
- /**
427
- * 检查日期是否在指定日期类型日程范围内
428
- */
429
- const isDateInDesignationSchedule = (targetDate, schedule, designation, startDate, endDate) => {
430
- // 不重复的日程
431
- if (schedule.repeat_type === 'none') {
432
- // 检查日期是否在指定的日期范围内
433
- return targetDate.isSameOrAfter(startDate, 'day') && targetDate.isSameOrBefore(endDate, 'day');
320
+ var isDateInDesignationSchedule = (targetDate, schedule, designation, startDate, endDate) => {
321
+ if (schedule.repeat_type === "none") {
322
+ return targetDate.isSameOrAfter(startDate, "day") && targetDate.isSameOrBefore(endDate, "day");
434
323
  }
435
-
436
- // 重复的日程,需要检查重复规则
437
324
  if (!schedule.repeat_rule) {
438
325
  return false;
439
326
  }
440
- const {
441
- repeat_rule,
442
- repeat_type
443
- } = schedule;
444
-
445
- // 检查是否在包含日期中(优先级最高)
327
+ const { repeat_rule, repeat_type } = schedule;
446
328
  if (repeat_rule.included_date && repeat_rule.included_date.length > 0) {
447
329
  for (const includedDate of repeat_rule.included_date) {
448
- const includeStartDate = (0, _dayjs.default)(includedDate.start);
449
- const includeEndDate = (0, _dayjs.default)(includedDate.end);
450
- if (targetDate.isSameOrAfter(includeStartDate, 'day') && targetDate.isSameOrBefore(includeEndDate, 'day')) {
330
+ const includeStartDate = (0, import_dayjs.default)(includedDate.start);
331
+ const includeEndDate = (0, import_dayjs.default)(includedDate.end);
332
+ if (targetDate.isSameOrAfter(includeStartDate, "day") && targetDate.isSameOrBefore(includeEndDate, "day")) {
451
333
  return true;
452
334
  }
453
335
  }
454
336
  }
455
-
456
- // 检查是否在排除日期中
457
337
  if (repeat_rule.excluded_date && repeat_rule.excluded_date.length > 0) {
458
338
  for (const excludedDate of repeat_rule.excluded_date) {
459
- const excludeStartDate = (0, _dayjs.default)(excludedDate.start);
460
- const excludeEndDate = (0, _dayjs.default)(excludedDate.end);
461
- if (targetDate.isSameOrAfter(excludeStartDate, 'day') && targetDate.isSameOrBefore(excludeEndDate, 'day')) {
339
+ const excludeStartDate = (0, import_dayjs.default)(excludedDate.start);
340
+ const excludeEndDate = (0, import_dayjs.default)(excludedDate.end);
341
+ if (targetDate.isSameOrAfter(excludeStartDate, "day") && targetDate.isSameOrBefore(excludeEndDate, "day")) {
462
342
  return false;
463
343
  }
464
344
  }
465
345
  }
466
-
467
- // 检查重复规则的结束条件
468
- if (repeat_rule.end.type === 'date' && repeat_rule.end.end_date) {
469
- const ruleEndDate = (0, _dayjs.default)(repeat_rule.end.end_date);
470
- if (targetDate.isAfter(ruleEndDate, 'day')) {
346
+ if (repeat_rule.end.type === "date" && repeat_rule.end.end_date) {
347
+ const ruleEndDate = (0, import_dayjs.default)(repeat_rule.end.end_date);
348
+ if (targetDate.isAfter(ruleEndDate, "day")) {
471
349
  return false;
472
350
  }
473
351
  }
474
-
475
- // 检查是否在基本日期范围内
476
- if (!targetDate.isSameOrAfter(startDate, 'day') || !targetDate.isSameOrBefore(endDate, 'day')) {
477
- // 对于重复日程,如果不在基本范围内,还需要检查是否符合重复规则
478
- // 只要在 startDate 之后,并且符合重复规则即可
479
- if (targetDate.isBefore(startDate, 'day')) {
352
+ if (!targetDate.isSameOrAfter(startDate, "day") || !targetDate.isSameOrBefore(endDate, "day")) {
353
+ if (targetDate.isBefore(startDate, "day")) {
480
354
  return false;
481
355
  }
482
356
  }
483
-
484
- // 根据重复类型检查
485
357
  switch (repeat_type) {
486
- case 'daily':
358
+ case "daily":
487
359
  return isDateInDailyRepeat(targetDate, startDate, repeat_rule);
488
- case 'weekly':
360
+ case "weekly":
489
361
  return isDateInWeeklyRepeat(targetDate, startDate, repeat_rule);
490
362
  default:
491
363
  return false;
492
364
  }
493
365
  };
494
-
495
- /**
496
- * 检查日期是否在标准日程范围内
497
- */
498
- const isDateInStandardSchedule = (targetDate, schedule, startDate, endDate) => {
499
- const targetDateString = targetDate.format('YYYY-MM-DD');
500
-
501
- // 不重复的日程
502
- if (schedule.repeat_type === 'none') {
503
- // 检查日期是否在范围内
504
- const scheduleStartDate = startDate.format('YYYY-MM-DD');
505
- const scheduleEndDate = endDate.format('YYYY-MM-DD');
506
- return targetDate.isSameOrAfter(scheduleStartDate, 'day') && targetDate.isSameOrBefore(scheduleEndDate, 'day');
366
+ var isDateInStandardSchedule = (targetDate, schedule, startDate, endDate) => {
367
+ const targetDateString = targetDate.format("YYYY-MM-DD");
368
+ if (schedule.repeat_type === "none") {
369
+ const scheduleStartDate = startDate.format("YYYY-MM-DD");
370
+ const scheduleEndDate = endDate.format("YYYY-MM-DD");
371
+ return targetDate.isSameOrAfter(scheduleStartDate, "day") && targetDate.isSameOrBefore(scheduleEndDate, "day");
507
372
  }
508
-
509
- // 重复的日程,需要检查重复规则
510
373
  if (!schedule.repeat_rule) {
511
374
  return false;
512
375
  }
513
- const {
514
- repeat_rule,
515
- repeat_type
516
- } = schedule;
517
-
518
- // 检查是否在包含日期中
376
+ const { repeat_rule, repeat_type } = schedule;
519
377
  if (repeat_rule.included_date && repeat_rule.included_date.length > 0) {
520
378
  for (const includedDate of repeat_rule.included_date) {
521
- const includeStartDate = (0, _dayjs.default)(includedDate.start);
522
- const includeEndDate = (0, _dayjs.default)(includedDate.end);
523
- if (targetDate.isSameOrAfter(includeStartDate, 'day') && targetDate.isSameOrBefore(includeEndDate, 'day')) {
379
+ const includeStartDate = (0, import_dayjs.default)(includedDate.start);
380
+ const includeEndDate = (0, import_dayjs.default)(includedDate.end);
381
+ if (targetDate.isSameOrAfter(includeStartDate, "day") && targetDate.isSameOrBefore(includeEndDate, "day")) {
524
382
  return true;
525
383
  }
526
384
  }
527
385
  }
528
-
529
- // 检查是否在排除日期中
530
386
  for (const excludedDate of repeat_rule.excluded_date) {
531
- const excludeStartDate = (0, _dayjs.default)(excludedDate.start);
532
- const excludeEndDate = (0, _dayjs.default)(excludedDate.end);
533
- if (targetDate.isSameOrAfter(excludeStartDate, 'day') && targetDate.isSameOrBefore(excludeEndDate, 'day')) {
387
+ const excludeStartDate = (0, import_dayjs.default)(excludedDate.start);
388
+ const excludeEndDate = (0, import_dayjs.default)(excludedDate.end);
389
+ if (targetDate.isSameOrAfter(excludeStartDate, "day") && targetDate.isSameOrBefore(excludeEndDate, "day")) {
534
390
  return false;
535
391
  }
536
392
  }
537
-
538
- // 检查重复规则的结束条件
539
- if (repeat_rule.end.type === 'date' && repeat_rule.end.end_date) {
540
- const ruleEndDate = (0, _dayjs.default)(repeat_rule.end.end_date);
541
- if (targetDate.isAfter(ruleEndDate, 'day')) {
393
+ if (repeat_rule.end.type === "date" && repeat_rule.end.end_date) {
394
+ const ruleEndDate = (0, import_dayjs.default)(repeat_rule.end.end_date);
395
+ if (targetDate.isAfter(ruleEndDate, "day")) {
542
396
  return false;
543
397
  }
544
398
  }
545
-
546
- // 检查是否在开始日期之前
547
- if (targetDate.isBefore(startDate, 'day')) {
399
+ if (targetDate.isBefore(startDate, "day")) {
548
400
  return false;
549
401
  }
550
-
551
- // 根据重复类型检查
552
402
  switch (repeat_type) {
553
- case 'daily':
403
+ case "daily":
554
404
  return isDateInDailyRepeat(targetDate, startDate, repeat_rule);
555
- case 'weekly':
405
+ case "weekly":
556
406
  return isDateInWeeklyRepeat(targetDate, startDate, repeat_rule);
557
407
  default:
558
408
  return false;
559
409
  }
560
410
  };
561
-
562
- /**
563
- * 检查日期是否符合每日重复规则
564
- */
565
- const isDateInDailyRepeat = (targetDate, startDate, repeatRule) => {
566
- const daysDiff = targetDate.diff(startDate, 'day');
411
+ var isDateInDailyRepeat = (targetDate, startDate, repeatRule) => {
412
+ const daysDiff = targetDate.diff(startDate, "day");
567
413
  if (daysDiff < 0) {
568
414
  return false;
569
415
  }
570
-
571
- // 检查频率
572
416
  return daysDiff % repeatRule.frequency === 0;
573
417
  };
574
-
575
- /**
576
- * 检查日期是否符合每周重复规则
577
- */
578
- const isDateInWeeklyRepeat = (targetDate, startDate, repeatRule) => {
579
- const targetDayOfWeek = targetDate.day(); // 0=周日, 1=周一, ..., 6=周六
580
-
581
- // 检查是否在指定的星期几内
418
+ var isDateInWeeklyRepeat = (targetDate, startDate, repeatRule) => {
419
+ const targetDayOfWeek = targetDate.day();
582
420
  if (!repeatRule.frequency_date.includes(targetDayOfWeek)) {
583
421
  return false;
584
422
  }
585
-
586
- // 计算周差
587
- const weeksDiff = targetDate.diff(startDate, 'week');
423
+ const weeksDiff = targetDate.diff(startDate, "week");
588
424
  if (weeksDiff < 0) {
589
425
  return false;
590
426
  }
591
-
592
- // 检查频率
593
427
  return weeksDiff % repeatRule.frequency === 0;
594
428
  };
595
-
596
- /**
597
- * 对时间段去重并排序
598
- * 只移除开始时间和结束时间完全相同的重复时间段
599
- */
600
- const mergeAndSortTimeSlots = slots => {
429
+ var mergeAndSortTimeSlots = (slots) => {
601
430
  if (slots.length === 0) {
602
431
  return [];
603
432
  }
604
-
605
- // 按开始时间排序
606
433
  const sorted = [...slots].sort((a, b) => {
607
434
  return a.start_at.valueOf() - b.start_at.valueOf();
608
435
  });
609
-
610
- // 去重:移除开始和结束时间完全相同的时间段
611
436
  const unique = [];
612
- const seenKeys = new Set();
437
+ const seenKeys = /* @__PURE__ */ new Set();
613
438
  for (const slot of sorted) {
614
- // 使用开始时间和结束时间作为唯一键
615
439
  const key = `${slot.start_time}-${slot.end_time}`;
616
440
  if (!seenKeys.has(key)) {
617
441
  seenKeys.add(key);
@@ -619,4 +443,9 @@ const mergeAndSortTimeSlots = slots => {
619
443
  }
620
444
  }
621
445
  return unique;
622
- };
446
+ };
447
+ // Annotate the CommonJS export names for ESM import in node:
448
+ 0 && (module.exports = {
449
+ getDateIsInSchedule,
450
+ getScheduleStartEndTimePoints
451
+ });