@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,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);