@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,86 +1,78 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "ResourceHooks", {
7
- enumerable: true,
8
- get: function () {
9
- return _types.ResourceHooks;
10
- }
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);
18
+
19
+ // src/server/modules/resource/index.ts
20
+ var resource_exports = {};
21
+ __export(resource_exports, {
22
+ ResourceHooks: () => import_types2.ResourceHooks,
23
+ ResourceModule: () => ResourceModule,
24
+ resourceModule: () => resourceModule
11
25
  });
12
- exports.resourceModule = exports.ResourceModule = void 0;
13
- var _lodashEs = require("lodash-es");
14
- var _BaseModule = require("../../../modules/BaseModule");
15
- var _types = require("./types");
16
- /**
17
- * SQLite 存储名称
18
- */
19
- const RESOURCE_STORE_NAME = 'resources';
20
- // const BOOKING_STORE_NAME = 'resource_bookings'
21
-
22
- /**
23
- * 默认分页大小
24
- */
25
- const DEFAULT_PAGE_SIZE = 999;
26
-
27
- /**
28
- * 同步防抖超时(毫秒)
29
- */
30
- const RESOURCE_SYNC_DEBOUNCE_MS = 10_000;
31
-
32
- /**
33
- * Resource 模块
34
- */
35
- class ResourceModule extends _BaseModule.BaseModule {
36
- defaultName = 'resource';
37
- defaultVersion = '1.0.0';
38
- store;
39
- dbManager;
40
- logger; // LoggerManager 实例
41
- resourceDataSource;
42
-
43
- /** 倒排索引: resourceId -> ResourceBooking[] */
44
- resourceIdIndex = new Map();
45
-
46
- /** 待处理的同步消息队列 */
47
- pendingSyncMessages = [];
48
- syncTimer;
26
+ module.exports = __toCommonJS(resource_exports);
27
+ var import_lodash_es = require("lodash-es");
28
+ var import_BaseModule = require("../../../modules/BaseModule");
29
+ var import_types = require("./types");
30
+ var import_types2 = require("./types");
31
+ var RESOURCE_STORE_NAME = "resources";
32
+ var DEFAULT_PAGE_SIZE = 999;
33
+ var RESOURCE_SYNC_DEBOUNCE_MS = 1e4;
34
+ var ResourceModule = class extends import_BaseModule.BaseModule {
49
35
  constructor(name, version) {
50
36
  super(name, version);
37
+ this.defaultName = "resource";
38
+ this.defaultVersion = "1.0.0";
39
+ /** 倒排索引: resourceId -> ResourceBooking[] */
40
+ this.resourceIdIndex = /* @__PURE__ */ new Map();
41
+ /** 待处理的同步消息队列 */
42
+ this.pendingSyncMessages = [];
51
43
  }
52
-
53
44
  // ─────────────────────────────────────────────────────────────────
54
45
  // 初始化 & 生命周期
55
46
  // ─────────────────────────────────────────────────────────────────
56
-
57
47
  async initialize(core, options) {
48
+ var _a, _b;
58
49
  this.core = core;
59
- this.store = options?.store;
60
- if (Array.isArray(options?.initialState?.list)) {
61
- this.store.list = (options?.initialState?.list).map(item => this.normalizeResource(item));
50
+ this.store = options == null ? void 0 : options.store;
51
+ if (Array.isArray((_a = options == null ? void 0 : options.initialState) == null ? void 0 : _a.list)) {
52
+ this.store.list = ((_b = options == null ? void 0 : options.initialState) == null ? void 0 : _b.list).map(
53
+ (item) => this.normalizeResource(item)
54
+ );
62
55
  this.syncResourcesMap();
63
- this.core.effects.emit(_types.ResourceHooks.onResourcesChanged, this.store.list);
56
+ this.core.effects.emit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
64
57
  } else {
65
58
  this.store.list = [];
66
- this.store.map = new Map();
59
+ this.store.map = /* @__PURE__ */ new Map();
67
60
  }
68
61
  if (!Array.isArray(this.store.bookings)) {
69
62
  this.store.bookings = [];
70
63
  }
71
- const appPlugin = core.getPlugin('app');
64
+ const appPlugin = core.getPlugin("app");
72
65
  if (appPlugin) {
73
66
  const app = appPlugin.getApp();
74
67
  this.dbManager = app.sqlite || app.dbManager;
75
68
  this.logger = app.logger;
76
69
  }
77
70
  this.initResourceDataSource();
78
- this.setupResourceSync();
79
71
  }
80
72
  logInfo(title, metadata) {
81
73
  if (this.logger) {
82
74
  this.logger.addLog({
83
- type: 'info',
75
+ type: "info",
84
76
  title: `[ResourceModule] ${title}`,
85
77
  metadata: metadata || {}
86
78
  });
@@ -89,188 +81,167 @@ class ResourceModule extends _BaseModule.BaseModule {
89
81
  logError(title, error, metadata) {
90
82
  if (this.logger) {
91
83
  this.logger.addLog({
92
- type: 'error',
84
+ type: "error",
93
85
  title: `[ResourceModule] ${title}`,
94
86
  metadata: metadata || {}
95
87
  });
96
88
  }
97
89
  }
98
90
  async preload() {
91
+ await this.setupResourceSync();
99
92
  const cachedResources = await this.loadResourcesFromSQLite();
100
93
  if (cachedResources.length > 0) {
101
- this.store.list = (0, _lodashEs.cloneDeep)(cachedResources).map(item => this.normalizeResource(item));
94
+ this.store.list = (0, import_lodash_es.cloneDeep)(cachedResources).map((item) => this.normalizeResource(item));
102
95
  this.syncResourcesMap();
103
- await this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
96
+ await this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
104
97
  } else {
105
98
  const resources = await this.loadResourcesByServer();
106
99
  if (resources.length > 0) {
107
- this.store.list = (0, _lodashEs.cloneDeep)(resources).map(item => this.normalizeResource(item));
100
+ this.store.list = (0, import_lodash_es.cloneDeep)(resources).map((item) => this.normalizeResource(item));
108
101
  this.syncResourcesMap();
109
- await this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
102
+ await this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
110
103
  }
111
104
  }
112
-
113
- // const cachedBookings = await this.loadBookingsFromSQLite()
114
- // if (cachedBookings.length > 0) {
115
- // this.store.bookings = cloneDeep(cachedBookings)
116
- // this.syncBookingsIndex()
117
- // }
118
105
  }
119
106
  getRoutes() {
120
107
  return [];
121
108
  }
122
109
  destroy() {
110
+ var _a;
123
111
  if (this.syncTimer) {
124
112
  clearTimeout(this.syncTimer);
125
- this.syncTimer = undefined;
113
+ this.syncTimer = void 0;
126
114
  }
127
115
  this.pendingSyncMessages = [];
128
- if (this.resourceDataSource?.destroy) this.resourceDataSource.destroy();
116
+ if ((_a = this.resourceDataSource) == null ? void 0 : _a.destroy)
117
+ this.resourceDataSource.destroy();
129
118
  super.destroy();
130
119
  }
131
-
132
120
  // ─────────────────────────────────────────────────────────────────
133
121
  // Resource CRUD
134
122
  // ─────────────────────────────────────────────────────────────────
135
-
136
123
  /**
137
124
  * 获取所有资源(支持 includeBookings 附加预订信息)
138
125
  */
139
126
  getResources(queryOptions) {
140
- this.logInfo('getResources', {
127
+ this.logInfo("getResources", {
141
128
  queryOptions
142
129
  });
143
- if (!queryOptions?.includeBookings) {
130
+ if (!(queryOptions == null ? void 0 : queryOptions.includeBookings)) {
144
131
  return this.store.list;
145
132
  }
146
- return this.store.list.map(resource => this.attachBookingsToResource(resource));
133
+ return this.store.list.map((resource) => this.attachBookingsToResource(resource));
147
134
  }
148
-
149
135
  /**
150
136
  * 根据 ID 获取单个资源
151
137
  */
152
138
  getResourceById(id, queryOptions) {
153
139
  const resource = this.store.map.get(id);
154
- if (!resource) return undefined;
155
- if (queryOptions?.includeBookings) {
140
+ if (!resource)
141
+ return void 0;
142
+ if (queryOptions == null ? void 0 : queryOptions.includeBookings) {
156
143
  return this.attachBookingsToResource(resource);
157
144
  }
158
145
  return resource;
159
146
  }
160
-
161
147
  /**
162
148
  * 创建资源
163
149
  */
164
150
  createResource(data) {
165
- const id = data?.id ?? data?.form_record_id ?? Date.now();
166
- const resource = this.normalizeResource({
167
- ...data,
168
- id
169
- });
151
+ const id = (data == null ? void 0 : data.id) ?? (data == null ? void 0 : data.form_record_id) ?? Date.now();
152
+ const resource = this.normalizeResource({ ...data, id });
170
153
  this.store.list.push(resource);
171
154
  this.store.map.set(resource.id, resource);
172
- this.saveResourcesToSQLite(this.store.list).catch(() => {});
173
- this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
155
+ this.saveResourcesToSQLite(this.store.list).catch(() => {
156
+ });
157
+ this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
174
158
  return resource;
175
159
  }
176
-
177
160
  /**
178
161
  * 更新资源
179
162
  */
180
163
  updateResource(id, data) {
181
- const index = this.store.list.findIndex(r => this.getIdKey(r.id) === this.getIdKey(id));
182
- if (index === -1) return undefined;
183
- const updated = this.normalizeResource({
184
- ...this.store.list[index],
185
- ...data,
186
- id
187
- });
164
+ const index = this.store.list.findIndex((r) => this.getIdKey(r.id) === this.getIdKey(id));
165
+ if (index === -1)
166
+ return void 0;
167
+ const updated = this.normalizeResource({ ...this.store.list[index], ...data, id });
188
168
  this.store.list[index] = updated;
189
169
  this.store.map.set(updated.id, updated);
190
- this.saveResourcesToSQLite(this.store.list).catch(() => {});
191
- this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
170
+ this.saveResourcesToSQLite(this.store.list).catch(() => {
171
+ });
172
+ this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
192
173
  return updated;
193
174
  }
194
-
195
175
  /**
196
176
  * 删除资源
197
177
  */
198
178
  deleteResource(id) {
199
179
  const key = this.getIdKey(id);
200
- const index = this.store.list.findIndex(r => this.getIdKey(r.id) === key);
201
- if (index === -1) return false;
180
+ const index = this.store.list.findIndex((r) => this.getIdKey(r.id) === key);
181
+ if (index === -1)
182
+ return false;
202
183
  this.store.list.splice(index, 1);
203
184
  this.store.map.delete(id);
204
- this.saveResourcesToSQLite(this.store.list).catch(() => {});
205
- this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
185
+ this.saveResourcesToSQLite(this.store.list).catch(() => {
186
+ });
187
+ this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
206
188
  return true;
207
189
  }
208
-
209
190
  // ─────────────────────────────────────────────────────────────────
210
191
  // Booking CRUD
211
192
  // ─────────────────────────────────────────────────────────────────
212
-
213
193
  /**
214
194
  * 根据资源 ID 获取预订列表
215
195
  */
216
196
  getBookingsByResourceId(resourceId) {
217
197
  return this.resourceIdIndex.get(resourceId) || [];
218
198
  }
219
-
220
199
  /**
221
200
  * 创建预订
222
201
  */
223
- createBooking(booking) {
224
- const id = booking?.id ?? Date.now();
225
- const normalized = {
226
- id,
227
- ...booking
228
- };
229
- this.store.bookings.push(normalized);
230
- const rid = normalized.resource_id ?? normalized.resourceId;
231
- if (rid !== undefined) {
232
- const existing = this.resourceIdIndex.get(rid) || [];
233
- existing.push(normalized);
234
- this.resourceIdIndex.set(rid, existing);
235
- }
236
-
237
- // this.saveBookingsToSQLite(this.store.bookings).catch(() => {})
238
- this.safeEmit(_types.ResourceHooks.onBookingsChanged, this.store.bookings);
239
- return normalized;
240
- }
241
-
202
+ // createBooking(booking: Partial<ResourceBooking>): ResourceBooking {
203
+ // const id = booking?.id ?? Date.now()
204
+ // const normalized: ResourceBooking = {
205
+ // id,
206
+ // ...booking,
207
+ // } as ResourceBooking
208
+ // this.store.bookings.push(normalized)
209
+ // const rid = normalized.resource_id ?? normalized.resourceId
210
+ // if (rid !== undefined) {
211
+ // const existing = this.resourceIdIndex.get(rid) || []
212
+ // existing.push(normalized)
213
+ // this.resourceIdIndex.set(rid, existing)
214
+ // }
215
+ // this.saveBookingsToSQLite(this.store.bookings).catch(() => {})
216
+ // this.safeEmit(ResourceHooks.onBookingsChanged, this.store.bookings)
217
+ // return normalized
218
+ // }
242
219
  /**
243
220
  * 更新预订
244
221
  */
245
- updateBooking(id, data) {
246
- const index = this.store.bookings.findIndex(b => this.getIdKey(b.id) === this.getIdKey(id));
247
- if (index === -1) return undefined;
248
- const old = this.store.bookings[index];
249
- const updated = {
250
- ...old,
251
- ...data,
252
- id: old.id
253
- };
254
- this.store.bookings[index] = updated;
255
- this.rebuildBookingsIndex();
256
- // this.saveBookingsToSQLite(this.store.bookings).catch(() => {})
257
- this.safeEmit(_types.ResourceHooks.onBookingsChanged, this.store.bookings);
258
- return updated;
259
- }
260
-
222
+ // updateBooking(id: ResourceId, data: Partial<ResourceBooking>): ResourceBooking | undefined {
223
+ // const index = this.store.bookings.findIndex(b => this.getIdKey(b.id) === this.getIdKey(id))
224
+ // if (index === -1) return undefined
225
+ // const old = this.store.bookings[index]
226
+ // const updated: ResourceBooking = { ...old, ...data, id: old.id } as ResourceBooking
227
+ // this.store.bookings[index] = updated
228
+ // this.rebuildBookingsIndex()
229
+ // this.saveBookingsToSQLite(this.store.bookings).catch(() => {})
230
+ // this.safeEmit(ResourceHooks.onBookingsChanged, this.store.bookings)
231
+ // return updated
232
+ // }
261
233
  /**
262
234
  * 删除预订
263
235
  */
264
- deleteBooking(id) {
265
- const index = this.store.bookings.findIndex(b => this.getIdKey(b.id) === this.getIdKey(id));
266
- if (index === -1) return false;
267
- this.store.bookings.splice(index, 1);
268
- this.rebuildBookingsIndex();
269
- // this.saveBookingsToSQLite(this.store.bookings).catch(() => {})
270
- this.safeEmit(_types.ResourceHooks.onBookingsChanged, this.store.bookings);
271
- return true;
272
- }
273
-
236
+ // deleteBooking(id: ResourceId): boolean {
237
+ // const index = this.store.bookings.findIndex(b => this.getIdKey(b.id) === this.getIdKey(id))
238
+ // if (index === -1) return false
239
+ // this.store.bookings.splice(index, 1)
240
+ // this.rebuildBookingsIndex()
241
+ // this.saveBookingsToSQLite(this.store.bookings).catch(() => {})
242
+ // this.safeEmit(ResourceHooks.onBookingsChanged, this.store.bookings)
243
+ // return true
244
+ // }
274
245
  /**
275
246
  * 清空缓存
276
247
  */
@@ -282,42 +253,63 @@ class ResourceModule extends _BaseModule.BaseModule {
282
253
  if (this.dbManager) {
283
254
  try {
284
255
  await this.dbManager.clear(RESOURCE_STORE_NAME);
285
- // await this.dbManager.clear(BOOKING_STORE_NAME)
286
256
  } catch {
287
- // 清理失败不影响调用方
288
257
  }
289
258
  }
290
- await this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
291
- await this.safeEmit(_types.ResourceHooks.onBookingsChanged, this.store.bookings);
259
+ await this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
260
+ await this.safeEmit(import_types.ResourceHooks.onBookingsChanged, this.store.bookings);
292
261
  }
293
-
294
262
  // ─────────────────────────────────────────────────────────────────
295
263
  // 内部工具方法
296
264
  // ─────────────────────────────────────────────────────────────────
297
-
298
265
  attachBookingsToResource(resource) {
299
266
  return {
300
267
  ...resource,
301
268
  bookings: this.getBookingsByResourceId(resource.id)
302
269
  };
303
270
  }
271
+ normalizeIntegerIdValue(value) {
272
+ if (typeof value !== "string")
273
+ return value;
274
+ const matched = value.match(/^(-?\d+)\.0+$/);
275
+ if (!matched)
276
+ return value;
277
+ return matched[1];
278
+ }
279
+ normalizeResourceIdFields(resource) {
280
+ resource.id = this.normalizeIntegerIdValue(resource.id);
281
+ if (resource.form_record_id !== void 0) {
282
+ resource.form_record_id = this.normalizeIntegerIdValue(resource.form_record_id);
283
+ }
284
+ if (resource.form_id !== void 0) {
285
+ resource.form_id = this.normalizeIntegerIdValue(resource.form_id);
286
+ }
287
+ if (resource.resource_form_id !== void 0) {
288
+ resource.resource_form_id = this.normalizeIntegerIdValue(resource.resource_form_id);
289
+ }
290
+ if (resource.resource_id !== void 0) {
291
+ resource.resource_id = this.normalizeIntegerIdValue(resource.resource_id);
292
+ }
293
+ return resource;
294
+ }
304
295
  normalizeResource(resource) {
305
- const normalized = {
296
+ const normalized = this.normalizeResourceIdFields({
306
297
  ...resource,
307
- id: resource?.id ?? resource?.form_record_id ?? ''
308
- };
309
- if (normalized.form_record_id === undefined && normalized.id !== '') {
298
+ id: this.normalizeIntegerIdValue((resource == null ? void 0 : resource.id) ?? (resource == null ? void 0 : resource.form_record_id) ?? "")
299
+ });
300
+ if (normalized.form_record_id === void 0 && normalized.id !== "") {
310
301
  normalized.form_record_id = normalized.id;
311
302
  }
312
- if (normalized.resource_form_id === undefined || normalized.resource_form_id === null) {
313
- normalized.resource_form_id = '';
303
+ if (normalized.resource_form_id === void 0 || normalized.resource_form_id === null) {
304
+ normalized.resource_form_id = "";
314
305
  }
315
- if (normalized.schedule === undefined || normalized.schedule === null) {
316
- normalized.schedule = '';
306
+ if (normalized.schedule === void 0 || normalized.schedule === null) {
307
+ normalized.schedule = "";
317
308
  }
318
309
  if (Array.isArray(normalized.times)) {
319
- normalized.times = normalized.times.map(timeSlot => {
320
- if (!timeSlot || typeof timeSlot !== 'object') return timeSlot;
310
+ normalized.times = normalized.times.map((timeSlot) => {
311
+ if (!timeSlot || typeof timeSlot !== "object")
312
+ return timeSlot;
321
313
  const startAt = timeSlot.start_at ?? timeSlot.start;
322
314
  const endAt = timeSlot.end_at ?? timeSlot.end;
323
315
  return {
@@ -330,7 +322,7 @@ class ResourceModule extends _BaseModule.BaseModule {
330
322
  });
331
323
  }
332
324
  if (Array.isArray(normalized.children)) {
333
- normalized.children = normalized.children.map(child => this.normalizeResource(child));
325
+ normalized.children = normalized.children.map((child) => this.normalizeResource(child));
334
326
  }
335
327
  return normalized;
336
328
  }
@@ -338,12 +330,11 @@ class ResourceModule extends _BaseModule.BaseModule {
338
330
  try {
339
331
  await this.core.effects.emit(event, payload);
340
332
  } catch (error) {
341
- // 不让外部监听器异常影响资源模块预加载或清理流程
342
333
  console.error(`[ResourceModule] 事件派发失败: ${event}`, error);
343
334
  }
344
335
  }
345
336
  syncResourcesMap() {
346
- this.store.map = new Map();
337
+ this.store.map = /* @__PURE__ */ new Map();
347
338
  for (const resource of this.store.list) {
348
339
  this.store.map.set(resource.id, resource);
349
340
  }
@@ -352,7 +343,8 @@ class ResourceModule extends _BaseModule.BaseModule {
352
343
  this.resourceIdIndex.clear();
353
344
  for (const booking of this.store.bookings) {
354
345
  const rid = booking.resource_id ?? booking.resourceId;
355
- if (rid === undefined) continue;
346
+ if (rid === void 0)
347
+ continue;
356
348
  const existing = this.resourceIdIndex.get(rid) || [];
357
349
  existing.push(booking);
358
350
  this.resourceIdIndex.set(rid, existing);
@@ -364,34 +356,32 @@ class ResourceModule extends _BaseModule.BaseModule {
364
356
  getIdKey(id) {
365
357
  return String(id);
366
358
  }
367
-
368
359
  // ─────────────────────────────────────────────────────────────────
369
360
  // 数据加载
370
361
  // ─────────────────────────────────────────────────────────────────
371
-
372
362
  async loadResourcesByServer() {
373
- if (!this.resourceDataSource) return [];
363
+ if (!this.resourceDataSource)
364
+ return [];
374
365
  try {
375
366
  const response = await this.resourceDataSource.getResourcePage({
376
367
  num: DEFAULT_PAGE_SIZE,
377
368
  skip: 1
378
369
  });
379
- const resourceList = Array.isArray(response?.list) ? response.list : [];
380
- const normalizedList = resourceList.map(item => this.normalizeResource(item));
370
+ const resourceList = Array.isArray(response == null ? void 0 : response.list) ? response.list : [];
371
+ const normalizedList = resourceList.map((item) => this.normalizeResource(item));
381
372
  await this.saveResourcesToSQLite(normalizedList);
382
- await this.safeEmit(_types.ResourceHooks.onResourcesLoaded, normalizedList);
373
+ await this.safeEmit(import_types.ResourceHooks.onResourcesLoaded, normalizedList);
383
374
  return normalizedList;
384
375
  } catch {
385
376
  return [];
386
377
  }
387
378
  }
388
-
389
379
  // ─────────────────────────────────────────────────────────────────
390
380
  // SQLite 持久化
391
381
  // ─────────────────────────────────────────────────────────────────
392
-
393
382
  async loadResourcesFromSQLite() {
394
- if (!this.dbManager) return [];
383
+ if (!this.dbManager)
384
+ return [];
395
385
  try {
396
386
  const resources = await this.dbManager.getAll(RESOURCE_STORE_NAME);
397
387
  return resources || [];
@@ -400,24 +390,25 @@ class ResourceModule extends _BaseModule.BaseModule {
400
390
  }
401
391
  }
402
392
  async saveResourcesToSQLite(resourceList) {
403
- if (!this.dbManager) return;
393
+ if (!this.dbManager)
394
+ return;
404
395
  try {
405
396
  await this.dbManager.clear(RESOURCE_STORE_NAME);
406
- if (resourceList.length === 0) return;
397
+ if (resourceList.length === 0)
398
+ return;
407
399
  if (this.dbManager.bulkAdd) {
408
400
  await this.dbManager.bulkAdd(RESOURCE_STORE_NAME, resourceList);
409
401
  return;
410
402
  }
411
- await Promise.all(resourceList.map(r => this.dbManager.add(RESOURCE_STORE_NAME, r)));
403
+ await Promise.all(resourceList.map((r) => this.dbManager.add(RESOURCE_STORE_NAME, r)));
412
404
  } catch (error) {
413
- console.error('saveResourcesToSQLite error', error);
414
- this.logError('保存资源到 SQLite 失败', {
405
+ console.error("saveResourcesToSQLite error", error);
406
+ this.logError("保存资源到 SQLite 失败", {
415
407
  error: error instanceof Error ? error.message : String(error),
416
408
  resourceList: resourceList.length
417
409
  });
418
410
  }
419
411
  }
420
-
421
412
  // private async loadBookingsFromSQLite(): Promise<ResourceBooking[]> {
422
413
  // if (!this.dbManager) return []
423
414
  // try {
@@ -427,7 +418,6 @@ class ResourceModule extends _BaseModule.BaseModule {
427
418
  // return []
428
419
  // }
429
420
  // }
430
-
431
421
  // private async saveBookingsToSQLite(bookings: ResourceBooking[]): Promise<void> {
432
422
  // if (!this.dbManager) return
433
423
  // try {
@@ -442,92 +432,97 @@ class ResourceModule extends _BaseModule.BaseModule {
442
432
  // // 忽略 SQLite 异常
443
433
  // }
444
434
  // }
445
-
446
435
  // ─────────────────────────────────────────────────────────────────
447
436
  // pubsub 同步
448
437
  // ─────────────────────────────────────────────────────────────────
449
-
450
438
  initResourceDataSource() {
451
- const ResourceDataSourceClass = this.core.serverOptions?.All_DATA_SOURCES?.ResourceDataSource;
452
- if (!ResourceDataSourceClass) return;
439
+ var _a, _b;
440
+ const ResourceDataSourceClass = (_b = (_a = this.core.serverOptions) == null ? void 0 : _a.All_DATA_SOURCES) == null ? void 0 : _b.ResourceDataSource;
441
+ if (!ResourceDataSourceClass)
442
+ return;
453
443
  this.resourceDataSource = new ResourceDataSourceClass();
454
444
  }
455
445
  async setupResourceSync() {
456
- if (!this.resourceDataSource) return;
446
+ var _a, _b, _c;
447
+ if (!this.resourceDataSource)
448
+ return;
457
449
  const result = await this.resourceDataSource.run({
458
450
  pubsub: {
459
- callback: res => {
460
- const data = res?.data || res;
461
- if (!data) return;
462
- const channelKey = data.module || 'resource';
463
- this.pendingSyncMessages.push({
464
- ...data,
465
- _channelKey: channelKey
466
- });
467
- if (this.syncTimer) clearTimeout(this.syncTimer);
451
+ callback: (res) => {
452
+ const data = (res == null ? void 0 : res.data) || res;
453
+ if (!data)
454
+ return;
455
+ const channelKey = data.module || "resource";
456
+ this.pendingSyncMessages.push({ ...data, _channelKey: channelKey });
457
+ if (this.syncTimer)
458
+ clearTimeout(this.syncTimer);
468
459
  this.syncTimer = setTimeout(() => {
469
460
  this.processSyncMessages();
470
461
  }, RESOURCE_SYNC_DEBOUNCE_MS);
471
462
  }
472
463
  }
473
464
  }).catch(() => {
474
- // 忽略同步初始化异常
475
465
  });
476
- if (result?.data?.list?.length) {
477
- await this.mergeResourcesToStore(result?.data?.list);
466
+ console.log("result", result);
467
+ this.logInfo("setupResourceSync: 资源列表查询结果", { result });
468
+ if ((_b = (_a = result == null ? void 0 : result.data) == null ? void 0 : _a.list) == null ? void 0 : _b.length) {
469
+ await this.mergeResourcesToStore((_c = result == null ? void 0 : result.data) == null ? void 0 : _c.list);
478
470
  }
479
471
  }
480
472
  async processSyncMessages() {
473
+ var _a, _b, _c;
481
474
  const messages = [...this.pendingSyncMessages];
482
475
  this.pendingSyncMessages = [];
483
- if (messages.length === 0) return;
476
+ if (messages.length === 0)
477
+ return;
484
478
  const deleteIds = [];
485
- const bodyUpdates = new Map();
479
+ const bodyUpdates = /* @__PURE__ */ new Map();
486
480
  const sseRefreshIds = [];
487
481
  for (const msg of messages) {
488
- if (msg.operation === 'delete' || msg.action === 'delete') {
489
- if (msg.ids?.length) deleteIds.push(...msg.ids);else if (msg.id !== undefined) deleteIds.push(msg.id);
482
+ if (msg.operation === "delete" || msg.action === "delete") {
483
+ if ((_a = msg.ids) == null ? void 0 : _a.length)
484
+ deleteIds.push(...msg.ids);
485
+ else if (msg.id !== void 0)
486
+ deleteIds.push(msg.id);
490
487
  continue;
491
488
  }
492
489
  if (msg.body) {
493
490
  const bodyId = msg.body.id ?? msg.id;
494
- if (bodyId === undefined) continue;
495
- bodyUpdates.set(this.getIdKey(bodyId), {
496
- ...msg.body,
497
- id: bodyId
498
- });
491
+ if (bodyId === void 0)
492
+ continue;
493
+ bodyUpdates.set(this.getIdKey(bodyId), { ...msg.body, id: bodyId });
499
494
  continue;
500
495
  }
501
- if (msg.ids?.length) {
496
+ if ((_b = msg.ids) == null ? void 0 : _b.length) {
502
497
  sseRefreshIds.push(...msg.ids);
503
- } else if (msg.id !== undefined) {
498
+ } else if (msg.id !== void 0) {
504
499
  sseRefreshIds.push(msg.id);
505
- } else if (msg.relation_resource_ids?.length) {
500
+ } else if ((_c = msg.relation_resource_ids) == null ? void 0 : _c.length) {
506
501
  sseRefreshIds.push(...msg.relation_resource_ids);
507
502
  }
508
503
  }
509
504
  const uniqueDeleteIds = this.uniqueResourceIds(deleteIds);
510
505
  const uniqueSSEIds = this.uniqueResourceIds(sseRefreshIds);
511
506
  const bodyList = [...bodyUpdates.values()];
512
- if (uniqueDeleteIds.length > 0) await this.removeResourcesByIds(uniqueDeleteIds);
513
- if (bodyList.length > 0) await this.mergeResourcesToStore(bodyList);
507
+ if (uniqueDeleteIds.length > 0)
508
+ await this.removeResourcesByIds(uniqueDeleteIds);
509
+ if (bodyList.length > 0)
510
+ await this.mergeResourcesToStore(bodyList);
514
511
  if (uniqueSSEIds.length > 0) {
515
512
  const freshResources = await this.fetchResourcesBySSE(uniqueSSEIds);
516
- if (freshResources.length > 0) await this.mergeResourcesToStore(freshResources);
513
+ if (freshResources.length > 0)
514
+ await this.mergeResourcesToStore(freshResources);
517
515
  }
518
- if (uniqueDeleteIds.length === 0 && bodyList.length === 0 && uniqueSSEIds.length === 0) return;
519
- await this.core.effects.emit(_types.ResourceHooks.onResourcesSyncCompleted, null);
516
+ if (uniqueDeleteIds.length === 0 && bodyList.length === 0 && uniqueSSEIds.length === 0)
517
+ return;
518
+ await this.core.effects.emit(import_types.ResourceHooks.onResourcesSyncCompleted, null);
520
519
  }
521
520
  async fetchResourcesBySSE(ids) {
522
- if (!this.resourceDataSource) return [];
521
+ if (!this.resourceDataSource)
522
+ return [];
523
523
  try {
524
524
  const list = await this.resourceDataSource.run({
525
- sse: {
526
- query: {
527
- type: 'resource',
528
- ids
529
- }
530
- }
525
+ sse: { query: { type: "resource", ids } }
531
526
  });
532
527
  return list || [];
533
528
  } catch {
@@ -535,8 +530,8 @@ class ResourceModule extends _BaseModule.BaseModule {
535
530
  }
536
531
  }
537
532
  async removeResourcesByIds(ids) {
538
- const keySet = new Set(ids.map(id => this.getIdKey(id)));
539
- this.store.list = this.store.list.filter(r => !keySet.has(this.getIdKey(r.id)));
533
+ const keySet = new Set(ids.map((id) => this.getIdKey(id)));
534
+ this.store.list = this.store.list.filter((r) => !keySet.has(this.getIdKey(r.id)));
540
535
  this.syncResourcesMap();
541
536
  if (this.dbManager) {
542
537
  try {
@@ -544,20 +539,21 @@ class ResourceModule extends _BaseModule.BaseModule {
544
539
  await this.dbManager.delete(RESOURCE_STORE_NAME, id);
545
540
  }
546
541
  } catch {
547
- // 忽略 SQLite 异常
548
542
  }
549
543
  }
550
- await this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
544
+ await this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
551
545
  }
552
546
  async mergeResourcesToStore(freshResources) {
553
- const freshMap = new Map();
547
+ const freshMap = /* @__PURE__ */ new Map();
554
548
  for (const r of freshResources) {
555
- if (r?.id === undefined) continue;
549
+ if ((r == null ? void 0 : r.id) === void 0)
550
+ continue;
556
551
  freshMap.set(this.getIdKey(r.id), this.normalizeResource(r));
557
552
  }
558
- const updatedList = this.store.list.map(r => {
553
+ const updatedList = this.store.list.map((r) => {
559
554
  const key = this.getIdKey(r.id);
560
- if (!freshMap.has(key)) return r;
555
+ if (!freshMap.has(key))
556
+ return r;
561
557
  const fresh = freshMap.get(key);
562
558
  freshMap.delete(key);
563
559
  return fresh;
@@ -568,19 +564,20 @@ class ResourceModule extends _BaseModule.BaseModule {
568
564
  this.store.list = updatedList;
569
565
  this.syncResourcesMap();
570
566
  await this.saveResourcesToSQLite(this.store.list);
571
- await this.safeEmit(_types.ResourceHooks.onResourcesChanged, this.store.list);
567
+ await this.safeEmit(import_types.ResourceHooks.onResourcesChanged, this.store.list);
572
568
  }
573
569
  uniqueResourceIds(ids) {
574
- const idMap = new Map();
570
+ const idMap = /* @__PURE__ */ new Map();
575
571
  for (const id of ids) {
576
572
  idMap.set(this.getIdKey(id), id);
577
573
  }
578
574
  return [...idMap.values()];
579
575
  }
580
- }
581
-
582
- // ─────────────────────────────────────────────────────────────────
583
- // 导出
584
- // ─────────────────────────────────────────────────────────────────
585
- exports.ResourceModule = ResourceModule;
586
- const resourceModule = exports.resourceModule = new ResourceModule();
576
+ };
577
+ var resourceModule = new ResourceModule();
578
+ // Annotate the CommonJS export names for ESM import in node:
579
+ 0 && (module.exports = {
580
+ ResourceHooks,
581
+ ResourceModule,
582
+ resourceModule
583
+ });