@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,108 +1,90 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- CartModule: true,
8
- getProductDeposit: true
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 });
9
8
  };
10
- exports.CartModule = void 0;
11
- Object.defineProperty(exports, "getProductDeposit", {
12
- enumerable: true,
13
- get: function () {
14
- return _utils.getProductDeposit;
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 });
15
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);
19
+
20
+ // src/modules/Cart/index.ts
21
+ var Cart_exports = {};
22
+ __export(Cart_exports, {
23
+ CartModule: () => CartModule,
24
+ getProductDeposit: () => import_utils3.getProductDeposit
16
25
  });
17
- var _BaseModule = require("../BaseModule");
18
- var _types = require("./types");
19
- Object.keys(_types).forEach(function (key) {
20
- if (key === "default" || key === "__esModule") return;
21
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
22
- if (key in exports && exports[key] === _types[key]) return;
23
- Object.defineProperty(exports, key, {
24
- enumerable: true,
25
- get: function () {
26
- return _types[key];
27
- }
28
- });
29
- });
30
- var _utils = require("./utils");
31
- var _lodashEs = require("lodash-es");
32
- var _utils2 = require("../Product/utils");
33
- /**
34
- * 购物车模块实现
35
- */
36
- class CartModule extends _BaseModule.BaseModule {
37
- // 提供给 baseModule 用的默认名称 和 默认版本
38
- defaultName = 'cart';
39
- defaultVersion = '1.0.0';
40
- request;
41
- window;
42
- store;
43
- cacheId;
44
- openCache = false;
45
- fatherModule;
26
+ module.exports = __toCommonJS(Cart_exports);
27
+ var import_BaseModule = require("../BaseModule");
28
+ var import_types = require("./types");
29
+ var import_utils = require("./utils");
30
+ var import_lodash_es = require("lodash-es");
31
+ var import_utils2 = require("../Product/utils");
32
+ __reExport(Cart_exports, require("./types"), module.exports);
33
+ var import_utils3 = require("./utils");
34
+ var CartModule = class extends import_BaseModule.BaseModule {
46
35
  constructor(name, version) {
47
- super(name || 'cart', version || '1.0.0');
36
+ super(name || "cart", version || "1.0.0");
37
+ // 提供给 baseModule 用的默认名称 和 默认版本
38
+ this.defaultName = "cart";
39
+ this.defaultVersion = "1.0.0";
40
+ this.openCache = false;
48
41
  }
49
-
50
42
  /**
51
43
  * 初始化购物车模块
52
44
  */
53
45
  async initialize(core, options) {
46
+ var _a, _b, _c;
54
47
  this.core = core;
55
48
  this.store = options.store;
56
- if (Array.isArray(options.initialState?.list)) {
49
+ if (Array.isArray((_a = options.initialState) == null ? void 0 : _a.list)) {
57
50
  this.store.list = options.initialState.list;
58
51
  this.core.effects.emit(`${this.name}:changed`, this.store.list);
59
52
  } else {
60
53
  this.store.list = [];
61
54
  }
62
- if (options.otherParams?.cacheId) {
55
+ if ((_b = options.otherParams) == null ? void 0 : _b.cacheId) {
63
56
  this.openCache = options.otherParams.openCache;
64
57
  this.cacheId = options.otherParams.cacheId;
65
58
  }
66
- if (options.otherParams?.fatherModule) {
59
+ if ((_c = options.otherParams) == null ? void 0 : _c.fatherModule) {
67
60
  this.fatherModule = options.otherParams.fatherModule;
68
61
  }
69
-
70
- // 获取依赖的插件
71
- this.request = core.getPlugin('request');
72
- this.window = core.getPlugin('window');
62
+ this.request = core.getPlugin("request");
63
+ this.window = core.getPlugin("window");
73
64
  if (!this.request) {
74
- throw new Error('购物车模块需要 request 插件支持');
65
+ throw new Error("购物车模块需要 request 插件支持");
75
66
  }
76
67
  if (!this.window) {
77
- throw new Error('购物车模块需要 window 插件支持');
68
+ throw new Error("购物车模块需要 window 插件支持");
78
69
  }
79
- // this.store.temp = {};
70
+ console.log("[CartModule] 初始化完成");
80
71
  }
81
-
82
72
  /**
83
73
  * 添加商品到购物车
84
74
  */
85
75
  async addItem(params) {
86
- const {
87
- account,
88
- product,
89
- bundle,
90
- options,
91
- date,
92
- quantity = 1
93
- } = params;
94
- // 生成一个唯一的 ID
76
+ const { account, product, bundle, options, date, quantity = 1 } = params;
95
77
  let cartItem = {
96
- _id: (0, _utils.getUniqueId)(),
97
- _origin: (0, _utils.createCartItemOrigin)()
78
+ _id: (0, import_utils.getUniqueId)(),
79
+ _origin: (0, import_utils.createCartItemOrigin)()
98
80
  };
99
81
  if (product) {
100
- const newProduct = (0, _utils.handleVariantProduct)(product);
101
- cartItem._productOrigin = (0, _lodashEs.cloneDeep)(newProduct);
102
- cartItem._productInit = (0, _lodashEs.cloneDeep)(newProduct);
103
- cartItem._bundleOrigin = (0, _lodashEs.cloneDeep)(bundle);
104
- cartItem._optionsOrigin = (0, _lodashEs.cloneDeep)(options);
105
- cartItem = (0, _utils.formatProductToCartItem)({
82
+ const newProduct = (0, import_utils.handleVariantProduct)(product);
83
+ cartItem._productOrigin = (0, import_lodash_es.cloneDeep)(newProduct);
84
+ cartItem._productInit = (0, import_lodash_es.cloneDeep)(newProduct);
85
+ cartItem._bundleOrigin = (0, import_lodash_es.cloneDeep)(bundle);
86
+ cartItem._optionsOrigin = (0, import_lodash_es.cloneDeep)(options);
87
+ cartItem = (0, import_utils.formatProductToCartItem)({
106
88
  cartItem,
107
89
  product: newProduct,
108
90
  bundle,
@@ -112,61 +94,43 @@ class CartModule extends _BaseModule.BaseModule {
112
94
  });
113
95
  }
114
96
  if (account) {
115
- cartItem = (0, _utils.formatAccountToCartItem)({
116
- cartItem,
117
- account
118
- });
97
+ cartItem = (0, import_utils.formatAccountToCartItem)({ cartItem, account });
119
98
  }
120
99
  if (date) {
121
- cartItem = (0, _utils.formatDateToCartItem)({
122
- cartItem,
123
- date
124
- });
100
+ cartItem = (0, import_utils.formatDateToCartItem)({ cartItem, date });
125
101
  }
126
-
127
- // 更新购物车数据
128
102
  const items = [...this.store.list, cartItem];
129
103
  this.store.list = items;
130
-
131
- // 触发事件
132
104
  await this.core.effects.emit(`${this.name}:onAddItem`, cartItem);
133
105
  }
134
-
135
106
  /**
136
107
  * 更新购物车信息
137
108
  */
138
109
  async updateItem(params) {
139
110
  try {
140
111
  const tempCartItem = this.formatCartItem(params);
141
- // 更新购物车数据
142
- const items = this.store.list.map(item => {
143
- if (item._id === tempCartItem?._id) {
112
+ const items = this.store.list.map((item) => {
113
+ if (item._id === (tempCartItem == null ? void 0 : tempCartItem._id)) {
144
114
  return tempCartItem;
145
115
  }
146
116
  return item;
147
117
  });
148
118
  this.store.list = [...items];
149
- // 触发事件
150
119
  await this.core.effects.emit(`${this.name}:onUpdateItem`, tempCartItem);
151
120
  } catch (error) {
152
- console.error('[CartModule] 更新购物车商品失败', error);
121
+ console.error("[CartModule] 更新购物车商品失败", error);
153
122
  }
154
123
  }
155
-
156
124
  // 更新购物车中商品的初始信息
157
125
  // 为什么会有这个操作,主要服务于报价单和商品券
158
126
  // 商品券那边会使用 init 的 price 做计算,而报价单那边就需要修改 init 的 price 来辅助商品计算
159
127
  async updateItemInitInfo(params) {
160
- const {
161
- _id,
162
- product
163
- } = params;
164
- const cartItem = this.store.list.find(i => i._id === _id);
128
+ const { _id, product } = params;
129
+ const cartItem = this.store.list.find((i) => i._id === _id);
165
130
  if (cartItem) {
166
- cartItem._productInit = (0, _lodashEs.cloneDeep)(product);
131
+ cartItem._productInit = (0, import_lodash_es.cloneDeep)(product);
167
132
  }
168
133
  }
169
-
170
134
  /**
171
135
  * 格式化数据到购物车
172
136
  */
@@ -186,22 +150,22 @@ class CartModule extends _BaseModule.BaseModule {
186
150
  osWarnTips
187
151
  } = params;
188
152
  let quantity = params.quantity;
189
- let tempCartItem = this.store.list.find(i => i._id === _id);
190
- if (!quantity && tempCartItem?.num) {
191
- quantity = tempCartItem?.num || 1;
153
+ let tempCartItem = this.store.list.find((i) => i._id === _id);
154
+ if (!quantity && (tempCartItem == null ? void 0 : tempCartItem.num)) {
155
+ quantity = (tempCartItem == null ? void 0 : tempCartItem.num) || 1;
192
156
  }
193
157
  if (!tempCartItem) {
194
- throw new Error('[CartModule] 格式化数据到购物车失败,商品不存在');
158
+ throw new Error("[CartModule] 格式化数据到购物车失败,商品不存在");
195
159
  }
196
160
  if (cartItem) {
197
161
  tempCartItem = cartItem;
198
162
  }
199
163
  if (product) {
200
- const newProduct = (0, _utils.handleVariantProduct)(product);
201
- tempCartItem._productOrigin = (0, _lodashEs.cloneDeep)(newProduct);
202
- tempCartItem._bundleOrigin = (0, _lodashEs.cloneDeep)(bundle);
203
- tempCartItem._optionsOrigin = (0, _lodashEs.cloneDeep)(options);
204
- tempCartItem = (0, _utils.formatProductToCartItem)({
164
+ const newProduct = (0, import_utils.handleVariantProduct)(product);
165
+ tempCartItem._productOrigin = (0, import_lodash_es.cloneDeep)(newProduct);
166
+ tempCartItem._bundleOrigin = (0, import_lodash_es.cloneDeep)(bundle);
167
+ tempCartItem._optionsOrigin = (0, import_lodash_es.cloneDeep)(options);
168
+ tempCartItem = (0, import_utils.formatProductToCartItem)({
205
169
  cartItem: tempCartItem,
206
170
  product: newProduct,
207
171
  bundle,
@@ -212,128 +176,112 @@ class CartModule extends _BaseModule.BaseModule {
212
176
  });
213
177
  }
214
178
  if (discounts) {
215
- tempCartItem = (0, _utils.formatDiscountToCartItem)({
179
+ tempCartItem = (0, import_utils.formatDiscountToCartItem)({
216
180
  cartItem: tempCartItem,
217
181
  discounts
218
182
  });
219
183
  }
220
184
  if (account) {
221
- tempCartItem = (0, _utils.formatAccountToCartItem)({
185
+ tempCartItem = (0, import_utils.formatAccountToCartItem)({
222
186
  cartItem: tempCartItem,
223
187
  account
224
188
  });
225
189
  }
226
190
  if (resources) {
227
- tempCartItem = (0, _utils.formatResourceToCartItem)({
191
+ tempCartItem = (0, import_utils.formatResourceToCartItem)({
228
192
  cartItem: tempCartItem,
229
193
  resources
230
194
  });
231
195
  }
232
196
  if (relationForms) {
233
- tempCartItem = (0, _utils.formatRelationFormsToCartItem)({
197
+ tempCartItem = (0, import_utils.formatRelationFormsToCartItem)({
234
198
  cartItem: tempCartItem,
235
199
  relationForms
236
200
  });
237
201
  }
238
202
  if (date) {
239
- tempCartItem = (0, _utils.formatDateToCartItem)({
240
- cartItem: tempCartItem,
241
- date
242
- });
203
+ tempCartItem = (0, import_utils.formatDateToCartItem)({ cartItem: tempCartItem, date });
243
204
  }
244
205
  if (note) {
245
- tempCartItem = (0, _utils.formatNoteToCartItem)({
246
- cartItem: tempCartItem,
247
- note
248
- });
206
+ tempCartItem = (0, import_utils.formatNoteToCartItem)({ cartItem: tempCartItem, note });
249
207
  }
250
208
  if (osWarnTips) {
251
209
  tempCartItem.osWarnTips = osWarnTips;
252
210
  }
253
211
  return tempCartItem;
254
212
  }
255
-
256
213
  /**
257
214
  * 批量设置购物车数据
258
215
  */
259
216
  async batchSetItems(items) {
260
- this.store.list = [...(items || [])];
217
+ this.store.list = [...items || []];
261
218
  }
262
-
263
219
  /**
264
220
  * 获取购物车商品
265
221
  */
266
222
  getItems() {
267
223
  return this.store.list;
268
224
  }
269
-
270
225
  /**
271
226
  * 获取购物车商品--通过购物车 id 获取单条
272
227
  */
273
228
  getItem(id) {
274
- return this.store.list.find(item => item._id === id);
229
+ return this.store.list.find((item) => item._id === id);
275
230
  }
276
-
277
231
  /**
278
232
  * 根据账户ID获取购物车
279
233
  */
280
234
  getCartByAccount(account_id) {
281
- return this.store.list.filter(item => item.holder_id === account_id);
235
+ return this.store.list.filter(
236
+ (item) => item.holder_id === account_id
237
+ );
282
238
  }
283
-
284
239
  /**
285
240
  * 移除购物车商品
286
241
  */
287
242
  async removeItem(id) {
288
- const items = this.store.list.filter(i => i._id !== id);
243
+ const items = this.store.list.filter((i) => i._id !== id);
289
244
  this.store.list = items;
290
245
  await this.core.effects.emit(`${this.name}:onRemoveItem`, items);
291
246
  }
292
-
293
247
  /**
294
248
  * 根据账户ID清除购物车
295
249
  */
296
250
  clearCartByAccount(account_id) {
297
- const items = this.store.list.filter(item => item.holder_id !== account_id);
298
- this.store.list = [...(items || [])];
251
+ const items = this.store.list.filter(
252
+ (item) => item.holder_id !== account_id
253
+ );
254
+ this.store.list = [...items || []];
299
255
  }
300
-
301
256
  /**
302
257
  * 清除购物车商品中的信息
303
258
  * @param type 清除购物车商品中的信息类型
304
259
  * @param _id 购物车商品ID
305
260
  */
306
261
  deleteCartItemInfo(type, _id) {
307
- const list = this.store.list.map(item => {
262
+ const list = this.store.list.map((item) => {
308
263
  const needDelete = _id ? item._id === _id : true;
309
-
310
- // 如果存在_id,则只需要操作对应的购物车数据,否则操作所有
311
264
  if (!needDelete) {
312
265
  return item;
313
266
  }
314
267
  switch (type) {
315
- case _types.ECartItemInfoType.Resource:
316
- // 清除购物车商品中的资源信息
317
- item = (0, _utils.deleteResourceFromCartItem)(item);
268
+ case import_types.ECartItemInfoType.Resource:
269
+ item = (0, import_utils.deleteResourceFromCartItem)(item);
318
270
  break;
319
- case _types.ECartItemInfoType.Time:
320
- // 清除购物车商品中的时间信息
321
- item = (0, _utils.deleteTimeFromCartItem)(item);
271
+ case import_types.ECartItemInfoType.Time:
272
+ item = (0, import_utils.deleteTimeFromCartItem)(item);
322
273
  break;
323
- case _types.ECartItemInfoType.RelationForms:
324
- // 清除购物车商品中的关联表单信息
325
- item = (0, _utils.deleteRelationFormsFromCartItem)(item);
274
+ case import_types.ECartItemInfoType.RelationForms:
275
+ item = (0, import_utils.deleteRelationFormsFromCartItem)(item);
326
276
  break;
327
- case _types.ECartItemInfoType.Holder:
328
- // 清除购物车商品中的账户信息
329
- item = (0, _utils.deleteHolderFromCartItem)(item);
277
+ case import_types.ECartItemInfoType.Holder:
278
+ item = (0, import_utils.deleteHolderFromCartItem)(item);
330
279
  break;
331
280
  }
332
281
  return item;
333
282
  });
334
283
  this.store.list = [...list];
335
284
  }
336
-
337
285
  /**
338
286
  * 清除购物车
339
287
  */
@@ -342,14 +290,15 @@ class CartModule extends _BaseModule.BaseModule {
342
290
  }
343
291
  storeChange() {
344
292
  if (this.openCache) {
345
- const store = (0, _lodashEs.cloneDeep)(this.store);
346
- // store里的 list 要主动基于 id 做下去重,避免重复写入
347
- store.list = store.list.filter((item, index, self) => index === self.findIndex(t => t._id === item._id));
293
+ const store = (0, import_lodash_es.cloneDeep)(this.store);
294
+ store.list = store.list.filter(
295
+ (item, index, self) => index === self.findIndex((t) => t._id === item._id)
296
+ );
348
297
  this.checkSaveCache({
349
298
  cacheId: this.cacheId,
350
299
  fatherModule: this.fatherModule,
351
300
  store,
352
- cacheKey: ['list']
301
+ cacheKey: ["list"]
353
302
  });
354
303
  }
355
304
  }
@@ -364,22 +313,21 @@ class CartModule extends _BaseModule.BaseModule {
364
313
  relation_forms
365
314
  } = cartItem._origin || {};
366
315
  switch (type) {
367
- case _types.ECartItemCheckType.Account:
368
- result = !!holder || !!metadata?.account;
316
+ case import_types.ECartItemCheckType.Account:
317
+ result = !!holder || !!(metadata == null ? void 0 : metadata.account);
369
318
  break;
370
- case _types.ECartItemCheckType.Resources:
371
- result = !!resources?.length;
319
+ case import_types.ECartItemCheckType.Resources:
320
+ result = !!(resources == null ? void 0 : resources.length);
372
321
  break;
373
- case _types.ECartItemCheckType.Date:
322
+ case import_types.ECartItemCheckType.Date:
374
323
  result = !!start_date && !!end_date;
375
324
  break;
376
- case _types.ECartItemCheckType.RelationForms:
377
- result = !!relation_forms?.length;
325
+ case import_types.ECartItemCheckType.RelationForms:
326
+ result = !!(relation_forms == null ? void 0 : relation_forms.length);
378
327
  break;
379
328
  }
380
329
  return result;
381
330
  }
382
-
383
331
  /**
384
332
  * 基于rowkey 合并商品,目前只有普通商品需要合并
385
333
  *
@@ -389,16 +337,17 @@ class CartModule extends _BaseModule.BaseModule {
389
337
  * @memberof CartModule
390
338
  */
391
339
  mergeCartItemByRowKey(params) {
392
- const {
393
- rowKey,
394
- quantity,
395
- account
396
- } = params;
340
+ const { rowKey, quantity, account } = params;
397
341
  let flag = false;
398
342
  const cartItems = this.getItems();
399
- const targetCartItem = cartItems.find(n => n._productOrigin?.rowKey === rowKey);
400
- const isSameAccount = account?.id === targetCartItem?.holder_id;
401
- if (rowKey && targetCartItem && (0, _utils2.isNormalProduct)(targetCartItem._productOrigin) && isSameAccount) {
343
+ const targetCartItem = cartItems.find(
344
+ (n) => {
345
+ var _a;
346
+ return ((_a = n._productOrigin) == null ? void 0 : _a.rowKey) === rowKey;
347
+ }
348
+ );
349
+ const isSameAccount = (account == null ? void 0 : account.id) === (targetCartItem == null ? void 0 : targetCartItem.holder_id);
350
+ if (rowKey && targetCartItem && (0, import_utils2.isNormalProduct)(targetCartItem._productOrigin) && isSameAccount) {
402
351
  this.updateItem({
403
352
  _id: targetCartItem._id,
404
353
  product: {
@@ -410,5 +359,10 @@ class CartModule extends _BaseModule.BaseModule {
410
359
  }
411
360
  return flag;
412
361
  }
413
- }
414
- exports.CartModule = CartModule;
362
+ };
363
+ // Annotate the CommonJS export names for ESM import in node:
364
+ 0 && (module.exports = {
365
+ CartModule,
366
+ getProductDeposit,
367
+ ...require("./types")
368
+ });
@@ -1,48 +1,53 @@
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/Cart/types.ts
20
+ var types_exports = {};
21
+ __export(types_exports, {
22
+ CartHooks: () => CartHooks,
23
+ ECartItemCheckType: () => ECartItemCheckType,
24
+ ECartItemInfoType: () => ECartItemInfoType
25
+ });
26
+ module.exports = __toCommonJS(types_exports);
27
+ var CartHooks = /* @__PURE__ */ ((CartHooks2) => {
28
+ CartHooks2["OnAddItem"] = "card:onAddItem";
29
+ CartHooks2["OnCartChange"] = "card:onCartChange";
30
+ CartHooks2["OnCartUpdateItem"] = "card:onCartUpdateItem";
31
+ CartHooks2["OnCartRemove"] = "card:onCartRemove";
32
+ return CartHooks2;
33
+ })(CartHooks || {});
34
+ var ECartItemInfoType = /* @__PURE__ */ ((ECartItemInfoType2) => {
35
+ ECartItemInfoType2["Resource"] = "resource";
36
+ ECartItemInfoType2["Time"] = "time";
37
+ ECartItemInfoType2["RelationForms"] = "relationForms";
38
+ ECartItemInfoType2["Holder"] = "holder";
39
+ return ECartItemInfoType2;
40
+ })(ECartItemInfoType || {});
41
+ var ECartItemCheckType = /* @__PURE__ */ ((ECartItemCheckType2) => {
42
+ ECartItemCheckType2["Account"] = "account";
43
+ ECartItemCheckType2["Resources"] = "resources";
44
+ ECartItemCheckType2["Date"] = "date";
45
+ ECartItemCheckType2["RelationForms"] = "relationForms";
46
+ return ECartItemCheckType2;
47
+ })(ECartItemCheckType || {});
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ CartHooks,
51
+ ECartItemCheckType,
52
+ ECartItemInfoType
5
53
  });
6
- exports.ECartItemInfoType = exports.ECartItemCheckType = exports.CartHooks = void 0;
7
- let CartHooks = exports.CartHooks = /*#__PURE__*/function (CartHooks) {
8
- CartHooks["OnAddItem"] = "card:onAddItem";
9
- CartHooks["OnCartChange"] = "card:onCartChange";
10
- CartHooks["OnCartUpdateItem"] = "card:onCartUpdateItem";
11
- CartHooks["OnCartRemove"] = "card:onCartRemove";
12
- return CartHooks;
13
- }({});
14
- /**
15
- * 购物车商品信息类型
16
- */
17
- let ECartItemInfoType = exports.ECartItemInfoType = /*#__PURE__*/function (ECartItemInfoType) {
18
- ECartItemInfoType["Resource"] = "resource";
19
- ECartItemInfoType["Time"] = "time";
20
- ECartItemInfoType["RelationForms"] = "relationForms";
21
- ECartItemInfoType["Holder"] = "holder";
22
- return ECartItemInfoType;
23
- }({});
24
- /**
25
- * 购物车商品检查类型
26
- */
27
- let ECartItemCheckType = exports.ECartItemCheckType = /*#__PURE__*/function (ECartItemCheckType) {
28
- ECartItemCheckType["Account"] = "account";
29
- ECartItemCheckType["Resources"] = "resources";
30
- ECartItemCheckType["Date"] = "date";
31
- ECartItemCheckType["RelationForms"] = "relationForms";
32
- return ECartItemCheckType;
33
- }({});
34
- /**
35
- * 购物车商品接口
36
- */
37
- /**
38
- * 购物车状态接口
39
- */
40
- /**
41
- * 添加商品到购物车参数
42
- */
43
- /**
44
- * 更新购物车信息参数
45
- */
46
- /**
47
- * 折扣
48
- */