@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,45 +1,64 @@
1
- "use strict";
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
28
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
29
+ // src/modules/Schedule/index.ts
30
+ var Schedule_exports = {};
31
+ __export(Schedule_exports, {
32
+ ScheduleModule: () => ScheduleModule
5
33
  });
6
- exports.ScheduleModule = void 0;
7
- var _lodashEs = require("lodash-es");
8
- var _BaseModule = require("../BaseModule");
9
- var _dayjs = _interopRequireDefault(require("dayjs"));
10
- var _isSameOrBefore = _interopRequireDefault(require("dayjs/plugin/isSameOrBefore"));
11
- var _isSameOrAfter = _interopRequireDefault(require("dayjs/plugin/isSameOrAfter"));
12
- var _utils = require("../Date/utils");
13
- var _utils2 = require("./utils");
14
- var _getDateIsInSchedule = require("./getDateIsInSchedule");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- _dayjs.default.extend(_isSameOrBefore.default);
17
- _dayjs.default.extend(_isSameOrAfter.default);
18
- class ScheduleModule extends _BaseModule.BaseModule {
19
- defaultName = 'schedule';
20
- defaultVersion = '1.0.0';
21
- request;
22
- store = {};
23
- cacheId;
24
- openCache = false;
25
- fatherModule;
26
- hasLoadedScheduleList = false;
34
+ module.exports = __toCommonJS(Schedule_exports);
35
+ var import_lodash_es = require("lodash-es");
36
+ var import_BaseModule = require("../BaseModule");
37
+ var import_dayjs = __toESM(require("dayjs"));
38
+ var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore"));
39
+ var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter"));
40
+ var import_utils = require("../Date/utils");
41
+ var import_utils2 = require("./utils");
42
+ var import_getDateIsInSchedule = require("./getDateIsInSchedule");
43
+ import_dayjs.default.extend(import_isSameOrBefore.default);
44
+ import_dayjs.default.extend(import_isSameOrAfter.default);
45
+ var ScheduleModule = class extends import_BaseModule.BaseModule {
27
46
  constructor(name, version) {
28
47
  super(name, version);
48
+ this.defaultName = "schedule";
49
+ this.defaultVersion = "1.0.0";
50
+ this.store = {};
51
+ this.openCache = false;
52
+ this.hasLoadedScheduleList = false;
29
53
  }
30
54
  async initialize(core, options) {
55
+ var _a, _b;
31
56
  this.core = core;
32
-
33
- // 获取依赖的插件
34
- this.request = core.getPlugin('request');
57
+ this.request = core.getPlugin("request");
35
58
  if (!this.request) {
36
- throw new Error('ScheduleModule 需要 request 插件支持');
59
+ throw new Error("ScheduleModule 需要 request 插件支持");
37
60
  }
38
-
39
- // if (options?.initialState) {
40
- // this.state = { ...this.state, ...options.initialState }
41
- // }
42
- this.store = options?.store;
61
+ this.store = options == null ? void 0 : options.store;
43
62
  if (options.initialState) {
44
63
  this.store.scheduleList = options.initialState.scheduleList;
45
64
  this.syncScheduleMap();
@@ -47,19 +66,18 @@ class ScheduleModule extends _BaseModule.BaseModule {
47
66
  this.hasLoadedScheduleList = Array.isArray(options.initialState.scheduleList);
48
67
  } else {
49
68
  this.store.scheduleList = [];
50
- this.store.map = new Map();
69
+ this.store.map = /* @__PURE__ */ new Map();
51
70
  this.store.availabilityDateList = [];
52
71
  this.hasLoadedScheduleList = false;
53
72
  }
54
- if (options.otherParams?.cacheId) {
73
+ if ((_a = options.otherParams) == null ? void 0 : _a.cacheId) {
55
74
  this.openCache = options.otherParams.openCache;
56
75
  this.cacheId = options.otherParams.cacheId;
57
76
  }
58
- if (options.otherParams?.fatherModule) {
77
+ if ((_b = options.otherParams) == null ? void 0 : _b.fatherModule) {
59
78
  this.fatherModule = options.otherParams.fatherModule;
60
79
  }
61
80
  }
62
-
63
81
  /**
64
82
  * 更新父级解决方案透传的运行态参数,并刷新 schedule 缓存写入配置。
65
83
  *
@@ -72,19 +90,19 @@ class ScheduleModule extends _BaseModule.BaseModule {
72
90
  this.cacheId = otherParams.cacheId;
73
91
  this.fatherModule = otherParams.fatherModule;
74
92
  }
75
-
76
93
  /**
77
94
  * 加载当前店铺下所有 schedule
78
95
  *
79
96
  * @memberof ScheduleModule
80
97
  */
81
98
  async loadAllSchedule(options = {}) {
82
- const scheduleList = await this.request.get(`/schedule`, {
83
- num: 999
84
- }, {
85
- useCache: options.useCache ?? true
86
- });
87
- this.setScheduleList(scheduleList.data?.list || []);
99
+ var _a;
100
+ const scheduleList = await this.request.get(
101
+ `/schedule`,
102
+ { num: 999 },
103
+ { useCache: options.useCache ?? true }
104
+ );
105
+ this.setScheduleList(((_a = scheduleList.data) == null ? void 0 : _a.list) || []);
88
106
  }
89
107
  setScheduleList(list) {
90
108
  this.store.scheduleList = list;
@@ -92,7 +110,9 @@ class ScheduleModule extends _BaseModule.BaseModule {
92
110
  this.hasLoadedScheduleList = true;
93
111
  }
94
112
  syncScheduleMap() {
95
- this.store.map = new Map((this.store.scheduleList || []).map(schedule => [Number(schedule.id), schedule]));
113
+ this.store.map = new Map(
114
+ (this.store.scheduleList || []).map((schedule) => [Number(schedule.id), schedule])
115
+ );
96
116
  }
97
117
  getScheduleList() {
98
118
  return this.store.scheduleList || [];
@@ -106,54 +126,54 @@ class ScheduleModule extends _BaseModule.BaseModule {
106
126
  custom_page_id,
107
127
  channel
108
128
  }) {
109
- // 前端传递的 startDate,可能是今天之前的,如果 startDate 小于今天,需要把 startDate 置为今天
110
- if ((0, _dayjs.default)(startDate).isBefore((0, _dayjs.default)(), 'day')) {
111
- startDate = (0, _dayjs.default)().format('YYYY-MM-DD');
129
+ if ((0, import_dayjs.default)(startDate).isBefore((0, import_dayjs.default)(), "day")) {
130
+ startDate = (0, import_dayjs.default)().format("YYYY-MM-DD");
112
131
  }
113
- // 1.生成当前月份的所有日期,默认都不可用
114
- let dates = (0, _utils.generateMonthDates)(startDate, endDate);
115
- dates = (0, _utils.disableAllDates)(dates);
116
- // 如果 endDate 在今天之前,则不用查接口,直接返回 dates
117
- if ((0, _dayjs.default)(endDate).isBefore((0, _dayjs.default)(), 'day')) {
132
+ let dates = (0, import_utils.generateMonthDates)(startDate, endDate);
133
+ dates = (0, import_utils.disableAllDates)(dates);
134
+ if ((0, import_dayjs.default)(endDate).isBefore((0, import_dayjs.default)(), "day")) {
118
135
  return dates;
119
136
  }
120
- const res = await this.request.get(`/schedule/product/availability/v2`, {
121
- start_date: startDate,
122
- end_date: endDate,
123
- custom_page_id,
124
- channel
125
- });
137
+ const res = await this.request.get(
138
+ `/schedule/product/availability/v2`,
139
+ {
140
+ start_date: startDate,
141
+ end_date: endDate,
142
+ custom_page_id,
143
+ channel
144
+ }
145
+ );
126
146
  const responseData = res.data || {};
127
147
  const dateList = Array.isArray(responseData.date_list) ? responseData.date_list : [];
128
148
  const otherProductIds = Array.isArray(responseData.other_product_ids) ? responseData.other_product_ids : [];
129
149
  this.setAvailabilityScheduleDateList(dateList);
130
150
  this.setOtherProductsIds(otherProductIds);
131
- // 如果没有schedule或者结束日期在今天之前,则所有日期均不可用
132
- if (!dateList.length && !otherProductIds.length || (0, _dayjs.default)(endDate).isBefore((0, _dayjs.default)(), 'day')) {
151
+ if (!dateList.length && !otherProductIds.length || (0, import_dayjs.default)(endDate).isBefore((0, import_dayjs.default)(), "day")) {
133
152
  return dates;
134
153
  }
135
154
  if (otherProductIds.length) {
136
- // 如果后端有返回 other_product_ids ,意味着有 duration 商品,则今天以及今天以后的日期均可用
137
- dates.forEach(n => {
138
- n.status = 'available';
155
+ dates.forEach((n) => {
156
+ n.status = "available";
139
157
  });
140
158
  } else {
141
- dateList.forEach(n => {
142
- const index = dates.findIndex(m => m.date === n.date);
159
+ dateList.forEach((n) => {
160
+ const index = dates.findIndex((m) => m.date === n.date);
143
161
  if (index !== -1) {
144
- dates[index].status = 'available';
162
+ dates[index].status = "available";
145
163
  }
146
164
  });
147
165
  }
148
- dates = (0, _utils.disableDatesBeforeOneDay)(dates);
166
+ dates = (0, import_utils.disableDatesBeforeOneDay)(dates);
149
167
  return dates;
150
168
  }
151
169
  getScheduleListByIds(ids) {
152
- const idSet = new Set(ids.map(id => String(id)));
170
+ var _a;
171
+ const idSet = new Set(ids.map((id) => String(id)));
172
+ console.log("getScheduleListByIds", this.store.scheduleList);
153
173
  if (this.store.map instanceof Map && this.store.map.size > 0) {
154
- return ids.map(id => this.store.map.get(Number(id))).filter(Boolean);
174
+ return ids.map((id) => this.store.map.get(Number(id))).filter(Boolean);
155
175
  }
156
- const list = this.store.scheduleList?.filter(n => idSet.has(String(n.id)));
176
+ const list = (_a = this.store.scheduleList) == null ? void 0 : _a.filter((n) => idSet.has(String(n.id)));
157
177
  return list;
158
178
  }
159
179
  setAvailabilityScheduleDateList(list) {
@@ -170,13 +190,12 @@ class ScheduleModule extends _BaseModule.BaseModule {
170
190
  }
171
191
  storeChange() {
172
192
  if (this.openCache) {
173
- const store = (0, _lodashEs.cloneDeep)(this.store);
174
- // store里的 list 要主动基于 id 做下去重,避免重复写入
193
+ const store = (0, import_lodash_es.cloneDeep)(this.store);
175
194
  this.checkSaveCache({
176
195
  cacheId: this.cacheId,
177
196
  fatherModule: this.fatherModule,
178
197
  store,
179
- cacheKey: ['scheduleList', 'availabilityDateList', 'otherProductsIds']
198
+ cacheKey: ["scheduleList", "availabilityDateList", "otherProductsIds"]
180
199
  });
181
200
  }
182
201
  }
@@ -189,7 +208,7 @@ class ScheduleModule extends _BaseModule.BaseModule {
189
208
  date,
190
209
  schedule
191
210
  }) {
192
- return (0, _getDateIsInSchedule.getDateIsInSchedule)(date, [schedule]);
211
+ return (0, import_getDateIsInSchedule.getDateIsInSchedule)(date, [schedule]);
193
212
  }
194
213
  /**
195
214
  * 传入一个时间, 判断改时间是否在schedule 内
@@ -200,41 +219,37 @@ class ScheduleModule extends _BaseModule.BaseModule {
200
219
  date,
201
220
  schedule
202
221
  }) {
203
- return (0, _getDateIsInSchedule.getDateIsInSchedule)(date, [schedule]);
222
+ var _a, _b, _c, _d;
223
+ return (0, import_getDateIsInSchedule.getDateIsInSchedule)(date, [schedule]);
204
224
  if (schedule.start_time && schedule.end_time) {
205
- const isBeforeStartTime = (0, _dayjs.default)(date).isBefore((0, _dayjs.default)(schedule.start_time));
206
- const isAfterEndTime = (0, _dayjs.default)(date).isAfter((0, _dayjs.default)(schedule.end_time));
207
- // 如果不在 schedule 日期区间内直接返回false
225
+ const isBeforeStartTime = (0, import_dayjs.default)(date).isBefore(
226
+ (0, import_dayjs.default)(schedule.start_time)
227
+ );
228
+ const isAfterEndTime = (0, import_dayjs.default)(date).isAfter((0, import_dayjs.default)(schedule.end_time));
208
229
  if (isBeforeStartTime || isAfterEndTime) {
209
230
  return false;
210
231
  }
211
232
  }
212
-
213
- // 节约性能, 强制将schedule的时间范围改为前后一天,避免大量计算.
214
233
  let _schedule = {
215
234
  ...schedule,
216
235
  // 开始时间向前推一天
217
- start_time: (0, _dayjs.default)(date).subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'),
218
- end_time: (0, _dayjs.default)(date).add(1, 'day').format('YYYY-MM-DD HH:mm:ss')
236
+ start_time: (0, import_dayjs.default)(date).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
237
+ end_time: (0, import_dayjs.default)(date).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
219
238
  };
220
-
221
- // 不限制的 改为后一天
222
- if (_schedule.repeat_rule?.end?.type === 'never') {
239
+ if (((_b = (_a = _schedule.repeat_rule) == null ? void 0 : _a.end) == null ? void 0 : _b.type) === "never") {
223
240
  _schedule = {
224
241
  ..._schedule,
225
242
  repeat_rule: {
226
243
  ..._schedule.repeat_rule,
227
244
  end: {
228
- type: 'date',
245
+ type: "date",
229
246
  end_date: _schedule.end_time,
230
247
  occurrence: null
231
248
  }
232
249
  }
233
250
  };
234
251
  }
235
-
236
- // 限制结束日期的也改为后一天
237
- if (_schedule.repeat_rule?.end?.type === 'date') {
252
+ if (((_d = (_c = _schedule.repeat_rule) == null ? void 0 : _c.end) == null ? void 0 : _d.type) === "date") {
238
253
  _schedule = {
239
254
  ..._schedule,
240
255
  repeat_rule: {
@@ -246,18 +261,17 @@ class ScheduleModule extends _BaseModule.BaseModule {
246
261
  }
247
262
  };
248
263
  }
249
- const dateRanges = (0, _utils2.calcScheduleDateRange)({
250
- ..._schedule
251
- });
264
+ const dateRanges = (0, import_utils2.calcScheduleDateRange)({ ..._schedule });
252
265
  for (const range of dateRanges) {
253
- const startTime = (0, _dayjs.default)(range.start);
254
- const endTime = (0, _dayjs.default)(range.end);
255
-
256
- // 如果输入时间在这个范围内(包含边界)
257
- if ((0, _dayjs.default)(date).isSameOrAfter(startTime) && (0, _dayjs.default)(date).isSameOrBefore(endTime)) {
266
+ const startTime = (0, import_dayjs.default)(range.start);
267
+ const endTime = (0, import_dayjs.default)(range.end);
268
+ if ((0, import_dayjs.default)(date).isSameOrAfter(startTime) && (0, import_dayjs.default)(date).isSameOrBefore(endTime)) {
258
269
  return true;
259
270
  }
260
271
  }
261
272
  }
262
- }
263
- exports.ScheduleModule = ScheduleModule;
273
+ };
274
+ // Annotate the CommonJS export names for ESM import in node:
275
+ 0 && (module.exports = {
276
+ ScheduleModule
277
+ });
@@ -1,5 +1,17 @@
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 __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);
2
14
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
15
+ // src/modules/Schedule/type.ts
16
+ var type_exports = {};
17
+ module.exports = __toCommonJS(type_exports);
@@ -1,5 +1,17 @@
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 __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);
2
14
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
15
+ // src/modules/Schedule/types.ts
16
+ var types_exports = {};
17
+ module.exports = __toCommonJS(types_exports);