@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
@@ -1,17 +1,32 @@
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/modules/BaseModule.ts
20
+ var BaseModule_exports = {};
21
+ __export(BaseModule_exports, {
22
+ BaseModule: () => BaseModule
5
23
  });
6
- exports.BaseModule = void 0;
7
- class BaseModule {
8
- defaultName = 'baseModule';
9
- defaultVersion = '1.0.0';
10
- name;
11
- version;
12
- isSolution = false;
13
- core;
24
+ module.exports = __toCommonJS(BaseModule_exports);
25
+ var BaseModule = class {
14
26
  constructor(name, version) {
27
+ this.defaultName = "baseModule";
28
+ this.defaultVersion = "1.0.0";
29
+ this.isSolution = false;
15
30
  this.name = name || this.defaultName;
16
31
  this.version = version || this.defaultVersion;
17
32
  }
@@ -19,7 +34,6 @@ class BaseModule {
19
34
  this.core.effects.offByModuleDestroy(this.name);
20
35
  this.core.unregisterModule(this);
21
36
  }
22
-
23
37
  // 提供统一的缓存 module 里的数据的方法
24
38
  checkSaveCache({
25
39
  cacheId,
@@ -27,40 +41,44 @@ class BaseModule {
27
41
  store,
28
42
  cacheKey
29
43
  }) {
30
- const window = this.core.getPlugin('window');
44
+ const window = this.core.getPlugin("window");
31
45
  if (cacheId) {
32
46
  if (fatherModule) {
33
47
  const currentCacheData = window.sessionStorage.getItem(fatherModule);
34
- let currentCacheDataObj = JSON.parse(currentCacheData || '{}');
48
+ let currentCacheDataObj = JSON.parse(currentCacheData || "{}");
35
49
  if (!currentCacheData || !currentCacheDataObj[cacheId]) {
36
50
  currentCacheDataObj = {
37
51
  [cacheId]: {
38
52
  [this.name]: {}
39
- },
40
- // 防止有其他 cacheid 的数据
41
- ...currentCacheDataObj
53
+ }
42
54
  };
43
55
  }
44
56
  if (!currentCacheDataObj[cacheId][this.name]) {
45
57
  currentCacheDataObj[cacheId][this.name] = {};
46
58
  }
47
- cacheKey.forEach(key => {
48
- currentCacheDataObj[cacheId][this.name][key] = store?.[key];
59
+ cacheKey.forEach((key) => {
60
+ currentCacheDataObj[cacheId][this.name][key] = store == null ? void 0 : store[key];
49
61
  });
50
- window.sessionStorage.setItem(fatherModule, JSON.stringify(currentCacheDataObj));
62
+ window.sessionStorage.setItem(
63
+ fatherModule,
64
+ JSON.stringify(currentCacheDataObj)
65
+ );
51
66
  } else {
52
67
  let currentCacheData = window.sessionStorage.getItem(cacheId);
53
- let currentCacheDataObj = JSON.parse(currentCacheData || '{}');
68
+ let currentCacheDataObj = JSON.parse(currentCacheData || "{}");
54
69
  if (!currentCacheDataObj) {
55
70
  currentCacheDataObj = {};
56
71
  }
57
72
  if (!currentCacheDataObj[this.name]) {
58
73
  currentCacheDataObj[this.name] = {};
59
74
  }
60
- cacheKey.forEach(key => {
75
+ cacheKey.forEach((key) => {
61
76
  currentCacheDataObj[this.name][key] = store[key];
62
77
  });
63
- window.sessionStorage.setItem(cacheId, JSON.stringify(currentCacheDataObj));
78
+ window.sessionStorage.setItem(
79
+ cacheId,
80
+ JSON.stringify(currentCacheDataObj)
81
+ );
64
82
  }
65
83
  }
66
84
  }
@@ -76,5 +94,8 @@ class BaseModule {
76
94
  effectsEmit(eventType, payload) {
77
95
  return this.core.effects.emit(`${this.name}:${eventType}`, payload);
78
96
  }
79
- }
80
- exports.BaseModule = BaseModule;
97
+ };
98
+ // Annotate the CommonJS export names for ESM import in node:
99
+ 0 && (module.exports = {
100
+ BaseModule
101
+ });
@@ -1,129 +1,105 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- __clearBookingContextSharedCacheForTest: true,
8
- buildBookingConfigQueryKey: true,
9
- buildBookingResourcesQueryKey: true,
10
- BookingContextModule: true
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 });
11
10
  };
12
- exports.BookingContextModule = void 0;
13
- exports.__clearBookingContextSharedCacheForTest = __clearBookingContextSharedCacheForTest;
14
- exports.buildBookingConfigQueryKey = buildBookingConfigQueryKey;
15
- exports.buildBookingResourcesQueryKey = buildBookingResourcesQueryKey;
16
- var _dayjs = _interopRequireDefault(require("dayjs"));
17
- var _BaseModule = require("../BaseModule");
18
- var _request = require("../../plugins/request");
19
- var _types = require("./types");
20
- Object.keys(_types).forEach(function (key) {
21
- if (key === "default" || key === "__esModule") return;
22
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
23
- if (key in exports && exports[key] === _types[key]) return;
24
- Object.defineProperty(exports, key, {
25
- enumerable: true,
26
- get: function () {
27
- return _types[key];
28
- }
29
- });
30
- });
31
- var _formatResourceList = require("./utils/formatResourceList");
32
- var _utils = require("./utils");
33
- Object.keys(_utils).forEach(function (key) {
34
- if (key === "default" || key === "__esModule") return;
35
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
36
- if (key in exports && exports[key] === _utils[key]) return;
37
- Object.defineProperty(exports, key, {
38
- enumerable: true,
39
- get: function () {
40
- return _utils[key];
41
- }
42
- });
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/modules/BookingContext/index.ts
31
+ var BookingContext_exports = {};
32
+ __export(BookingContext_exports, {
33
+ BookingContextModule: () => BookingContextModule,
34
+ __clearBookingContextSharedCacheForTest: () => __clearBookingContextSharedCacheForTest,
35
+ buildBookingConfigQueryKey: () => buildBookingConfigQueryKey,
36
+ buildBookingResourcesQueryKey: () => buildBookingResourcesQueryKey
43
37
  });
44
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
- const EMPTY_STATE = {
38
+ module.exports = __toCommonJS(BookingContext_exports);
39
+ var import_dayjs = __toESM(require("dayjs"));
40
+ var import_BaseModule = require("../BaseModule");
41
+ var import_request = require("../../plugins/request");
42
+ var import_types = require("./types");
43
+ var import_formatResourceList = require("./utils/formatResourceList");
44
+ __reExport(BookingContext_exports, require("./types"), module.exports);
45
+ __reExport(BookingContext_exports, require("./utils"), module.exports);
46
+ var EMPTY_STATE = {
46
47
  bookingConfig: null,
47
48
  resourcesOrigin: [],
48
49
  resourcesOriginMap: {},
49
50
  date: null
50
51
  };
51
- const DEFAULT_BOOKING_CONFIG_PARAMS = {
52
- item_type: 'appointment_booking',
53
- sub_type: 'ticket'
52
+ var DEFAULT_BOOKING_CONFIG_PARAMS = {
53
+ item_type: "appointment_booking",
54
+ sub_type: "ticket"
54
55
  };
55
- const BOARD_CONFIG_CACHE = {
56
+ var BOARD_CONFIG_CACHE = {
56
57
  useCache: true,
57
58
  cache: {
58
- mode: _request.RequestModeENUM.REMOTE_LOCAL,
59
- type: 'indexDB',
59
+ mode: import_request.RequestModeENUM.REMOTE_LOCAL,
60
+ type: "indexDB",
60
61
  updateCache: true
61
62
  }
62
63
  };
63
- const RESOURCE_LIST_CACHE = {
64
+ var RESOURCE_LIST_CACHE = {
64
65
  useCache: true,
65
66
  cache: {
66
- mode: _request.RequestModeENUM.REMOTE_LOCAL,
67
- type: 'memory'
67
+ mode: import_request.RequestModeENUM.REMOTE_LOCAL,
68
+ type: "memory"
68
69
  }
69
70
  };
70
- const requestScopeIds = new WeakMap();
71
- let nextRequestScopeId = 1;
72
- const sharedBookingConfigCache = new Map();
73
- const sharedBookingConfigPending = new Map();
74
- const sharedResourcesCache = new Map();
75
- const sharedResourcesPending = new Map();
76
-
77
- /**
78
- * 为 request 插件生成稳定作用域,避免不同 request 客户端之间共享缓存数据。
79
- *
80
- * @example
81
- * const scopedKey = buildSharedCacheKey(requestPlugin, '{"sub_type":"ticket"}');
82
- */
71
+ var requestScopeIds = /* @__PURE__ */ new WeakMap();
72
+ var nextRequestScopeId = 1;
73
+ var sharedBookingConfigCache = /* @__PURE__ */ new Map();
74
+ var sharedBookingConfigPending = /* @__PURE__ */ new Map();
75
+ var sharedResourcesCache = /* @__PURE__ */ new Map();
76
+ var sharedResourcesPending = /* @__PURE__ */ new Map();
83
77
  function getRequestScopeId(request) {
84
78
  const key = request;
85
79
  const existed = requestScopeIds.get(key);
86
- if (existed) return existed;
80
+ if (existed)
81
+ return existed;
87
82
  const id = nextRequestScopeId++;
88
83
  requestScopeIds.set(key, id);
89
84
  return id;
90
85
  }
91
-
92
- /**
93
- * 共享缓存 key = request 作用域 + 已稳定序列化的业务参数。
94
- *
95
- * @example
96
- * const cacheKey = buildSharedCacheKey(requestPlugin, '2026-06-10|1,2');
97
- */
98
86
  function buildSharedCacheKey(request, queryKey) {
99
87
  return `${getRequestScopeId(request)}:${queryKey}`;
100
88
  }
101
-
102
- /**
103
- * 清理跨实例共享缓存,仅供单元测试隔离使用。
104
- *
105
- * @example
106
- * __clearBookingContextSharedCacheForTest();
107
- */
108
89
  function __clearBookingContextSharedCacheForTest() {
109
90
  sharedBookingConfigCache.clear();
110
91
  sharedBookingConfigPending.clear();
111
92
  sharedResourcesCache.clear();
112
93
  sharedResourcesPending.clear();
113
94
  }
114
-
115
- /**
116
- * 把多形态 date 入参 normalize 成字符串。
117
- * - dayjs 实例:调用 format()(无参 ISO)。
118
- * - Date 实例:toISOString()。
119
- * - 字符串:原样保留。
120
- * - null/undefined/空串:→ null。
121
- */
122
95
  function normalizeDate(input) {
123
- if (input === null || input === undefined) return null;
124
- if (typeof input === 'string') return input || null;
125
- if (input instanceof Date) return input.toISOString();
126
- if (typeof input.format === 'function') {
96
+ if (input === null || input === void 0)
97
+ return null;
98
+ if (typeof input === "string")
99
+ return input || null;
100
+ if (input instanceof Date)
101
+ return input.toISOString();
102
+ if (typeof input.format === "function") {
127
103
  try {
128
104
  return input.format() || null;
129
105
  } catch {
@@ -132,67 +108,52 @@ function normalizeDate(input) {
132
108
  }
133
109
  return null;
134
110
  }
135
-
136
- /** 资源接口使用的 `YYYY-MM-DD` 日期串。 */
137
111
  function toScheduleQueryDate(input) {
138
112
  const normalized = normalizeDate(input);
139
- if (!normalized) return (0, _dayjs.default)().format('YYYY-MM-DD');
140
- const parsed = (0, _dayjs.default)(normalized);
141
- return parsed.isValid() ? parsed.format('YYYY-MM-DD') : (0, _dayjs.default)().format('YYYY-MM-DD');
113
+ if (!normalized)
114
+ return (0, import_dayjs.default)().format("YYYY-MM-DD");
115
+ const parsed = (0, import_dayjs.default)(normalized);
116
+ return parsed.isValid() ? parsed.format("YYYY-MM-DD") : (0, import_dayjs.default)().format("YYYY-MM-DD");
142
117
  }
143
-
144
- /**
145
- * 由 resources 数组派生出以 id 为 key 的 map,便于 `getResourceByIds` 直接命中。
146
- */
147
118
  function buildResourcesMap(resources) {
148
119
  const map = {};
149
- resources.forEach(resource => {
150
- if (resource && resource.id !== undefined && resource.id !== null) {
120
+ resources.forEach((resource) => {
121
+ if (resource && resource.id !== void 0 && resource.id !== null) {
151
122
  map[String(resource.id)] = resource;
152
123
  }
153
124
  });
154
125
  return map;
155
126
  }
156
-
157
- /** 稳定序列化 config 查询参数,用于判断是否与上次 loadBookingConfig 一致。 */
158
127
  function buildBookingConfigQueryKey(params = {}) {
159
- const merged = {
160
- ...DEFAULT_BOOKING_CONFIG_PARAMS,
161
- ...params
162
- };
128
+ const merged = { ...DEFAULT_BOOKING_CONFIG_PARAMS, ...params };
163
129
  const keys = Object.keys(merged).sort();
164
130
  const sorted = {};
165
- keys.forEach(k => {
131
+ keys.forEach((k) => {
166
132
  sorted[k] = merged[k];
167
133
  });
168
134
  return JSON.stringify(sorted);
169
135
  }
170
-
171
- /** 稳定序列化资源列表查询(date + bookingIds),用于跳过重复 loadResources。 */
172
136
  function buildBookingResourcesQueryKey(params = {}) {
173
137
  const date = toScheduleQueryDate(params.date);
174
- const ids = (params.bookingIds || []).filter(id => typeof id === 'number' && Number.isFinite(id)).sort((a, b) => a - b);
175
- return `${date}|${ids.join(',')}`;
138
+ const ids = (params.bookingIds || []).filter((id) => typeof id === "number" && Number.isFinite(id)).sort((a, b) => a - b);
139
+ return `${date}|${ids.join(",")}`;
176
140
  }
177
- class BookingContextModule extends _BaseModule.BaseModule {
178
- defaultName = 'bookingContext';
179
- defaultVersion = '1.0.0';
180
- request;
181
- store = {
182
- ...EMPTY_STATE
183
- };
184
- /** 上次成功 loadBookingConfig 的 query key;命中则不再请求。 */
185
- lastConfigQueryKey = null;
186
- /** 上次成功 loadResources 的 query key(date|bookingIds);命中则不再请求。 */
187
- lastResourcesQueryKey = null;
141
+ var BookingContextModule = class extends import_BaseModule.BaseModule {
188
142
  constructor(name, version) {
189
143
  super(name, version);
144
+ this.defaultName = "bookingContext";
145
+ this.defaultVersion = "1.0.0";
146
+ this.store = { ...EMPTY_STATE };
147
+ /** 上次成功 loadBookingConfig 的 query key;命中则不再请求。 */
148
+ this.lastConfigQueryKey = null;
149
+ /** 上次成功 loadResources 的 query key(date|bookingIds);命中则不再请求。 */
150
+ this.lastResourcesQueryKey = null;
190
151
  }
191
152
  async initialize(core, options = {}) {
192
153
  this.core = core;
193
- this.request = core.getPlugin('request');
154
+ this.request = core.getPlugin("request");
194
155
  if (!this.request) {
195
- throw new Error('BookingContextModule 需要 request 插件支持');
156
+ throw new Error("BookingContextModule 需要 request 插件支持");
196
157
  }
197
158
  this.store = {
198
159
  bookingConfig: null,
@@ -228,14 +189,18 @@ class BookingContextModule extends _BaseModule.BaseModule {
228
189
  this.lastConfigQueryKey = configKey;
229
190
  return cached;
230
191
  }
231
- let pending = !options.forceRefresh ? sharedBookingConfigPending.get(sharedKey) : undefined;
192
+ let pending = !options.forceRefresh ? sharedBookingConfigPending.get(sharedKey) : void 0;
232
193
  if (!pending) {
233
194
  const requestPromise = (async () => {
234
195
  try {
235
- const res = await this.request.get('/core/board/management/config', query, BOARD_CONFIG_CACHE);
236
- const config = res?.data ?? null;
237
- sharedBookingConfigCache.set(sharedKey, config);
238
- return config;
196
+ const res = await this.request.get(
197
+ "/core/board/management/config",
198
+ query,
199
+ BOARD_CONFIG_CACHE
200
+ );
201
+ const config2 = (res == null ? void 0 : res.data) ?? null;
202
+ sharedBookingConfigCache.set(sharedKey, config2);
203
+ return config2;
239
204
  } finally {
240
205
  sharedBookingConfigPending.delete(sharedKey);
241
206
  }
@@ -264,18 +229,18 @@ class BookingContextModule extends _BaseModule.BaseModule {
264
229
  this.lastResourcesQueryKey = resourcesKey;
265
230
  return this.getResourcesOrigin();
266
231
  }
267
- let pending = !options.forceRefresh ? sharedResourcesPending.get(sharedKey) : undefined;
232
+ let pending = !options.forceRefresh ? sharedResourcesPending.get(sharedKey) : void 0;
268
233
  if (!pending) {
269
234
  const requestPromise = (async () => {
270
235
  try {
271
- const res = await this.request.get('/schedule/resource/list', {
272
- date
273
- }, RESOURCE_LIST_CACHE);
274
- const {
275
- list
276
- } = (0, _formatResourceList.formatResourceListAndMap)(res?.data, params.bookingIds || []);
277
- sharedResourcesCache.set(sharedKey, list);
278
- return list;
236
+ const res = await this.request.get(
237
+ "/schedule/resource/list",
238
+ { date },
239
+ RESOURCE_LIST_CACHE
240
+ );
241
+ const { list: list2 } = (0, import_formatResourceList.formatResourceListAndMap)(res == null ? void 0 : res.data, params.bookingIds || []);
242
+ sharedResourcesCache.set(sharedKey, list2);
243
+ return list2;
279
244
  } finally {
280
245
  sharedResourcesPending.delete(sharedKey);
281
246
  }
@@ -288,13 +253,12 @@ class BookingContextModule extends _BaseModule.BaseModule {
288
253
  this.lastResourcesQueryKey = resourcesKey;
289
254
  return this.getResourcesOrigin();
290
255
  }
291
-
292
256
  /**
293
257
  * store 内是否已具备与本次 init 入参等价的 config / resources(不再打接口)。
294
258
  */
295
259
  isBookingContextReady(params = {}) {
296
260
  const configKey = buildBookingConfigQueryKey(params.bookingConfigParams);
297
- const dateInput = params.date ?? this.store.date ?? (0, _dayjs.default)();
261
+ const dateInput = params.date ?? this.store.date ?? (0, import_dayjs.default)();
298
262
  const queryDate = toScheduleQueryDate(dateInput);
299
263
  const resourcesKey = buildBookingResourcesQueryKey({
300
264
  date: queryDate,
@@ -305,7 +269,7 @@ class BookingContextModule extends _BaseModule.BaseModule {
305
269
  return configReady && resourcesReady;
306
270
  }
307
271
  async initBookingContext(params = {}) {
308
- const dateInput = params.date ?? this.store.date ?? (0, _dayjs.default)();
272
+ const dateInput = params.date ?? this.store.date ?? (0, import_dayjs.default)();
309
273
  const queryDate = toScheduleQueryDate(dateInput);
310
274
  this.setDate(dateInput);
311
275
  if (!params.forceRefresh && this.isBookingContextReady(params)) {
@@ -324,18 +288,24 @@ class BookingContextModule extends _BaseModule.BaseModule {
324
288
  });
325
289
  }
326
290
  if (needResources) {
327
- await this.loadResources({
328
- date: queryDate,
329
- bookingIds: params.bookingIds
330
- }, {
331
- forceRefresh: params.forceRefresh
332
- });
291
+ await this.loadResources(
292
+ {
293
+ date: queryDate,
294
+ bookingIds: params.bookingIds
295
+ },
296
+ {
297
+ forceRefresh: params.forceRefresh
298
+ }
299
+ );
333
300
  }
334
301
  return this.getState();
335
302
  }
336
303
  setBookingConfig(config) {
337
304
  this.store.bookingConfig = config || null;
338
- this.core.effects.emit(`${this.name}:${_types.BookingContextEvent.OnBookingConfigChange}`, this.store.bookingConfig);
305
+ this.core.effects.emit(
306
+ `${this.name}:${import_types.BookingContextEvent.OnBookingConfigChange}`,
307
+ this.store.bookingConfig
308
+ );
339
309
  }
340
310
  getBookingConfig() {
341
311
  return this.store.bookingConfig;
@@ -344,7 +314,7 @@ class BookingContextModule extends _BaseModule.BaseModule {
344
314
  const list = Array.isArray(resources) ? resources : [];
345
315
  this.store.resourcesOrigin = list;
346
316
  this.store.resourcesOriginMap = buildResourcesMap(list);
347
- this.core.effects.emit(`${this.name}:${_types.BookingContextEvent.OnResourcesChange}`, {
317
+ this.core.effects.emit(`${this.name}:${import_types.BookingContextEvent.OnResourcesChange}`, {
348
318
  resourcesOrigin: this.store.resourcesOrigin,
349
319
  resourcesOriginMap: this.store.resourcesOriginMap
350
320
  });
@@ -357,7 +327,7 @@ class BookingContextModule extends _BaseModule.BaseModule {
357
327
  }
358
328
  setDate(date) {
359
329
  this.store.date = normalizeDate(date);
360
- this.core.effects.emit(`${this.name}:${_types.BookingContextEvent.OnDateChange}`, this.store.date);
330
+ this.core.effects.emit(`${this.name}:${import_types.BookingContextEvent.OnDateChange}`, this.store.date);
361
331
  }
362
332
  getDate() {
363
333
  return this.store.date;
@@ -379,12 +349,20 @@ class BookingContextModule extends _BaseModule.BaseModule {
379
349
  resourcesOriginMap: {},
380
350
  date: null
381
351
  };
382
- this.core.effects.emit(`${this.name}:${_types.BookingContextEvent.OnBookingConfigChange}`, null);
383
- this.core.effects.emit(`${this.name}:${_types.BookingContextEvent.OnResourcesChange}`, {
352
+ this.core.effects.emit(`${this.name}:${import_types.BookingContextEvent.OnBookingConfigChange}`, null);
353
+ this.core.effects.emit(`${this.name}:${import_types.BookingContextEvent.OnResourcesChange}`, {
384
354
  resourcesOrigin: [],
385
355
  resourcesOriginMap: {}
386
356
  });
387
- this.core.effects.emit(`${this.name}:${_types.BookingContextEvent.OnDateChange}`, null);
357
+ this.core.effects.emit(`${this.name}:${import_types.BookingContextEvent.OnDateChange}`, null);
388
358
  }
389
- }
390
- exports.BookingContextModule = BookingContextModule;
359
+ };
360
+ // Annotate the CommonJS export names for ESM import in node:
361
+ 0 && (module.exports = {
362
+ BookingContextModule,
363
+ __clearBookingContextSharedCacheForTest,
364
+ buildBookingConfigQueryKey,
365
+ buildBookingResourcesQueryKey,
366
+ ...require("./types"),
367
+ ...require("./utils")
368
+ });
@@ -1,48 +1,34 @@
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/modules/BookingContext/types.ts
20
+ var types_exports = {};
21
+ __export(types_exports, {
22
+ BookingContextEvent: () => BookingContextEvent
23
+ });
24
+ module.exports = __toCommonJS(types_exports);
25
+ var BookingContextEvent = /* @__PURE__ */ ((BookingContextEvent2) => {
26
+ BookingContextEvent2["OnBookingConfigChange"] = "onBookingConfigChange";
27
+ BookingContextEvent2["OnResourcesChange"] = "onResourcesChange";
28
+ BookingContextEvent2["OnDateChange"] = "onDateChange";
29
+ return BookingContextEvent2;
30
+ })(BookingContextEvent || {});
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ BookingContextEvent
5
34
  });
6
- exports.BookingContextEvent = void 0;
7
- /**
8
- * BookingContext 子模块:承载「预约 UI 上下文」三件套。
9
- *
10
- * - bookingConfig:来自 `/core/board/management/config` 的整套预约配置(service_time / resource_tab /
11
- * appointment_subject / subject_require / stock_setting / basic / capacity 等)。
12
- * - resourcesOrigin / resourcesOriginMap:来自 `/schedule/resource/list` 的资源全集,含 times / event_list /
13
- * combined_resource 等运行态信息,是 getResourceByIds / getResourceTimeIsUsable 的输入。
14
- * - date:当前选择的日期(dayjs 或 ISO 字符串,迁移后内部统一存原始 ISO 字符串,UI 可自行解析)。
15
- *
16
- * 设计原则(与 BookingTicket 现状对齐):
17
- * - 默认由 `loadBookingConfig` / `loadResources` 拉取并写入 store;也支持消费方 `set*` 直接灌入(复用 ticketBooking 已拉到的数据)。
18
- * - 所有读 API 返回浅克隆(数组)或原引用(map / config),避免 UI 写穿。
19
- */
20
- /** `loadBookingConfig` 入参,与 ticketBooking `getBookingConfig` 一致。 */
21
- /** `loadResources` 入参,与 info2 `getResourceList` 一致。 */
22
- /** `initBookingContext` 入参(BookingTicket 聚合入口)。 */
23
- /**
24
- * 资源全集 map:key 为资源 id(数字),value 为资源原始对象,含 times / event_list 等运行态。
25
- * 这里只声明 Record 形态;具体字段保留 `any`,与 ticketBooking 现网传入的数据形状兼容。
26
- */
27
- /**
28
- * 形参 booking_config(结构来自 `/core/board/management/config` 接口)。
29
- * OS 不强制 schema,保留 `Record<string, any>` 兼容现网;常用路径文档化在 SDK docs。
30
- */
31
- /**
32
- * 日期入参:接受 dayjs 实例、ISO 字符串、Date 实例;内部统一 normalize 为 ISO 字符串保存。
33
- */
34
- /**
35
- * 内部 store 形态。`resourcesOriginMap` 由 `setResources` 派生,不允许外部直接 set。
36
- */
37
- /**
38
- * BookingContextModule 对外 API(给 BookingTicket / SDK Provider 透传消费)。
39
- */
40
- /**
41
- * BookingContextModule 事件名常量(采用 `${this.name}:` 前缀,与现有模块一致)。
42
- */
43
- let BookingContextEvent = exports.BookingContextEvent = /*#__PURE__*/function (BookingContextEvent) {
44
- BookingContextEvent["OnBookingConfigChange"] = "onBookingConfigChange";
45
- BookingContextEvent["OnResourcesChange"] = "onResourcesChange";
46
- BookingContextEvent["OnDateChange"] = "onDateChange";
47
- return BookingContextEvent;
48
- }({});