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