@pisell/pisellos 0.0.569 → 0.10.1

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