@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,35 +1,56 @@
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/solution/BookingTicket/utils/scan/handleScan.ts
30
+ var handleScan_exports = {};
31
+ __export(handleScan_exports, {
32
+ handleCustomerScan: () => handleCustomerScan,
33
+ handleGlobalScan: () => handleGlobalScan,
34
+ handleUniversalScan: () => handleUniversalScan
5
35
  });
6
- exports.handleUniversalScan = exports.handleGlobalScan = exports.handleCustomerScan = void 0;
7
- var _cloudSearch = require("./cloudSearch");
8
- var _scanCache = _interopRequireDefault(require("./scanCache"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- /**
11
- * Promise.any 的替代实现
12
- * 返回第一个成功解析的 Promise,如果所有 Promise 都失败则抛出错误
13
- * @param promises Promise 数组
14
- * @returns 第一个成功的结果
15
- */
16
- const promiseAny = async promises => {
36
+ module.exports = __toCommonJS(handleScan_exports);
37
+ var import_cloudSearch = require("./cloudSearch");
38
+ var import_scanCache = __toESM(require("./scanCache"));
39
+ var promiseAny = async (promises) => {
17
40
  if (promises.length === 0) {
18
- throw new Error('No promises provided');
41
+ throw new Error("No promises provided");
19
42
  }
20
43
  const errors = [];
21
44
  let completedCount = 0;
22
45
  return new Promise((resolve, reject) => {
23
46
  promises.forEach((promise, index) => {
24
- promise.then(result => {
47
+ promise.then((result) => {
25
48
  resolve(result);
26
- }).catch(error => {
49
+ }).catch((error) => {
27
50
  errors[index] = error;
28
51
  completedCount++;
29
-
30
- // 如果所有 Promise 都失败了,抛出包含所有错误的错误
31
52
  if (completedCount === promises.length) {
32
- const errorMessage = `All promises were rejected. Errors: ${errors.map(e => e.message).join(', ')}`;
53
+ const errorMessage = `All promises were rejected. Errors: ${errors.map((e) => e.message).join(", ")}`;
33
54
  const combinedError = new Error(errorMessage);
34
55
  combinedError.errors = errors;
35
56
  reject(combinedError);
@@ -38,99 +59,75 @@ const promiseAny = async promises => {
38
59
  });
39
60
  });
40
61
  };
41
-
42
- /**
43
- * 处理扫码
44
- * @param getRequestList 获取请求列表
45
- * @returns 处理结果
46
- */
47
- const handleScanFn = (getRequestList, localSearch) => {
48
- return async scanResult => {
49
- const {
50
- value
51
- } = scanResult || {};
52
-
53
- // 本地解析识别码
62
+ var handleScanFn = (getRequestList, localSearch) => {
63
+ return async (scanResult) => {
64
+ const { value } = scanResult || {};
54
65
  if (localSearch) {
55
66
  try {
56
- const localResult = localSearch?.(value);
57
- if (localResult?.length > 0) {
67
+ const localResult = localSearch == null ? void 0 : localSearch(value);
68
+ if ((localResult == null ? void 0 : localResult.length) > 0) {
69
+ console.log("本地搜索到数据>>>>>>>", localResult);
58
70
  return {
59
- searchType: 'local_product',
60
- response: {
61
- data: {
62
- list: localResult
63
- }
64
- }
71
+ searchType: "local_product",
72
+ response: { data: { list: localResult } }
65
73
  };
66
- } else {}
74
+ } else {
75
+ console.log("本地搜索无数据>>>>>>>");
76
+ }
67
77
  } catch (error) {
68
- console.error('本地搜索到数据失败>>>>>>>', error);
78
+ console.error("本地搜索到数据失败>>>>>>>", error);
69
79
  }
70
80
  }
71
-
72
- // 检查缓存中是否已有数据
73
81
  try {
74
- if (_scanCache.default.has(value)) {
75
- const result = _scanCache.default.get(value);
82
+ if (import_scanCache.default.has(value)) {
83
+ const result = import_scanCache.default.get(value);
84
+ console.log("缓存中搜索到数据>>>>>>>", result);
76
85
  return result;
77
- } else {}
86
+ } else {
87
+ console.log("缓存中无数据>>>>>>>");
88
+ }
78
89
  } catch (error) {
79
- console.error('缓存中搜索数据失败>>>>>>>', error);
90
+ console.error("缓存中搜索数据失败>>>>>>>", error);
80
91
  }
81
- const requestList = getRequestList?.(value) || [];
92
+ const requestList = (getRequestList == null ? void 0 : getRequestList(value)) || [];
82
93
  if (requestList.length === 0) {
83
- throw new Error('requestList is empty');
94
+ throw new Error("requestList is empty");
84
95
  }
85
96
  try {
86
97
  const result = await promiseAny(requestList);
87
- // 将结果缓存
88
- _scanCache.default.set(value, result);
98
+ import_scanCache.default.set(value, result);
89
99
  return result;
90
100
  } catch (error) {
91
101
  throw error;
92
102
  }
93
103
  };
94
104
  };
95
-
96
- /**
97
- * 处理全局扫码
98
- * @param request 请求插件
99
- * @param localSearch 本地商品搜索
100
- * @param channel 当前销售渠道
101
- * @returns 处理结果
102
- */
103
- const handleGlobalScan = (request, localSearch, channel) => {
104
- const getRequestList = value => {
105
+ var handleGlobalScan = (request, localSearch, channel) => {
106
+ const getRequestList = (value) => {
105
107
  let requestList = [];
106
- // 如果value是已WL开头的,则认为是钱包识别码
107
- if (value.startsWith('WL')) {
108
- requestList = [(0, _cloudSearch.searchWallet)(request, value)];
108
+ if (value.startsWith("WL")) {
109
+ requestList = [(0, import_cloudSearch.searchWallet)(request, value)];
109
110
  } else {
110
- requestList = [...(channel === 'kiosk' ? [] : [(0, _cloudSearch.searchOrder)(request, value)]), (0, _cloudSearch.searchWalletPass)(request, value), (0, _cloudSearch.searchWallet)(request, value), (0, _cloudSearch.searchProduct)(request, value)];
111
+ requestList = [
112
+ ...channel === "kiosk" ? [] : [(0, import_cloudSearch.searchOrder)(request, value)],
113
+ (0, import_cloudSearch.searchWalletPass)(request, value),
114
+ (0, import_cloudSearch.searchWallet)(request, value),
115
+ (0, import_cloudSearch.searchProduct)(request, value)
116
+ ];
111
117
  }
112
118
  return requestList;
113
119
  };
114
120
  return handleScanFn(getRequestList, localSearch);
115
121
  };
116
-
117
- /**
118
- * 处理客户扫码
119
- * @param request 请求插件
120
- * @returns 处理结果
121
- */
122
- exports.handleGlobalScan = handleGlobalScan;
123
- const handleCustomerScan = () => {
122
+ var handleCustomerScan = () => {
124
123
  return () => Promise.resolve({});
125
124
  };
126
-
127
- /**
128
- * 处理钱包扫码
129
- * @param request 请求插件
130
- * @returns 处理结果
131
- */
132
- exports.handleCustomerScan = handleCustomerScan;
133
- const handleUniversalScan = () => {
125
+ var handleUniversalScan = () => {
134
126
  return () => Promise.resolve({});
135
127
  };
136
- exports.handleUniversalScan = handleUniversalScan;
128
+ // Annotate the CommonJS export names for ESM import in node:
129
+ 0 && (module.exports = {
130
+ handleCustomerScan,
131
+ handleGlobalScan,
132
+ handleUniversalScan
133
+ });
@@ -1,33 +1,46 @@
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/solution/BookingTicket/utils/scan/index.ts
30
+ var scan_exports = {};
31
+ __export(scan_exports, {
32
+ default: () => Scan
5
33
  });
6
- exports.default = void 0;
7
- var _watch = _interopRequireDefault(require("../../../../utils/watch"));
8
- var _task = _interopRequireDefault(require("../../../../utils/task"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- var ScanResultType = /*#__PURE__*/function (ScanResultType) {
11
- ScanResultType["Scanner"] = "scanner";
12
- ScanResultType["NFC"] = "nfc";
13
- ScanResultType["NativeScanner"] = "nativeScanner";
14
- return ScanResultType;
15
- }(ScanResultType || {});
16
- class Scan {
17
- static scanInstances = new Set();
18
- static peripheralsListenerMounted = false;
19
- solution;
20
- watchKey;
21
- listenerConfig = new Map();
34
+ module.exports = __toCommonJS(scan_exports);
35
+ var import_watch = __toESM(require("../../../../utils/watch"));
36
+ var import_task = __toESM(require("../../../../utils/task"));
37
+ var _Scan = class {
22
38
  constructor(solution, watchKey) {
39
+ this.listenerConfig = /* @__PURE__ */ new Map();
23
40
  this.solution = solution;
24
41
  this.watchKey = watchKey;
25
- Scan.scanInstances.add(this);
26
-
27
- // 初始化扫码监听
28
- // this.initPeripheralsListener();
42
+ _Scan.scanInstances.add(this);
29
43
  }
30
-
31
44
  /**
32
45
  * 初始化外设扫码结果监听
33
46
  *
@@ -35,27 +48,34 @@ class Scan {
35
48
  * scan.initPeripheralsListener();
36
49
  */
37
50
  initPeripheralsListener() {
38
- if (Scan.peripheralsListenerMounted) return;
39
- Scan.peripheralsListenerMounted = true;
40
- this.solution?.window?.interaction?.utils?.mountFunction?.('global', 'peripheralsResult', strVal => {
41
- try {
42
- const result = JSON.parse(strVal);
43
- Scan.scanInstances.forEach(instance => {
44
- instance.handleScan(result);
45
- });
46
- } catch (err) {
47
- console.error(err);
51
+ var _a, _b, _c, _d, _e;
52
+ if (_Scan.peripheralsListenerMounted)
53
+ return;
54
+ _Scan.peripheralsListenerMounted = true;
55
+ (_e = (_d = (_c = (_b = (_a = this.solution) == null ? void 0 : _a.window) == null ? void 0 : _b.interaction) == null ? void 0 : _c.utils) == null ? void 0 : _d.mountFunction) == null ? void 0 : _e.call(
56
+ _d,
57
+ "global",
58
+ "peripheralsResult",
59
+ (strVal) => {
60
+ try {
61
+ const result = JSON.parse(strVal);
62
+ console.log("nativeScannerResult>>>>>>>", result);
63
+ _Scan.scanInstances.forEach((instance) => {
64
+ instance.handleScan(result);
65
+ });
66
+ } catch (err) {
67
+ console.error(err);
68
+ }
48
69
  }
49
- });
70
+ );
50
71
  }
51
-
52
72
  /**
53
73
  * 处理扫码事件
54
74
  * @param eventKey 事件key
55
75
  * @param value 扫码结果
56
76
  */
57
77
  handleScan(result) {
58
- const lastEnableEventKey = _watch.default.getLastEnableEventKey(this.watchKey);
78
+ const lastEnableEventKey = import_watch.default.getLastEnableEventKey(this.watchKey);
59
79
  if (lastEnableEventKey) {
60
80
  const listenerConfig = this.listenerConfig.get(lastEnableEventKey);
61
81
  if (listenerConfig) {
@@ -70,131 +90,115 @@ class Scan {
70
90
  }
71
91
  }
72
92
  }
73
-
74
93
  /**
75
94
  * 生成uuid
76
95
  * @returns uuid
77
96
  */
78
97
  generateUuid() {
79
- // 需要加入时间戳,避免重复
80
98
  return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15) + Date.now().toString(36);
81
99
  }
82
-
83
100
  /**
84
101
  * 添加扫码信息监听
85
102
  * @param watchKey 监听的key
86
103
  * @param event 事件
87
104
  */
88
105
  addListener(event, scanCallback) {
89
- // 订阅事件
90
- _watch.default.subscribe(this.watchKey, event);
91
- // 创建任务
92
- const task = new _task.default();
93
- task.addAction(event.key, (...args) => this.scanTaskAction(event.key, ...args));
94
-
95
- // 创建监听配置
96
- this.listenerConfig.set(event.key, {
97
- scanCallback,
98
- task
99
- });
106
+ import_watch.default.subscribe(this.watchKey, event);
107
+ const task = new import_task.default();
108
+ task.addAction(
109
+ event.key,
110
+ (...args) => this.scanTaskAction(event.key, ...args)
111
+ );
112
+ this.listenerConfig.set(event.key, { scanCallback, task });
100
113
  return {
101
114
  remove: () => {
102
115
  this.removeListener(event);
103
116
  }
104
117
  };
105
118
  }
106
-
107
119
  /**
108
120
  * 移除扫码信息监听
109
121
  * @param watchKey 监听的key
110
122
  * @param event 事件
111
123
  */
112
124
  removeListener(event) {
113
- _watch.default.unsubscribe(this.watchKey, event);
114
- this.listenerConfig.get(event.key)?.task?.clear();
125
+ var _a, _b;
126
+ import_watch.default.unsubscribe(this.watchKey, event);
127
+ (_b = (_a = this.listenerConfig.get(event.key)) == null ? void 0 : _a.task) == null ? void 0 : _b.clear();
115
128
  this.listenerConfig.delete(event.key);
116
129
  }
117
-
118
130
  /**
119
131
  * 移除所有监听
120
132
  */
121
133
  removeAllListeners() {
122
- Scan.scanInstances.delete(this);
123
- _watch.default.clearEvent(this.watchKey);
124
- this.listenerConfig?.forEach?.(item => {
125
- item?.task?.clear();
134
+ var _a, _b, _c, _d;
135
+ _Scan.scanInstances.delete(this);
136
+ import_watch.default.clearEvent(this.watchKey);
137
+ (_b = (_a = this.listenerConfig) == null ? void 0 : _a.forEach) == null ? void 0 : _b.call(_a, (item) => {
138
+ var _a2;
139
+ (_a2 = item == null ? void 0 : item.task) == null ? void 0 : _a2.clear();
126
140
  });
127
- this.listenerConfig?.clear?.();
141
+ (_d = (_c = this.listenerConfig) == null ? void 0 : _c.clear) == null ? void 0 : _d.call(_c);
128
142
  }
129
-
130
143
  /**
131
144
  * 启用所有监听
132
145
  */
133
146
  enableAllListeners() {
134
- _watch.default.enableAllEventByWatchKey(this.watchKey);
147
+ import_watch.default.enableAllEventByWatchKey(this.watchKey);
135
148
  }
136
-
137
149
  /**
138
150
  * 禁用所有监听,并清空任务执行队列
139
151
  */
140
152
  disableAllListeners() {
141
- _watch.default.disabledAllEventByWatchKey(this.watchKey);
142
- // 清空任务
143
- this.listenerConfig?.forEach?.(item => {
144
- item?.task?.clearTaskQueue();
153
+ var _a, _b;
154
+ import_watch.default.disabledAllEventByWatchKey(this.watchKey);
155
+ (_b = (_a = this.listenerConfig) == null ? void 0 : _a.forEach) == null ? void 0 : _b.call(_a, (item) => {
156
+ var _a2;
157
+ (_a2 = item == null ? void 0 : item.task) == null ? void 0 : _a2.clearTaskQueue();
145
158
  });
146
159
  }
147
-
148
160
  /**
149
161
  * 清空监听对应的任务执行队列,不传入eventKey则清空所有监听对应的任务执行队列
150
162
  * @param eventKey 事件key
151
163
  */
152
164
  clearTaskQueue(eventKey) {
165
+ var _a, _b, _c;
166
+ console.log("clearTaskQueue>>>>>>>", eventKey);
153
167
  if (eventKey) {
154
- this.listenerConfig.get(eventKey)?.task.clearTaskQueue();
168
+ (_a = this.listenerConfig.get(eventKey)) == null ? void 0 : _a.task.clearTaskQueue();
155
169
  } else {
156
- this.listenerConfig?.forEach?.(item => {
157
- item?.task?.clearTaskQueue();
170
+ (_c = (_b = this.listenerConfig) == null ? void 0 : _b.forEach) == null ? void 0 : _c.call(_b, (item) => {
171
+ var _a2;
172
+ (_a2 = item == null ? void 0 : item.task) == null ? void 0 : _a2.clearTaskQueue();
158
173
  });
159
174
  }
160
175
  }
161
-
162
176
  /**
163
177
  * 获取监听配置
164
178
  * @param eventKey 事件key
165
179
  * @returns 监听配置
166
180
  */
167
181
  getListenerConfig(eventKey) {
168
- return this.listenerConfig?.get(eventKey);
182
+ var _a;
183
+ return (_a = this.listenerConfig) == null ? void 0 : _a.get(eventKey);
169
184
  }
170
-
171
185
  /**
172
186
  * 扫码任务执行函数
173
187
  * @param args 参数
174
188
  */
175
189
  async scanTaskAction(...args) {
176
190
  const [eventKey, other] = args;
177
- const {
178
- type,
179
- value,
180
- data
181
- } = other?.scanResult || {};
182
- const taskItemUuid = other?.uuid;
183
- const {
184
- scanCallback,
185
- task
186
- } = this.getListenerConfig(eventKey) || {};
191
+ const { type, value, data } = (other == null ? void 0 : other.scanResult) || {};
192
+ const taskItemUuid = other == null ? void 0 : other.uuid;
193
+ const { scanCallback, task } = this.getListenerConfig(eventKey) || {};
187
194
  if (scanCallback) {
188
195
  try {
189
- const result = await scanCallback({
190
- type,
191
- value
192
- });
193
- // 如果任务存在,则发布结果
194
- if (taskItemUuid && task?.isTaskExist(taskItemUuid)) {
195
- _watch.default.publishByEventKey(this.watchKey, eventKey, {
196
+ const result = await scanCallback({ type, value });
197
+ console.log(`${eventKey}_result>>>>>>>`, result);
198
+ if (taskItemUuid && (task == null ? void 0 : task.isTaskExist(taskItemUuid))) {
199
+ import_watch.default.publishByEventKey(this.watchKey, eventKey, {
196
200
  type: eventKey,
197
- status: 'success',
201
+ status: "success",
198
202
  scanType: type,
199
203
  scanCode: value,
200
204
  scanData: data,
@@ -204,11 +208,11 @@ class Scan {
204
208
  console.warn(`${eventKey}_result_task_not_exist>>>>>>>`, task);
205
209
  }
206
210
  } catch (error) {
207
- // 如果任务存在,则发布结果
208
- if (taskItemUuid && task?.isTaskExist(taskItemUuid)) {
209
- _watch.default.publishByEventKey(this.watchKey, eventKey, {
211
+ console.log(`${eventKey}_result_error>>>>>>>`, error);
212
+ if (taskItemUuid && (task == null ? void 0 : task.isTaskExist(taskItemUuid))) {
213
+ import_watch.default.publishByEventKey(this.watchKey, eventKey, {
210
214
  type: eventKey,
211
- status: 'failed',
215
+ status: "failed",
212
216
  scanType: type,
213
217
  scanCode: value,
214
218
  scanData: data
@@ -219,5 +223,7 @@ class Scan {
219
223
  }
220
224
  }
221
225
  }
222
- }
223
- exports.default = Scan;
226
+ };
227
+ var Scan = _Scan;
228
+ Scan.scanInstances = /* @__PURE__ */ new Set();
229
+ Scan.peripheralsListenerMounted = false;