@pisell/pisellos 0.10.14 → 0.10.16

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 (301) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  3. package/dist/model/strategy/strategy-example.js +5 -19
  4. package/dist/modules/Cart/index.js +0 -3
  5. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  6. package/dist/modules/Date/index.js +1 -5
  7. package/dist/modules/Discount/index.js +2 -4
  8. package/dist/modules/OpenData/index.js +0 -2
  9. package/dist/modules/Order/index.d.ts +1 -1
  10. package/dist/modules/Order/index.js +75 -91
  11. package/dist/modules/Order/types.d.ts +5 -1
  12. package/dist/modules/Order/utils/virtualSettlement.d.ts +8 -1
  13. package/dist/modules/Order/utils/virtualSettlement.js +15 -2
  14. package/dist/modules/Order/utils.js +7 -1
  15. package/dist/modules/Payment/index.js +97 -162
  16. package/dist/modules/Product/types.d.ts +2 -0
  17. package/dist/modules/Rules/index.js +1 -4
  18. package/dist/modules/Schedule/index.js +0 -1
  19. package/dist/modules/Schedule/utils.js +0 -1
  20. package/dist/modules/Step/index.js +0 -1
  21. package/dist/plugins/request.js +1 -4
  22. package/dist/plugins/window.js +2 -6
  23. package/dist/server/index.js +97 -129
  24. package/dist/server/modules/menu/index.js +32 -41
  25. package/dist/server/modules/order/index.js +2 -4
  26. package/dist/server/modules/products/index.js +24 -42
  27. package/dist/server/modules/quotation/index.js +29 -38
  28. package/dist/server/modules/resource/index.js +3 -4
  29. package/dist/server/modules/schedule/index.js +27 -35
  30. package/dist/server/utils/product.js +0 -1
  31. package/dist/solution/BaseSales/index.js +107 -76
  32. package/dist/solution/BaseSales/types.d.ts +2 -0
  33. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  34. package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
  35. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  36. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +7 -1
  37. package/dist/solution/BaseSales/utils.js +6 -3
  38. package/dist/solution/BookingByStep/index.d.ts +2 -2
  39. package/dist/solution/BookingByStep/index.js +7 -59
  40. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  41. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  42. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  43. package/dist/solution/BookingTicket/index.js +8 -4
  44. package/dist/solution/BookingTicket/utils/addProductDecision.js +3 -1
  45. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  46. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  47. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  48. package/dist/solution/BuyTickets/index.js +9 -12
  49. package/dist/solution/Checkout/index.js +177 -252
  50. package/dist/solution/Checkout/utils/index.js +4 -16
  51. package/dist/solution/RegisterAndLogin/index.js +30 -76
  52. package/dist/solution/ScanOrder/index.js +50 -60
  53. package/dist/solution/ScanOrder/types.d.ts +2 -0
  54. package/dist/solution/ScanOrder/utils.js +6 -3
  55. package/dist/solution/ShopDiscount/index.js +2 -7
  56. package/dist/solution/VenueBooking/index.js +45 -55
  57. package/dist/utils/task.js +15 -18
  58. package/dist/utils/watch.js +0 -1
  59. package/lib/apis/picoding.js +2 -0
  60. package/lib/core/index.js +131 -131
  61. package/lib/effects/index.js +46 -57
  62. package/lib/index.js +82 -49
  63. package/lib/model/index.js +14 -21
  64. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  65. package/lib/model/strategy/adapter/dataVariant/evaluator.js +209 -315
  66. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  67. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  68. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  69. package/lib/model/strategy/adapter/index.js +100 -64
  70. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  71. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  72. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  73. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  74. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  75. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  76. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  77. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  78. package/lib/model/strategy/adapter/promotion/index.js +43 -48
  79. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  80. package/lib/model/strategy/adapter/type.js +4 -16
  81. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  82. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  83. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  84. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  85. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  86. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  87. package/lib/model/strategy/engine.js +270 -168
  88. package/lib/model/strategy/index.js +49 -34
  89. package/lib/model/strategy/strategy-example.js +243 -239
  90. package/lib/model/strategy/type.js +100 -40
  91. package/lib/modules/Account/index.js +39 -53
  92. package/lib/modules/Account/types.js +20 -33
  93. package/lib/modules/AccountList/index.js +116 -154
  94. package/lib/modules/AccountList/types.js +30 -31
  95. package/lib/modules/AccountList/utils.js +18 -30
  96. package/lib/modules/BaseModule.js +23 -42
  97. package/lib/modules/BookingContext/index.js +158 -136
  98. package/lib/modules/BookingContext/types.js +46 -32
  99. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  100. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  101. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  102. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  103. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  104. package/lib/modules/BookingContext/utils/index.js +124 -41
  105. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  106. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  107. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  108. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  109. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  110. package/lib/modules/BookingContext/utils/resources.js +209 -167
  111. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  112. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  113. package/lib/modules/Cart/index.js +170 -124
  114. package/lib/modules/Cart/types.js +46 -51
  115. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  116. package/lib/modules/Cart/utils/cartDate.js +56 -61
  117. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  118. package/lib/modules/Cart/utils/cartNote.js +27 -32
  119. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  120. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  121. package/lib/modules/Cart/utils/cartResource.js +70 -78
  122. package/lib/modules/Cart/utils/changePrice.js +22 -50
  123. package/lib/modules/Cart/utils/index.js +106 -48
  124. package/lib/modules/Customer/constants.js +13 -34
  125. package/lib/modules/Customer/index.js +235 -172
  126. package/lib/modules/Customer/types.js +38 -35
  127. package/lib/modules/Date/index.js +116 -115
  128. package/lib/modules/Date/types.js +16 -28
  129. package/lib/modules/Date/utils.js +174 -123
  130. package/lib/modules/Discount/index.js +133 -143
  131. package/lib/modules/Discount/types.js +9 -31
  132. package/lib/modules/Guests/index.js +30 -56
  133. package/lib/modules/Guests/types.js +23 -33
  134. package/lib/modules/Holder/index.js +209 -189
  135. package/lib/modules/Holder/types.js +4 -16
  136. package/lib/modules/Holder/utils.js +20 -49
  137. package/lib/modules/OpenData/index.js +70 -76
  138. package/lib/modules/OpenData/types.js +4 -16
  139. package/lib/modules/OpenData/utils.js +44 -78
  140. package/lib/modules/Order/index.d.ts +1 -1
  141. package/lib/modules/Order/index.js +1810 -2238
  142. package/lib/modules/Order/payment-utils.js +77 -120
  143. package/lib/modules/Order/types.d.ts +5 -1
  144. package/lib/modules/Order/types.js +87 -35
  145. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  146. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  147. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  148. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  149. package/lib/modules/Order/utils/virtualSettlement.d.ts +8 -1
  150. package/lib/modules/Order/utils/virtualSettlement.js +126 -164
  151. package/lib/modules/Order/utils.js +834 -668
  152. package/lib/modules/Payment/cash.js +20 -33
  153. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  154. package/lib/modules/Payment/eftpos.js +16 -30
  155. package/lib/modules/Payment/index.js +532 -399
  156. package/lib/modules/Payment/mx51.js +1 -0
  157. package/lib/modules/Payment/types.js +230 -108
  158. package/lib/modules/Payment/utils.js +52 -51
  159. package/lib/modules/Payment/walletpass.js +485 -660
  160. package/lib/modules/Product/index.js +51 -46
  161. package/lib/modules/Product/types.d.ts +2 -0
  162. package/lib/modules/Product/types.js +4 -16
  163. package/lib/modules/Product/utils.js +32 -33
  164. package/lib/modules/ProductList/index.js +138 -161
  165. package/lib/modules/ProductList/types.js +9 -31
  166. package/lib/modules/Quotation/index.js +66 -100
  167. package/lib/modules/Quotation/types.js +4 -16
  168. package/lib/modules/Resource/index.js +27 -59
  169. package/lib/modules/Resource/types.js +22 -32
  170. package/lib/modules/Resource/utils.js +30 -38
  171. package/lib/modules/ResourcePlanner/index.js +25 -23
  172. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  173. package/lib/modules/ResourcePlanner/planner.js +591 -772
  174. package/lib/modules/ResourcePlanner/types.js +10 -29
  175. package/lib/modules/Rules/index.js +1218 -959
  176. package/lib/modules/Rules/types.js +17 -40
  177. package/lib/modules/SalesSummary/index.js +78 -89
  178. package/lib/modules/SalesSummary/types.js +4 -16
  179. package/lib/modules/SalesSummary/utils.js +359 -442
  180. package/lib/modules/ScanOrderLogger/index.js +59 -79
  181. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  182. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  183. package/lib/modules/ScanOrderLogger/types.js +4 -16
  184. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  185. package/lib/modules/Schedule/index.js +100 -114
  186. package/lib/modules/Schedule/type.js +4 -16
  187. package/lib/modules/Schedule/types.js +4 -16
  188. package/lib/modules/Schedule/utils.js +433 -291
  189. package/lib/modules/Step/index.js +40 -52
  190. package/lib/modules/Step/tyeps.js +4 -16
  191. package/lib/modules/Summary/index.js +66 -71
  192. package/lib/modules/Summary/types.js +4 -16
  193. package/lib/modules/Summary/utils.js +773 -418
  194. package/lib/modules/SurchargeList/index.js +46 -60
  195. package/lib/modules/SurchargeList/types.js +4 -16
  196. package/lib/modules/index.js +245 -63
  197. package/lib/plugins/app.js +4 -16
  198. package/lib/plugins/index.js +36 -25
  199. package/lib/plugins/request.js +137 -126
  200. package/lib/plugins/shopStore.js +4 -16
  201. package/lib/plugins/user.js +4 -16
  202. package/lib/plugins/window.js +171 -179
  203. package/lib/server/index.js +3027 -2655
  204. package/lib/server/modules/floor-plan/index.js +102 -123
  205. package/lib/server/modules/floor-plan/types.js +15 -30
  206. package/lib/server/modules/index.js +106 -68
  207. package/lib/server/modules/menu/index.js +146 -122
  208. package/lib/server/modules/menu/types.js +18 -31
  209. package/lib/server/modules/order/index.js +758 -956
  210. package/lib/server/modules/order/types.js +122 -33
  211. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  212. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  213. package/lib/server/modules/payment/index.js +59 -83
  214. package/lib/server/modules/payment/types.js +4 -16
  215. package/lib/server/modules/products/index.js +575 -459
  216. package/lib/server/modules/products/types.js +44 -34
  217. package/lib/server/modules/quotation/index.js +137 -172
  218. package/lib/server/modules/quotation/types.js +21 -31
  219. package/lib/server/modules/resource/index.js +213 -184
  220. package/lib/server/modules/resource/types.js +42 -33
  221. package/lib/server/modules/schedule/index.js +135 -123
  222. package/lib/server/modules/schedule/types.js +14 -21
  223. package/lib/server/modules/schedule/utils.js +334 -163
  224. package/lib/server/types.js +4 -16
  225. package/lib/server/utils/index.js +25 -23
  226. package/lib/server/utils/product.js +196 -139
  227. package/lib/server/utils/schedule.js +34 -41
  228. package/lib/server/utils/small-ticket.js +479 -456
  229. package/lib/server/utils/time.js +40 -49
  230. package/lib/solution/BaseSales/index.js +1276 -1485
  231. package/lib/solution/BaseSales/types.d.ts +2 -0
  232. package/lib/solution/BaseSales/types.js +42 -38
  233. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  234. package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
  235. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  236. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  237. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  238. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +138 -180
  239. package/lib/solution/BaseSales/utils.js +161 -143
  240. package/lib/solution/BookingByStep/index.d.ts +2 -2
  241. package/lib/solution/BookingByStep/index.js +1527 -1340
  242. package/lib/solution/BookingByStep/types.js +40 -99
  243. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  244. package/lib/solution/BookingByStep/utils/products.js +42 -52
  245. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  246. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  247. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  248. package/lib/solution/BookingTicket/index.js +598 -514
  249. package/lib/solution/BookingTicket/types.js +99 -77
  250. package/lib/solution/BookingTicket/utils/addProductDecision.js +229 -190
  251. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  252. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  253. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  254. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  255. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  256. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  257. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  258. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  259. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  260. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  261. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  262. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  263. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  264. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  265. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  266. package/lib/solution/BuyTickets/index.js +67 -70
  267. package/lib/solution/BuyTickets/types.js +22 -38
  268. package/lib/solution/Checkout/index.js +1451 -1158
  269. package/lib/solution/Checkout/types.js +91 -61
  270. package/lib/solution/Checkout/utils/index.js +228 -156
  271. package/lib/solution/PlaceOrder/index.js +55 -0
  272. package/lib/solution/RegisterAndLogin/config.js +493 -460
  273. package/lib/solution/RegisterAndLogin/index.js +633 -630
  274. package/lib/solution/RegisterAndLogin/types.js +189 -76
  275. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  276. package/lib/solution/Sales/index.js +328 -324
  277. package/lib/solution/Sales/types.js +27 -33
  278. package/lib/solution/ScanOrder/index.js +822 -852
  279. package/lib/solution/ScanOrder/types.d.ts +2 -0
  280. package/lib/solution/ScanOrder/types.js +33 -34
  281. package/lib/solution/ScanOrder/utils.js +412 -374
  282. package/lib/solution/ShopDiscount/index.js +226 -232
  283. package/lib/solution/ShopDiscount/types.js +15 -37
  284. package/lib/solution/ShopDiscount/utils.js +300 -172
  285. package/lib/solution/UnifiedBookingSales/index.js +1052 -1213
  286. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  287. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  288. package/lib/solution/VenueBooking/index.js +811 -879
  289. package/lib/solution/VenueBooking/types.js +19 -39
  290. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  291. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  292. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  293. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  294. package/lib/solution/VenueBooking/utils.js +130 -67
  295. package/lib/solution/index.js +124 -41
  296. package/lib/store/createStore.js +32 -29
  297. package/lib/types/index.js +4 -16
  298. package/lib/utils/payment-number.js +26 -46
  299. package/lib/utils/task.js +36 -36
  300. package/lib/utils/watch.js +81 -47
  301. package/package.json +2 -1
@@ -1,35 +1,25 @@
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);
1
+ "use strict";
18
2
 
19
- // src/modules/Guests/types.ts
20
- var types_exports = {};
21
- __export(types_exports, {
22
- GuestHooks: () => GuestHooks
23
- });
24
- module.exports = __toCommonJS(types_exports);
25
- var GuestHooks = /* @__PURE__ */ ((GuestHooks2) => {
26
- GuestHooks2["OnGuestAdd"] = "guest:onGuestAdd";
27
- GuestHooks2["OnGuestUpdate"] = "guest:onGuestUpdate";
28
- GuestHooks2["OnGuestRemove"] = "guest:onGuestRemove";
29
- GuestHooks2["OnGuestChange"] = "guest:onGuestChange";
30
- return GuestHooks2;
31
- })(GuestHooks || {});
32
- // Annotate the CommonJS export names for ESM import in node:
33
- 0 && (module.exports = {
34
- GuestHooks
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
35
5
  });
6
+ exports.GuestHooks = void 0;
7
+ let GuestHooks = exports.GuestHooks = /*#__PURE__*/function (GuestHooks) {
8
+ GuestHooks["OnGuestAdd"] = "guest:onGuestAdd";
9
+ GuestHooks["OnGuestUpdate"] = "guest:onGuestUpdate";
10
+ GuestHooks["OnGuestRemove"] = "guest:onGuestRemove";
11
+ GuestHooks["OnGuestChange"] = "guest:onGuestChange";
12
+ return GuestHooks;
13
+ }({});
14
+ /**
15
+ * 预约人选择的商品/服务
16
+ */
17
+ /**
18
+ * 预约人信息
19
+ */
20
+ /**
21
+ * 预约人列表状态
22
+ */
23
+ /**
24
+ * 预约人列表模块 API
25
+ */
@@ -1,87 +1,100 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
19
2
 
20
- // src/modules/Holder/index.ts
21
- var Holder_exports = {};
22
- __export(Holder_exports, {
23
- HolderModule: () => HolderModule
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ HolderModule: true
8
+ };
9
+ exports.HolderModule = void 0;
10
+ var _lodashEs = require("lodash-es");
11
+ var _BaseModule = require("../BaseModule");
12
+ var _utils = require("./utils");
13
+ Object.keys(_utils).forEach(function (key) {
14
+ if (key === "default" || key === "__esModule") return;
15
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
+ if (key in exports && exports[key] === _utils[key]) return;
17
+ Object.defineProperty(exports, key, {
18
+ enumerable: true,
19
+ get: function () {
20
+ return _utils[key];
21
+ }
22
+ });
23
+ });
24
+ var _types = require("./types");
25
+ Object.keys(_types).forEach(function (key) {
26
+ if (key === "default" || key === "__esModule") return;
27
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
28
+ if (key in exports && exports[key] === _types[key]) return;
29
+ Object.defineProperty(exports, key, {
30
+ enumerable: true,
31
+ get: function () {
32
+ return _types[key];
33
+ }
34
+ });
24
35
  });
25
- module.exports = __toCommonJS(Holder_exports);
26
- var import_lodash_es = require("lodash-es");
27
- var import_BaseModule = require("../BaseModule");
28
- var import_utils = require("./utils");
29
- __reExport(Holder_exports, require("./types"), module.exports);
30
- __reExport(Holder_exports, require("./utils"), module.exports);
31
- var HolderModule = class extends import_BaseModule.BaseModule {
36
+ class HolderModule extends _BaseModule.BaseModule {
37
+ defaultName = 'holder';
38
+ defaultVersion = '1.0.0';
39
+ store;
40
+ request;
41
+ cacheId;
42
+ openCache = false;
43
+ fatherModule;
44
+ isLoading = false;
45
+ error = null;
46
+ /** 已加载过表单数据的 form_id 缓存标记 */
47
+ loadedFormIds = new Set();
48
+ window;
32
49
  constructor(name, version) {
33
50
  super(name, version);
34
- this.defaultName = "holder";
35
- this.defaultVersion = "1.0.0";
36
- this.openCache = false;
37
- this.isLoading = false;
38
- this.error = null;
39
- /** 已加载过表单数据的 form_id 缓存标记 */
40
- this.loadedFormIds = /* @__PURE__ */ new Set();
41
51
  }
42
52
  async initialize(core, options) {
43
- var _a, _b, _c;
44
53
  this.core = core;
45
54
  this.store = options.store;
46
- this.request = this.core.getPlugin("request");
47
- this.window = this.core.getPlugin("window");
48
- if ((_a = options.initialState) == null ? void 0 : _a.holderMap) {
49
- this.commitFormMap((0, import_lodash_es.cloneDeep)(options.initialState.holderMap));
50
- Object.keys(this.store.holderMap).forEach((formId) => {
55
+ this.request = this.core.getPlugin('request');
56
+ this.window = this.core.getPlugin('window');
57
+ if (options.initialState?.holderMap) {
58
+ this.commitFormMap((0, _lodashEs.cloneDeep)(options.initialState.holderMap));
59
+ Object.keys(this.store.holderMap).forEach(formId => {
51
60
  if (this.hasFormData(formId)) {
52
61
  this.loadedFormIds.add(formId);
53
62
  }
54
63
  });
55
64
  }
56
- if (!this.store.holderMap || typeof this.store.holderMap !== "object") {
65
+ if (!this.store.holderMap || typeof this.store.holderMap !== 'object') {
57
66
  this.store.holderMap = {};
58
67
  }
59
- if ((_b = options.otherParams) == null ? void 0 : _b.cacheId) {
68
+ if (options.otherParams?.cacheId) {
60
69
  this.openCache = options.otherParams.openCache;
61
70
  this.cacheId = options.otherParams.cacheId;
62
71
  }
63
- if ((_c = options.otherParams) == null ? void 0 : _c.fatherModule) {
72
+ if (options.otherParams?.fatherModule) {
64
73
  this.fatherModule = options.otherParams.fatherModule;
65
74
  }
66
75
  }
76
+
67
77
  /** 统一提交 formMap,仅此处触发 store changed */
68
78
  commitFormMap(holderMap) {
69
79
  this.store.holderMap = holderMap;
70
80
  }
81
+
71
82
  /** 通知 UI 刷新(数据未变但需要 re-read 的场景) */
72
83
  notifyFormMapChanged() {
73
- this.commitFormMap({ ...this.store.holderMap });
84
+ this.commitFormMap({
85
+ ...this.store.holderMap
86
+ });
74
87
  }
75
88
  getHolderFormMap() {
76
- return (0, import_lodash_es.cloneDeep)(this.store.holderMap);
89
+ return (0, _lodashEs.cloneDeep)(this.store.holderMap);
77
90
  }
78
91
  getHolderFormData(formId) {
79
- const formData = this.store.holderMap[(0, import_utils.normalizeFormId)(formId)];
80
- return formData ? (0, import_lodash_es.cloneDeep)(formData) : void 0;
92
+ const formData = this.store.holderMap[(0, _utils.normalizeFormId)(formId)];
93
+ return formData ? (0, _lodashEs.cloneDeep)(formData) : undefined;
81
94
  }
82
95
  setFormData(formId, data) {
83
- const key = (0, import_utils.normalizeFormId)(formId);
84
- const current = this.store.holderMap[key] || (0, import_utils.createEmptyFormItemData)();
96
+ const key = (0, _utils.normalizeFormId)(formId);
97
+ const current = this.store.holderMap[key] || (0, _utils.createEmptyFormItemData)();
85
98
  this.commitFormMap({
86
99
  ...this.store.holderMap,
87
100
  [key]: {
@@ -91,9 +104,9 @@ var HolderModule = class extends import_BaseModule.BaseModule {
91
104
  });
92
105
  }
93
106
  ensureFormItem(formId, holderMap = this.store.holderMap) {
94
- const key = (0, import_utils.normalizeFormId)(formId);
107
+ const key = (0, _utils.normalizeFormId)(formId);
95
108
  if (!holderMap[key]) {
96
- holderMap[key] = (0, import_utils.createEmptyFormItemData)();
109
+ holderMap[key] = (0, _utils.createEmptyFormItemData)();
97
110
  }
98
111
  return holderMap[key];
99
112
  }
@@ -109,23 +122,33 @@ var HolderModule = class extends import_BaseModule.BaseModule {
109
122
  };
110
123
  }
111
124
  async fetchFormInfo(params) {
112
- const { form_id } = params.query || {};
125
+ const {
126
+ form_id
127
+ } = params.query || {};
113
128
  const url = params.url || `/form/${form_id}`;
114
129
  const useCache = params.useCache !== false;
115
130
  this.isLoading = true;
116
131
  this.error = null;
117
132
  try {
118
- const res = await this.request.get(url, {}, { useCache });
119
- const formData = res == null ? void 0 : res.data;
120
- const formList = Array.isArray(formData == null ? void 0 : formData.list) ? formData.list : formData ? [formData] : [];
121
- const nextFormMap = { ...this.store.holderMap };
122
- formList.forEach((form) => {
123
- const key = (0, import_utils.normalizeFormId)(form.form_id ?? form_id ?? form.id);
124
- this.patchFormMap(nextFormMap, key, { form });
133
+ const res = await this.request.get(url, {}, {
134
+ useCache
135
+ });
136
+ const formData = res?.data;
137
+ const formList = Array.isArray(formData?.list) ? formData.list : formData ? [formData] : [];
138
+ const nextFormMap = {
139
+ ...this.store.holderMap
140
+ };
141
+ formList.forEach(form => {
142
+ const key = (0, _utils.normalizeFormId)(form.form_id ?? form_id ?? form.id);
143
+ this.patchFormMap(nextFormMap, key, {
144
+ form
145
+ });
125
146
  });
126
- if (!formList.length && form_id !== void 0) {
127
- const key = (0, import_utils.normalizeFormId)(form_id);
128
- this.patchFormMap(nextFormMap, key, { form: formData || {} });
147
+ if (!formList.length && form_id !== undefined) {
148
+ const key = (0, _utils.normalizeFormId)(form_id);
149
+ this.patchFormMap(nextFormMap, key, {
150
+ form: formData || {}
151
+ });
129
152
  }
130
153
  this.commitFormMap(nextFormMap);
131
154
  return formList.length === 1 ? formList[0] : formList;
@@ -137,34 +160,41 @@ var HolderModule = class extends import_BaseModule.BaseModule {
137
160
  }
138
161
  }
139
162
  async fetchRecords(params) {
140
- var _a, _b, _c;
141
- const url = params.url || "/form/data/v1";
142
- const { form_id, shop_id, num, skip, customer_id, ...rest } = params.query || {};
143
- const formId = (0, import_utils.normalizeFormId)(form_id);
163
+ const url = params.url || '/form/data/v1';
164
+ const {
165
+ form_id,
166
+ shop_id,
167
+ num,
168
+ skip,
169
+ customer_id,
170
+ ...rest
171
+ } = params.query || {};
172
+ const formId = (0, _utils.normalizeFormId)(form_id);
144
173
  const useCache = params.useCache !== false;
145
- const customer = JSON.parse(((_b = (_a = this.window) == null ? void 0 : _a.getLocalStorage) == null ? void 0 : _b.call(_a, "customer")) || "{}");
174
+ const customer = JSON.parse(this.window?.getLocalStorage?.('customer') || '{}');
146
175
  const customerId = customer_id ?? customer.id;
147
- if (!customerId)
148
- return [];
176
+ if (!customerId) return [];
149
177
  this.isLoading = true;
150
178
  this.error = null;
151
179
  try {
152
- const res = await this.request.get(
153
- url,
154
- {
155
- customer_id: customerId,
156
- form_id,
157
- shop_id,
158
- num: num || 100,
159
- skip: skip || 1,
160
- front_end_cache_id: useCache && this.cacheId,
161
- ...rest
162
- },
163
- { useCache }
164
- );
165
- const records = ((_c = res == null ? void 0 : res.data) == null ? void 0 : _c.list) || [];
166
- const nextFormMap = { ...this.store.holderMap };
167
- this.patchFormMap(nextFormMap, formId, { records });
180
+ const res = await this.request.get(url, {
181
+ customer_id: customerId,
182
+ form_id,
183
+ shop_id,
184
+ num: num || 100,
185
+ skip: skip || 1,
186
+ front_end_cache_id: useCache && this.cacheId,
187
+ ...rest
188
+ }, {
189
+ useCache
190
+ });
191
+ const records = res?.data?.list || [];
192
+ const nextFormMap = {
193
+ ...this.store.holderMap
194
+ };
195
+ this.patchFormMap(nextFormMap, formId, {
196
+ records
197
+ });
168
198
  this.commitFormMap(nextFormMap);
169
199
  return records;
170
200
  } catch (error) {
@@ -175,7 +205,7 @@ var HolderModule = class extends import_BaseModule.BaseModule {
175
205
  }
176
206
  }
177
207
  async ensureFormData(params) {
178
- const formId = (0, import_utils.normalizeFormId)(params.form_id);
208
+ const formId = (0, _utils.normalizeFormId)(params.form_id);
179
209
  const useCache = params.useCache !== false;
180
210
  if (useCache && !params.forceRefresh && this.loadedFormIds.has(formId)) {
181
211
  this.notifyFormMapChanged();
@@ -184,28 +214,24 @@ var HolderModule = class extends import_BaseModule.BaseModule {
184
214
  const current = this.ensureFormItem(formId);
185
215
  const tasks = [];
186
216
  if (params.forceRefresh || !Object.keys(current.form || {}).length) {
187
- tasks.push(
188
- this.fetchFormInfo({
189
- url: params.formInfoUrl,
190
- query: {
191
- form_id: params.form_id
192
- },
193
- useCache
194
- })
195
- );
217
+ tasks.push(this.fetchFormInfo({
218
+ url: params.formInfoUrl,
219
+ query: {
220
+ form_id: params.form_id
221
+ },
222
+ useCache
223
+ }));
196
224
  }
197
225
  if (params.forceRefresh || !current.records.length) {
198
- tasks.push(
199
- this.fetchRecords({
200
- url: params.recordsUrl,
201
- query: {
202
- form_id: params.form_id,
203
- shop_id: params.shop_id,
204
- customer_id: params.customer_id
205
- },
206
- useCache
207
- })
208
- );
226
+ tasks.push(this.fetchRecords({
227
+ url: params.recordsUrl,
228
+ query: {
229
+ form_id: params.form_id,
230
+ shop_id: params.shop_id,
231
+ customer_id: params.customer_id
232
+ },
233
+ useCache
234
+ }));
209
235
  }
210
236
  if (!tasks.length) {
211
237
  this.notifyFormMapChanged();
@@ -216,10 +242,9 @@ var HolderModule = class extends import_BaseModule.BaseModule {
216
242
  return this.ensureFormItem(formId);
217
243
  }
218
244
  async ensureFormByProduct(params) {
219
- const holderConfig = (0, import_utils.getProductHolderConfig)(params.product);
220
- if (!holderConfig)
221
- return null;
222
- const formId = (0, import_utils.getFormIdFromHolderConfig)(holderConfig);
245
+ const holderConfig = (0, _utils.getProductHolderConfig)(params.product);
246
+ if (!holderConfig) return null;
247
+ const formId = (0, _utils.getFormIdFromHolderConfig)(holderConfig);
223
248
  const shopId = params.shop_id ?? params.product.shop_id;
224
249
  return this.ensureFormData({
225
250
  form_id: formId,
@@ -231,8 +256,8 @@ var HolderModule = class extends import_BaseModule.BaseModule {
231
256
  });
232
257
  }
233
258
  async addFormRecord(params) {
234
- const url = params.url || "/form/record";
235
- const formId = (0, import_utils.normalizeFormId)(params.body.form_id);
259
+ const url = params.url || '/form/record';
260
+ const formId = (0, _utils.normalizeFormId)(params.body.form_id);
236
261
  this.isLoading = true;
237
262
  this.error = null;
238
263
  try {
@@ -254,55 +279,57 @@ var HolderModule = class extends import_BaseModule.BaseModule {
254
279
  this.isLoading = false;
255
280
  }
256
281
  }
282
+
257
283
  /**
258
284
  * UI 层自行请求添加接口后,将返回记录合并到 holderMap 对应 form_id 的 records 中
259
285
  */
260
286
  appendFormRecord(params) {
261
287
  let record = params.record;
262
- if ((record == null ? void 0 : record.data) && record.form_record_id === void 0) {
288
+ if (record?.data && record.form_record_id === undefined) {
263
289
  record = record.data;
264
290
  }
265
- const normalizedRecord = (0, import_lodash_es.cloneDeep)(record);
266
- const formId = (0, import_utils.normalizeFormId)(
267
- params.form_id ?? normalizedRecord.form_id
268
- );
291
+ const normalizedRecord = (0, _lodashEs.cloneDeep)(record);
292
+ const formId = (0, _utils.normalizeFormId)(params.form_id ?? normalizedRecord.form_id);
269
293
  if (!formId) {
270
- throw new Error("[HolderModule] appendFormRecord: form_id is required");
294
+ throw new Error('[HolderModule] appendFormRecord: form_id is required');
271
295
  }
272
296
  if (!normalizedRecord.form_record_id) {
273
- throw new Error(
274
- "[HolderModule] appendFormRecord: form_record_id is required"
275
- );
297
+ throw new Error('[HolderModule] appendFormRecord: form_record_id is required');
276
298
  }
277
299
  normalizedRecord.form_id = Number(formId) || normalizedRecord.form_id;
278
- const nextFormMap = { ...this.store.holderMap };
300
+ const nextFormMap = {
301
+ ...this.store.holderMap
302
+ };
279
303
  const current = this.ensureFormItem(formId, nextFormMap);
280
- const recordIndex = current.records.findIndex(
281
- (item) => item.form_record_id === normalizedRecord.form_record_id
282
- );
283
- const records = recordIndex >= 0 ? current.records.map(
284
- (item, index) => index === recordIndex ? { ...item, ...normalizedRecord } : item
285
- ) : [...current.records, normalizedRecord];
286
- this.patchFormMap(nextFormMap, formId, { records });
304
+ const recordIndex = current.records.findIndex(item => item.form_record_id === normalizedRecord.form_record_id);
305
+ const records = recordIndex >= 0 ? current.records.map((item, index) => index === recordIndex ? {
306
+ ...item,
307
+ ...normalizedRecord
308
+ } : item) : [...current.records, normalizedRecord];
309
+ this.patchFormMap(nextFormMap, formId, {
310
+ records
311
+ });
287
312
  this.commitFormMap(nextFormMap);
288
313
  this.loadedFormIds.add(formId);
289
314
  return normalizedRecord;
290
315
  }
291
316
  removeFormRecord(formId, formRecordId) {
292
- const key = (0, import_utils.normalizeFormId)(formId);
293
- const current = this.store.holderMap[key] || (0, import_utils.createEmptyFormItemData)();
294
- const nextFormMap = { ...this.store.holderMap };
317
+ const key = (0, _utils.normalizeFormId)(formId);
318
+ const current = this.store.holderMap[key] || (0, _utils.createEmptyFormItemData)();
319
+ const nextFormMap = {
320
+ ...this.store.holderMap
321
+ };
295
322
  this.patchFormMap(nextFormMap, key, {
296
- records: current.records.filter(
297
- (record) => record.form_record_id !== formRecordId
298
- )
323
+ records: current.records.filter(record => record.form_record_id !== formRecordId)
299
324
  });
300
325
  this.commitFormMap(nextFormMap);
301
326
  }
302
327
  clearFormData(formId) {
303
- if (formId !== void 0) {
304
- const key = (0, import_utils.normalizeFormId)(formId);
305
- const nextFormMap = { ...this.store.holderMap };
328
+ if (formId !== undefined) {
329
+ const key = (0, _utils.normalizeFormId)(formId);
330
+ const nextFormMap = {
331
+ ...this.store.holderMap
332
+ };
306
333
  delete nextFormMap[key];
307
334
  this.loadedFormIds.delete(key);
308
335
  this.commitFormMap(nextFormMap);
@@ -311,12 +338,18 @@ var HolderModule = class extends import_BaseModule.BaseModule {
311
338
  this.commitFormMap({});
312
339
  }
313
340
  }
341
+
314
342
  /**
315
343
  * 登录后按当前 holderMap 批量刷新所有表单的 records。
316
344
  * 遍历 holderMap,从 form.form 中读取 form_id、shop_id,结合 customer_id 重新拉取记录。
317
345
  */
318
346
  async refreshAllFormRecords(params = {}) {
319
- const { customer_id, recordsUrl, num, skip } = params;
347
+ const {
348
+ customer_id,
349
+ recordsUrl,
350
+ num,
351
+ skip
352
+ } = params;
320
353
  const useCache = params.useCache ?? false;
321
354
  if (!customer_id) {
322
355
  return this.getHolderFormMap();
@@ -325,53 +358,45 @@ var HolderModule = class extends import_BaseModule.BaseModule {
325
358
  if (!entries.length) {
326
359
  return this.getHolderFormMap();
327
360
  }
328
- const url = recordsUrl || "/form/data/v1";
361
+ const url = recordsUrl || '/form/data/v1';
329
362
  this.isLoading = true;
330
363
  this.error = null;
331
364
  try {
332
- const results = await Promise.all(
333
- entries.map(async ([mapKey, item]) => {
334
- var _a;
335
- const meta = (0, import_utils.resolveFormMetaFromHolderItem)(mapKey, item);
336
- if (!meta)
337
- return null;
338
- try {
339
- const res = await this.request.get(
340
- url,
341
- {
342
- customer_id,
343
- form_id: meta.form_id,
344
- shop_id: meta.shop_id,
345
- num: num || 100,
346
- skip: skip || 1,
347
- front_end_cache_id: useCache && this.cacheId
348
- },
349
- { useCache }
350
- );
351
- return {
352
- formId: meta.form_id,
353
- records: ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.list) || []
354
- };
355
- } catch (error) {
356
- console.error(
357
- `[HolderModule] refreshAllFormRecords failed for form ${meta.form_id}`,
358
- error
359
- );
360
- return null;
361
- }
362
- })
363
- );
364
- const nextFormMap = { ...this.store.holderMap };
365
- results.forEach((result) => {
366
- if (!result)
367
- return;
365
+ const results = await Promise.all(entries.map(async ([mapKey, item]) => {
366
+ const meta = (0, _utils.resolveFormMetaFromHolderItem)(mapKey, item);
367
+ if (!meta) return null;
368
+ try {
369
+ const res = await this.request.get(url, {
370
+ customer_id,
371
+ form_id: meta.form_id,
372
+ shop_id: meta.shop_id,
373
+ num: num || 100,
374
+ skip: skip || 1,
375
+ front_end_cache_id: useCache && this.cacheId
376
+ }, {
377
+ useCache
378
+ });
379
+ return {
380
+ formId: meta.form_id,
381
+ records: res?.data?.list || []
382
+ };
383
+ } catch (error) {
384
+ console.error(`[HolderModule] refreshAllFormRecords failed for form ${meta.form_id}`, error);
385
+ return null;
386
+ }
387
+ }));
388
+ const nextFormMap = {
389
+ ...this.store.holderMap
390
+ };
391
+ results.forEach(result => {
392
+ if (!result) return;
368
393
  this.patchFormMap(nextFormMap, result.formId, {
369
394
  records: result.records
370
395
  });
371
396
  this.loadedFormIds.add(result.formId);
372
397
  });
373
398
  this.commitFormMap(nextFormMap);
374
- return (0, import_lodash_es.cloneDeep)(nextFormMap);
399
+ return (0, _lodashEs.cloneDeep)(nextFormMap);
375
400
  } catch (error) {
376
401
  this.error = error instanceof Error ? error.message : String(error);
377
402
  throw error;
@@ -380,23 +405,18 @@ var HolderModule = class extends import_BaseModule.BaseModule {
380
405
  }
381
406
  }
382
407
  storeChange(path) {
383
- if (path !== "holderMap" && path !== void 0) {
408
+ if (path !== 'holderMap' && path !== undefined) {
384
409
  return;
385
410
  }
386
411
  if (this.openCache) {
387
- const store = (0, import_lodash_es.cloneDeep)(this.store);
412
+ const store = (0, _lodashEs.cloneDeep)(this.store);
388
413
  this.checkSaveCache({
389
414
  cacheId: this.cacheId,
390
415
  fatherModule: this.fatherModule,
391
416
  store,
392
- cacheKey: ["holderMap"]
417
+ cacheKey: ['holderMap']
393
418
  });
394
419
  }
395
420
  }
396
- };
397
- // Annotate the CommonJS export names for ESM import in node:
398
- 0 && (module.exports = {
399
- HolderModule,
400
- ...require("./types"),
401
- ...require("./utils")
402
- });
421
+ }
422
+ exports.HolderModule = HolderModule;
@@ -1,17 +1,5 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
14
2
 
15
- // src/modules/Holder/types.ts
16
- var types_exports = {};
17
- module.exports = __toCommonJS(types_exports);
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });