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