@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,64 +1,88 @@
1
- "use strict";
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
18
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
19
+ // src/modules/Order/utils/orderCollectionIdentity.ts
20
+ var orderCollectionIdentity_exports = {};
21
+ __export(orderCollectionIdentity_exports, {
22
+ applyOrderCollectionUidRemaps: () => applyOrderCollectionUidRemaps,
23
+ buildOrderCollectionFallbackUid: () => buildOrderCollectionFallbackUid,
24
+ createUuidV4: () => createUuidV4,
25
+ getOrderCollectionPersistentId: () => getOrderCollectionPersistentId,
26
+ getOrderCollectionReferenceUid: () => getOrderCollectionReferenceUid,
27
+ getOrderCollectionUid: () => getOrderCollectionUid,
28
+ isBlankOrderCollectionIdentity: () => isBlankOrderCollectionIdentity,
29
+ isSameOrderCollectionItem: () => isSameOrderCollectionItem,
30
+ mergeOrderCollectionItems: () => mergeOrderCollectionItems,
31
+ normalizeOrderCollection: () => normalizeOrderCollection,
32
+ normalizeOrderCollections: () => normalizeOrderCollections,
33
+ setOrderCollectionUid: () => setOrderCollectionUid
5
34
  });
6
- exports.applyOrderCollectionUidRemaps = applyOrderCollectionUidRemaps;
7
- exports.buildOrderCollectionFallbackUid = buildOrderCollectionFallbackUid;
8
- exports.createUuidV4 = createUuidV4;
9
- exports.getOrderCollectionPersistentId = getOrderCollectionPersistentId;
10
- exports.getOrderCollectionReferenceUid = getOrderCollectionReferenceUid;
11
- exports.getOrderCollectionUid = getOrderCollectionUid;
12
- exports.isBlankOrderCollectionIdentity = isBlankOrderCollectionIdentity;
13
- exports.isSameOrderCollectionItem = isSameOrderCollectionItem;
14
- exports.mergeOrderCollectionItems = mergeOrderCollectionItems;
15
- exports.normalizeOrderCollection = normalizeOrderCollection;
16
- exports.normalizeOrderCollections = normalizeOrderCollections;
17
- exports.setOrderCollectionUid = setOrderCollectionUid;
18
- var _lodashEs = require("lodash-es");
19
- const IDENTITY_CONFIG = {
35
+ module.exports = __toCommonJS(orderCollectionIdentity_exports);
36
+ var import_lodash_es = require("lodash-es");
37
+ var IDENTITY_CONFIG = {
20
38
  product: {
21
- persistentIdField: 'order_detail_id',
22
- uidField: 'unique_identification_number',
23
- fallbackPrefix: 'os-fallback:product:order-detail'
39
+ persistentIdField: "order_detail_id",
40
+ uidField: "unique_identification_number",
41
+ fallbackPrefix: "os-fallback:product:order-detail"
24
42
  },
25
43
  booking: {
26
- persistentIdField: 'schedule_event_id',
27
- uidField: 'unique_identification_number',
28
- fallbackPrefix: 'os-fallback:booking:schedule-event'
44
+ persistentIdField: "schedule_event_id",
45
+ uidField: "unique_identification_number",
46
+ fallbackPrefix: "os-fallback:booking:schedule-event"
29
47
  },
30
48
  payment: {
31
- persistentIdField: 'order_payment_id',
32
- uidField: 'unique_payment_number',
33
- fallbackPrefix: 'os-fallback:payment:order-payment'
49
+ persistentIdField: "order_payment_id",
50
+ uidField: "unique_payment_number",
51
+ fallbackPrefix: "os-fallback:payment:order-payment"
34
52
  }
35
53
  };
36
54
  function createUuidV4() {
37
- const template = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
38
- return template.replace(/[xy]/g, char => {
55
+ const template = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
56
+ return template.replace(/[xy]/g, (char) => {
39
57
  const randomValue = Math.floor(Math.random() * 16);
40
- const value = char === 'x' ? randomValue : randomValue & 0x3 | 0x8;
58
+ const value = char === "x" ? randomValue : randomValue & 3 | 8;
41
59
  return value.toString(16);
42
60
  });
43
61
  }
44
62
  function isBlankOrderCollectionIdentity(value) {
45
- return value === undefined || value === null || value === '';
63
+ return value === void 0 || value === null || value === "";
46
64
  }
47
65
  function getOrderCollectionPersistentId(kind, item) {
48
66
  const record = item;
49
- if (!record) return null;
67
+ if (!record)
68
+ return null;
50
69
  const value = record[IDENTITY_CONFIG[kind].persistentIdField];
51
- if (isBlankOrderCollectionIdentity(value)) return null;
70
+ if (isBlankOrderCollectionIdentity(value))
71
+ return null;
52
72
  return String(value);
53
73
  }
54
74
  function getOrderCollectionUid(kind, item) {
75
+ var _a;
55
76
  const record = item;
56
- if (!record) return null;
77
+ if (!record)
78
+ return null;
57
79
  const uidField = IDENTITY_CONFIG[kind].uidField;
58
- const metadataValue = record.metadata?.[uidField];
59
- if (!isBlankOrderCollectionIdentity(metadataValue)) return String(metadataValue);
80
+ const metadataValue = (_a = record.metadata) == null ? void 0 : _a[uidField];
81
+ if (!isBlankOrderCollectionIdentity(metadataValue))
82
+ return String(metadataValue);
60
83
  const topLevelValue = record[uidField];
61
- if (isBlankOrderCollectionIdentity(topLevelValue)) return null;
84
+ if (isBlankOrderCollectionIdentity(topLevelValue))
85
+ return null;
62
86
  return String(topLevelValue);
63
87
  }
64
88
  function buildOrderCollectionFallbackUid(kind, persistentId) {
@@ -66,24 +90,21 @@ function buildOrderCollectionFallbackUid(kind, persistentId) {
66
90
  }
67
91
  function getOrderCollectionReferenceUid(kind, item) {
68
92
  const uid = getOrderCollectionUid(kind, item);
69
- if (uid) return uid;
93
+ if (uid)
94
+ return uid;
70
95
  const persistentId = getOrderCollectionPersistentId(kind, item);
71
96
  return persistentId ? buildOrderCollectionFallbackUid(kind, persistentId) : null;
72
97
  }
73
98
  function setOrderCollectionUid(kind, item, uid) {
74
- const record = (0, _lodashEs.cloneDeep)(item || {});
99
+ const record = (0, import_lodash_es.cloneDeep)(item || {});
75
100
  const uidField = IDENTITY_CONFIG[kind].uidField;
76
101
  record.metadata = {
77
- ...(record.metadata && typeof record.metadata === 'object' ? record.metadata : {}),
102
+ ...record.metadata && typeof record.metadata === "object" ? record.metadata : {},
78
103
  [uidField]: uid
79
104
  };
80
105
  delete record[uidField];
81
106
  return record;
82
107
  }
83
-
84
- /**
85
- * 持久化行 ID 是服务端事实主键;只有至少一侧尚未持久化时,才允许用 runtime UID 对齐。
86
- */
87
108
  function isSameOrderCollectionItem(kind, left, right) {
88
109
  const leftPersistentId = getOrderCollectionPersistentId(kind, left);
89
110
  const rightPersistentId = getOrderCollectionPersistentId(kind, right);
@@ -95,8 +116,9 @@ function isSameOrderCollectionItem(kind, left, right) {
95
116
  return Boolean(leftUid && rightUid && leftUid === rightUid);
96
117
  }
97
118
  function mergeOrderCollectionItems(kind, currentItem, incomingItem, options) {
98
- const current = (0, _lodashEs.cloneDeep)(currentItem || {});
99
- const incoming = (0, _lodashEs.cloneDeep)(incomingItem || {});
119
+ var _a;
120
+ const current = (0, import_lodash_es.cloneDeep)(currentItem || {});
121
+ const incoming = (0, import_lodash_es.cloneDeep)(incomingItem || {});
100
122
  const persistentIdField = IDENTITY_CONFIG[kind].persistentIdField;
101
123
  const currentPersistentIdValue = current[persistentIdField];
102
124
  const incomingPersistentIdValue = incoming[persistentIdField];
@@ -107,19 +129,19 @@ function mergeOrderCollectionItems(kind, currentItem, incomingItem, options) {
107
129
  ...current,
108
130
  ...incoming,
109
131
  metadata: {
110
- ...(current.metadata && typeof current.metadata === 'object' ? current.metadata : {}),
111
- ...(incoming.metadata && typeof incoming.metadata === 'object' ? incoming.metadata : {})
132
+ ...current.metadata && typeof current.metadata === "object" ? current.metadata : {},
133
+ ...incoming.metadata && typeof incoming.metadata === "object" ? incoming.metadata : {}
112
134
  }
113
135
  };
114
-
115
- // UID 对齐允许一侧尚未持久化,但稀疏 incoming 的 null/空值不能擦掉已存在行 ID。
116
136
  if (!isBlankOrderCollectionIdentity(incomingPersistentIdValue)) {
117
137
  merged[persistentIdField] = incomingPersistentIdValue;
118
138
  } else if (!isBlankOrderCollectionIdentity(currentPersistentIdValue)) {
119
139
  merged[persistentIdField] = currentPersistentIdValue;
120
140
  }
121
- const incomingUidIsDerived = Boolean(incomingUid && persistentId && (incomingUid === buildOrderCollectionFallbackUid(kind, persistentId) || incomingUid.startsWith(`${buildOrderCollectionFallbackUid(kind, persistentId)}:conflict:`)));
122
- const uid = (incomingUid && !incomingUidIsDerived ? incomingUid : null) || currentUid || incomingUid || (options?.ensureUid === false ? null : persistentId ? buildOrderCollectionFallbackUid(kind, persistentId) : options?.createAnonymousUid?.() || createUuidV4());
141
+ const incomingUidIsDerived = Boolean(
142
+ incomingUid && persistentId && (incomingUid === buildOrderCollectionFallbackUid(kind, persistentId) || incomingUid.startsWith(`${buildOrderCollectionFallbackUid(kind, persistentId)}:conflict:`))
143
+ );
144
+ const uid = (incomingUid && !incomingUidIsDerived ? incomingUid : null) || currentUid || incomingUid || ((options == null ? void 0 : options.ensureUid) === false ? null : persistentId ? buildOrderCollectionFallbackUid(kind, persistentId) : ((_a = options == null ? void 0 : options.createAnonymousUid) == null ? void 0 : _a.call(options)) || createUuidV4());
123
145
  return uid ? setOrderCollectionUid(kind, merged, uid) : merged;
124
146
  }
125
147
  function createEmptyIdentityStats() {
@@ -132,15 +154,14 @@ function createEmptyIdentityStats() {
132
154
  }
133
155
  function allocateAnonymousUid(occupiedUids, createAnonymousUid) {
134
156
  let uid = createAnonymousUid();
135
- while (occupiedUids.has(uid)) uid = createAnonymousUid();
157
+ while (occupiedUids.has(uid))
158
+ uid = createAnonymousUid();
136
159
  return uid;
137
160
  }
138
161
  function allocatePersistentConflictUid(kind, persistentId, occupiedUids) {
139
162
  const fallbackUid = buildOrderCollectionFallbackUid(kind, persistentId);
140
- if (!occupiedUids.has(fallbackUid)) return fallbackUid;
141
-
142
- // 极端情况下其它行可能把本行 fallback 当作显式 UID 使用;继续派生稳定后缀,
143
- // 避免修复冲突后仍留下重复 UID。规范化结果一旦持久化,后续读取保持幂等。
163
+ if (!occupiedUids.has(fallbackUid))
164
+ return fallbackUid;
144
165
  let suffix = 1;
145
166
  let candidate = `${fallbackUid}:conflict:${suffix}`;
146
167
  while (occupiedUids.has(candidate)) {
@@ -149,32 +170,38 @@ function allocatePersistentConflictUid(kind, persistentId, occupiedUids) {
149
170
  }
150
171
  return candidate;
151
172
  }
152
-
153
- /**
154
- * 规范化单一数组:强身份重复时保留首次位置、用最后一条业务字段覆盖,并统一补 UID。
155
- */
156
173
  function normalizeOrderCollection(kind, items, options) {
174
+ var _a, _b;
157
175
  const stats = createEmptyIdentityStats();
158
176
  const uidRemaps = [];
159
177
  const result = [];
160
- const ensureUid = options?.ensureUid !== false;
161
- const createAnonymousUid = options?.createAnonymousUid || createUuidV4;
178
+ const ensureUid = (options == null ? void 0 : options.ensureUid) !== false;
179
+ const createAnonymousUid = (options == null ? void 0 : options.createAnonymousUid) || createUuidV4;
162
180
  for (const rawItem of items || []) {
163
- const item = (0, _lodashEs.cloneDeep)(rawItem);
164
- const existingIndex = result.findIndex(existing => isSameOrderCollectionItem(kind, existing, item));
181
+ const item = (0, import_lodash_es.cloneDeep)(rawItem);
182
+ const existingIndex = result.findIndex(
183
+ (existing) => isSameOrderCollectionItem(kind, existing, item)
184
+ );
165
185
  if (existingIndex === -1) {
166
186
  result.push(item);
167
187
  continue;
168
188
  }
169
- const previousReferenceUid = getOrderCollectionReferenceUid(kind, result[existingIndex]);
189
+ const previousReferenceUid = getOrderCollectionReferenceUid(
190
+ kind,
191
+ result[existingIndex]
192
+ );
170
193
  const incomingReferenceUid = getOrderCollectionReferenceUid(kind, item);
171
- result[existingIndex] = mergeOrderCollectionItems(kind, result[existingIndex], item, {
172
- ensureUid: false
173
- });
194
+ result[existingIndex] = mergeOrderCollectionItems(
195
+ kind,
196
+ result[existingIndex],
197
+ item,
198
+ { ensureUid: false }
199
+ );
174
200
  const nextUid = getOrderCollectionUid(kind, result[existingIndex]);
175
201
  if (nextUid) {
176
- for (const from of new Set([previousReferenceUid, incomingReferenceUid])) {
177
- if (!from || from === nextUid) continue;
202
+ for (const from of /* @__PURE__ */ new Set([previousReferenceUid, incomingReferenceUid])) {
203
+ if (!from || from === nextUid)
204
+ continue;
178
205
  uidRemaps.push({
179
206
  kind,
180
207
  from,
@@ -185,12 +212,9 @@ function normalizeOrderCollection(kind, items, options) {
185
212
  }
186
213
  stats.collapsedDuplicateCount += 1;
187
214
  }
188
- if (!ensureUid) return {
189
- items: result,
190
- stats,
191
- uidRemaps
192
- };
193
- const occupiedUids = new Set();
215
+ if (!ensureUid)
216
+ return { items: result, stats, uidRemaps };
217
+ const occupiedUids = /* @__PURE__ */ new Set();
194
218
  for (let index = 0; index < result.length; index += 1) {
195
219
  let item = result[index];
196
220
  const persistentId = getOrderCollectionPersistentId(kind, item);
@@ -200,7 +224,8 @@ function normalizeOrderCollection(kind, items, options) {
200
224
  item = setOrderCollectionUid(kind, item, uid);
201
225
  result[index] = item;
202
226
  stats.backfilledUidCount += 1;
203
- if (!persistentId) stats.anonymousRowCount += 1;
227
+ if (!persistentId)
228
+ stats.anonymousRowCount += 1;
204
229
  }
205
230
  if (occupiedUids.has(uid)) {
206
231
  const replacementUid = persistentId ? allocatePersistentConflictUid(kind, persistentId, occupiedUids) : allocateAnonymousUid(occupiedUids, createAnonymousUid);
@@ -210,120 +235,123 @@ function normalizeOrderCollection(kind, items, options) {
210
235
  from: uid,
211
236
  to: replacementUid,
212
237
  persistentId,
213
- scope: 'linked-owner',
214
- referenceOwnerUid: kind === 'product' ? String(item?.booking_uid || item?.metadata?.booking_uid || '') || null : kind === 'booking' ? String(item?.product_uid || item?.metadata?.product_uid || '') || null : null
238
+ scope: "linked-owner",
239
+ referenceOwnerUid: kind === "product" ? String(
240
+ (item == null ? void 0 : item.booking_uid) || ((_a = item == null ? void 0 : item.metadata) == null ? void 0 : _a.booking_uid) || ""
241
+ ) || null : kind === "booking" ? String(
242
+ (item == null ? void 0 : item.product_uid) || ((_b = item == null ? void 0 : item.metadata) == null ? void 0 : _b.product_uid) || ""
243
+ ) || null : null
215
244
  });
216
245
  uid = replacementUid;
217
246
  stats.uidConflictCount += 1;
218
247
  }
219
248
  occupiedUids.add(uid);
220
249
  }
221
- return {
222
- items: result,
223
- stats,
224
- uidRemaps
225
- };
250
+ return { items: result, stats, uidRemaps };
226
251
  }
227
252
  function applyOrderCollectionUidRemaps(sourceOrder, uidRemaps) {
228
- if (!uidRemaps.length) return sourceOrder;
229
- const order = (0, _lodashEs.cloneDeep)(sourceOrder);
230
- const hasAmbiguousLinkedOwner = remap => {
231
- if (remap.scope !== 'linked-owner' || !remap.referenceOwnerUid) return false;
232
- const ownerKind = remap.kind === 'product' ? 'booking' : remap.kind === 'booking' ? 'product' : null;
233
- if (!ownerKind) return false;
234
- return uidRemaps.some(candidate => candidate.scope === 'linked-owner' && candidate.kind === ownerKind && candidate.from === remap.referenceOwnerUid);
253
+ var _a, _b, _c, _d, _e;
254
+ if (!uidRemaps.length)
255
+ return sourceOrder;
256
+ const order = (0, import_lodash_es.cloneDeep)(sourceOrder);
257
+ const hasAmbiguousLinkedOwner = (remap) => {
258
+ if (remap.scope !== "linked-owner" || !remap.referenceOwnerUid)
259
+ return false;
260
+ const ownerKind = remap.kind === "product" ? "booking" : remap.kind === "booking" ? "product" : null;
261
+ if (!ownerKind)
262
+ return false;
263
+ return uidRemaps.some(
264
+ (candidate) => candidate.scope === "linked-owner" && candidate.kind === ownerKind && candidate.from === remap.referenceOwnerUid
265
+ );
235
266
  };
236
267
  for (const remap of uidRemaps) {
237
- if (remap.from === remap.to) continue;
268
+ if (remap.from === remap.to)
269
+ continue;
238
270
  const linkedOwnerIsAmbiguous = hasAmbiguousLinkedOwner(remap);
239
- if (remap.kind === 'product') {
271
+ if (remap.kind === "product") {
240
272
  for (const booking of order.bookings || []) {
241
- if (remap.scope === 'linked-owner' && (linkedOwnerIsAmbiguous || getOrderCollectionUid('booking', booking) !== remap.referenceOwnerUid)) {
273
+ if (remap.scope === "linked-owner" && (linkedOwnerIsAmbiguous || getOrderCollectionUid("booking", booking) !== remap.referenceOwnerUid)) {
242
274
  continue;
243
275
  }
244
- if (String(booking?.product_uid || '') === remap.from) {
276
+ if (String((booking == null ? void 0 : booking.product_uid) || "") === remap.from) {
245
277
  booking.product_uid = remap.to;
246
278
  }
247
- if (String(booking?.metadata?.product_uid || '') === remap.from) {
248
- booking.metadata = {
249
- ...(booking.metadata || {}),
250
- product_uid: remap.to
251
- };
279
+ if (String(((_a = booking == null ? void 0 : booking.metadata) == null ? void 0 : _a.product_uid) || "") === remap.from) {
280
+ booking.metadata = { ...booking.metadata || {}, product_uid: remap.to };
252
281
  }
253
282
  }
254
- // 冲突 UID 仍由第一条持有;赠品父引用缺少可用的持久化行定位时不能全局改写。
255
- if (remap.scope !== 'linked-owner') {
283
+ if (remap.scope !== "linked-owner") {
256
284
  for (const product of order.products || []) {
257
- if (String(product?.metadata?.parent_unique_identification_number || '') === remap.from) {
285
+ if (String(((_b = product == null ? void 0 : product.metadata) == null ? void 0 : _b.parent_unique_identification_number) || "") === remap.from) {
258
286
  product.metadata = {
259
- ...(product.metadata || {}),
287
+ ...product.metadata || {},
260
288
  parent_unique_identification_number: remap.to
261
289
  };
262
290
  }
263
- const giftInfo = product?.metadata?._giftInfo;
264
- if (giftInfo && typeof giftInfo === 'object') {
265
- const sourceProductIds = Array.isArray(giftInfo.sourceProductIds) ? giftInfo.sourceProductIds.map(uid => String(uid) === remap.from ? remap.to : uid) : giftInfo.sourceProductIds;
266
- const sourceProductId = String(giftInfo.sourceProductId || '') === remap.from ? remap.to : giftInfo.sourceProductId;
291
+ const giftInfo = (_c = product == null ? void 0 : product.metadata) == null ? void 0 : _c._giftInfo;
292
+ if (giftInfo && typeof giftInfo === "object") {
293
+ const sourceProductIds = Array.isArray(giftInfo.sourceProductIds) ? giftInfo.sourceProductIds.map(
294
+ (uid) => String(uid) === remap.from ? remap.to : uid
295
+ ) : giftInfo.sourceProductIds;
296
+ const sourceProductId = String(giftInfo.sourceProductId || "") === remap.from ? remap.to : giftInfo.sourceProductId;
267
297
  product.metadata = {
268
- ...(product.metadata || {}),
298
+ ...product.metadata || {},
269
299
  _giftInfo: {
270
300
  ...giftInfo,
271
- ...(sourceProductIds !== undefined ? {
272
- sourceProductIds
273
- } : {}),
274
- ...(sourceProductId !== undefined ? {
275
- sourceProductId
276
- } : {})
301
+ ...sourceProductIds !== void 0 ? { sourceProductIds } : {},
302
+ ...sourceProductId !== void 0 ? { sourceProductId } : {}
277
303
  }
278
304
  };
279
305
  }
280
306
  }
281
307
  }
282
- const productsByUid = order._extend?.productsByUid;
283
- const cachedProduct = productsByUid?.[remap.from];
284
- const cachedPersistentId = getOrderCollectionPersistentId('product', cachedProduct?.origin || cachedProduct);
285
- if (productsByUid && remap.scope === 'linked-owner') {
286
- const retainedProduct = (order.products || []).find(product => getOrderCollectionUid('product', product) === remap.from);
287
- const remappedProduct = (order.products || []).find(product => getOrderCollectionUid('product', product) === remap.to);
308
+ const productsByUid = (_d = order._extend) == null ? void 0 : _d.productsByUid;
309
+ const cachedProduct = productsByUid == null ? void 0 : productsByUid[remap.from];
310
+ const cachedPersistentId = getOrderCollectionPersistentId(
311
+ "product",
312
+ (cachedProduct == null ? void 0 : cachedProduct.origin) || cachedProduct
313
+ );
314
+ if (productsByUid && remap.scope === "linked-owner") {
315
+ const retainedProduct = (order.products || []).find(
316
+ (product) => getOrderCollectionUid("product", product) === remap.from
317
+ );
318
+ const remappedProduct = (order.products || []).find(
319
+ (product) => getOrderCollectionUid("product", product) === remap.to
320
+ );
288
321
  if (cachedProduct && remap.persistentId && cachedPersistentId === remap.persistentId) {
289
322
  productsByUid[remap.to] = {
290
- ...(cachedProduct || {}),
291
- ...(productsByUid[remap.to] || {})
323
+ ...cachedProduct || {},
324
+ ...productsByUid[remap.to] || {}
292
325
  };
293
326
  if (retainedProduct) {
294
327
  productsByUid[remap.from] = {
295
- ...(cachedProduct || {}),
296
- origin: (0, _lodashEs.cloneDeep)(retainedProduct)
328
+ ...cachedProduct || {},
329
+ origin: (0, import_lodash_es.cloneDeep)(retainedProduct)
297
330
  };
298
331
  }
299
332
  } else if (remappedProduct && !productsByUid[remap.to]) {
300
- productsByUid[remap.to] = {
301
- origin: (0, _lodashEs.cloneDeep)(remappedProduct)
302
- };
333
+ productsByUid[remap.to] = { origin: (0, import_lodash_es.cloneDeep)(remappedProduct) };
303
334
  }
304
335
  continue;
305
336
  }
306
- if (cachedProduct && remap.scope !== 'linked-owner') {
337
+ if (cachedProduct && remap.scope !== "linked-owner") {
307
338
  productsByUid[remap.to] = {
308
- ...(cachedProduct || {}),
309
- ...(productsByUid[remap.to] || {})
339
+ ...cachedProduct || {},
340
+ ...productsByUid[remap.to] || {}
310
341
  };
311
342
  delete productsByUid[remap.from];
312
343
  }
313
344
  }
314
- if (remap.kind === 'booking') {
345
+ if (remap.kind === "booking") {
315
346
  for (const product of order.products || []) {
316
- if (remap.scope === 'linked-owner' && (linkedOwnerIsAmbiguous || getOrderCollectionUid('product', product) !== remap.referenceOwnerUid)) {
347
+ if (remap.scope === "linked-owner" && (linkedOwnerIsAmbiguous || getOrderCollectionUid("product", product) !== remap.referenceOwnerUid)) {
317
348
  continue;
318
349
  }
319
- if (String(product?.booking_uid || '') === remap.from) {
350
+ if (String((product == null ? void 0 : product.booking_uid) || "") === remap.from) {
320
351
  product.booking_uid = remap.to;
321
352
  }
322
- if (String(product?.metadata?.booking_uid || '') === remap.from) {
323
- product.metadata = {
324
- ...(product.metadata || {}),
325
- booking_uid: remap.to
326
- };
353
+ if (String(((_e = product == null ? void 0 : product.metadata) == null ? void 0 : _e.booking_uid) || "") === remap.from) {
354
+ product.metadata = { ...product.metadata || {}, booking_uid: remap.to };
327
355
  }
328
356
  }
329
357
  }
@@ -331,15 +359,34 @@ function applyOrderCollectionUidRemaps(sourceOrder, uidRemaps) {
331
359
  return order;
332
360
  }
333
361
  function normalizeOrderCollections(sourceOrder, options) {
334
- let order = (0, _lodashEs.cloneDeep)(sourceOrder || {});
362
+ let order = (0, import_lodash_es.cloneDeep)(sourceOrder || {});
335
363
  const orderRecord = order;
336
- const productResult = normalizeOrderCollection('product', Array.isArray(orderRecord.products) ? orderRecord.products : [], options);
337
- const bookingResult = normalizeOrderCollection('booking', Array.isArray(orderRecord.bookings) ? orderRecord.bookings : [], options);
338
- const paymentResult = normalizeOrderCollection('payment', Array.isArray(orderRecord.payments) ? orderRecord.payments : [], options);
339
- if (Array.isArray(orderRecord.products)) orderRecord.products = productResult.items;
340
- if (Array.isArray(orderRecord.bookings)) orderRecord.bookings = bookingResult.items;
341
- if (Array.isArray(orderRecord.payments)) orderRecord.payments = paymentResult.items;
342
- const uidRemaps = [...productResult.uidRemaps, ...bookingResult.uidRemaps, ...paymentResult.uidRemaps];
364
+ const productResult = normalizeOrderCollection(
365
+ "product",
366
+ Array.isArray(orderRecord.products) ? orderRecord.products : [],
367
+ options
368
+ );
369
+ const bookingResult = normalizeOrderCollection(
370
+ "booking",
371
+ Array.isArray(orderRecord.bookings) ? orderRecord.bookings : [],
372
+ options
373
+ );
374
+ const paymentResult = normalizeOrderCollection(
375
+ "payment",
376
+ Array.isArray(orderRecord.payments) ? orderRecord.payments : [],
377
+ options
378
+ );
379
+ if (Array.isArray(orderRecord.products))
380
+ orderRecord.products = productResult.items;
381
+ if (Array.isArray(orderRecord.bookings))
382
+ orderRecord.bookings = bookingResult.items;
383
+ if (Array.isArray(orderRecord.payments))
384
+ orderRecord.payments = paymentResult.items;
385
+ const uidRemaps = [
386
+ ...productResult.uidRemaps,
387
+ ...bookingResult.uidRemaps,
388
+ ...paymentResult.uidRemaps
389
+ ];
343
390
  order = applyOrderCollectionUidRemaps(order, uidRemaps);
344
391
  return {
345
392
  order,
@@ -350,4 +397,19 @@ function normalizeOrderCollections(sourceOrder, options) {
350
397
  },
351
398
  uidRemaps
352
399
  };
353
- }
400
+ }
401
+ // Annotate the CommonJS export names for ESM import in node:
402
+ 0 && (module.exports = {
403
+ applyOrderCollectionUidRemaps,
404
+ buildOrderCollectionFallbackUid,
405
+ createUuidV4,
406
+ getOrderCollectionPersistentId,
407
+ getOrderCollectionReferenceUid,
408
+ getOrderCollectionUid,
409
+ isBlankOrderCollectionIdentity,
410
+ isSameOrderCollectionItem,
411
+ mergeOrderCollectionItems,
412
+ normalizeOrderCollection,
413
+ normalizeOrderCollections,
414
+ setOrderCollectionUid
415
+ });