@pisell/pisellos 0.0.569 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/core/index.js +10 -6
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -3
  4. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  5. package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
  6. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  7. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  8. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  9. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  10. package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
  11. package/dist/model/strategy/strategy-example.js +19 -5
  12. package/dist/modules/BaseModule.d.ts +1 -1
  13. package/dist/modules/BaseModule.js +8 -10
  14. package/dist/modules/Cart/index.js +3 -0
  15. package/dist/modules/Cart/utils/cartProduct.js +1 -0
  16. package/dist/modules/Cart/utils/cartResource.js +0 -2
  17. package/dist/modules/Cart/utils/changePrice.js +9 -16
  18. package/dist/modules/Date/index.js +5 -1
  19. package/dist/modules/Discount/index.d.ts +0 -1
  20. package/dist/modules/Discount/index.js +7 -22
  21. package/dist/modules/Discount/types.d.ts +0 -1
  22. package/dist/modules/OpenData/index.js +2 -0
  23. package/dist/modules/Order/index.js +70 -40
  24. package/dist/modules/Payment/index.js +162 -97
  25. package/dist/modules/Payment/types.d.ts +4 -8
  26. package/dist/modules/Payment/walletpass.d.ts +0 -2
  27. package/dist/modules/Payment/walletpass.js +5 -4
  28. package/dist/modules/ProductList/index.d.ts +1 -1
  29. package/dist/modules/ProductList/index.js +3 -12
  30. package/dist/modules/ProductList/types.d.ts +0 -1
  31. package/dist/modules/Rules/index.js +126 -427
  32. package/dist/modules/SalesSummary/utils.js +1 -2
  33. package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
  34. package/dist/modules/Schedule/index.js +1 -0
  35. package/dist/modules/Schedule/utils.js +1 -0
  36. package/dist/modules/Step/index.js +1 -0
  37. package/dist/modules/Summary/utils.js +22 -43
  38. package/dist/plugins/request.js +4 -1
  39. package/dist/plugins/window.js +6 -2
  40. package/dist/server/index.js +129 -97
  41. package/dist/server/modules/menu/index.js +41 -32
  42. package/dist/server/modules/order/index.js +4 -2
  43. package/dist/server/modules/products/index.js +42 -24
  44. package/dist/server/modules/quotation/index.js +38 -29
  45. package/dist/server/modules/resource/index.js +4 -3
  46. package/dist/server/modules/schedule/index.js +35 -27
  47. package/dist/server/utils/product.js +1 -0
  48. package/dist/solution/BaseSales/index.js +41 -38
  49. package/dist/solution/BookingByStep/index.d.ts +1 -1
  50. package/dist/solution/BookingByStep/index.js +60 -11
  51. package/dist/solution/BookingByStep/utils/capacity.js +11 -1
  52. package/dist/solution/BookingByStep/utils/resources.js +3 -1
  53. package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
  54. package/dist/solution/BookingTicket/index.d.ts +1 -1
  55. package/dist/solution/BookingTicket/index.js +2 -0
  56. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
  57. package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
  58. package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
  59. package/dist/solution/BuyTickets/index.js +12 -9
  60. package/dist/solution/Checkout/index.js +252 -177
  61. package/dist/solution/Checkout/utils/index.js +16 -4
  62. package/dist/solution/RegisterAndLogin/index.js +76 -30
  63. package/dist/solution/ScanOrder/index.js +60 -50
  64. package/dist/solution/ShopDiscount/index.js +14 -15
  65. package/dist/solution/ShopDiscount/types.d.ts +4 -5
  66. package/dist/solution/ShopDiscount/utils.d.ts +0 -9
  67. package/dist/solution/ShopDiscount/utils.js +0 -9
  68. package/dist/solution/VenueBooking/index.d.ts +3 -31
  69. package/dist/solution/VenueBooking/index.js +496 -651
  70. package/dist/solution/VenueBooking/types.d.ts +1 -3
  71. package/dist/solution/VenueBooking/types.js +0 -1
  72. package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  73. package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
  74. package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  75. package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/utils/task.js +18 -15
  78. package/dist/utils/watch.js +1 -0
  79. package/lib/apis/picoding.js +0 -2
  80. package/lib/core/index.js +132 -130
  81. package/lib/effects/index.js +57 -46
  82. package/lib/index.d.ts +0 -1
  83. package/lib/index.js +50 -92
  84. package/lib/model/index.js +21 -14
  85. package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
  86. package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
  87. package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
  88. package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
  89. package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
  90. package/lib/model/strategy/adapter/index.js +64 -100
  91. package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
  92. package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
  93. package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
  94. package/lib/model/strategy/adapter/itemRule/index.js +57 -83
  95. package/lib/model/strategy/adapter/itemRule/type.js +36 -97
  96. package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
  97. package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
  98. package/lib/model/strategy/adapter/promotion/examples.js +159 -139
  99. package/lib/model/strategy/adapter/promotion/index.js +49 -1
  100. package/lib/model/strategy/adapter/promotion/type.js +35 -199
  101. package/lib/model/strategy/adapter/type.js +16 -4
  102. package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
  103. package/lib/model/strategy/adapter/walletPass/example.js +190 -217
  104. package/lib/model/strategy/adapter/walletPass/index.js +51 -75
  105. package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
  106. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
  107. package/lib/model/strategy/adapter/walletPass/type.js +16 -4
  108. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  109. package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
  110. package/lib/model/strategy/engine.js +168 -270
  111. package/lib/model/strategy/index.js +34 -49
  112. package/lib/model/strategy/strategy-example.js +239 -243
  113. package/lib/model/strategy/type.js +40 -100
  114. package/lib/modules/Account/index.js +53 -39
  115. package/lib/modules/Account/types.js +33 -20
  116. package/lib/modules/AccountList/index.js +154 -116
  117. package/lib/modules/AccountList/types.js +31 -30
  118. package/lib/modules/AccountList/utils.js +30 -18
  119. package/lib/modules/BaseModule.d.ts +1 -1
  120. package/lib/modules/BaseModule.js +46 -25
  121. package/lib/modules/BookingContext/index.js +136 -158
  122. package/lib/modules/BookingContext/types.js +32 -46
  123. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
  124. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
  125. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
  126. package/lib/modules/BookingContext/utils/flexible.js +55 -38
  127. package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
  128. package/lib/modules/BookingContext/utils/index.js +41 -124
  129. package/lib/modules/BookingContext/utils/noResource.js +70 -58
  130. package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
  131. package/lib/modules/BookingContext/utils/productExtend.js +155 -202
  132. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  133. package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
  134. package/lib/modules/BookingContext/utils/resources.js +167 -209
  135. package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
  136. package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
  137. package/lib/modules/Cart/index.js +124 -170
  138. package/lib/modules/Cart/types.js +51 -46
  139. package/lib/modules/Cart/utils/cartAccount.js +39 -40
  140. package/lib/modules/Cart/utils/cartDate.js +61 -56
  141. package/lib/modules/Cart/utils/cartDiscount.js +33 -28
  142. package/lib/modules/Cart/utils/cartNote.js +32 -27
  143. package/lib/modules/Cart/utils/cartProduct.js +251 -321
  144. package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
  145. package/lib/modules/Cart/utils/cartResource.js +78 -72
  146. package/lib/modules/Cart/utils/changePrice.js +50 -28
  147. package/lib/modules/Cart/utils/index.js +48 -106
  148. package/lib/modules/Customer/constants.js +34 -13
  149. package/lib/modules/Customer/index.js +169 -232
  150. package/lib/modules/Customer/types.js +35 -38
  151. package/lib/modules/Date/index.js +115 -116
  152. package/lib/modules/Date/types.js +28 -16
  153. package/lib/modules/Date/utils.js +123 -174
  154. package/lib/modules/Discount/index.d.ts +0 -1
  155. package/lib/modules/Discount/index.js +128 -130
  156. package/lib/modules/Discount/types.d.ts +0 -1
  157. package/lib/modules/Discount/types.js +31 -9
  158. package/lib/modules/Guests/index.js +56 -30
  159. package/lib/modules/Guests/types.js +33 -23
  160. package/lib/modules/Holder/index.js +189 -209
  161. package/lib/modules/Holder/types.js +16 -4
  162. package/lib/modules/Holder/utils.js +49 -20
  163. package/lib/modules/OpenData/index.js +76 -69
  164. package/lib/modules/OpenData/types.js +16 -4
  165. package/lib/modules/OpenData/utils.js +78 -44
  166. package/lib/modules/Order/index.js +1909 -1572
  167. package/lib/modules/Order/types.js +35 -78
  168. package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
  169. package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
  170. package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
  171. package/lib/modules/Order/utils.js +634 -799
  172. package/lib/modules/Payment/cash.js +33 -20
  173. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  174. package/lib/modules/Payment/eftpos.js +30 -16
  175. package/lib/modules/Payment/index.js +378 -518
  176. package/lib/modules/Payment/mx51.js +0 -1
  177. package/lib/modules/Payment/types.d.ts +4 -8
  178. package/lib/modules/Payment/types.js +107 -216
  179. package/lib/modules/Payment/utils.js +48 -51
  180. package/lib/modules/Payment/walletpass.d.ts +0 -2
  181. package/lib/modules/Payment/walletpass.js +211 -226
  182. package/lib/modules/Product/index.js +46 -51
  183. package/lib/modules/Product/types.js +16 -4
  184. package/lib/modules/Product/utils.js +33 -32
  185. package/lib/modules/ProductList/index.d.ts +1 -1
  186. package/lib/modules/ProductList/index.js +117 -117
  187. package/lib/modules/ProductList/types.d.ts +0 -1
  188. package/lib/modules/ProductList/types.js +31 -9
  189. package/lib/modules/Quotation/index.js +100 -66
  190. package/lib/modules/Quotation/types.js +16 -4
  191. package/lib/modules/Resource/index.js +59 -27
  192. package/lib/modules/Resource/types.js +32 -22
  193. package/lib/modules/Resource/utils.js +38 -30
  194. package/lib/modules/ResourcePlanner/index.js +61 -60
  195. package/lib/modules/ResourcePlanner/planner.js +384 -346
  196. package/lib/modules/ResourcePlanner/types.js +16 -4
  197. package/lib/modules/Rules/index.js +903 -1475
  198. package/lib/modules/Rules/types.js +40 -17
  199. package/lib/modules/SalesSummary/index.js +90 -85
  200. package/lib/modules/SalesSummary/types.js +16 -4
  201. package/lib/modules/SalesSummary/utils.js +427 -351
  202. package/lib/modules/ScanOrderLogger/index.js +79 -59
  203. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  204. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  205. package/lib/modules/ScanOrderLogger/types.js +16 -4
  206. package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
  207. package/lib/modules/Schedule/index.js +114 -100
  208. package/lib/modules/Schedule/type.js +16 -4
  209. package/lib/modules/Schedule/types.js +16 -4
  210. package/lib/modules/Schedule/utils.js +291 -433
  211. package/lib/modules/Step/index.js +52 -40
  212. package/lib/modules/Step/tyeps.js +16 -4
  213. package/lib/modules/Summary/index.js +71 -66
  214. package/lib/modules/Summary/types.js +16 -4
  215. package/lib/modules/Summary/utils.js +418 -791
  216. package/lib/modules/SurchargeList/index.js +60 -46
  217. package/lib/modules/SurchargeList/types.js +16 -4
  218. package/lib/modules/index.js +63 -245
  219. package/lib/plugins/app.js +16 -4
  220. package/lib/plugins/index.js +25 -36
  221. package/lib/plugins/request.js +126 -137
  222. package/lib/plugins/shopStore.js +16 -4
  223. package/lib/plugins/user.js +16 -4
  224. package/lib/plugins/window.js +179 -171
  225. package/lib/server/index.js +2337 -2675
  226. package/lib/server/modules/floor-plan/index.js +123 -102
  227. package/lib/server/modules/floor-plan/types.js +30 -15
  228. package/lib/server/modules/index.js +68 -106
  229. package/lib/server/modules/menu/index.js +122 -146
  230. package/lib/server/modules/menu/types.js +31 -18
  231. package/lib/server/modules/order/index.js +642 -567
  232. package/lib/server/modules/order/types.js +32 -117
  233. package/lib/server/modules/order/utils/filterBookings.js +194 -219
  234. package/lib/server/modules/order/utils/filterOrders.js +92 -118
  235. package/lib/server/modules/payment/index.js +83 -59
  236. package/lib/server/modules/payment/types.js +16 -4
  237. package/lib/server/modules/products/index.js +459 -575
  238. package/lib/server/modules/products/types.js +34 -44
  239. package/lib/server/modules/quotation/index.js +172 -137
  240. package/lib/server/modules/quotation/types.js +31 -21
  241. package/lib/server/modules/resource/index.js +184 -213
  242. package/lib/server/modules/resource/types.js +33 -42
  243. package/lib/server/modules/schedule/index.js +123 -135
  244. package/lib/server/modules/schedule/types.js +21 -14
  245. package/lib/server/modules/schedule/utils.js +163 -334
  246. package/lib/server/types.js +16 -4
  247. package/lib/server/utils/index.js +23 -25
  248. package/lib/server/utils/product.js +139 -196
  249. package/lib/server/utils/schedule.js +41 -34
  250. package/lib/server/utils/small-ticket.js +456 -478
  251. package/lib/server/utils/time.js +49 -40
  252. package/lib/solution/BaseSales/index.js +1016 -850
  253. package/lib/solution/BaseSales/types.js +37 -41
  254. package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
  255. package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
  256. package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
  257. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
  258. package/lib/solution/BaseSales/utils.js +140 -155
  259. package/lib/solution/BookingByStep/index.d.ts +1 -1
  260. package/lib/solution/BookingByStep/index.js +1340 -1530
  261. package/lib/solution/BookingByStep/types.js +99 -40
  262. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  263. package/lib/solution/BookingByStep/utils/products.js +52 -42
  264. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  265. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  266. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  267. package/lib/solution/BookingTicket/index.d.ts +1 -1
  268. package/lib/solution/BookingTicket/index.js +459 -543
  269. package/lib/solution/BookingTicket/types.js +77 -99
  270. package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
  271. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
  272. package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
  273. package/lib/solution/BookingTicket/utils/cartView.js +94 -110
  274. package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
  275. package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
  276. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
  277. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
  278. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
  279. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
  280. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
  281. package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
  282. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  283. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
  284. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
  285. package/lib/solution/BuyTickets/index.js +70 -67
  286. package/lib/solution/BuyTickets/types.js +38 -22
  287. package/lib/solution/Checkout/index.js +1158 -1451
  288. package/lib/solution/Checkout/types.js +61 -91
  289. package/lib/solution/Checkout/utils/index.js +156 -228
  290. package/lib/solution/PlaceOrder/index.js +0 -55
  291. package/lib/solution/RegisterAndLogin/config.js +460 -493
  292. package/lib/solution/RegisterAndLogin/index.js +630 -633
  293. package/lib/solution/RegisterAndLogin/types.js +76 -189
  294. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  295. package/lib/solution/Sales/index.js +320 -317
  296. package/lib/solution/Sales/types.js +33 -27
  297. package/lib/solution/ScanOrder/index.js +862 -831
  298. package/lib/solution/ScanOrder/types.js +34 -33
  299. package/lib/solution/ScanOrder/utils.js +371 -406
  300. package/lib/solution/ShopDiscount/index.js +233 -235
  301. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  302. package/lib/solution/ShopDiscount/types.js +37 -15
  303. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  304. package/lib/solution/ShopDiscount/utils.js +172 -309
  305. package/lib/solution/UnifiedBookingSales/index.js +405 -379
  306. package/lib/solution/UnifiedBookingSales/types.js +31 -12
  307. package/lib/solution/VenueBooking/index.d.ts +3 -31
  308. package/lib/solution/VenueBooking/index.js +916 -967
  309. package/lib/solution/VenueBooking/types.d.ts +1 -3
  310. package/lib/solution/VenueBooking/types.js +39 -20
  311. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  312. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  313. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  314. package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
  315. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  316. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  317. package/lib/solution/VenueBooking/utils.js +67 -130
  318. package/lib/solution/index.js +41 -124
  319. package/lib/store/createStore.js +29 -32
  320. package/lib/types/index.d.ts +1 -1
  321. package/lib/types/index.js +16 -4
  322. package/lib/utils/task.js +36 -36
  323. package/lib/utils/watch.js +47 -81
  324. package/package.json +2 -4
  325. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  326. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  327. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  328. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
package/lib/core/index.js CHANGED
@@ -1,101 +1,117 @@
1
- "use strict";
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);
2
28
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
29
+ // src/core/index.ts
30
+ var core_exports = {};
31
+ __export(core_exports, {
32
+ PisellOSCore: () => PisellOSCore,
33
+ default: () => core_default
5
34
  });
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
-
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 配置
24
40
  constructor(options) {
25
- this.debug = options?.debug || false;
26
- this.context = options?.context || {};
27
-
28
- // 保存 Server 配置但不初始化
29
- if (options?.server) {
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) {
30
50
  this.serverOptions = options.server;
31
51
  }
32
52
  this.initialize(options);
53
+ console.log("constructor1234");
33
54
  }
34
55
  initialize(options) {
35
- if (options?.plugins) {
36
- options.plugins.forEach(item => {
56
+ if (options == null ? void 0 : options.plugins) {
57
+ options.plugins.forEach((item) => {
37
58
  this.registerPlugin(item.plugin, item.options);
38
59
  });
39
60
  }
40
- if (options?.modules) {
41
- options.modules.forEach(item => {
61
+ if (options == null ? void 0 : options.modules) {
62
+ options.modules.forEach((item) => {
42
63
  this.registerModule(item.module, item.options);
43
64
  });
44
65
  }
45
- this.log('[PisellOS] 核心初始化完成');
66
+ this.log("[PisellOS] 核心初始化完成");
46
67
  }
47
-
48
68
  /**
49
69
  * 初始化 Server(公开方法,需要外部显式调用并等待)
50
70
  * Server 配置从构造函数传入的 options.server 中获取
51
71
  */
52
72
  async initializeServer(options) {
53
- // 检查是否已经初始化
54
73
  if (this.server) {
55
- this.log('Server 已经初始化,跳过重复初始化', 'warn');
74
+ this.log("Server 已经初始化,跳过重复初始化", "warn");
56
75
  return;
57
76
  }
58
-
59
- // 检查是否有 Server 配置
60
77
  if (!this.serverOptions) {
61
- this.log('未提供 Server 配置,无法初始化', 'warn');
78
+ this.log("未提供 Server 配置,无法初始化", "warn");
62
79
  return;
63
80
  }
64
81
  try {
65
- // 动态导入 Server 类以避免循环依赖
66
- const ServerModule = await Promise.resolve().then(() => _interopRequireWildcard(require("../server")));
82
+ const ServerModule = await import("../server");
67
83
  const Server = ServerModule.default;
68
-
69
- // 创建 Server 实例
70
84
  this.server = new Server(this);
71
- this.log('Server 实例已创建');
72
-
73
- // 初始化模块并预加载数据
85
+ this.log("Server 实例已创建");
74
86
  if (this.serverOptions.modules) {
75
- await this.server.initialize(this.serverOptions.modules, this.serverOptions.autoInitData !== false, options);
87
+ await this.server.initialize(
88
+ this.serverOptions.modules,
89
+ this.serverOptions.autoInitData !== false,
90
+ options
91
+ );
76
92
  }
77
- this.log('[PisellOS] Server 初始化完成');
93
+ console.log("[PisellOS] ✅ Server 初始化完成,所有数据已预加载");
94
+ this.log("[PisellOS] Server 初始化完成");
78
95
  } catch (error) {
79
- console.error('[PisellOS] ❌ Server 初始化失败:', error);
80
- this.log(`Server 初始化失败: ${error}`, 'error');
96
+ console.error("[PisellOS] ❌ Server 初始化失败:", error);
97
+ this.log(`Server 初始化失败: ${error}`, "error");
81
98
  throw error;
82
99
  }
83
100
  }
84
-
85
101
  // 日志方法
86
- log(message, level = 'info') {
87
- if (!this.debug && level === 'info') {
102
+ log(message, level = "info") {
103
+ if (!this.debug && level === "info") {
88
104
  return;
89
105
  }
90
- const prefix = '[PisellOS]';
106
+ const prefix = "[PisellOS]";
91
107
  switch (level) {
92
- case 'info':
108
+ case "info":
109
+ console.log(`${prefix} ${message}`);
93
110
  break;
94
- case 'warn':
95
- // 使用 console.log 避免显示堆栈跟踪,提升性能
96
-
111
+ case "warn":
112
+ console.log(`%c${prefix}%c ${message}`, "color: #f59e0b; font-weight: bold;", "color: #f59e0b;");
97
113
  break;
98
- case 'error':
114
+ case "error":
99
115
  console.error(`${prefix} ${message}`);
100
116
  break;
101
117
  }
@@ -103,31 +119,27 @@ class PisellOSCore {
103
119
  // 插件相关方法
104
120
  registerPlugin(plugin, options) {
105
121
  if (this.plugins.has(plugin.name)) {
106
- this.log(`插件 ${plugin.name} 已经注册过,将被覆盖`, 'warn');
122
+ this.log(`插件 ${plugin.name} 已经注册过,将被覆盖`, "warn");
107
123
  }
108
-
109
- // 检查依赖
110
- if (options?.dependencies) {
124
+ if (options == null ? void 0 : options.dependencies) {
111
125
  for (const dep of options.dependencies) {
112
126
  if (!this.plugins.has(dep)) {
113
127
  throw new Error(`注册插件 ${plugin.name} 失败:缺少依赖插件 ${dep}`);
114
128
  }
115
129
  }
116
130
  }
117
-
118
- // 初始化插件
119
131
  try {
120
132
  const result = plugin.initialize();
121
133
  if (result instanceof Promise) {
122
- result.catch(err => {
123
- this.log(`插件 ${plugin.name} 初始化失败: ${err.message}`, 'error');
134
+ result.catch((err) => {
135
+ this.log(`插件 ${plugin.name} 初始化失败: ${err.message}`, "error");
124
136
  throw err;
125
137
  });
126
138
  }
127
139
  this.plugins.set(plugin.name, plugin);
128
140
  this.log(`插件 ${plugin.name} v${plugin.version} 注册成功`);
129
141
  } catch (error) {
130
- this.log(`插件 ${plugin.name} 初始化过程中出错: ${error}`, 'error');
142
+ this.log(`插件 ${plugin.name} 初始化过程中出错: ${error}`, "error");
131
143
  throw error;
132
144
  }
133
145
  }
@@ -137,135 +149,125 @@ class PisellOSCore {
137
149
  hasPlugin(name) {
138
150
  return this.plugins.has(name);
139
151
  }
140
-
141
152
  // 模块相关方法
142
- registerModule(module, options) {
143
- if (this.modules.has(module.name)) {
144
- this.log(`模块 ${module.name} 已经注册过,将被覆盖`, 'warn');
153
+ registerModule(module2, options) {
154
+ if (this.modules.has(module2.name)) {
155
+ this.log(`模块 ${module2.name} 已经注册过,将被覆盖`, "warn");
145
156
  }
146
-
147
- // 检查依赖模块
148
- if (options?.dependencies) {
157
+ if (options == null ? void 0 : options.dependencies) {
149
158
  for (const dep of options.dependencies) {
150
159
  if (!this.modules.has(dep)) {
151
- throw new Error(`注册模块 ${module.name} 失败:缺少依赖模块 ${dep}`);
160
+ throw new Error(`注册模块 ${module2.name} 失败:缺少依赖模块 ${dep}`);
152
161
  }
153
162
  }
154
163
  }
155
-
156
- // 检查依赖插件
157
- if (options?.plugins) {
164
+ if (options == null ? void 0 : options.plugins) {
158
165
  for (const plugin of options.plugins) {
159
166
  if (!this.plugins.has(plugin)) {
160
- throw new Error(`注册模块 ${module.name} 失败:缺少依赖插件 ${plugin}`);
167
+ throw new Error(
168
+ `注册模块 ${module2.name} 失败:缺少依赖插件 ${plugin}`
169
+ );
161
170
  }
162
171
  }
163
172
  }
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
- // 初始化模块
173
+ const { proxy } = (0, import_createStore.createStore)(
174
+ (options == null ? void 0 : options.initialState) || {},
175
+ module2.name,
176
+ (path, value) => {
177
+ console.log("core 检测到模块值更新", module2.name, path, value);
178
+ this.effects.emit(`${module2.name}:changed`, { path, value });
179
+ if (module2.storeChange)
180
+ module2.storeChange(path, value);
181
+ }
182
+ );
183
+ this.stores.set(module2.name, proxy);
176
184
  try {
177
- const result = module.initialize(this, {
178
- store: proxy,
179
- ...options
180
- });
185
+ const result = module2.initialize(this, { store: proxy, ...options });
181
186
  if (result instanceof Promise) {
182
- result.catch(err => {
183
- this.log(`模块 ${module.name} 初始化失败: ${err.message}`, 'error');
187
+ result.catch((err) => {
188
+ this.log(`模块 ${module2.name} 初始化失败: ${err.message}`, "error");
184
189
  throw err;
185
190
  });
186
191
  }
187
- this.modules.set(module.name, module);
188
- this.log(`模块 ${module.name} v${module.version} 注册成功`);
192
+ this.modules.set(module2.name, module2);
193
+ this.log(`模块 ${module2.name} v${module2.version} 注册成功`);
189
194
  } catch (error) {
190
- this.log(`模块 ${module.name} 初始化过程中出错: ${error}`, 'error');
195
+ this.log(`模块 ${module2.name} 初始化过程中出错: ${error}`, "error");
191
196
  throw error;
192
197
  }
193
198
  }
194
- unregisterModule(module) {
195
- this.stores.delete(module.name);
196
- this.modules.delete(module.name);
199
+ unregisterModule(module2) {
200
+ this.stores.delete(module2.name);
201
+ this.modules.delete(module2.name);
197
202
  }
198
203
  getModule(name) {
199
204
  return this.modules.get(name) || null;
200
205
  }
201
206
  getModuleExports(name) {
202
- const module = this.modules.get(name);
203
- return module?.exports || null;
207
+ const module2 = this.modules.get(name);
208
+ return (module2 == null ? void 0 : module2.exports) || null;
204
209
  }
205
210
  hasModule(name) {
206
211
  return this.modules.has(name);
207
212
  }
208
-
209
213
  // 销毁方法
210
214
  async destroy() {
211
- // 先销毁模块
212
- for (const [name, module] of this.modules.entries()) {
213
- if (module.destroy) {
215
+ for (const [name, module2] of this.modules.entries()) {
216
+ if (module2.destroy) {
214
217
  try {
215
- await Promise.resolve(module.destroy());
218
+ await Promise.resolve(module2.destroy());
216
219
  this.log(`模块 ${name} 已销毁`);
217
220
  } catch (error) {
218
- this.log(`销毁模块 ${name} 时出错: ${error}`, 'error');
221
+ this.log(`销毁模块 ${name} 时出错: ${error}`, "error");
219
222
  }
220
223
  }
221
224
  }
222
225
  this.modules.clear();
223
-
224
- // 再销毁插件
225
226
  for (const [name, plugin] of this.plugins.entries()) {
226
227
  if (plugin.destroy) {
227
228
  try {
228
229
  await Promise.resolve(plugin.destroy());
229
230
  this.log(`插件 ${name} 已销毁`);
230
231
  } catch (error) {
231
- this.log(`销毁插件 ${name} 时出错: ${error}`, 'error');
232
+ this.log(`销毁插件 ${name} 时出错: ${error}`, "error");
232
233
  }
233
234
  }
234
235
  }
235
236
  this.plugins.clear();
236
- this.log('PisellOS 核心已销毁');
237
+ this.log("PisellOS 核心已销毁");
237
238
  }
238
239
  setContext(ctx) {
239
- this.context = {
240
- ...this.context,
241
- ...ctx
242
- };
240
+ this.context = { ...this.context, ...ctx };
243
241
  this.log(`上下文已更新: ${JSON.stringify(Object.keys(ctx))}`);
244
242
  }
245
-
246
243
  /**
247
244
  * 验证上下文参数
248
245
  */
249
246
  validateContext(config) {
250
247
  for (const rule of config.validations) {
251
248
  const value = this.context[rule.name];
252
-
253
- // 检查必需参数
254
- if (rule.required && (value === undefined || value === null)) {
255
- this.log(`模块 ${config.name} 缺少必需的上下文参数: ${rule.name}`, 'error');
249
+ if (rule.required && (value === void 0 || value === null)) {
250
+ this.log(
251
+ `模块 ${config.name} 缺少必需的上下文参数: ${rule.name}`,
252
+ "error"
253
+ );
256
254
  return false;
257
255
  }
258
-
259
- // 执行自定义验证
260
- if (rule.validate && value !== undefined && value !== null) {
256
+ if (rule.validate && value !== void 0 && value !== null) {
261
257
  if (!rule.validate(value)) {
262
- this.log(`模块 ${config.name} 上下文参数验证失败: ${rule.name} - ${rule.message || '验证失败'}`, 'error');
258
+ this.log(
259
+ `模块 ${config.name} 上下文参数验证失败: ${rule.name} - ${rule.message || "验证失败"}`,
260
+ "error"
261
+ );
263
262
  return false;
264
263
  }
265
264
  }
266
265
  }
267
266
  return true;
268
267
  }
269
- }
270
- exports.PisellOSCore = PisellOSCore;
271
- var _default = exports.default = PisellOSCore;
268
+ };
269
+ var core_default = PisellOSCore;
270
+ // Annotate the CommonJS export names for ESM import in node:
271
+ 0 && (module.exports = {
272
+ PisellOSCore
273
+ });
@@ -1,82 +1,93 @@
1
- "use strict";
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
18
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
19
+ // src/effects/index.ts
20
+ var effects_exports = {};
21
+ __export(effects_exports, {
22
+ EffectsManager: () => EffectsManager
5
23
  });
6
- exports.EffectsManager = void 0;
7
- // 取消监听函数类型
8
-
9
- class EffectsManager {
10
- listeners = new Map();
24
+ module.exports = __toCommonJS(effects_exports);
25
+ var EffectsManager = class {
26
+ constructor() {
27
+ this.listeners = /* @__PURE__ */ new Map();
28
+ }
11
29
  on(event, callback) {
12
- if (!this.listeners.has(event)) this.listeners.set(event, new Set());
13
- this.listeners.get(event)?.add(callback);
14
-
15
- // 返回取消函数
30
+ var _a;
31
+ if (!this.listeners.has(event))
32
+ this.listeners.set(event, /* @__PURE__ */ new Set());
33
+ (_a = this.listeners.get(event)) == null ? void 0 : _a.add(callback);
16
34
  return () => {
17
35
  this.off(event, callback);
18
36
  };
19
37
  }
20
-
21
38
  // 设置单例监听器,只能存在一个,新的会替换旧的
22
39
  only(event, callback) {
23
- // 清除该事件的所有现有监听器
40
+ var _a, _b;
24
41
  if (this.listeners.has(event)) {
25
- this.listeners.get(event)?.clear();
42
+ (_a = this.listeners.get(event)) == null ? void 0 : _a.clear();
26
43
  } else {
27
- this.listeners.set(event, new Set());
44
+ this.listeners.set(event, /* @__PURE__ */ new Set());
28
45
  }
29
-
30
- // 添加新的监听器
31
- this.listeners.get(event)?.add(callback);
32
-
33
- // 返回取消函数
46
+ (_b = this.listeners.get(event)) == null ? void 0 : _b.add(callback);
34
47
  return () => {
35
48
  this.off(event, callback);
36
49
  };
37
50
  }
38
51
  off(event, callback) {
39
- this.listeners.get(event)?.delete(callback);
52
+ var _a;
53
+ (_a = this.listeners.get(event)) == null ? void 0 : _a.delete(callback);
40
54
  }
41
-
42
55
  // 模块销毁时,删除所有以模块名开头的监听
43
- offByModuleDestroy(module) {
44
- Array.from(this.listeners.keys()).forEach(item => {
45
- if (item.startsWith(module)) {
56
+ offByModuleDestroy(module2) {
57
+ Array.from(this.listeners.keys()).forEach((item) => {
58
+ if (item.startsWith(module2)) {
46
59
  this.listeners.delete(item);
47
60
  }
48
61
  });
49
62
  }
50
63
  once(event, callback) {
51
- const wrapper = async payload => {
64
+ const wrapper = async (payload) => {
52
65
  await callback(payload);
53
66
  this.off(event, wrapper);
54
67
  };
55
-
56
- // 调用修改后的on方法,它会返回取消函数
57
68
  return this.on(event, wrapper);
58
69
  }
59
70
  async emit(event, payload) {
60
71
  const callbacks = this.listeners.get(event);
61
- if (!callbacks) return {
62
- status: true,
63
- data: []
64
- };
72
+ if (!callbacks)
73
+ return { status: true, data: [] };
65
74
  const res = [];
66
- await Promise.all(Array.from(callbacks).reverse().map(async cb => {
67
- const result = await cb(payload);
68
- if (result !== undefined && typeof result === 'object' && 'status' in result) {
69
- res.push(result);
70
- }
71
- }));
72
- const isAllPass = res.every(r => r?.status !== false);
73
- return {
74
- status: isAllPass,
75
- data: res
76
- };
75
+ await Promise.all(
76
+ Array.from(callbacks).reverse().map(async (cb) => {
77
+ const result = await cb(payload);
78
+ if (result !== void 0 && typeof result === "object" && "status" in result) {
79
+ res.push(result);
80
+ }
81
+ })
82
+ );
83
+ const isAllPass = res.every((r) => (r == null ? void 0 : r.status) !== false);
84
+ return { status: isAllPass, data: res };
77
85
  }
78
86
  clear() {
79
87
  this.listeners.clear();
80
88
  }
81
- }
82
- exports.EffectsManager = EffectsManager;
89
+ };
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ EffectsManager
93
+ });
package/lib/index.d.ts CHANGED
@@ -8,6 +8,5 @@ export * from './plugins';
8
8
  export * from './solution';
9
9
  export * from './model';
10
10
  export { PisellOSCore } from './core';
11
- export { DataVariantEvaluator } from './model/strategy/adapter/dataVariant/evaluator';
12
11
  import PisellOSCore from './core';
13
12
  export default PisellOSCore;