@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,159 +1,122 @@
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/Date/utils.ts
30
+ var utils_exports = {};
31
+ __export(utils_exports, {
32
+ disableAllDates: () => disableAllDates,
33
+ disableDatesBeforeOneDay: () => disableDatesBeforeOneDay,
34
+ generateMonthDates: () => generateMonthDates,
35
+ handleAvailableDateByResource: () => handleAvailableDateByResource,
36
+ handleAvailableDatesByRules: () => handleAvailableDatesByRules
5
37
  });
6
- exports.handleAvailableDatesByRules = exports.handleAvailableDateByResource = exports.generateMonthDates = exports.disableDatesBeforeOneDay = exports.disableAllDates = void 0;
7
- var _dayjs = _interopRequireDefault(require("dayjs"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- /**
10
- * 生成当前月份的所有日期
11
- * @param startDate 开始日期
12
- * @param endDate 结束日期
13
- * @param type 类型:按月查 | 按周查
14
- * @returns 日期列表
15
- */
16
- const generateMonthDates = (startDate, endDate, type) => {
17
- // 如果是按月查询需要从01号开始,如果是按周查询以开始结束时间为准
18
- const start = type === 'day' ? (0, _dayjs.default)(startDate).format('YYYY-MM-DD') : (0, _dayjs.default)(startDate).format('YYYY-MM-01');
19
- const end = (0, _dayjs.default)(endDate).format('YYYY-MM-DD');
38
+ module.exports = __toCommonJS(utils_exports);
39
+ var import_dayjs = __toESM(require("dayjs"));
40
+ var generateMonthDates = (startDate, endDate, type) => {
41
+ const start = type === "day" ? (0, import_dayjs.default)(startDate).format("YYYY-MM-DD") : (0, import_dayjs.default)(startDate).format("YYYY-MM-01");
42
+ const end = (0, import_dayjs.default)(endDate).format("YYYY-MM-DD");
20
43
  const dates = [];
21
- let currentDate = (0, _dayjs.default)(start);
22
- while ((0, _dayjs.default)(currentDate).isBefore((0, _dayjs.default)(end), 'day') || (0, _dayjs.default)(currentDate).isSame((0, _dayjs.default)(end), 'day')) {
44
+ let currentDate = (0, import_dayjs.default)(start);
45
+ while ((0, import_dayjs.default)(currentDate).isBefore((0, import_dayjs.default)(end), "day") || (0, import_dayjs.default)(currentDate).isSame((0, import_dayjs.default)(end), "day")) {
23
46
  dates.push({
24
- date: (0, _dayjs.default)(currentDate).format('YYYY-MM-DD'),
25
- week: (0, _dayjs.default)(currentDate).format('ddd'),
26
- weekNum: (0, _dayjs.default)(currentDate).day(),
27
- status: 'available'
47
+ date: (0, import_dayjs.default)(currentDate).format("YYYY-MM-DD"),
48
+ week: (0, import_dayjs.default)(currentDate).format("ddd"),
49
+ weekNum: (0, import_dayjs.default)(currentDate).day(),
50
+ status: "available"
28
51
  });
29
- currentDate = (0, _dayjs.default)(currentDate).add(1, 'day');
52
+ currentDate = (0, import_dayjs.default)(currentDate).add(1, "day");
30
53
  }
31
54
  return dates;
32
55
  };
33
-
34
- /**
35
- * 禁用所有日期
36
- * @param dates 日期列表
37
- * @returns 日期列表
38
- */
39
- exports.generateMonthDates = generateMonthDates;
40
- const disableAllDates = dates => {
41
- return dates.map(date => ({
42
- ...date,
43
- status: 'unavailable'
44
- }));
56
+ var disableAllDates = (dates) => {
57
+ return dates.map((date) => ({ ...date, status: "unavailable" }));
45
58
  };
46
-
47
- /**
48
- * 禁用某一天之前的日期,如不传则默认今天
49
- * @param dates 日期列表
50
- * @param oneDay 日期
51
- * @returns 日期列表
52
- */
53
- exports.disableAllDates = disableAllDates;
54
- const disableDatesBeforeOneDay = (dates, oneDay) => {
55
- const day = oneDay ? (0, _dayjs.default)(oneDay).format('YYYY-MM-DD') : (0, _dayjs.default)().format('YYYY-MM-DD');
56
- return dates.map(date => {
57
- if ((0, _dayjs.default)(date.date).isBefore(day, 'day')) {
58
- return {
59
- ...date,
60
- status: 'unavailable'
61
- };
59
+ var disableDatesBeforeOneDay = (dates, oneDay) => {
60
+ const day = oneDay ? (0, import_dayjs.default)(oneDay).format("YYYY-MM-DD") : (0, import_dayjs.default)().format("YYYY-MM-DD");
61
+ return dates.map((date) => {
62
+ if ((0, import_dayjs.default)(date.date).isBefore(day, "day")) {
63
+ return { ...date, status: "unavailable" };
62
64
  } else {
63
65
  return date;
64
66
  }
65
67
  });
66
68
  };
67
-
68
- /**
69
- * 根据资源中的日期处理出每个日期下存在的可用资源,根据form_id进行分类
70
- * @param resources 资源列表
71
- * @param dates 日期列表
72
- * @returns 日期列表
73
- */
74
- exports.disableDatesBeforeOneDay = disableDatesBeforeOneDay;
75
- const handleAvailableDateByResource = (resources, dates) => {
69
+ var handleAvailableDateByResource = (resources, dates) => {
76
70
  const dateMap = {};
77
- resources.forEach(resource => {
78
- const {
79
- form_id,
80
- id,
81
- times,
82
- ...others
83
- } = resource;
84
- times.forEach(time => {
85
- const {
86
- start_at
87
- } = time;
88
- const date = (0, _dayjs.default)(start_at).format('YYYY-MM-DD');
71
+ resources.forEach((resource) => {
72
+ const { form_id, id, times, ...others } = resource;
73
+ times.forEach((time) => {
74
+ var _a;
75
+ const { start_at } = time;
76
+ const date = (0, import_dayjs.default)(start_at).format("YYYY-MM-DD");
89
77
  if (!dateMap[date]) {
90
- dateMap[date] = [{
91
- form_id,
92
- id,
93
- ...others,
94
- times: [time]
95
- }];
78
+ dateMap[date] = [{ form_id, id, ...others, times: [time] }];
96
79
  } else {
97
- const temp = dateMap[date].filter(item => item.id === id)?.[0];
80
+ const temp = (_a = dateMap[date].filter((item) => item.id === id)) == null ? void 0 : _a[0];
98
81
  if (temp) {
99
82
  temp.times.push(time);
100
83
  } else {
101
- dateMap[date].push({
102
- form_id,
103
- id,
104
- ...others,
105
- times: [time]
106
- });
84
+ dateMap[date].push({ form_id, id, ...others, times: [time] });
107
85
  }
108
86
  }
109
87
  });
110
88
  });
111
- return dates.map(date => {
89
+ return dates.map((date) => {
112
90
  const resource = dateMap[date.date];
113
91
  if (resource) {
114
- return {
115
- ...date,
116
- resource
117
- };
92
+ return { ...date, resource };
118
93
  } else {
119
- return {
120
- ...date,
121
- status: 'unavailable',
122
- resource: []
123
- };
94
+ return { ...date, status: "unavailable", resource: [] };
124
95
  }
125
96
  });
126
97
  };
127
-
128
- /**
129
- * 根据规则判定哪些日期是可用的
130
- * @param dates 日期列表
131
- * @param rules 提前量规则
132
- * @returns 日期列表
133
- */
134
- exports.handleAvailableDateByResource = handleAvailableDateByResource;
135
- const handleAvailableDatesByRules = (dates, rules) => {
98
+ var handleAvailableDatesByRules = (dates, rules) => {
136
99
  let newDates = disableDatesBeforeOneDay(dates);
137
- if (!rules?.length) {
100
+ if (!(rules == null ? void 0 : rules.length)) {
138
101
  return newDates;
139
102
  }
140
- let scheduleMap = {}; // 日程列表
141
- let latestStartDate = ''; // 最晚开始日期
142
- let earliestEndDate = ''; // 最早结束日期
103
+ let scheduleMap = {};
104
+ let latestStartDate = "";
105
+ let earliestEndDate = "";
143
106
  let resourceFormIds = [];
144
- rules.forEach(rule => {
145
- // 如果有日程列表,需要将它去重加入到scheduleMap
146
- if (rule?.schedule?.length) {
107
+ rules.forEach((rule) => {
108
+ var _a, _b;
109
+ if ((_a = rule == null ? void 0 : rule.schedule) == null ? void 0 : _a.length) {
147
110
  for (const item of rule.schedule) {
148
- // 判断item.date是否在dates的开始和结束日期范围内,如果不在则跳过
149
- if ((0, _dayjs.default)(item.date).isBefore((0, _dayjs.default)(newDates[0].date), 'day')) {
111
+ if ((0, import_dayjs.default)(item.date).isBefore((0, import_dayjs.default)(newDates[0].date), "day")) {
150
112
  continue;
151
113
  }
152
- // 判断日程日期是否超过了dates中的最后一个日期,如果超过了则循环break
153
- if ((0, _dayjs.default)(item.date).isAfter((0, _dayjs.default)(newDates[newDates.length - 1].date), 'day')) {
114
+ if ((0, import_dayjs.default)(item.date).isAfter(
115
+ (0, import_dayjs.default)(newDates[newDates.length - 1].date),
116
+ "day"
117
+ )) {
154
118
  break;
155
119
  }
156
- // 在范围内的日程如果scheduleMap中不存在,则加入到scheduleMap
157
120
  if (!scheduleMap[item.date]) {
158
121
  scheduleMap[item.date] = item;
159
122
  } else {
@@ -163,91 +126,70 @@ const handleAvailableDatesByRules = (dates, rules) => {
163
126
  }
164
127
  }
165
128
  }
166
- const {
167
- future_day,
168
- unit,
169
- unit_type
170
- } = rule?.cut_off_time || {};
171
- // 预定天数存在,则开始计算从当前时间开始往后推预定天数作为结束时间
129
+ const { future_day, unit, unit_type } = (rule == null ? void 0 : rule.cut_off_time) || {};
172
130
  if (future_day) {
173
- const endDate = (0, _dayjs.default)().add(future_day, 'day');
174
- if (!earliestEndDate || endDate.isBefore((0, _dayjs.default)(earliestEndDate), 'day')) {
175
- earliestEndDate = endDate.format('YYYY-MM-DD');
131
+ const endDate = (0, import_dayjs.default)().add(future_day, "day");
132
+ if (!earliestEndDate || endDate.isBefore((0, import_dayjs.default)(earliestEndDate), "day")) {
133
+ earliestEndDate = endDate.format("YYYY-MM-DD");
176
134
  }
177
135
  } else if (future_day === 0) {
178
- const endDate = (0, _dayjs.default)();
179
- if (!earliestEndDate || endDate.isBefore((0, _dayjs.default)(earliestEndDate), 'day')) {
180
- earliestEndDate = endDate.format('YYYY-MM-DD');
136
+ const endDate = (0, import_dayjs.default)();
137
+ if (!earliestEndDate || endDate.isBefore((0, import_dayjs.default)(earliestEndDate), "day")) {
138
+ earliestEndDate = endDate.format("YYYY-MM-DD");
181
139
  }
182
140
  }
183
-
184
- // 如果存在提前预约时间,则开始计算从当前时间开始往后推提前预约时间作为开始时间
185
141
  if (unit && unit_type) {
186
- const startDate = (0, _dayjs.default)((0, _dayjs.default)().add(unit, unit_type).format('YYYY-MM-DD'));
187
- if (!latestStartDate || startDate.isAfter((0, _dayjs.default)(latestStartDate), 'day')) {
188
- latestStartDate = startDate.format('YYYY-MM-DD');
142
+ const startDate = (0, import_dayjs.default)(
143
+ (0, import_dayjs.default)().add(unit, unit_type).format("YYYY-MM-DD")
144
+ );
145
+ if (!latestStartDate || startDate.isAfter((0, import_dayjs.default)(latestStartDate), "day")) {
146
+ latestStartDate = startDate.format("YYYY-MM-DD");
189
147
  }
190
148
  }
191
- if (rule?.resourceFormIds?.length) {
192
- // 去重
193
- resourceFormIds = [...new Set([...resourceFormIds, ...rule?.resourceFormIds])];
149
+ if ((_b = rule == null ? void 0 : rule.resourceFormIds) == null ? void 0 : _b.length) {
150
+ resourceFormIds = [
151
+ .../* @__PURE__ */ new Set([...resourceFormIds, ...rule == null ? void 0 : rule.resourceFormIds])
152
+ ];
194
153
  }
195
154
  });
196
- newDates = newDates.map(date => {
197
- const disabledDate = {
198
- ...date,
199
- status: 'unavailable'
200
- };
201
- const hasScheduleConfig = rules.find(n => n.schedule?.length);
202
- // 如果外面穿了 schedule,但是这个时候scheduleMap为空,则设置为不可用
203
- // 这种情况为,商品设置了 5.1-5.31 可用,资源设置了 5.1-6.30 可用,session 类商品详情弹窗里里看到的6 月以后的日期都应该是不可用的
155
+ newDates = newDates.map((date) => {
156
+ var _a;
157
+ const disabledDate = { ...date, status: "unavailable" };
158
+ const hasScheduleConfig = rules.find((n) => {
159
+ var _a2;
160
+ return (_a2 = n.schedule) == null ? void 0 : _a2.length;
161
+ });
204
162
  if (Object.keys(scheduleMap).length === 0 && hasScheduleConfig) {
205
- return {
206
- ...date,
207
- color: '',
208
- status: 'unavailable'
209
- };
163
+ return { ...date, color: "", status: "unavailable" };
210
164
  }
211
- // 根据日程判断日期是否可用
212
165
  if (Object.keys(scheduleMap).length) {
213
166
  const schedule = scheduleMap[date.date];
214
- // 如果日程不存在 或者 日程存在但是需要排除,则设置为不可用
215
- if (!schedule || schedule?.isExcluded) {
216
- return {
217
- ...date,
218
- color: schedule?.color,
219
- status: 'unavailable'
220
- };
167
+ if (!schedule || (schedule == null ? void 0 : schedule.isExcluded)) {
168
+ return { ...date, color: schedule == null ? void 0 : schedule.color, status: "unavailable" };
221
169
  } else {
222
- date.color = schedule?.color;
223
- disabledDate.color = schedule?.color;
170
+ date.color = schedule == null ? void 0 : schedule.color;
171
+ disabledDate.color = schedule == null ? void 0 : schedule.color;
224
172
  }
225
173
  }
226
-
227
- // 如果资源不存在,则设置为不可用
228
- if (!date?.resource?.length) {
174
+ if (!((_a = date == null ? void 0 : date.resource) == null ? void 0 : _a.length)) {
229
175
  return disabledDate;
230
176
  }
231
177
  if (latestStartDate || earliestEndDate) {
232
- // 如果时间在最早开始时间之前,则设置为不可用
233
- if (latestStartDate && (0, _dayjs.default)(date.date).isBefore(latestStartDate, 'day')) {
178
+ if (latestStartDate && (0, import_dayjs.default)(date.date).isBefore(latestStartDate, "day")) {
234
179
  return disabledDate;
235
180
  }
236
- // 如果时间在最早结束时间之后,则设置为不可用
237
- if (earliestEndDate && (0, _dayjs.default)(date.date).isAfter(earliestEndDate, 'day')) {
181
+ if (earliestEndDate && (0, import_dayjs.default)(date.date).isAfter(earliestEndDate, "day")) {
238
182
  return disabledDate;
239
183
  }
240
184
  }
241
-
242
- // 如果存在资源form_id,则开始计算资源form_id在日期上是否全部存在
243
- if (resourceFormIds?.length) {
185
+ if (resourceFormIds == null ? void 0 : resourceFormIds.length) {
244
186
  let hasReourceCount = 0;
245
- resourceFormIds.forEach(formId => {
246
- if (date?.resource?.find(item => item.form_id === formId) !== undefined) {
187
+ resourceFormIds.forEach((formId) => {
188
+ var _a2;
189
+ if (((_a2 = date == null ? void 0 : date.resource) == null ? void 0 : _a2.find((item) => item.form_id === formId)) !== void 0) {
247
190
  hasReourceCount++;
248
191
  }
249
192
  });
250
- // 如果所需要的资源在日期上不足,则设置为不可用
251
193
  if (hasReourceCount < resourceFormIds.length) {
252
194
  return disabledDate;
253
195
  }
@@ -256,4 +198,11 @@ const handleAvailableDatesByRules = (dates, rules) => {
256
198
  });
257
199
  return newDates;
258
200
  };
259
- exports.handleAvailableDatesByRules = handleAvailableDatesByRules;
201
+ // Annotate the CommonJS export names for ESM import in node:
202
+ 0 && (module.exports = {
203
+ disableAllDates,
204
+ disableDatesBeforeOneDay,
205
+ generateMonthDates,
206
+ handleAvailableDateByResource,
207
+ handleAvailableDatesByRules
208
+ });
@@ -28,7 +28,6 @@ export declare class DiscountModule extends BaseModule implements Module, Discou
28
28
  request_timezone: string;
29
29
  order_id?: number | string;
30
30
  }): Promise<DiscountPrepareConfigResult>;
31
- private extractAvailableWalletIds;
32
31
  batchSearch(code: string, options?: {
33
32
  customerId?: number;
34
33
  orderId?: number;