@pisell/pisellos 2.3.73 → 2.3.75

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 (296) hide show
  1. package/dist/core/index.d.ts +7 -0
  2. package/dist/core/index.js +111 -71
  3. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/strategy-example.js +5 -19
  6. package/dist/modules/Cart/index.js +0 -3
  7. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  8. package/dist/modules/Date/index.js +1 -5
  9. package/dist/modules/Discount/index.js +2 -4
  10. package/dist/modules/OpenData/index.js +0 -2
  11. package/dist/modules/Order/index.d.ts +1 -1
  12. package/dist/modules/Order/index.js +36 -64
  13. package/dist/modules/Payment/index.js +97 -162
  14. package/dist/modules/Quotation/index.d.ts +6 -0
  15. package/dist/modules/Quotation/index.js +75 -19
  16. package/dist/modules/Rules/index.js +1 -4
  17. package/dist/modules/Schedule/index.js +0 -1
  18. package/dist/modules/Schedule/utils.js +0 -1
  19. package/dist/modules/Step/index.js +0 -1
  20. package/dist/plugins/request.d.ts +1 -0
  21. package/dist/plugins/request.js +1 -4
  22. package/dist/plugins/window.js +2 -6
  23. package/dist/server/index.d.ts +8 -2
  24. package/dist/server/index.js +303 -269
  25. package/dist/server/modules/floor-plan/index.d.ts +4 -0
  26. package/dist/server/modules/floor-plan/index.js +240 -98
  27. package/dist/server/modules/menu/index.js +75 -59
  28. package/dist/server/modules/order/index.d.ts +17 -7
  29. package/dist/server/modules/order/index.js +421 -211
  30. package/dist/server/modules/products/index.d.ts +8 -2
  31. package/dist/server/modules/products/index.js +191 -117
  32. package/dist/server/modules/quotation/index.js +29 -38
  33. package/dist/server/modules/resource/index.js +24 -17
  34. package/dist/server/modules/schedule/index.js +27 -35
  35. package/dist/server/utils/product.js +0 -1
  36. package/dist/solution/BaseSales/index.js +38 -41
  37. package/dist/solution/BookingByStep/index.d.ts +1 -1
  38. package/dist/solution/BookingByStep/index.js +7 -59
  39. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  40. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  41. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  42. package/dist/solution/BookingTicket/index.js +0 -2
  43. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  44. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  45. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  46. package/dist/solution/BuyTickets/index.js +9 -12
  47. package/dist/solution/Checkout/index.js +177 -252
  48. package/dist/solution/Checkout/utils/index.js +4 -16
  49. package/dist/solution/RegisterAndLogin/index.js +30 -76
  50. package/dist/solution/ScanOrder/index.js +50 -60
  51. package/dist/solution/ShopDiscount/index.js +2 -7
  52. package/dist/solution/VenueBooking/index.js +45 -55
  53. package/dist/utils/task.js +15 -18
  54. package/dist/utils/watch.js +0 -1
  55. package/lib/apis/picoding.js +2 -0
  56. package/lib/core/index.d.ts +7 -0
  57. package/lib/core/index.js +149 -131
  58. package/lib/effects/index.js +46 -57
  59. package/lib/index.js +82 -49
  60. package/lib/model/index.js +14 -21
  61. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  62. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  63. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  64. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  65. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  66. package/lib/model/strategy/adapter/index.js +100 -64
  67. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  68. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  69. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  70. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  71. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  72. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  73. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  74. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  75. package/lib/model/strategy/adapter/promotion/index.js +1 -0
  76. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  77. package/lib/model/strategy/adapter/type.js +4 -16
  78. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  79. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  80. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  81. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  82. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  83. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  84. package/lib/model/strategy/engine.js +270 -168
  85. package/lib/model/strategy/index.js +49 -34
  86. package/lib/model/strategy/strategy-example.js +243 -239
  87. package/lib/model/strategy/type.js +100 -40
  88. package/lib/modules/Account/index.js +39 -53
  89. package/lib/modules/Account/types.js +20 -33
  90. package/lib/modules/AccountList/index.js +116 -154
  91. package/lib/modules/AccountList/types.js +30 -31
  92. package/lib/modules/AccountList/utils.js +18 -30
  93. package/lib/modules/BaseModule.js +23 -42
  94. package/lib/modules/BookingContext/index.js +158 -136
  95. package/lib/modules/BookingContext/types.js +46 -32
  96. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  97. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  98. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  99. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  100. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  101. package/lib/modules/BookingContext/utils/index.js +124 -41
  102. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  103. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  104. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  105. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  106. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  107. package/lib/modules/BookingContext/utils/resources.js +209 -167
  108. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  109. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  110. package/lib/modules/Cart/index.js +170 -124
  111. package/lib/modules/Cart/types.js +46 -51
  112. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  113. package/lib/modules/Cart/utils/cartDate.js +56 -61
  114. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  115. package/lib/modules/Cart/utils/cartNote.js +27 -32
  116. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  117. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  118. package/lib/modules/Cart/utils/cartResource.js +70 -78
  119. package/lib/modules/Cart/utils/changePrice.js +22 -50
  120. package/lib/modules/Cart/utils/index.js +106 -48
  121. package/lib/modules/Customer/constants.js +13 -34
  122. package/lib/modules/Customer/index.js +235 -172
  123. package/lib/modules/Customer/types.js +38 -35
  124. package/lib/modules/Date/index.js +116 -115
  125. package/lib/modules/Date/types.js +16 -28
  126. package/lib/modules/Date/utils.js +174 -123
  127. package/lib/modules/Discount/index.js +122 -127
  128. package/lib/modules/Discount/types.js +9 -31
  129. package/lib/modules/Guests/index.js +30 -56
  130. package/lib/modules/Guests/types.js +23 -33
  131. package/lib/modules/Holder/index.js +209 -189
  132. package/lib/modules/Holder/types.js +4 -16
  133. package/lib/modules/Holder/utils.js +20 -49
  134. package/lib/modules/OpenData/index.js +70 -76
  135. package/lib/modules/OpenData/types.js +4 -16
  136. package/lib/modules/OpenData/utils.js +44 -78
  137. package/lib/modules/Order/index.d.ts +1 -1
  138. package/lib/modules/Order/index.js +1713 -2118
  139. package/lib/modules/Order/payment-utils.js +77 -120
  140. package/lib/modules/Order/types.js +88 -35
  141. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  142. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  143. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  144. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  145. package/lib/modules/Order/utils.js +814 -647
  146. package/lib/modules/Payment/cash.js +20 -33
  147. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  148. package/lib/modules/Payment/eftpos.js +16 -30
  149. package/lib/modules/Payment/index.js +532 -399
  150. package/lib/modules/Payment/mx51.js +1 -0
  151. package/lib/modules/Payment/types.js +230 -108
  152. package/lib/modules/Payment/utils.js +52 -51
  153. package/lib/modules/Payment/walletpass.js +485 -660
  154. package/lib/modules/Product/index.js +51 -46
  155. package/lib/modules/Product/types.js +4 -16
  156. package/lib/modules/Product/utils.js +32 -33
  157. package/lib/modules/ProductList/index.js +113 -123
  158. package/lib/modules/ProductList/types.js +9 -31
  159. package/lib/modules/Quotation/index.d.ts +6 -0
  160. package/lib/modules/Quotation/index.js +110 -103
  161. package/lib/modules/Quotation/types.js +4 -16
  162. package/lib/modules/Resource/index.js +27 -59
  163. package/lib/modules/Resource/types.js +22 -32
  164. package/lib/modules/Resource/utils.js +30 -38
  165. package/lib/modules/ResourcePlanner/index.js +25 -23
  166. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  167. package/lib/modules/ResourcePlanner/planner.js +589 -770
  168. package/lib/modules/ResourcePlanner/types.js +10 -29
  169. package/lib/modules/Rules/index.js +1218 -959
  170. package/lib/modules/Rules/types.js +17 -40
  171. package/lib/modules/SalesSummary/index.js +85 -90
  172. package/lib/modules/SalesSummary/types.js +4 -16
  173. package/lib/modules/SalesSummary/utils.js +355 -430
  174. package/lib/modules/ScanOrderLogger/index.js +59 -79
  175. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  176. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  177. package/lib/modules/ScanOrderLogger/types.js +4 -16
  178. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  179. package/lib/modules/Schedule/index.js +100 -114
  180. package/lib/modules/Schedule/type.js +4 -16
  181. package/lib/modules/Schedule/types.js +4 -16
  182. package/lib/modules/Schedule/utils.js +433 -291
  183. package/lib/modules/Step/index.js +40 -52
  184. package/lib/modules/Step/tyeps.js +4 -16
  185. package/lib/modules/Summary/index.js +66 -71
  186. package/lib/modules/Summary/types.js +4 -16
  187. package/lib/modules/Summary/utils.js +773 -418
  188. package/lib/modules/SurchargeList/index.js +46 -60
  189. package/lib/modules/SurchargeList/types.js +4 -16
  190. package/lib/modules/index.js +245 -63
  191. package/lib/plugins/app.js +4 -16
  192. package/lib/plugins/index.js +36 -25
  193. package/lib/plugins/request.d.ts +1 -0
  194. package/lib/plugins/request.js +137 -126
  195. package/lib/plugins/shopStore.js +4 -16
  196. package/lib/plugins/user.js +4 -16
  197. package/lib/plugins/window.js +171 -179
  198. package/lib/server/index.d.ts +8 -2
  199. package/lib/server/index.js +3083 -2663
  200. package/lib/server/modules/floor-plan/index.d.ts +4 -0
  201. package/lib/server/modules/floor-plan/index.js +159 -127
  202. package/lib/server/modules/floor-plan/types.js +15 -30
  203. package/lib/server/modules/index.js +106 -68
  204. package/lib/server/modules/menu/index.js +170 -124
  205. package/lib/server/modules/menu/types.js +18 -31
  206. package/lib/server/modules/order/index.d.ts +17 -7
  207. package/lib/server/modules/order/index.js +916 -977
  208. package/lib/server/modules/order/types.js +122 -33
  209. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  210. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  211. package/lib/server/modules/payment/index.js +59 -83
  212. package/lib/server/modules/payment/types.js +4 -16
  213. package/lib/server/modules/products/index.d.ts +8 -2
  214. package/lib/server/modules/products/index.js +656 -471
  215. package/lib/server/modules/products/types.js +44 -34
  216. package/lib/server/modules/quotation/index.js +137 -172
  217. package/lib/server/modules/quotation/types.js +21 -31
  218. package/lib/server/modules/resource/index.js +225 -186
  219. package/lib/server/modules/resource/types.js +42 -33
  220. package/lib/server/modules/schedule/index.js +135 -123
  221. package/lib/server/modules/schedule/types.js +14 -21
  222. package/lib/server/modules/schedule/utils.js +334 -163
  223. package/lib/server/types.js +4 -16
  224. package/lib/server/utils/index.js +25 -23
  225. package/lib/server/utils/product.js +196 -139
  226. package/lib/server/utils/schedule.js +34 -41
  227. package/lib/server/utils/small-ticket.js +479 -456
  228. package/lib/server/utils/time.js +40 -49
  229. package/lib/solution/BaseSales/index.js +1186 -1410
  230. package/lib/solution/BaseSales/types.js +42 -38
  231. package/lib/solution/BaseSales/utils/cartPromotion.js +642 -498
  232. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  233. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  234. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
  235. package/lib/solution/BaseSales/utils.js +158 -143
  236. package/lib/solution/BookingByStep/index.d.ts +1 -1
  237. package/lib/solution/BookingByStep/index.js +1527 -1340
  238. package/lib/solution/BookingByStep/types.js +40 -99
  239. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  240. package/lib/solution/BookingByStep/utils/products.js +42 -52
  241. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  242. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  243. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  244. package/lib/solution/BookingTicket/index.js +607 -522
  245. package/lib/solution/BookingTicket/types.js +99 -77
  246. package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
  247. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  248. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  249. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  250. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  251. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  252. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  253. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  254. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  255. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  256. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  257. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  258. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  259. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  260. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  261. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  262. package/lib/solution/BuyTickets/index.js +67 -70
  263. package/lib/solution/BuyTickets/types.js +22 -38
  264. package/lib/solution/Checkout/index.js +1451 -1158
  265. package/lib/solution/Checkout/types.js +91 -61
  266. package/lib/solution/Checkout/utils/index.js +228 -156
  267. package/lib/solution/PlaceOrder/index.js +55 -0
  268. package/lib/solution/RegisterAndLogin/config.js +493 -460
  269. package/lib/solution/RegisterAndLogin/index.js +633 -630
  270. package/lib/solution/RegisterAndLogin/types.js +189 -76
  271. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  272. package/lib/solution/Sales/index.js +328 -324
  273. package/lib/solution/Sales/types.js +27 -33
  274. package/lib/solution/ScanOrder/index.js +832 -864
  275. package/lib/solution/ScanOrder/types.js +33 -34
  276. package/lib/solution/ScanOrder/utils.js +409 -374
  277. package/lib/solution/ShopDiscount/index.js +226 -232
  278. package/lib/solution/ShopDiscount/types.js +15 -37
  279. package/lib/solution/ShopDiscount/utils.js +300 -172
  280. package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
  281. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  282. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  283. package/lib/solution/VenueBooking/index.js +811 -879
  284. package/lib/solution/VenueBooking/types.js +19 -39
  285. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  286. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  287. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  288. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  289. package/lib/solution/VenueBooking/utils.js +130 -67
  290. package/lib/solution/index.js +124 -41
  291. package/lib/store/createStore.js +32 -29
  292. package/lib/types/index.js +4 -16
  293. package/lib/utils/payment-number.js +26 -46
  294. package/lib/utils/task.js +36 -36
  295. package/lib/utils/watch.js +81 -47
  296. package/package.json +2 -1
@@ -1,34 +1,20 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/utils/watch.ts
20
- var watch_exports = {};
21
- __export(watch_exports, {
22
- default: () => watch_default
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(watch_exports);
25
- var Watch = class {
26
- constructor() {
27
- // 监听列表
28
- this.events = /* @__PURE__ */ new Map();
29
- // 启用列表 - 使用数组保持顺序
30
- this.enableListMap = /* @__PURE__ */ new Map();
31
- }
6
+ exports.default = void 0;
7
+ /**
8
+ * 监听模块
9
+ *
10
+ */
11
+
12
+ class Watch {
13
+ // 监听列表
14
+ events = new Map();
15
+ // 启用列表 - 使用数组保持顺序
16
+ enableListMap = new Map();
17
+
32
18
  /**
33
19
  * 订阅事件
34
20
  * @param event 事件名称
@@ -36,67 +22,83 @@ var Watch = class {
36
22
  * @returns 订阅对象,可用于取消订阅
37
23
  */
38
24
  subscribe(watchKey, event) {
25
+ // 如果监听列表不存在,则创建
39
26
  if (!this.events.has(watchKey)) {
40
- this.events.set(watchKey, /* @__PURE__ */ new Map());
27
+ this.events.set(watchKey, new Map());
41
28
  }
29
+
30
+ // 获取监听列表
42
31
  const callbacks = this.events.get(watchKey);
32
+ // 设置事件
43
33
  callbacks.set(event.key, event.callback);
34
+
35
+ // 启用事件
44
36
  this.enableEvent(watchKey, event.key);
45
37
  return {
46
38
  // 取消订阅
47
39
  unsubscribe: () => {
40
+ // 取消订阅事件
48
41
  this.unsubscribe(watchKey, event);
49
42
  }
50
43
  };
51
44
  }
45
+
52
46
  /**
53
47
  * 启用事件
54
48
  * @param watchKey 监听的key
55
49
  * @param event 事件名称
56
50
  */
57
51
  enableEvent(watchKey, eventKey) {
52
+ // 获取启用列表
58
53
  const enableList = this.enableListMap.get(watchKey);
54
+ // 如果启用列表存在,则添加事件
59
55
  if (enableList) {
60
56
  if (enableList.includes(eventKey)) {
61
57
  return;
62
58
  }
63
59
  enableList.push(eventKey);
64
60
  } else {
61
+ // 如果启用列表不存在,则创建启用列表
65
62
  this.enableListMap.set(watchKey, [eventKey]);
66
63
  }
67
64
  }
65
+
68
66
  /**
69
67
  * 禁用某个事件
70
68
  * @param watchKey 监听的key
71
69
  * @param eventKey 事件名称
72
70
  */
73
71
  disableEvent(watchKey, eventKey) {
72
+ // 获取启用列表
74
73
  const enableList = this.enableListMap.get(watchKey);
75
74
  if (enableList) {
75
+ // 找到当前事件的索引
76
76
  const index = enableList.indexOf(eventKey);
77
77
  if (index !== -1) {
78
+ // 删除当前事件以及之后的所有事件
78
79
  enableList.splice(index);
79
80
  }
80
81
  }
81
82
  }
83
+
82
84
  /**
83
85
  * 冻结某个监听下的所有事件
84
86
  * @param watchKey 监听的key
85
87
  */
86
88
  disabledAllEventByWatchKey(watchKey) {
89
+ // 设置启用列表为空
87
90
  this.enableListMap.set(watchKey, []);
88
91
  }
92
+
89
93
  /**
90
94
  * 启用某个监听下的所有事件
91
95
  * @param watchKey 监听的key
92
96
  */
93
97
  enableAllEventByWatchKey(watchKey) {
94
- var _a;
95
- this.enableListMap.set(
96
- watchKey,
97
- Array.from(((_a = this.events.get(watchKey)) == null ? void 0 : _a.keys()) || [])
98
- );
98
+ // 遍历当前监听下的所有事件, 并启用
99
+ this.enableListMap.set(watchKey, Array.from(this.events.get(watchKey)?.keys() || []));
99
100
  }
101
+
100
102
  /**
101
103
  * 取消订阅事件
102
104
  * @param event 事件名称
@@ -104,38 +106,51 @@ var Watch = class {
104
106
  * @returns 是否成功取消订阅
105
107
  */
106
108
  unsubscribe(watchKey, event) {
109
+ // 获取监听列表
107
110
  const callbacks = this.events.get(watchKey);
111
+ // 如果监听列表不存在,则返回false
108
112
  if (!callbacks) {
109
113
  return;
110
114
  }
115
+ // 禁用事件
111
116
  this.disableEvent(watchKey, event.key);
117
+ // 删除事件
112
118
  callbacks.delete(event.key);
113
119
  return;
114
120
  }
121
+
115
122
  /**
116
123
  * 发布事件
117
124
  * @param event 事件名称
118
125
  * @param args 事件参数
119
126
  */
120
127
  publish(watchKey, ...args) {
121
- var _a;
128
+ // 获取监听列表
122
129
  const callbacks = this.events.get(watchKey);
130
+ // 如果监听列表不存在,则返回
123
131
  if (!callbacks) {
124
132
  return;
125
133
  }
134
+
135
+ // 获取启用列表
126
136
  const enableList = this.enableListMap.get(watchKey);
137
+ // 如果启用列表不存在,则返回
127
138
  if (!enableList || enableList.length === 0) {
128
139
  return;
129
140
  }
141
+
142
+ // 只执行最后一个事件
130
143
  const lastCallbackKey = enableList.at(-1);
144
+ // 如果最后一个事件存在,则执行
131
145
  if (lastCallbackKey) {
132
146
  try {
133
- (_a = callbacks.get(lastCallbackKey)) == null ? void 0 : _a(...args);
147
+ callbacks.get(lastCallbackKey)?.(...args);
134
148
  } catch (error) {
135
149
  console.error(`执行事件"${watchKey}"的回调时出错:`, error);
136
150
  }
137
151
  }
138
152
  }
153
+
139
154
  /**
140
155
  * 根据事件名称发布事件
141
156
  * @param watchKey 监听的key
@@ -143,13 +158,13 @@ var Watch = class {
143
158
  * @param args 事件参数
144
159
  */
145
160
  publishByEventKey(watchKey, eventKey, ...args) {
146
- var _a;
147
161
  const callbacks = this.events.get(watchKey);
148
162
  if (!callbacks) {
149
163
  return;
150
164
  }
151
- (_a = callbacks.get(eventKey)) == null ? void 0 : _a(...args);
165
+ callbacks.get(eventKey)?.(...args);
152
166
  }
167
+
153
168
  /**
154
169
  * 获取最后一个启用的事件
155
170
  * @param watchKey 监听的key
@@ -157,45 +172,56 @@ var Watch = class {
157
172
  */
158
173
  getLastEnableEventKey(watchKey) {
159
174
  const enableList = this.enableListMap.get(watchKey);
160
- console.log("enableList", enableList);
161
175
  if (!enableList) {
162
- return void 0;
176
+ return undefined;
163
177
  }
164
- return enableList.at(-1) || void 0;
178
+ return enableList.at(-1) || undefined;
165
179
  }
180
+
166
181
  /**
167
182
  * 移除某个事件的所有订阅
168
183
  * @param event 事件名称
169
184
  * @returns 是否成功移除
170
185
  */
171
186
  clearEvent(watchKey) {
187
+ // 禁用所有事件
172
188
  this.disabledAllEventByWatchKey(watchKey);
189
+ // 删除监听列表
173
190
  this.events.delete(watchKey);
174
191
  }
192
+
175
193
  /**
176
194
  * 移除所有事件订阅
177
195
  */
178
196
  clearAllEvents() {
197
+ // 清空监听列表
179
198
  this.events.clear();
199
+ // 清空启用列表
180
200
  this.enableListMap.clear();
181
201
  }
202
+
182
203
  /**
183
204
  * 获取事件的订阅数量
184
205
  * @param event 事件名称
185
206
  * @returns 订阅数量
186
207
  */
187
208
  getSubscriberCount(event) {
209
+ // 获取监听列表
188
210
  const callbacks = this.events.get(event);
211
+ // 如果监听列表不存在,则返回0
189
212
  return callbacks ? callbacks.size : 0;
190
213
  }
214
+
191
215
  /**
192
216
  * 检查事件是否有订阅者
193
217
  * @param event 事件名称
194
218
  * @returns 是否有订阅者
195
219
  */
196
220
  hasSubscribers(event) {
221
+ // 获取监听列表
197
222
  return this.getSubscriberCount(event) > 0;
198
223
  }
224
+
199
225
  /**
200
226
  * 一次性订阅事件,事件触发后自动取消订阅
201
227
  * @param event 事件名称
@@ -203,8 +229,14 @@ var Watch = class {
203
229
  * @returns 订阅对象,可用于取消订阅
204
230
  */
205
231
  once(watchKey, event) {
232
+ // 包装回调函数
206
233
  const wrappedCallback = (...args) => {
207
- this.unsubscribe(watchKey, { key: event.key, callback: wrappedCallback });
234
+ // 取消订阅
235
+ this.unsubscribe(watchKey, {
236
+ key: event.key,
237
+ callback: wrappedCallback
238
+ });
239
+ // 执行回调
208
240
  event.callback(...args);
209
241
  };
210
242
  return this.subscribe(watchKey, {
@@ -212,6 +244,8 @@ var Watch = class {
212
244
  callback: wrappedCallback
213
245
  });
214
246
  }
215
- };
216
- var watch = new Watch();
217
- var watch_default = watch;
247
+ }
248
+
249
+ // 创建单例实例
250
+ const watch = new Watch();
251
+ var _default = exports.default = watch;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "2.3.73",
4
+ "version": "2.3.75",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -54,6 +54,7 @@
54
54
  "@typescript-eslint/eslint-plugin": "^5.57.1",
55
55
  "@typescript-eslint/parser": "^5.57.1",
56
56
  "axios": "1.7.2",
57
+ "babel-plugin-transform-remove-console": "^6.9.4",
57
58
  "eslint": "^8.37.0",
58
59
  "fake-indexeddb": "^6.0.1",
59
60
  "father": "^4.1.0",