@pisell/pisellos 0.0.569 → 0.10.1

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