@pisell/pisellos 0.0.567 → 0.0.569

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 (557) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  3. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/adapter/walletPass/utils.js +7 -7
  6. package/dist/model/strategy/strategy-example.js +5 -19
  7. package/dist/modules/BaseModule.d.ts +2 -2
  8. package/dist/modules/BaseModule.js +4 -4
  9. package/dist/modules/BookingContext/index.d.ts +48 -0
  10. package/dist/modules/BookingContext/index.js +566 -0
  11. package/dist/modules/BookingContext/types.d.ts +102 -0
  12. package/dist/modules/BookingContext/types.js +51 -0
  13. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  14. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  15. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  16. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  17. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  18. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  19. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  20. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  21. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  22. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  23. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  24. package/dist/modules/BookingContext/utils/index.js +11 -0
  25. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  26. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  27. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  28. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  29. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  30. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  31. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  32. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  33. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  34. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  35. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  36. package/dist/modules/BookingContext/utils/resources.js +486 -0
  37. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  38. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  39. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  40. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  41. package/dist/modules/Cart/index.js +0 -3
  42. package/dist/modules/Cart/utils/cartProduct.js +26 -6
  43. package/dist/modules/Cart/utils/changePrice.js +27 -20
  44. package/dist/modules/Customer/index.d.ts +20 -0
  45. package/dist/modules/Customer/index.js +172 -83
  46. package/dist/modules/Customer/types.d.ts +2 -0
  47. package/dist/modules/Date/index.js +1 -5
  48. package/dist/modules/Discount/index.d.ts +2 -1
  49. package/dist/modules/Discount/index.js +37 -12
  50. package/dist/modules/Discount/types.d.ts +1 -0
  51. package/dist/modules/OpenData/index.d.ts +8 -0
  52. package/dist/modules/OpenData/index.js +35 -17
  53. package/dist/modules/Order/index.d.ts +449 -24
  54. package/dist/modules/Order/index.js +5437 -608
  55. package/dist/modules/Order/types.d.ts +693 -88
  56. package/dist/modules/Order/types.js +68 -1
  57. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  58. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  59. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  60. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  61. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  62. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  63. package/dist/modules/Order/utils.d.ts +167 -18
  64. package/dist/modules/Order/utils.js +960 -165
  65. package/dist/modules/Payment/index.d.ts +10 -9
  66. package/dist/modules/Payment/index.js +508 -874
  67. package/dist/modules/Payment/types.d.ts +40 -16
  68. package/dist/modules/Payment/utils.d.ts +1 -1
  69. package/dist/modules/Payment/utils.js +4 -3
  70. package/dist/modules/Payment/walletpass.js +48 -34
  71. package/dist/modules/Product/types.d.ts +29 -7
  72. package/dist/modules/ProductList/index.d.ts +17 -13
  73. package/dist/modules/ProductList/index.js +184 -74
  74. package/dist/modules/ProductList/types.d.ts +17 -0
  75. package/dist/modules/Quotation/index.d.ts +22 -2
  76. package/dist/modules/Quotation/index.js +108 -42
  77. package/dist/modules/Quotation/types.d.ts +19 -0
  78. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  79. package/dist/modules/ResourcePlanner/index.js +181 -0
  80. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  81. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  82. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  83. package/dist/modules/ResourcePlanner/types.js +1 -0
  84. package/dist/modules/Rules/index.d.ts +8 -10
  85. package/dist/modules/Rules/index.js +219 -114
  86. package/dist/modules/Rules/types.d.ts +14 -3
  87. package/dist/modules/SalesSummary/index.d.ts +23 -26
  88. package/dist/modules/SalesSummary/index.js +152 -46
  89. package/dist/modules/SalesSummary/types.d.ts +9 -1
  90. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  91. package/dist/modules/SalesSummary/utils.js +803 -163
  92. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
  93. package/dist/modules/Schedule/index.d.ts +18 -5
  94. package/dist/modules/Schedule/index.js +78 -24
  95. package/dist/modules/Schedule/types.d.ts +2 -0
  96. package/dist/modules/Schedule/utils.js +0 -1
  97. package/dist/modules/Step/index.js +0 -1
  98. package/dist/modules/Summary/index.js +4 -3
  99. package/dist/modules/SurchargeList/index.d.ts +18 -0
  100. package/dist/modules/SurchargeList/index.js +185 -0
  101. package/dist/modules/SurchargeList/types.d.ts +15 -0
  102. package/dist/modules/SurchargeList/types.js +1 -0
  103. package/dist/modules/index.d.ts +3 -0
  104. package/dist/modules/index.js +4 -1
  105. package/dist/plugins/app.d.ts +2 -0
  106. package/dist/plugins/request.d.ts +1 -0
  107. package/dist/plugins/request.js +1 -4
  108. package/dist/plugins/window.js +2 -6
  109. package/dist/server/index.d.ts +462 -8
  110. package/dist/server/index.js +6137 -714
  111. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  112. package/dist/server/modules/floor-plan/index.js +595 -0
  113. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  114. package/dist/server/modules/floor-plan/types.js +13 -0
  115. package/dist/server/modules/index.d.ts +7 -2
  116. package/dist/server/modules/index.js +6 -0
  117. package/dist/server/modules/menu/index.js +32 -41
  118. package/dist/server/modules/order/index.d.ts +207 -14
  119. package/dist/server/modules/order/index.js +2326 -379
  120. package/dist/server/modules/order/types.d.ts +76 -5
  121. package/dist/server/modules/order/types.js +14 -1
  122. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  123. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  124. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  125. package/dist/server/modules/payment/index.d.ts +28 -0
  126. package/dist/server/modules/payment/index.js +305 -0
  127. package/dist/server/modules/payment/types.d.ts +9 -0
  128. package/dist/server/modules/payment/types.js +1 -0
  129. package/dist/server/modules/products/index.d.ts +105 -14
  130. package/dist/server/modules/products/index.js +1397 -540
  131. package/dist/server/modules/products/types.d.ts +34 -1
  132. package/dist/server/modules/products/types.js +4 -0
  133. package/dist/server/modules/quotation/index.d.ts +39 -0
  134. package/dist/server/modules/quotation/index.js +289 -86
  135. package/dist/server/modules/resource/index.d.ts +2 -3
  136. package/dist/server/modules/resource/index.js +105 -84
  137. package/dist/server/modules/schedule/index.d.ts +6 -4
  138. package/dist/server/modules/schedule/index.js +137 -114
  139. package/dist/server/test.json +713 -0
  140. package/dist/server/types.d.ts +2 -0
  141. package/dist/server/utils/product.js +2 -3
  142. package/dist/server/utils/small-ticket.d.ts +71 -0
  143. package/dist/server/utils/small-ticket.js +963 -0
  144. package/dist/solution/BaseSales/index.d.ts +378 -0
  145. package/dist/solution/BaseSales/index.js +4006 -0
  146. package/dist/solution/BaseSales/types.d.ts +394 -0
  147. package/dist/solution/BaseSales/types.js +40 -0
  148. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  149. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  150. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  151. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  152. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  153. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  154. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  155. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  156. package/dist/solution/BaseSales/utils.d.ts +40 -0
  157. package/dist/solution/BaseSales/utils.js +263 -0
  158. package/dist/solution/BookingByStep/index.js +7 -59
  159. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  160. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  161. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  162. package/dist/solution/BookingTicket/index.d.ts +393 -24
  163. package/dist/solution/BookingTicket/index.js +2506 -445
  164. package/dist/solution/BookingTicket/types.d.ts +191 -6
  165. package/dist/solution/BookingTicket/types.js +83 -10
  166. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  167. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  168. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  169. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  170. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  171. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  172. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  173. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  174. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  175. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  176. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  177. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  178. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  179. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  180. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  181. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  182. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  183. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
  184. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  185. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  186. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  187. package/dist/solution/BookingTicket/utils/scan/handleScan.js +36 -34
  188. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  189. package/dist/solution/BookingTicket/utils/scan/index.js +26 -18
  190. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  191. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  192. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  193. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  194. package/dist/solution/BuyTickets/index.js +9 -12
  195. package/dist/solution/Checkout/index.d.ts +1 -0
  196. package/dist/solution/Checkout/index.js +199 -277
  197. package/dist/solution/Checkout/utils/index.js +8 -20
  198. package/dist/solution/RegisterAndLogin/config.js +2 -10
  199. package/dist/solution/RegisterAndLogin/index.js +30 -76
  200. package/dist/solution/Sales/index.d.ts +50 -5
  201. package/dist/solution/Sales/index.js +484 -92
  202. package/dist/solution/Sales/types.d.ts +26 -2
  203. package/dist/solution/ScanOrder/index.d.ts +27 -21
  204. package/dist/solution/ScanOrder/index.js +509 -454
  205. package/dist/solution/ScanOrder/types.d.ts +33 -11
  206. package/dist/solution/ScanOrder/types.js +4 -5
  207. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  208. package/dist/solution/ScanOrder/utils.js +109 -34
  209. package/dist/solution/ShopDiscount/index.js +6 -11
  210. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  211. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  212. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  213. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  214. package/dist/solution/VenueBooking/index.d.ts +34 -20
  215. package/dist/solution/VenueBooking/index.js +630 -505
  216. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  217. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  218. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  219. package/dist/solution/index.d.ts +2 -0
  220. package/dist/solution/index.js +3 -1
  221. package/dist/types/index.d.ts +11 -1
  222. package/dist/utils/task.js +15 -18
  223. package/dist/utils/watch.js +0 -1
  224. package/lib/apis/picoding.js +2 -0
  225. package/lib/core/index.js +130 -131
  226. package/lib/effects/index.js +46 -57
  227. package/lib/index.js +92 -53
  228. package/lib/model/index.js +14 -21
  229. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  230. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  231. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  232. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  233. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  234. package/lib/model/strategy/adapter/index.js +100 -64
  235. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  236. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  237. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  238. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  239. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  240. package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
  241. package/lib/model/strategy/adapter/promotion/evaluator.js +383 -232
  242. package/lib/model/strategy/adapter/promotion/examples.js +139 -159
  243. package/lib/model/strategy/adapter/promotion/index.js +1 -49
  244. package/lib/model/strategy/adapter/promotion/type.js +199 -35
  245. package/lib/model/strategy/adapter/type.js +4 -16
  246. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
  247. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  248. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  249. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  250. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  251. package/lib/model/strategy/adapter/walletPass/utils.js +654 -402
  252. package/lib/model/strategy/engine.js +270 -168
  253. package/lib/model/strategy/index.js +49 -34
  254. package/lib/model/strategy/strategy-example.js +243 -239
  255. package/lib/model/strategy/type.js +100 -40
  256. package/lib/modules/Account/index.js +39 -53
  257. package/lib/modules/Account/types.js +20 -33
  258. package/lib/modules/AccountList/index.js +116 -154
  259. package/lib/modules/AccountList/types.js +30 -31
  260. package/lib/modules/AccountList/utils.js +18 -30
  261. package/lib/modules/BaseModule.d.ts +2 -2
  262. package/lib/modules/BaseModule.js +26 -49
  263. package/lib/modules/BookingContext/index.d.ts +48 -0
  264. package/lib/modules/BookingContext/index.js +390 -0
  265. package/lib/modules/BookingContext/types.d.ts +102 -0
  266. package/lib/modules/BookingContext/types.js +48 -0
  267. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  268. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
  269. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  270. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
  271. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  272. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
  273. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  274. package/lib/modules/BookingContext/utils/flexible.js +63 -0
  275. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  276. package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
  277. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  278. package/lib/modules/BookingContext/utils/index.js +126 -0
  279. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  280. package/lib/modules/BookingContext/utils/noResource.js +78 -0
  281. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  282. package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
  283. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  284. package/lib/modules/BookingContext/utils/productExtend.js +330 -0
  285. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  286. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  287. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  288. package/lib/modules/BookingContext/utils/resourceSelection.js +24 -0
  289. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  290. package/lib/modules/BookingContext/utils/resources.js +419 -0
  291. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  292. package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
  293. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  294. package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
  295. package/lib/modules/Cart/index.js +170 -124
  296. package/lib/modules/Cart/types.js +46 -51
  297. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  298. package/lib/modules/Cart/utils/cartDate.js +56 -61
  299. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  300. package/lib/modules/Cart/utils/cartNote.js +27 -32
  301. package/lib/modules/Cart/utils/cartProduct.js +331 -244
  302. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  303. package/lib/modules/Cart/utils/cartResource.js +72 -78
  304. package/lib/modules/Cart/utils/changePrice.js +37 -67
  305. package/lib/modules/Cart/utils/index.js +106 -48
  306. package/lib/modules/Customer/constants.js +13 -34
  307. package/lib/modules/Customer/index.d.ts +20 -0
  308. package/lib/modules/Customer/index.js +270 -154
  309. package/lib/modules/Customer/types.d.ts +2 -0
  310. package/lib/modules/Customer/types.js +38 -35
  311. package/lib/modules/Date/index.js +116 -115
  312. package/lib/modules/Date/types.js +16 -28
  313. package/lib/modules/Date/utils.js +174 -123
  314. package/lib/modules/Discount/index.d.ts +2 -1
  315. package/lib/modules/Discount/index.js +133 -113
  316. package/lib/modules/Discount/types.d.ts +1 -0
  317. package/lib/modules/Discount/types.js +9 -31
  318. package/lib/modules/Guests/index.js +30 -56
  319. package/lib/modules/Guests/types.js +23 -33
  320. package/lib/modules/Holder/index.js +209 -189
  321. package/lib/modules/Holder/types.js +4 -16
  322. package/lib/modules/Holder/utils.js +20 -49
  323. package/lib/modules/OpenData/index.d.ts +8 -0
  324. package/lib/modules/OpenData/index.js +81 -74
  325. package/lib/modules/OpenData/types.js +4 -16
  326. package/lib/modules/OpenData/utils.js +44 -78
  327. package/lib/modules/Order/index.d.ts +449 -24
  328. package/lib/modules/Order/index.js +3834 -489
  329. package/lib/modules/Order/types.d.ts +693 -88
  330. package/lib/modules/Order/types.js +78 -33
  331. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  332. package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
  333. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  334. package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
  335. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  336. package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
  337. package/lib/modules/Order/utils.d.ts +167 -18
  338. package/lib/modules/Order/utils.js +1247 -345
  339. package/lib/modules/Payment/cash.js +20 -33
  340. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  341. package/lib/modules/Payment/eftpos.js +16 -30
  342. package/lib/modules/Payment/index.d.ts +10 -9
  343. package/lib/modules/Payment/index.js +542 -502
  344. package/lib/modules/Payment/mx51.js +1 -0
  345. package/lib/modules/Payment/types.d.ts +40 -16
  346. package/lib/modules/Payment/types.js +216 -107
  347. package/lib/modules/Payment/utils.d.ts +1 -1
  348. package/lib/modules/Payment/utils.js +53 -49
  349. package/lib/modules/Payment/walletpass.js +231 -203
  350. package/lib/modules/Product/index.js +51 -46
  351. package/lib/modules/Product/types.d.ts +29 -7
  352. package/lib/modules/Product/types.js +4 -16
  353. package/lib/modules/Product/utils.js +32 -33
  354. package/lib/modules/ProductList/index.d.ts +17 -13
  355. package/lib/modules/ProductList/index.js +160 -118
  356. package/lib/modules/ProductList/types.d.ts +17 -0
  357. package/lib/modules/ProductList/types.js +9 -31
  358. package/lib/modules/Quotation/index.d.ts +22 -2
  359. package/lib/modules/Quotation/index.js +123 -89
  360. package/lib/modules/Quotation/types.d.ts +19 -0
  361. package/lib/modules/Quotation/types.js +4 -16
  362. package/lib/modules/Resource/index.js +27 -59
  363. package/lib/modules/Resource/types.js +22 -32
  364. package/lib/modules/Resource/utils.js +30 -38
  365. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  366. package/lib/modules/ResourcePlanner/index.js +147 -0
  367. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  368. package/lib/modules/ResourcePlanner/planner.js +895 -0
  369. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  370. package/lib/modules/ResourcePlanner/types.js +5 -0
  371. package/lib/modules/Rules/index.d.ts +8 -10
  372. package/lib/modules/Rules/index.js +1286 -894
  373. package/lib/modules/Rules/types.d.ts +14 -3
  374. package/lib/modules/Rules/types.js +17 -40
  375. package/lib/modules/SalesSummary/index.d.ts +23 -26
  376. package/lib/modules/SalesSummary/index.js +130 -71
  377. package/lib/modules/SalesSummary/types.d.ts +9 -1
  378. package/lib/modules/SalesSummary/types.js +4 -16
  379. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  380. package/lib/modules/SalesSummary/utils.js +738 -250
  381. package/lib/modules/ScanOrderLogger/index.js +59 -79
  382. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  383. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  384. package/lib/modules/ScanOrderLogger/types.js +4 -16
  385. package/lib/modules/Schedule/getDateIsInSchedule.js +345 -171
  386. package/lib/modules/Schedule/index.d.ts +18 -5
  387. package/lib/modules/Schedule/index.js +139 -114
  388. package/lib/modules/Schedule/type.js +4 -16
  389. package/lib/modules/Schedule/types.d.ts +2 -0
  390. package/lib/modules/Schedule/types.js +4 -16
  391. package/lib/modules/Schedule/utils.js +433 -291
  392. package/lib/modules/Step/index.js +40 -52
  393. package/lib/modules/Step/tyeps.js +4 -16
  394. package/lib/modules/Summary/index.js +66 -70
  395. package/lib/modules/Summary/types.js +4 -16
  396. package/lib/modules/Summary/utils.js +782 -429
  397. package/lib/modules/SurchargeList/index.d.ts +18 -0
  398. package/lib/modules/SurchargeList/index.js +95 -0
  399. package/lib/modules/SurchargeList/types.d.ts +15 -0
  400. package/lib/modules/SurchargeList/types.js +5 -0
  401. package/lib/modules/index.d.ts +3 -0
  402. package/lib/modules/index.js +245 -57
  403. package/lib/plugins/app.d.ts +2 -0
  404. package/lib/plugins/app.js +4 -16
  405. package/lib/plugins/index.js +36 -25
  406. package/lib/plugins/request.d.ts +1 -0
  407. package/lib/plugins/request.js +137 -126
  408. package/lib/plugins/shopStore.js +4 -16
  409. package/lib/plugins/user.js +4 -16
  410. package/lib/plugins/window.js +171 -179
  411. package/lib/server/index.d.ts +462 -8
  412. package/lib/server/index.js +4668 -713
  413. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  414. package/lib/server/modules/floor-plan/index.js +306 -0
  415. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  416. package/lib/server/modules/floor-plan/types.js +19 -0
  417. package/lib/server/modules/index.d.ts +7 -2
  418. package/lib/server/modules/index.js +106 -59
  419. package/lib/server/modules/menu/index.js +146 -122
  420. package/lib/server/modules/menu/types.js +18 -31
  421. package/lib/server/modules/order/index.d.ts +207 -14
  422. package/lib/server/modules/order/index.js +1463 -316
  423. package/lib/server/modules/order/types.d.ts +76 -5
  424. package/lib/server/modules/order/types.js +117 -32
  425. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  426. package/lib/server/modules/order/utils/filterBookings.js +288 -146
  427. package/lib/server/modules/order/utils/filterOrders.js +318 -64
  428. package/lib/server/modules/payment/index.d.ts +28 -0
  429. package/lib/server/modules/payment/index.js +168 -0
  430. package/lib/server/modules/payment/types.d.ts +9 -0
  431. package/lib/server/modules/payment/types.js +5 -0
  432. package/lib/server/modules/products/index.d.ts +105 -14
  433. package/lib/server/modules/products/index.js +969 -383
  434. package/lib/server/modules/products/types.d.ts +34 -1
  435. package/lib/server/modules/products/types.js +44 -34
  436. package/lib/server/modules/quotation/index.d.ts +39 -0
  437. package/lib/server/modules/quotation/index.js +220 -77
  438. package/lib/server/modules/quotation/types.js +21 -31
  439. package/lib/server/modules/resource/index.d.ts +2 -3
  440. package/lib/server/modules/resource/index.js +269 -214
  441. package/lib/server/modules/resource/types.js +42 -33
  442. package/lib/server/modules/schedule/index.d.ts +6 -4
  443. package/lib/server/modules/schedule/index.js +158 -132
  444. package/lib/server/modules/schedule/types.js +14 -21
  445. package/lib/server/modules/schedule/utils.js +334 -163
  446. package/lib/server/test.json +713 -0
  447. package/lib/server/types.d.ts +2 -0
  448. package/lib/server/types.js +4 -16
  449. package/lib/server/utils/index.js +25 -23
  450. package/lib/server/utils/product.js +197 -140
  451. package/lib/server/utils/schedule.js +34 -41
  452. package/lib/server/utils/small-ticket.d.ts +71 -0
  453. package/lib/server/utils/small-ticket.js +926 -0
  454. package/lib/server/utils/time.js +40 -49
  455. package/lib/solution/BaseSales/index.d.ts +378 -0
  456. package/lib/solution/BaseSales/index.js +2367 -0
  457. package/lib/solution/BaseSales/types.d.ts +394 -0
  458. package/lib/solution/BaseSales/types.js +47 -0
  459. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  460. package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
  461. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  462. package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
  463. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  464. package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
  465. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  466. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
  467. package/lib/solution/BaseSales/utils.d.ts +40 -0
  468. package/lib/solution/BaseSales/utils.js +259 -0
  469. package/lib/solution/BookingByStep/index.js +1530 -1343
  470. package/lib/solution/BookingByStep/types.js +40 -99
  471. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  472. package/lib/solution/BookingByStep/utils/products.js +42 -52
  473. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  474. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  475. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  476. package/lib/solution/BookingTicket/index.d.ts +393 -24
  477. package/lib/solution/BookingTicket/index.js +1459 -160
  478. package/lib/solution/BookingTicket/types.d.ts +191 -6
  479. package/lib/solution/BookingTicket/types.js +101 -66
  480. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  481. package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
  482. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  483. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
  484. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  485. package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
  486. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  487. package/lib/solution/BookingTicket/utils/cartView.js +200 -0
  488. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  489. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  490. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  491. package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
  492. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  493. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
  494. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  495. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
  496. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  497. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +85 -80
  498. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  499. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
  500. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  501. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -80
  502. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  503. package/lib/solution/BookingTicket/utils/scan/index.js +103 -95
  504. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  505. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  506. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
  507. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  508. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
  509. package/lib/solution/BuyTickets/index.js +67 -70
  510. package/lib/solution/BuyTickets/types.js +22 -38
  511. package/lib/solution/Checkout/index.d.ts +1 -0
  512. package/lib/solution/Checkout/index.js +1461 -1169
  513. package/lib/solution/Checkout/types.js +91 -61
  514. package/lib/solution/Checkout/utils/index.js +228 -159
  515. package/lib/solution/PlaceOrder/index.js +55 -0
  516. package/lib/solution/RegisterAndLogin/config.js +495 -470
  517. package/lib/solution/RegisterAndLogin/index.js +633 -630
  518. package/lib/solution/RegisterAndLogin/types.js +189 -76
  519. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  520. package/lib/solution/Sales/index.d.ts +50 -5
  521. package/lib/solution/Sales/index.js +495 -220
  522. package/lib/solution/Sales/types.d.ts +26 -2
  523. package/lib/solution/Sales/types.js +27 -33
  524. package/lib/solution/ScanOrder/index.d.ts +27 -21
  525. package/lib/solution/ScanOrder/index.js +908 -904
  526. package/lib/solution/ScanOrder/types.d.ts +33 -11
  527. package/lib/solution/ScanOrder/types.js +33 -34
  528. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  529. package/lib/solution/ScanOrder/utils.js +457 -344
  530. package/lib/solution/ShopDiscount/index.js +230 -236
  531. package/lib/solution/ShopDiscount/types.js +15 -37
  532. package/lib/solution/ShopDiscount/utils.js +309 -172
  533. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  534. package/lib/solution/UnifiedBookingSales/index.js +1050 -0
  535. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  536. package/lib/solution/UnifiedBookingSales/types.js +14 -0
  537. package/lib/solution/VenueBooking/index.d.ts +34 -20
  538. package/lib/solution/VenueBooking/index.js +982 -950
  539. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  540. package/lib/solution/VenueBooking/types.js +20 -40
  541. package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
  542. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  543. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  544. package/lib/solution/VenueBooking/utils/slotMerge.js +96 -108
  545. package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
  546. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
  547. package/lib/solution/VenueBooking/utils.js +130 -67
  548. package/lib/solution/index.d.ts +2 -0
  549. package/lib/solution/index.js +124 -37
  550. package/lib/store/createStore.js +32 -29
  551. package/lib/types/index.d.ts +11 -1
  552. package/lib/types/index.js +4 -16
  553. package/lib/utils/task.js +36 -36
  554. package/lib/utils/watch.js +81 -47
  555. package/package.json +2 -1
  556. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  557. package/lib/solution/Checkout/appointmentDemo.json +0 -1
@@ -71,8 +71,6 @@
71
71
  "num__comment": "数量;int;↕;必填。统一使用 num,不再使用 product_quantity。",
72
72
  "product_variant_id": 0,
73
73
  "product_variant_id__comment": "多规格 ID;int;↕;可选。",
74
- "product_option_item": [],
75
- "product_option_item__comment": "选项配置;array;↕;可选。",
76
74
  "selling_price": "50.00",
77
75
  "selling_price__comment": "销售单价(交易快照);string;←;服务端返回,不能依赖基准数据回填。",
78
76
  "original_price": "60.00",
@@ -5,6 +5,12 @@ export declare function mergeConsecutiveSlots(slots: VenueSlotSelection[]): Merg
5
5
  export declare function buildPriceBreakdown(params: {
6
6
  group: MergedSlotGroup;
7
7
  productId: number;
8
+ quotation?: {
9
+ getQuotationShelfId: (p: {
10
+ productId: number;
11
+ datetime: string;
12
+ }) => number;
13
+ };
8
14
  }): PriceBreakdownEntry[];
9
15
  export interface BuildVenueBookingParams {
10
16
  group: MergedSlotGroup;
@@ -51,7 +51,9 @@ export function mergeConsecutiveSlots(slots) {
51
51
  return groups;
52
52
  }
53
53
  export function buildPriceBreakdown(params) {
54
- var group = params.group;
54
+ var group = params.group,
55
+ productId = params.productId,
56
+ quotation = params.quotation;
55
57
  if (!group.slots.length) return [];
56
58
  var entries = [];
57
59
  var _iterator = _createForOfIteratorHelper(group.slots),
@@ -60,10 +62,14 @@ export function buildPriceBreakdown(params) {
60
62
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
61
63
  var slot = _step.value;
62
64
  var unitPrice = Number(slot.price || '0');
65
+ var shelfId = quotation ? quotation.getQuotationShelfId({
66
+ productId: productId,
67
+ datetime: slot.startTime
68
+ }) : 0;
63
69
  var startHm = dayjs(slot.startTime, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DD HH:mm');
64
70
  var endHm = dayjs(slot.endTime, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DD HH:mm');
65
71
  var last = entries[entries.length - 1];
66
- if (last && last.unit_price === unitPrice && last.quotation_shelf_id === 0 && last.end_time === startHm) {
72
+ if (last && last.unit_price === unitPrice && last.quotation_shelf_id === shelfId && last.end_time === startHm) {
67
73
  last.end_time = endHm;
68
74
  last.quantity += 1;
69
75
  } else {
@@ -71,7 +77,7 @@ export function buildPriceBreakdown(params) {
71
77
  start_time: startHm,
72
78
  end_time: endHm,
73
79
  unit_price: unitPrice,
74
- quotation_shelf_id: 0,
80
+ quotation_shelf_id: shelfId,
75
81
  quantity: 1
76
82
  });
77
83
  }
@@ -6,4 +6,6 @@ export * from './RegisterAndLogin';
6
6
  export * from './Checkout';
7
7
  export * from './Sales';
8
8
  export * from './ScanOrder';
9
+ export * from './BaseSales';
9
10
  export * from './VenueBooking';
11
+ export * from './UnifiedBookingSales';
@@ -6,4 +6,6 @@ export * from "./RegisterAndLogin";
6
6
  export * from "./Checkout";
7
7
  export * from "./Sales";
8
8
  export * from "./ScanOrder";
9
- export * from "./VenueBooking";
9
+ export * from "./BaseSales";
10
+ export * from "./VenueBooking";
11
+ export * from "./UnifiedBookingSales";
@@ -15,6 +15,16 @@ export interface Module {
15
15
  name: string;
16
16
  version: string;
17
17
  initialize: (core: PisellCore, options: ModuleOptions) => Promise<void> | void;
18
+ /**
19
+ * 父级解决方案运行时更新 otherParams 后,显式通知子模块刷新自己的运行态参数。
20
+ *
21
+ * @example
22
+ * await module.updateOtherParams?.({ channel: 'pos' }, { changedParams: { channel: 'pos' } });
23
+ */
24
+ updateOtherParams?: (params: Record<string, any>, meta?: {
25
+ changedParams?: Record<string, any>;
26
+ cover?: boolean;
27
+ }) => Promise<void> | void;
18
28
  destroy?: () => Promise<void> | void;
19
29
  exports?: Record<string, any>;
20
30
  isSolution?: boolean;
@@ -39,7 +49,7 @@ export interface PisellCore {
39
49
  getModuleExports: <T = any>(name: string) => T | null;
40
50
  hasModule: (name: string) => boolean;
41
51
  effects: {
42
- on: (event: string, callback: (payload: any) => void, force?: boolean) => void;
52
+ on: (event: string, callback: (payload: any) => void) => () => void;
43
53
  once: (event: string, callback: (payload: any) => void, force?: boolean) => void;
44
54
  only: (event: string, callback: (payload: any) => void) => () => void;
45
55
  off: (event: string, callback: (payload: any) => void) => void;
@@ -94,7 +94,7 @@ var Tasks = /*#__PURE__*/function () {
94
94
  // 遍历任务队列
95
95
  case 6:
96
96
  if (!(this.taskQueue.length > 0)) {
97
- _context.next = 32;
97
+ _context.next = 29;
98
98
  break;
99
99
  }
100
100
  // 获取任务,但是不删除
@@ -109,7 +109,7 @@ var Tasks = /*#__PURE__*/function () {
109
109
  // 获取任务对应的action
110
110
  action = this.actions.get(task.type); // 如果找到对应的action,则执行
111
111
  if (!action) {
112
- _context.next = 28;
112
+ _context.next = 26;
113
113
  break;
114
114
  }
115
115
  _context.prev = 13;
@@ -118,36 +118,33 @@ var Tasks = /*#__PURE__*/function () {
118
118
  uuid: task === null || task === void 0 ? void 0 : task.uuid
119
119
  }));
120
120
  case 16:
121
- console.log('task_success>>>>>>>', task);
122
- _context.next = 22;
121
+ _context.next = 21;
123
122
  break;
124
- case 19:
125
- _context.prev = 19;
123
+ case 18:
124
+ _context.prev = 18;
126
125
  _context.t0 = _context["catch"](13);
127
126
  console.error('task_error>>>>>>>', _context.t0);
128
- case 22:
129
- _context.prev = 22;
127
+ case 21:
128
+ _context.prev = 21;
130
129
  // 将任务删除
131
130
  _task = this.taskQueue.shift();
132
- console.log('task_shift>>>>>>>', _task);
133
- return _context.finish(22);
134
- case 26:
135
- _context.next = 30;
131
+ return _context.finish(21);
132
+ case 24:
133
+ _context.next = 27;
136
134
  break;
137
- case 28:
135
+ case 26:
138
136
  // 如果找不到对应的action,则删除任务
139
137
  _task2 = this.taskQueue.shift();
140
- console.log('task_action_not_found>>>>>>>', _task2);
141
- case 30:
138
+ case 27:
142
139
  _context.next = 6;
143
140
  break;
144
- case 32:
141
+ case 29:
145
142
  this.isRunning = false;
146
- case 33:
143
+ case 30:
147
144
  case "end":
148
145
  return _context.stop();
149
146
  }
150
- }, _callee, this, [[13, 19, 22, 26]]);
147
+ }, _callee, this, [[13, 18, 21, 24]]);
151
148
  }));
152
149
  function run() {
153
150
  return _run.apply(this, arguments);
@@ -203,7 +203,6 @@ var Watch = /*#__PURE__*/function () {
203
203
  key: "getLastEnableEventKey",
204
204
  value: function getLastEnableEventKey(watchKey) {
205
205
  var enableList = this.enableListMap.get(watchKey);
206
- console.log('enableList', enableList);
207
206
  if (!enableList) {
208
207
  return undefined;
209
208
  }
@@ -0,0 +1,2 @@
1
+ // picoding 相关公共 api
2
+ "use strict";
package/lib/core/index.js CHANGED
@@ -1,116 +1,101 @@
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);
1
+ "use strict";
28
2
 
29
- // src/core/index.ts
30
- var core_exports = {};
31
- __export(core_exports, {
32
- PisellOSCore: () => PisellOSCore,
33
- default: () => core_default
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
34
5
  });
35
- module.exports = __toCommonJS(core_exports);
36
- var import_createStore = require("../store/createStore");
37
- var import_effects = require("../effects");
38
- var PisellOSCore = class {
39
- // 保存 Server 配置
6
+ exports.default = exports.PisellOSCore = void 0;
7
+ var _createStore = require("../store/createStore");
8
+ var _effects = require("../effects");
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ /**
12
+ * pisell OS 核心实现
13
+ */
14
+ class PisellOSCore {
15
+ plugins = new Map();
16
+ modules = new Map();
17
+ stores = new Map();
18
+ effects = new _effects.EffectsManager();
19
+ debug = false;
20
+ context = {};
21
+ server; // Server 实例
22
+ serverOptions; // 保存 Server 配置
23
+
40
24
  constructor(options) {
41
- this.plugins = /* @__PURE__ */ new Map();
42
- this.modules = /* @__PURE__ */ new Map();
43
- this.stores = /* @__PURE__ */ new Map();
44
- this.effects = new import_effects.EffectsManager();
45
- this.debug = false;
46
- this.context = {};
47
- this.debug = (options == null ? void 0 : options.debug) || false;
48
- this.context = (options == null ? void 0 : options.context) || {};
49
- if (options == null ? void 0 : options.server) {
25
+ this.debug = options?.debug || false;
26
+ this.context = options?.context || {};
27
+
28
+ // 保存 Server 配置但不初始化
29
+ if (options?.server) {
50
30
  this.serverOptions = options.server;
51
31
  }
52
32
  this.initialize(options);
53
33
  }
54
34
  initialize(options) {
55
- if (options == null ? void 0 : options.plugins) {
56
- options.plugins.forEach((item) => {
35
+ if (options?.plugins) {
36
+ options.plugins.forEach(item => {
57
37
  this.registerPlugin(item.plugin, item.options);
58
38
  });
59
39
  }
60
- if (options == null ? void 0 : options.modules) {
61
- options.modules.forEach((item) => {
40
+ if (options?.modules) {
41
+ options.modules.forEach(item => {
62
42
  this.registerModule(item.module, item.options);
63
43
  });
64
44
  }
65
- this.log("[PisellOS] 核心初始化完成");
45
+ this.log('[PisellOS] 核心初始化完成');
66
46
  }
47
+
67
48
  /**
68
49
  * 初始化 Server(公开方法,需要外部显式调用并等待)
69
50
  * Server 配置从构造函数传入的 options.server 中获取
70
51
  */
71
52
  async initializeServer(options) {
53
+ // 检查是否已经初始化
72
54
  if (this.server) {
73
- this.log("Server 已经初始化,跳过重复初始化", "warn");
55
+ this.log('Server 已经初始化,跳过重复初始化', 'warn');
74
56
  return;
75
57
  }
58
+
59
+ // 检查是否有 Server 配置
76
60
  if (!this.serverOptions) {
77
- this.log("未提供 Server 配置,无法初始化", "warn");
61
+ this.log('未提供 Server 配置,无法初始化', 'warn');
78
62
  return;
79
63
  }
80
64
  try {
81
- const ServerModule = await import("../server");
65
+ // 动态导入 Server 类以避免循环依赖
66
+ const ServerModule = await Promise.resolve().then(() => _interopRequireWildcard(require("../server")));
82
67
  const Server = ServerModule.default;
68
+
69
+ // 创建 Server 实例
83
70
  this.server = new Server(this);
84
- this.log("Server 实例已创建");
71
+ this.log('Server 实例已创建');
72
+
73
+ // 初始化模块并预加载数据
85
74
  if (this.serverOptions.modules) {
86
- await this.server.initialize(
87
- this.serverOptions.modules,
88
- this.serverOptions.autoInitData !== false,
89
- options
90
- );
75
+ await this.server.initialize(this.serverOptions.modules, this.serverOptions.autoInitData !== false, options);
91
76
  }
92
- console.log("[PisellOS] ✅ Server 初始化完成,所有数据已预加载");
93
- this.log("[PisellOS] Server 初始化完成");
77
+ this.log('[PisellOS] Server 初始化完成');
94
78
  } catch (error) {
95
- console.error("[PisellOS] ❌ Server 初始化失败:", error);
96
- this.log(`Server 初始化失败: ${error}`, "error");
79
+ console.error('[PisellOS] ❌ Server 初始化失败:', error);
80
+ this.log(`Server 初始化失败: ${error}`, 'error');
97
81
  throw error;
98
82
  }
99
83
  }
84
+
100
85
  // 日志方法
101
- log(message, level = "info") {
102
- if (!this.debug && level === "info") {
86
+ log(message, level = 'info') {
87
+ if (!this.debug && level === 'info') {
103
88
  return;
104
89
  }
105
- const prefix = "[PisellOS]";
90
+ const prefix = '[PisellOS]';
106
91
  switch (level) {
107
- case "info":
108
- console.log(`${prefix} ${message}`);
92
+ case 'info':
109
93
  break;
110
- case "warn":
111
- console.log(`%c${prefix}%c ${message}`, "color: #f59e0b; font-weight: bold;", "color: #f59e0b;");
94
+ case 'warn':
95
+ // 使用 console.log 避免显示堆栈跟踪,提升性能
96
+
112
97
  break;
113
- case "error":
98
+ case 'error':
114
99
  console.error(`${prefix} ${message}`);
115
100
  break;
116
101
  }
@@ -118,27 +103,31 @@ var PisellOSCore = class {
118
103
  // 插件相关方法
119
104
  registerPlugin(plugin, options) {
120
105
  if (this.plugins.has(plugin.name)) {
121
- this.log(`插件 ${plugin.name} 已经注册过,将被覆盖`, "warn");
106
+ this.log(`插件 ${plugin.name} 已经注册过,将被覆盖`, 'warn');
122
107
  }
123
- if (options == null ? void 0 : options.dependencies) {
108
+
109
+ // 检查依赖
110
+ if (options?.dependencies) {
124
111
  for (const dep of options.dependencies) {
125
112
  if (!this.plugins.has(dep)) {
126
113
  throw new Error(`注册插件 ${plugin.name} 失败:缺少依赖插件 ${dep}`);
127
114
  }
128
115
  }
129
116
  }
117
+
118
+ // 初始化插件
130
119
  try {
131
120
  const result = plugin.initialize();
132
121
  if (result instanceof Promise) {
133
- result.catch((err) => {
134
- this.log(`插件 ${plugin.name} 初始化失败: ${err.message}`, "error");
122
+ result.catch(err => {
123
+ this.log(`插件 ${plugin.name} 初始化失败: ${err.message}`, 'error');
135
124
  throw err;
136
125
  });
137
126
  }
138
127
  this.plugins.set(plugin.name, plugin);
139
128
  this.log(`插件 ${plugin.name} v${plugin.version} 注册成功`);
140
129
  } catch (error) {
141
- this.log(`插件 ${plugin.name} 初始化过程中出错: ${error}`, "error");
130
+ this.log(`插件 ${plugin.name} 初始化过程中出错: ${error}`, 'error');
142
131
  throw error;
143
132
  }
144
133
  }
@@ -148,125 +137,135 @@ var PisellOSCore = class {
148
137
  hasPlugin(name) {
149
138
  return this.plugins.has(name);
150
139
  }
140
+
151
141
  // 模块相关方法
152
- registerModule(module2, options) {
153
- if (this.modules.has(module2.name)) {
154
- this.log(`模块 ${module2.name} 已经注册过,将被覆盖`, "warn");
142
+ registerModule(module, options) {
143
+ if (this.modules.has(module.name)) {
144
+ this.log(`模块 ${module.name} 已经注册过,将被覆盖`, 'warn');
155
145
  }
156
- if (options == null ? void 0 : options.dependencies) {
146
+
147
+ // 检查依赖模块
148
+ if (options?.dependencies) {
157
149
  for (const dep of options.dependencies) {
158
150
  if (!this.modules.has(dep)) {
159
- throw new Error(`注册模块 ${module2.name} 失败:缺少依赖模块 ${dep}`);
151
+ throw new Error(`注册模块 ${module.name} 失败:缺少依赖模块 ${dep}`);
160
152
  }
161
153
  }
162
154
  }
163
- if (options == null ? void 0 : options.plugins) {
155
+
156
+ // 检查依赖插件
157
+ if (options?.plugins) {
164
158
  for (const plugin of options.plugins) {
165
159
  if (!this.plugins.has(plugin)) {
166
- throw new Error(
167
- `注册模块 ${module2.name} 失败:缺少依赖插件 ${plugin}`
168
- );
160
+ throw new Error(`注册模块 ${module.name} 失败:缺少依赖插件 ${plugin}`);
169
161
  }
170
162
  }
171
163
  }
172
- const { proxy } = (0, import_createStore.createStore)(
173
- (options == null ? void 0 : options.initialState) || {},
174
- module2.name,
175
- (path, value) => {
176
- console.log("core 检测到模块值更新", module2.name, path, value);
177
- this.effects.emit(`${module2.name}:changed`, { path, value });
178
- if (module2.storeChange)
179
- module2.storeChange(path, value);
180
- }
181
- );
182
- this.stores.set(module2.name, proxy);
164
+ // 预先给模块初始化值系统
165
+ const {
166
+ proxy
167
+ } = (0, _createStore.createStore)(options?.initialState || {}, module.name, (path, value) => {
168
+ this.effects.emit(`${module.name}:changed`, {
169
+ path,
170
+ value
171
+ });
172
+ if (module.storeChange) module.storeChange(path, value);
173
+ });
174
+ this.stores.set(module.name, proxy);
175
+ // 初始化模块
183
176
  try {
184
- const result = module2.initialize(this, { store: proxy, ...options });
177
+ const result = module.initialize(this, {
178
+ store: proxy,
179
+ ...options
180
+ });
185
181
  if (result instanceof Promise) {
186
- result.catch((err) => {
187
- this.log(`模块 ${module2.name} 初始化失败: ${err.message}`, "error");
182
+ result.catch(err => {
183
+ this.log(`模块 ${module.name} 初始化失败: ${err.message}`, 'error');
188
184
  throw err;
189
185
  });
190
186
  }
191
- this.modules.set(module2.name, module2);
192
- this.log(`模块 ${module2.name} v${module2.version} 注册成功`);
187
+ this.modules.set(module.name, module);
188
+ this.log(`模块 ${module.name} v${module.version} 注册成功`);
193
189
  } catch (error) {
194
- this.log(`模块 ${module2.name} 初始化过程中出错: ${error}`, "error");
190
+ this.log(`模块 ${module.name} 初始化过程中出错: ${error}`, 'error');
195
191
  throw error;
196
192
  }
197
193
  }
198
- unregisterModule(module2) {
199
- this.stores.delete(module2.name);
200
- this.modules.delete(module2.name);
194
+ unregisterModule(module) {
195
+ this.stores.delete(module.name);
196
+ this.modules.delete(module.name);
201
197
  }
202
198
  getModule(name) {
203
199
  return this.modules.get(name) || null;
204
200
  }
205
201
  getModuleExports(name) {
206
- const module2 = this.modules.get(name);
207
- return (module2 == null ? void 0 : module2.exports) || null;
202
+ const module = this.modules.get(name);
203
+ return module?.exports || null;
208
204
  }
209
205
  hasModule(name) {
210
206
  return this.modules.has(name);
211
207
  }
208
+
212
209
  // 销毁方法
213
210
  async destroy() {
214
- for (const [name, module2] of this.modules.entries()) {
215
- if (module2.destroy) {
211
+ // 先销毁模块
212
+ for (const [name, module] of this.modules.entries()) {
213
+ if (module.destroy) {
216
214
  try {
217
- await Promise.resolve(module2.destroy());
215
+ await Promise.resolve(module.destroy());
218
216
  this.log(`模块 ${name} 已销毁`);
219
217
  } catch (error) {
220
- this.log(`销毁模块 ${name} 时出错: ${error}`, "error");
218
+ this.log(`销毁模块 ${name} 时出错: ${error}`, 'error');
221
219
  }
222
220
  }
223
221
  }
224
222
  this.modules.clear();
223
+
224
+ // 再销毁插件
225
225
  for (const [name, plugin] of this.plugins.entries()) {
226
226
  if (plugin.destroy) {
227
227
  try {
228
228
  await Promise.resolve(plugin.destroy());
229
229
  this.log(`插件 ${name} 已销毁`);
230
230
  } catch (error) {
231
- this.log(`销毁插件 ${name} 时出错: ${error}`, "error");
231
+ this.log(`销毁插件 ${name} 时出错: ${error}`, 'error');
232
232
  }
233
233
  }
234
234
  }
235
235
  this.plugins.clear();
236
- this.log("PisellOS 核心已销毁");
236
+ this.log('PisellOS 核心已销毁');
237
237
  }
238
238
  setContext(ctx) {
239
- this.context = { ...this.context, ...ctx };
239
+ this.context = {
240
+ ...this.context,
241
+ ...ctx
242
+ };
240
243
  this.log(`上下文已更新: ${JSON.stringify(Object.keys(ctx))}`);
241
244
  }
245
+
242
246
  /**
243
247
  * 验证上下文参数
244
248
  */
245
249
  validateContext(config) {
246
250
  for (const rule of config.validations) {
247
251
  const value = this.context[rule.name];
248
- if (rule.required && (value === void 0 || value === null)) {
249
- this.log(
250
- `模块 ${config.name} 缺少必需的上下文参数: ${rule.name}`,
251
- "error"
252
- );
252
+
253
+ // 检查必需参数
254
+ if (rule.required && (value === undefined || value === null)) {
255
+ this.log(`模块 ${config.name} 缺少必需的上下文参数: ${rule.name}`, 'error');
253
256
  return false;
254
257
  }
255
- if (rule.validate && value !== void 0 && value !== null) {
258
+
259
+ // 执行自定义验证
260
+ if (rule.validate && value !== undefined && value !== null) {
256
261
  if (!rule.validate(value)) {
257
- this.log(
258
- `模块 ${config.name} 上下文参数验证失败: ${rule.name} - ${rule.message || "验证失败"}`,
259
- "error"
260
- );
262
+ this.log(`模块 ${config.name} 上下文参数验证失败: ${rule.name} - ${rule.message || '验证失败'}`, 'error');
261
263
  return false;
262
264
  }
263
265
  }
264
266
  }
265
267
  return true;
266
268
  }
267
- };
268
- var core_default = PisellOSCore;
269
- // Annotate the CommonJS export names for ESM import in node:
270
- 0 && (module.exports = {
271
- PisellOSCore
272
- });
269
+ }
270
+ exports.PisellOSCore = PisellOSCore;
271
+ var _default = exports.default = PisellOSCore;