@shadowmkj/plugin-ecommerce 3.85.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 (369) hide show
  1. package/LICENSE.md +22 -0
  2. package/README.md +3 -0
  3. package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
  4. package/dist/collections/addresses/createAddressesCollection.js +73 -0
  5. package/dist/collections/addresses/createAddressesCollection.js.map +1 -0
  6. package/dist/collections/addresses/defaultAddressFields.d.ts.map +1 -0
  7. package/dist/collections/addresses/defaultAddressFields.js +72 -0
  8. package/dist/collections/addresses/defaultAddressFields.js.map +1 -0
  9. package/dist/collections/addresses/defaultCountries.d.ts.map +1 -0
  10. package/dist/collections/addresses/defaultCountries.js +169 -0
  11. package/dist/collections/addresses/defaultCountries.js.map +1 -0
  12. package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -0
  13. package/dist/collections/addresses/hooks/beforeChange.js +16 -0
  14. package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
  15. package/dist/collections/carts/beforeChange.d.ts.map +1 -0
  16. package/dist/collections/carts/beforeChange.js +49 -0
  17. package/dist/collections/carts/beforeChange.js.map +1 -0
  18. package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
  19. package/dist/collections/carts/createCartsCollection.js +194 -0
  20. package/dist/collections/carts/createCartsCollection.js.map +1 -0
  21. package/dist/collections/carts/endpoints/addItem.d.ts.map +1 -0
  22. package/dist/collections/carts/endpoints/addItem.js +54 -0
  23. package/dist/collections/carts/endpoints/addItem.js.map +1 -0
  24. package/dist/collections/carts/endpoints/clearCart.d.ts.map +1 -0
  25. package/dist/collections/carts/endpoints/clearCart.js +41 -0
  26. package/dist/collections/carts/endpoints/clearCart.js.map +1 -0
  27. package/dist/collections/carts/endpoints/mergeCart.d.ts.map +1 -0
  28. package/dist/collections/carts/endpoints/mergeCart.js +72 -0
  29. package/dist/collections/carts/endpoints/mergeCart.js.map +1 -0
  30. package/dist/collections/carts/endpoints/removeItem.d.ts.map +1 -0
  31. package/dist/collections/carts/endpoints/removeItem.js +51 -0
  32. package/dist/collections/carts/endpoints/removeItem.js.map +1 -0
  33. package/dist/collections/carts/endpoints/updateItem.d.ts.map +1 -0
  34. package/dist/collections/carts/endpoints/updateItem.js +95 -0
  35. package/dist/collections/carts/endpoints/updateItem.js.map +1 -0
  36. package/dist/collections/carts/hasCartSecretAccess.d.ts.map +1 -0
  37. package/dist/collections/carts/hasCartSecretAccess.js +24 -0
  38. package/dist/collections/carts/hasCartSecretAccess.js.map +1 -0
  39. package/dist/collections/carts/operations/addItem.d.ts.map +1 -0
  40. package/dist/collections/carts/operations/addItem.js +95 -0
  41. package/dist/collections/carts/operations/addItem.js.map +1 -0
  42. package/dist/collections/carts/operations/clearCart.d.ts.map +1 -0
  43. package/dist/collections/carts/operations/clearCart.js +53 -0
  44. package/dist/collections/carts/operations/clearCart.js.map +1 -0
  45. package/dist/collections/carts/operations/createRequestWithSecret.d.ts.map +1 -0
  46. package/dist/collections/carts/operations/createRequestWithSecret.js +21 -0
  47. package/dist/collections/carts/operations/createRequestWithSecret.js.map +1 -0
  48. package/dist/collections/carts/operations/defaultCartItemMatcher.d.ts.map +1 -0
  49. package/dist/collections/carts/operations/defaultCartItemMatcher.js +25 -0
  50. package/dist/collections/carts/operations/defaultCartItemMatcher.js.map +1 -0
  51. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +358 -0
  52. package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +1 -0
  53. package/dist/collections/carts/operations/mergeCart.d.ts.map +1 -0
  54. package/dist/collections/carts/operations/mergeCart.js +144 -0
  55. package/dist/collections/carts/operations/mergeCart.js.map +1 -0
  56. package/dist/collections/carts/operations/removeItem.d.ts.map +1 -0
  57. package/dist/collections/carts/operations/removeItem.js +69 -0
  58. package/dist/collections/carts/operations/removeItem.js.map +1 -0
  59. package/dist/collections/carts/operations/types.d.ts.map +1 -0
  60. package/dist/collections/carts/operations/types.js +7 -0
  61. package/dist/collections/carts/operations/types.js.map +1 -0
  62. package/dist/collections/carts/operations/updateItem.d.ts.map +1 -0
  63. package/dist/collections/carts/operations/updateItem.js +110 -0
  64. package/dist/collections/carts/operations/updateItem.js.map +1 -0
  65. package/dist/collections/carts/statusBeforeRead.d.ts.map +1 -0
  66. package/dist/collections/carts/statusBeforeRead.js +18 -0
  67. package/dist/collections/carts/statusBeforeRead.js.map +1 -0
  68. package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -0
  69. package/dist/collections/orders/createOrdersCollection.js +163 -0
  70. package/dist/collections/orders/createOrdersCollection.js.map +1 -0
  71. package/dist/collections/products/createProductsCollection.d.ts.map +1 -0
  72. package/dist/collections/products/createProductsCollection.js +62 -0
  73. package/dist/collections/products/createProductsCollection.js.map +1 -0
  74. package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -0
  75. package/dist/collections/transactions/createTransactionsCollection.js +157 -0
  76. package/dist/collections/transactions/createTransactionsCollection.js.map +1 -0
  77. package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -0
  78. package/dist/collections/variants/createVariantOptionsCollection.js +53 -0
  79. package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -0
  80. package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -0
  81. package/dist/collections/variants/createVariantTypesCollection.js +49 -0
  82. package/dist/collections/variants/createVariantTypesCollection.js.map +1 -0
  83. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -0
  84. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +38 -0
  85. package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -0
  86. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -0
  87. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +58 -0
  88. package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
  89. package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
  90. package/dist/collections/variants/createVariantsCollection/index.js +107 -0
  91. package/dist/collections/variants/createVariantsCollection/index.js.map +1 -0
  92. package/dist/currencies/index.d.ts.map +1 -0
  93. package/dist/currencies/index.js +20 -0
  94. package/dist/currencies/index.js.map +1 -0
  95. package/dist/endpoints/confirmOrder.d.ts.map +1 -0
  96. package/dist/endpoints/confirmOrder.js +150 -0
  97. package/dist/endpoints/confirmOrder.js.map +1 -0
  98. package/dist/endpoints/initiatePayment.d.ts.map +1 -0
  99. package/dist/endpoints/initiatePayment.js +226 -0
  100. package/dist/endpoints/initiatePayment.js.map +1 -0
  101. package/dist/exports/client/index.d.ts.map +1 -0
  102. package/dist/exports/client/index.js +4 -0
  103. package/dist/exports/client/index.js.map +1 -0
  104. package/dist/exports/client/react.d.ts.map +1 -0
  105. package/dist/exports/client/react.js +5 -0
  106. package/dist/exports/client/react.js.map +1 -0
  107. package/dist/exports/payments/cod.d.ts +2 -0
  108. package/dist/exports/payments/cod.d.ts.map +1 -0
  109. package/dist/exports/payments/cod.js +3 -0
  110. package/dist/exports/payments/cod.js.map +1 -0
  111. package/dist/exports/payments/stripe.d.ts.map +1 -0
  112. package/dist/exports/payments/stripe.js +3 -0
  113. package/dist/exports/payments/stripe.js.map +1 -0
  114. package/dist/exports/rsc.d.ts.map +1 -0
  115. package/dist/exports/rsc.js +4 -0
  116. package/dist/exports/rsc.js.map +1 -0
  117. package/dist/exports/types.d.ts.map +1 -0
  118. package/dist/exports/types.js +3 -0
  119. package/dist/exports/types.js.map +1 -0
  120. package/dist/fields/amountField.d.ts.map +1 -0
  121. package/dist/fields/amountField.js +33 -0
  122. package/dist/fields/amountField.js.map +1 -0
  123. package/dist/fields/cartItemsField.d.ts.map +1 -0
  124. package/dist/fields/cartItemsField.js +55 -0
  125. package/dist/fields/cartItemsField.js.map +1 -0
  126. package/dist/fields/currencyField.d.ts.map +1 -0
  127. package/dist/fields/currencyField.js +29 -0
  128. package/dist/fields/currencyField.js.map +1 -0
  129. package/dist/fields/inventoryField.d.ts.map +1 -0
  130. package/dist/fields/inventoryField.js +16 -0
  131. package/dist/fields/inventoryField.js.map +1 -0
  132. package/dist/fields/pricesField.d.ts.map +1 -0
  133. package/dist/fields/pricesField.js +54 -0
  134. package/dist/fields/pricesField.js.map +1 -0
  135. package/dist/fields/statusField.d.ts.map +1 -0
  136. package/dist/fields/statusField.js +49 -0
  137. package/dist/fields/statusField.js.map +1 -0
  138. package/dist/fields/variantsFields.d.ts.map +1 -0
  139. package/dist/fields/variantsFields.js +48 -0
  140. package/dist/fields/variantsFields.js.map +1 -0
  141. package/dist/index.d.ts.map +1 -0
  142. package/dist/index.js +258 -0
  143. package/dist/index.js.map +1 -0
  144. package/dist/payments/adapters/cod/confirmOrder.d.ts +5 -0
  145. package/dist/payments/adapters/cod/confirmOrder.d.ts.map +1 -0
  146. package/dist/payments/adapters/cod/confirmOrder.js +83 -0
  147. package/dist/payments/adapters/cod/confirmOrder.js.map +1 -0
  148. package/dist/payments/adapters/cod/confirmOrder.spec.js +166 -0
  149. package/dist/payments/adapters/cod/confirmOrder.spec.js.map +1 -0
  150. package/dist/payments/adapters/cod/endpoints/webhooks.d.ts +5 -0
  151. package/dist/payments/adapters/cod/endpoints/webhooks.d.ts.map +1 -0
  152. package/dist/payments/adapters/cod/endpoints/webhooks.js +18 -0
  153. package/dist/payments/adapters/cod/endpoints/webhooks.js.map +1 -0
  154. package/dist/payments/adapters/cod/index.d.ts +12 -0
  155. package/dist/payments/adapters/cod/index.d.ts.map +1 -0
  156. package/dist/payments/adapters/cod/index.js +64 -0
  157. package/dist/payments/adapters/cod/index.js.map +1 -0
  158. package/dist/payments/adapters/cod/initiatePayment.d.ts +5 -0
  159. package/dist/payments/adapters/cod/initiatePayment.d.ts.map +1 -0
  160. package/dist/payments/adapters/cod/initiatePayment.js +91 -0
  161. package/dist/payments/adapters/cod/initiatePayment.js.map +1 -0
  162. package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
  163. package/dist/payments/adapters/stripe/confirmOrder.js +113 -0
  164. package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
  165. package/dist/payments/adapters/stripe/confirmOrder.spec.js +166 -0
  166. package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +1 -0
  167. package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts.map +1 -0
  168. package/dist/payments/adapters/stripe/endpoints/webhooks.js +53 -0
  169. package/dist/payments/adapters/stripe/endpoints/webhooks.js.map +1 -0
  170. package/dist/payments/adapters/stripe/index.d.ts +61 -0
  171. package/dist/payments/adapters/stripe/index.d.ts.map +1 -0
  172. package/dist/payments/adapters/stripe/index.js +68 -0
  173. package/dist/payments/adapters/stripe/index.js.map +1 -0
  174. package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -0
  175. package/dist/payments/adapters/stripe/initiatePayment.js +113 -0
  176. package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
  177. package/dist/react/provider/index.d.ts.map +1 -0
  178. package/dist/react/provider/index.js +1094 -0
  179. package/dist/react/provider/index.js.map +1 -0
  180. package/dist/react/provider/utilities.d.ts.map +1 -0
  181. package/dist/react/provider/utilities.js +13 -0
  182. package/dist/react/provider/utilities.js.map +1 -0
  183. package/dist/translations/index.d.ts.map +1 -0
  184. package/dist/translations/index.js +84 -0
  185. package/dist/translations/index.js.map +1 -0
  186. package/dist/translations/languages/ar.d.ts.map +1 -0
  187. package/dist/translations/languages/ar.js +92 -0
  188. package/dist/translations/languages/ar.js.map +1 -0
  189. package/dist/translations/languages/az.d.ts.map +1 -0
  190. package/dist/translations/languages/az.js +92 -0
  191. package/dist/translations/languages/az.js.map +1 -0
  192. package/dist/translations/languages/bg.d.ts.map +1 -0
  193. package/dist/translations/languages/bg.js +92 -0
  194. package/dist/translations/languages/bg.js.map +1 -0
  195. package/dist/translations/languages/ca.d.ts.map +1 -0
  196. package/dist/translations/languages/ca.js +92 -0
  197. package/dist/translations/languages/ca.js.map +1 -0
  198. package/dist/translations/languages/cs.d.ts.map +1 -0
  199. package/dist/translations/languages/cs.js +92 -0
  200. package/dist/translations/languages/cs.js.map +1 -0
  201. package/dist/translations/languages/da.d.ts.map +1 -0
  202. package/dist/translations/languages/da.js +92 -0
  203. package/dist/translations/languages/da.js.map +1 -0
  204. package/dist/translations/languages/de.d.ts.map +1 -0
  205. package/dist/translations/languages/de.js +92 -0
  206. package/dist/translations/languages/de.js.map +1 -0
  207. package/dist/translations/languages/en.d.ts.map +1 -0
  208. package/dist/translations/languages/en.js +92 -0
  209. package/dist/translations/languages/en.js.map +1 -0
  210. package/dist/translations/languages/es.d.ts.map +1 -0
  211. package/dist/translations/languages/es.js +92 -0
  212. package/dist/translations/languages/es.js.map +1 -0
  213. package/dist/translations/languages/et.d.ts.map +1 -0
  214. package/dist/translations/languages/et.js +92 -0
  215. package/dist/translations/languages/et.js.map +1 -0
  216. package/dist/translations/languages/fa.d.ts.map +1 -0
  217. package/dist/translations/languages/fa.js +92 -0
  218. package/dist/translations/languages/fa.js.map +1 -0
  219. package/dist/translations/languages/fr.d.ts.map +1 -0
  220. package/dist/translations/languages/fr.js +92 -0
  221. package/dist/translations/languages/fr.js.map +1 -0
  222. package/dist/translations/languages/he.d.ts.map +1 -0
  223. package/dist/translations/languages/he.js +92 -0
  224. package/dist/translations/languages/he.js.map +1 -0
  225. package/dist/translations/languages/hr.d.ts.map +1 -0
  226. package/dist/translations/languages/hr.js +92 -0
  227. package/dist/translations/languages/hr.js.map +1 -0
  228. package/dist/translations/languages/hu.d.ts.map +1 -0
  229. package/dist/translations/languages/hu.js +92 -0
  230. package/dist/translations/languages/hu.js.map +1 -0
  231. package/dist/translations/languages/hy.d.ts.map +1 -0
  232. package/dist/translations/languages/hy.js +92 -0
  233. package/dist/translations/languages/hy.js.map +1 -0
  234. package/dist/translations/languages/is.d.ts.map +1 -0
  235. package/dist/translations/languages/is.js +92 -0
  236. package/dist/translations/languages/is.js.map +1 -0
  237. package/dist/translations/languages/it.d.ts.map +1 -0
  238. package/dist/translations/languages/it.js +92 -0
  239. package/dist/translations/languages/it.js.map +1 -0
  240. package/dist/translations/languages/ja.d.ts.map +1 -0
  241. package/dist/translations/languages/ja.js +92 -0
  242. package/dist/translations/languages/ja.js.map +1 -0
  243. package/dist/translations/languages/ko.d.ts.map +1 -0
  244. package/dist/translations/languages/ko.js +92 -0
  245. package/dist/translations/languages/ko.js.map +1 -0
  246. package/dist/translations/languages/lt.d.ts.map +1 -0
  247. package/dist/translations/languages/lt.js +92 -0
  248. package/dist/translations/languages/lt.js.map +1 -0
  249. package/dist/translations/languages/my.d.ts.map +1 -0
  250. package/dist/translations/languages/my.js +92 -0
  251. package/dist/translations/languages/my.js.map +1 -0
  252. package/dist/translations/languages/nb.d.ts.map +1 -0
  253. package/dist/translations/languages/nb.js +92 -0
  254. package/dist/translations/languages/nb.js.map +1 -0
  255. package/dist/translations/languages/nl.d.ts.map +1 -0
  256. package/dist/translations/languages/nl.js +92 -0
  257. package/dist/translations/languages/nl.js.map +1 -0
  258. package/dist/translations/languages/pl.d.ts.map +1 -0
  259. package/dist/translations/languages/pl.js +92 -0
  260. package/dist/translations/languages/pl.js.map +1 -0
  261. package/dist/translations/languages/pt.d.ts.map +1 -0
  262. package/dist/translations/languages/pt.js +92 -0
  263. package/dist/translations/languages/pt.js.map +1 -0
  264. package/dist/translations/languages/ro.d.ts.map +1 -0
  265. package/dist/translations/languages/ro.js +92 -0
  266. package/dist/translations/languages/ro.js.map +1 -0
  267. package/dist/translations/languages/rs.d.ts.map +1 -0
  268. package/dist/translations/languages/rs.js +92 -0
  269. package/dist/translations/languages/rs.js.map +1 -0
  270. package/dist/translations/languages/rsLatin.d.ts.map +1 -0
  271. package/dist/translations/languages/rsLatin.js +92 -0
  272. package/dist/translations/languages/rsLatin.js.map +1 -0
  273. package/dist/translations/languages/ru.d.ts.map +1 -0
  274. package/dist/translations/languages/ru.js +92 -0
  275. package/dist/translations/languages/ru.js.map +1 -0
  276. package/dist/translations/languages/sk.d.ts.map +1 -0
  277. package/dist/translations/languages/sk.js +92 -0
  278. package/dist/translations/languages/sk.js.map +1 -0
  279. package/dist/translations/languages/sl.d.ts.map +1 -0
  280. package/dist/translations/languages/sl.js +92 -0
  281. package/dist/translations/languages/sl.js.map +1 -0
  282. package/dist/translations/languages/sv.d.ts.map +1 -0
  283. package/dist/translations/languages/sv.js +92 -0
  284. package/dist/translations/languages/sv.js.map +1 -0
  285. package/dist/translations/languages/ta.d.ts.map +1 -0
  286. package/dist/translations/languages/ta.js +92 -0
  287. package/dist/translations/languages/ta.js.map +1 -0
  288. package/dist/translations/languages/th.d.ts.map +1 -0
  289. package/dist/translations/languages/th.js +92 -0
  290. package/dist/translations/languages/th.js.map +1 -0
  291. package/dist/translations/languages/tr.d.ts.map +1 -0
  292. package/dist/translations/languages/tr.js +92 -0
  293. package/dist/translations/languages/tr.js.map +1 -0
  294. package/dist/translations/languages/uk.d.ts.map +1 -0
  295. package/dist/translations/languages/uk.js +92 -0
  296. package/dist/translations/languages/uk.js.map +1 -0
  297. package/dist/translations/languages/vi.d.ts.map +1 -0
  298. package/dist/translations/languages/vi.js +92 -0
  299. package/dist/translations/languages/vi.js.map +1 -0
  300. package/dist/translations/languages/zh.d.ts.map +1 -0
  301. package/dist/translations/languages/zh.js +92 -0
  302. package/dist/translations/languages/zh.js.map +1 -0
  303. package/dist/translations/languages/zhTw.d.ts.map +1 -0
  304. package/dist/translations/languages/zhTw.js +92 -0
  305. package/dist/translations/languages/zhTw.js.map +1 -0
  306. package/dist/translations/translation-schema.json +343 -0
  307. package/dist/translations/types.d.ts.map +1 -0
  308. package/dist/translations/types.js +3 -0
  309. package/dist/translations/types.js.map +1 -0
  310. package/dist/types/index.d.ts.map +1 -0
  311. package/dist/types/index.js +3 -0
  312. package/dist/types/index.js.map +1 -0
  313. package/dist/types/utilities.d.ts.map +1 -0
  314. package/dist/types/utilities.js +3 -0
  315. package/dist/types/utilities.js.map +1 -0
  316. package/dist/ui/PriceCell/index.d.ts.map +1 -0
  317. package/dist/ui/PriceCell/index.js +36 -0
  318. package/dist/ui/PriceCell/index.js.map +1 -0
  319. package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
  320. package/dist/ui/PriceInput/FormattedInput.js +147 -0
  321. package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
  322. package/dist/ui/PriceInput/index.css +35 -0
  323. package/dist/ui/PriceInput/index.d.ts.map +1 -0
  324. package/dist/ui/PriceInput/index.js +21 -0
  325. package/dist/ui/PriceInput/index.js.map +1 -0
  326. package/dist/ui/PriceRowLabel/index.css +13 -0
  327. package/dist/ui/PriceRowLabel/index.d.ts.map +1 -0
  328. package/dist/ui/PriceRowLabel/index.js +66 -0
  329. package/dist/ui/PriceRowLabel/index.js.map +1 -0
  330. package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts.map +1 -0
  331. package/dist/ui/VariantOptionsSelector/ErrorBox.js +28 -0
  332. package/dist/ui/VariantOptionsSelector/ErrorBox.js.map +1 -0
  333. package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts.map +1 -0
  334. package/dist/ui/VariantOptionsSelector/OptionsSelect.js +71 -0
  335. package/dist/ui/VariantOptionsSelector/OptionsSelect.js.map +1 -0
  336. package/dist/ui/VariantOptionsSelector/index.css +37 -0
  337. package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
  338. package/dist/ui/VariantOptionsSelector/index.js +81 -0
  339. package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
  340. package/dist/ui/utilities.d.ts.map +1 -0
  341. package/dist/ui/utilities.js +40 -0
  342. package/dist/ui/utilities.js.map +1 -0
  343. package/dist/utilities/accessComposition.d.ts.map +1 -0
  344. package/dist/utilities/accessComposition.js +103 -0
  345. package/dist/utilities/accessComposition.js.map +1 -0
  346. package/dist/utilities/accessComposition.spec.js +765 -0
  347. package/dist/utilities/accessComposition.spec.js.map +1 -0
  348. package/dist/utilities/defaultProductsValidation.d.ts.map +1 -0
  349. package/dist/utilities/defaultProductsValidation.js +40 -0
  350. package/dist/utilities/defaultProductsValidation.js.map +1 -0
  351. package/dist/utilities/defaultProductsValidation.spec.js +384 -0
  352. package/dist/utilities/defaultProductsValidation.spec.js.map +1 -0
  353. package/dist/utilities/errorCodes.d.ts.map +1 -0
  354. package/dist/utilities/errorCodes.js +4 -0
  355. package/dist/utilities/errorCodes.js.map +1 -0
  356. package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -0
  357. package/dist/utilities/getCollectionSlugMap.js +36 -0
  358. package/dist/utilities/getCollectionSlugMap.js.map +1 -0
  359. package/dist/utilities/getCollectionSlugMap.spec.js +254 -0
  360. package/dist/utilities/getCollectionSlugMap.spec.js.map +1 -0
  361. package/dist/utilities/pushTypeScriptProperties.d.ts.map +1 -0
  362. package/dist/utilities/pushTypeScriptProperties.js +37 -0
  363. package/dist/utilities/pushTypeScriptProperties.js.map +1 -0
  364. package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
  365. package/dist/utilities/sanitizePluginConfig.js +75 -0
  366. package/dist/utilities/sanitizePluginConfig.js.map +1 -0
  367. package/dist/utilities/sanitizePluginConfig.spec.js +516 -0
  368. package/dist/utilities/sanitizePluginConfig.spec.js.map +1 -0
  369. package/package.json +114 -0
@@ -0,0 +1,95 @@
1
+ import { createRequestWithSecret } from './createRequestWithSecret.js';
2
+ import { defaultCartItemMatcher } from './defaultCartItemMatcher.js';
3
+ /**
4
+ * Adds an item to a cart. If an item matching the same criteria already exists,
5
+ * its quantity is incremented instead of creating a duplicate entry.
6
+ *
7
+ * This handler is isolated and can be used from:
8
+ * - Custom endpoints
9
+ * - Local API operations
10
+ * - Hooks
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * // From an endpoint or hook
15
+ * const result = await addItem({
16
+ * payload,
17
+ * cartsSlug: 'carts',
18
+ * cartID: '123',
19
+ * item: { product: 'prod-1', variant: 'var-1' },
20
+ * quantity: 2,
21
+ * })
22
+ * ```
23
+ */ export const addItem = async (args)=>{
24
+ const { cartID, cartItemMatcher = defaultCartItemMatcher, cartsSlug, item, payload, quantity = 1, req, secret } = args;
25
+ // Inject secret into request context for access control
26
+ const reqWithSecret = createRequestWithSecret(req, secret);
27
+ const cart = await payload.findByID({
28
+ id: cartID,
29
+ collection: cartsSlug,
30
+ depth: 0,
31
+ overrideAccess: false,
32
+ req: reqWithSecret
33
+ });
34
+ if (!cart) {
35
+ return {
36
+ cart: null,
37
+ message: `Cart with ID ${cartID} not found`,
38
+ success: false
39
+ };
40
+ }
41
+ const existingItems = cart.items || [];
42
+ // Find if item already exists using the matcher
43
+ const existingItemIndex = existingItems.findIndex((existingItem)=>cartItemMatcher({
44
+ existingItem,
45
+ newItem: item
46
+ }));
47
+ let updatedItems;
48
+ if (existingItemIndex !== -1) {
49
+ // Item exists - increment quantity
50
+ updatedItems = [
51
+ ...existingItems
52
+ ];
53
+ const existingItem = updatedItems[existingItemIndex];
54
+ updatedItems[existingItemIndex] = {
55
+ ...existingItem,
56
+ quantity: existingItem.quantity + quantity
57
+ };
58
+ } else {
59
+ // Item doesn't exist - add new item
60
+ const newItem = {
61
+ product: item.product,
62
+ quantity,
63
+ ...item.variant ? {
64
+ variant: item.variant
65
+ } : {},
66
+ // Spread any additional custom properties from the item
67
+ ...Object.fromEntries(Object.entries(item).filter(([key])=>![
68
+ 'product',
69
+ 'quantity',
70
+ 'variant'
71
+ ].includes(key)))
72
+ };
73
+ updatedItems = [
74
+ ...existingItems,
75
+ newItem
76
+ ];
77
+ }
78
+ const updatedCart = await payload.update({
79
+ id: cartID,
80
+ collection: cartsSlug,
81
+ data: {
82
+ items: updatedItems
83
+ },
84
+ depth: 0,
85
+ overrideAccess: false,
86
+ req: reqWithSecret
87
+ });
88
+ return {
89
+ cart: updatedCart,
90
+ message: existingItemIndex !== -1 ? 'Item quantity updated' : 'Item added to cart',
91
+ success: true
92
+ };
93
+ };
94
+
95
+ //# sourceMappingURL=addItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/carts/operations/addItem.ts"],"sourcesContent":["import type { AddItemArgs, CartItemData, CartOperationResult } from './types.js'\n\nimport { createRequestWithSecret } from './createRequestWithSecret.js'\nimport { defaultCartItemMatcher } from './defaultCartItemMatcher.js'\n\n/**\n * Adds an item to a cart. If an item matching the same criteria already exists,\n * its quantity is incremented instead of creating a duplicate entry.\n *\n * This handler is isolated and can be used from:\n * - Custom endpoints\n * - Local API operations\n * - Hooks\n *\n * @example\n * ```ts\n * // From an endpoint or hook\n * const result = await addItem({\n * payload,\n * cartsSlug: 'carts',\n * cartID: '123',\n * item: { product: 'prod-1', variant: 'var-1' },\n * quantity: 2,\n * })\n * ```\n */\nexport const addItem = async (args: AddItemArgs): Promise<CartOperationResult> => {\n const {\n cartID,\n cartItemMatcher = defaultCartItemMatcher,\n cartsSlug,\n item,\n payload,\n quantity = 1,\n req,\n secret,\n } = args\n\n // Inject secret into request context for access control\n const reqWithSecret = createRequestWithSecret(req, secret)\n\n const cart = await payload.findByID({\n id: cartID,\n collection: cartsSlug,\n depth: 0,\n overrideAccess: false,\n req: reqWithSecret,\n })\n\n if (!cart) {\n return {\n cart: null,\n message: `Cart with ID ${cartID} not found`,\n success: false,\n }\n }\n\n const existingItems: CartItemData[] = (cart.items as CartItemData[]) || []\n\n // Find if item already exists using the matcher\n const existingItemIndex = existingItems.findIndex((existingItem) =>\n cartItemMatcher({ existingItem, newItem: item }),\n )\n\n let updatedItems: CartItemData[]\n\n if (existingItemIndex !== -1) {\n // Item exists - increment quantity\n updatedItems = [...existingItems]\n const existingItem = updatedItems[existingItemIndex]!\n updatedItems[existingItemIndex] = {\n ...existingItem,\n quantity: existingItem.quantity + quantity,\n }\n } else {\n // Item doesn't exist - add new item\n const newItem: CartItemData = {\n product: item.product,\n quantity,\n ...(item.variant ? { variant: item.variant } : {}),\n // Spread any additional custom properties from the item\n ...Object.fromEntries(\n Object.entries(item).filter(([key]) => !['product', 'quantity', 'variant'].includes(key)),\n ),\n }\n updatedItems = [...existingItems, newItem]\n }\n\n const updatedCart = await payload.update({\n id: cartID,\n collection: cartsSlug,\n data: {\n items: updatedItems,\n },\n depth: 0,\n overrideAccess: false,\n req: reqWithSecret,\n })\n\n return {\n cart: updatedCart,\n message: existingItemIndex !== -1 ? 'Item quantity updated' : 'Item added to cart',\n success: true,\n }\n}\n"],"names":["createRequestWithSecret","defaultCartItemMatcher","addItem","args","cartID","cartItemMatcher","cartsSlug","item","payload","quantity","req","secret","reqWithSecret","cart","findByID","id","collection","depth","overrideAccess","message","success","existingItems","items","existingItemIndex","findIndex","existingItem","newItem","updatedItems","product","variant","Object","fromEntries","entries","filter","key","includes","updatedCart","update","data"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,+BAA8B;AACtE,SAASC,sBAAsB,QAAQ,8BAA6B;AAEpE;;;;;;;;;;;;;;;;;;;;CAoBC,GACD,OAAO,MAAMC,UAAU,OAAOC;IAC5B,MAAM,EACJC,MAAM,EACNC,kBAAkBJ,sBAAsB,EACxCK,SAAS,EACTC,IAAI,EACJC,OAAO,EACPC,WAAW,CAAC,EACZC,GAAG,EACHC,MAAM,EACP,GAAGR;IAEJ,wDAAwD;IACxD,MAAMS,gBAAgBZ,wBAAwBU,KAAKC;IAEnD,MAAME,OAAO,MAAML,QAAQM,QAAQ,CAAC;QAClCC,IAAIX;QACJY,YAAYV;QACZW,OAAO;QACPC,gBAAgB;QAChBR,KAAKE;IACP;IAEA,IAAI,CAACC,MAAM;QACT,OAAO;YACLA,MAAM;YACNM,SAAS,CAAC,aAAa,EAAEf,OAAO,UAAU,CAAC;YAC3CgB,SAAS;QACX;IACF;IAEA,MAAMC,gBAAgC,AAACR,KAAKS,KAAK,IAAuB,EAAE;IAE1E,gDAAgD;IAChD,MAAMC,oBAAoBF,cAAcG,SAAS,CAAC,CAACC,eACjDpB,gBAAgB;YAAEoB;YAAcC,SAASnB;QAAK;IAGhD,IAAIoB;IAEJ,IAAIJ,sBAAsB,CAAC,GAAG;QAC5B,mCAAmC;QACnCI,eAAe;eAAIN;SAAc;QACjC,MAAMI,eAAeE,YAAY,CAACJ,kBAAkB;QACpDI,YAAY,CAACJ,kBAAkB,GAAG;YAChC,GAAGE,YAAY;YACfhB,UAAUgB,aAAahB,QAAQ,GAAGA;QACpC;IACF,OAAO;QACL,oCAAoC;QACpC,MAAMiB,UAAwB;YAC5BE,SAASrB,KAAKqB,OAAO;YACrBnB;YACA,GAAIF,KAAKsB,OAAO,GAAG;gBAAEA,SAAStB,KAAKsB,OAAO;YAAC,IAAI,CAAC,CAAC;YACjD,wDAAwD;YACxD,GAAGC,OAAOC,WAAW,CACnBD,OAAOE,OAAO,CAACzB,MAAM0B,MAAM,CAAC,CAAC,CAACC,IAAI,GAAK,CAAC;oBAAC;oBAAW;oBAAY;iBAAU,CAACC,QAAQ,CAACD,MACrF;QACH;QACAP,eAAe;eAAIN;YAAeK;SAAQ;IAC5C;IAEA,MAAMU,cAAc,MAAM5B,QAAQ6B,MAAM,CAAC;QACvCtB,IAAIX;QACJY,YAAYV;QACZgC,MAAM;YACJhB,OAAOK;QACT;QACAV,OAAO;QACPC,gBAAgB;QAChBR,KAAKE;IACP;IAEA,OAAO;QACLC,MAAMuB;QACNjB,SAASI,sBAAsB,CAAC,IAAI,0BAA0B;QAC9DH,SAAS;IACX;AACF,EAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearCart.d.ts","sourceRoot":"","sources":["../../../../src/collections/carts/operations/clearCart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAIpE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS,SAAgB,aAAa,KAAG,OAAO,CAAC,mBAAmB,CAsChF,CAAA"}
@@ -0,0 +1,53 @@
1
+ import { createRequestWithSecret } from './createRequestWithSecret.js';
2
+ /**
3
+ * Clears all items from a cart.
4
+ *
5
+ * This handler is isolated and can be used from:
6
+ * - Custom endpoints
7
+ * - Local API operations
8
+ * - Hooks
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const result = await clearCart({
13
+ * payload,
14
+ * cartsSlug: 'carts',
15
+ * cartID: '123',
16
+ * })
17
+ * ```
18
+ */ export const clearCart = async (args)=>{
19
+ const { cartID, cartsSlug, payload, req, secret } = args;
20
+ // Inject secret into request context for access control
21
+ const reqWithSecret = createRequestWithSecret(req, secret);
22
+ const cart = await payload.findByID({
23
+ id: cartID,
24
+ collection: cartsSlug,
25
+ depth: 0,
26
+ overrideAccess: false,
27
+ req: reqWithSecret
28
+ });
29
+ if (!cart) {
30
+ return {
31
+ cart: null,
32
+ message: `Cart with ID ${cartID} not found`,
33
+ success: false
34
+ };
35
+ }
36
+ const updatedCart = await payload.update({
37
+ id: cartID,
38
+ collection: cartsSlug,
39
+ data: {
40
+ items: []
41
+ },
42
+ depth: 0,
43
+ overrideAccess: false,
44
+ req: reqWithSecret
45
+ });
46
+ return {
47
+ cart: updatedCart,
48
+ message: 'Cart cleared',
49
+ success: true
50
+ };
51
+ };
52
+
53
+ //# sourceMappingURL=clearCart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/carts/operations/clearCart.ts"],"sourcesContent":["import type { CartOperationResult, ClearCartArgs } from './types.js'\n\nimport { createRequestWithSecret } from './createRequestWithSecret.js'\n\n/**\n * Clears all items from a cart.\n *\n * This handler is isolated and can be used from:\n * - Custom endpoints\n * - Local API operations\n * - Hooks\n *\n * @example\n * ```ts\n * const result = await clearCart({\n * payload,\n * cartsSlug: 'carts',\n * cartID: '123',\n * })\n * ```\n */\nexport const clearCart = async (args: ClearCartArgs): Promise<CartOperationResult> => {\n const { cartID, cartsSlug, payload, req, secret } = args\n\n // Inject secret into request context for access control\n const reqWithSecret = createRequestWithSecret(req, secret)\n\n const cart = await payload.findByID({\n id: cartID,\n collection: cartsSlug,\n depth: 0,\n overrideAccess: false,\n req: reqWithSecret,\n })\n\n if (!cart) {\n return {\n cart: null,\n message: `Cart with ID ${cartID} not found`,\n success: false,\n }\n }\n\n const updatedCart = await payload.update({\n id: cartID,\n collection: cartsSlug,\n data: {\n items: [],\n },\n depth: 0,\n overrideAccess: false,\n req: reqWithSecret,\n })\n\n return {\n cart: updatedCart,\n message: 'Cart cleared',\n success: true,\n }\n}\n"],"names":["createRequestWithSecret","clearCart","args","cartID","cartsSlug","payload","req","secret","reqWithSecret","cart","findByID","id","collection","depth","overrideAccess","message","success","updatedCart","update","data","items"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,+BAA8B;AAEtE;;;;;;;;;;;;;;;;CAgBC,GACD,OAAO,MAAMC,YAAY,OAAOC;IAC9B,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAEC,GAAG,EAAEC,MAAM,EAAE,GAAGL;IAEpD,wDAAwD;IACxD,MAAMM,gBAAgBR,wBAAwBM,KAAKC;IAEnD,MAAME,OAAO,MAAMJ,QAAQK,QAAQ,CAAC;QAClCC,IAAIR;QACJS,YAAYR;QACZS,OAAO;QACPC,gBAAgB;QAChBR,KAAKE;IACP;IAEA,IAAI,CAACC,MAAM;QACT,OAAO;YACLA,MAAM;YACNM,SAAS,CAAC,aAAa,EAAEZ,OAAO,UAAU,CAAC;YAC3Ca,SAAS;QACX;IACF;IAEA,MAAMC,cAAc,MAAMZ,QAAQa,MAAM,CAAC;QACvCP,IAAIR;QACJS,YAAYR;QACZe,MAAM;YACJC,OAAO,EAAE;QACX;QACAP,OAAO;QACPC,gBAAgB;QAChBR,KAAKE;IACP;IAEA,OAAO;QACLC,MAAMQ;QACNF,SAAS;QACTC,SAAS;IACX;AACF,EAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRequestWithSecret.d.ts","sourceRoot":"","sources":["../../../../src/collections/carts/operations/createRequestWithSecret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,QAC7B,cAAc,GAAG,SAAS,UACvB,MAAM,GAAG,SAAS,KACzB,cAAc,GAAG,SAYnB,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Creates a modified request object with the cart secret injected into context.
3
+ * This allows the access control (hasCartSecretAccess) to properly verify guest cart access.
4
+ *
5
+ * @param req - The original PayloadRequest
6
+ * @param secret - The cart secret to inject
7
+ * @returns A new request object with the secret in context, or the original if no secret
8
+ */ export const createRequestWithSecret = (req, secret)=>{
9
+ if (!secret || !req) {
10
+ return req;
11
+ }
12
+ return {
13
+ ...req,
14
+ context: {
15
+ ...req.context,
16
+ cartSecret: secret
17
+ }
18
+ };
19
+ };
20
+
21
+ //# sourceMappingURL=createRequestWithSecret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/carts/operations/createRequestWithSecret.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\n/**\n * Creates a modified request object with the cart secret injected into context.\n * This allows the access control (hasCartSecretAccess) to properly verify guest cart access.\n *\n * @param req - The original PayloadRequest\n * @param secret - The cart secret to inject\n * @returns A new request object with the secret in context, or the original if no secret\n */\nexport const createRequestWithSecret = (\n req: PayloadRequest | undefined,\n secret: string | undefined,\n): PayloadRequest | undefined => {\n if (!secret || !req) {\n return req\n }\n\n return {\n ...req,\n context: {\n ...req.context,\n cartSecret: secret,\n },\n } as PayloadRequest\n}\n"],"names":["createRequestWithSecret","req","secret","context","cartSecret"],"mappings":"AAEA;;;;;;;CAOC,GACD,OAAO,MAAMA,0BAA0B,CACrCC,KACAC;IAEA,IAAI,CAACA,UAAU,CAACD,KAAK;QACnB,OAAOA;IACT;IAEA,OAAO;QACL,GAAGA,GAAG;QACNE,SAAS;YACP,GAAGF,IAAIE,OAAO;YACdC,YAAYF;QACd;IACF;AACF,EAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultCartItemMatcher.d.ts","sourceRoot":"","sources":["../../../../src/collections/carts/operations/defaultCartItemMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAiBpC,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Default cart item matcher that considers items identical if they have
3
+ * the same product ID and variant ID.
4
+ *
5
+ * Users can provide a custom matcher to add additional criteria such as
6
+ * delivery options, customizations, or other item-specific properties.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * // Extend the default matcher to include a delivery option
11
+ * const customMatcher: CartItemMatcher = ({ existingItem, newItem }) => {
12
+ * const defaultMatch = defaultCartItemMatcher({ existingItem, newItem })
13
+ * return defaultMatch && existingItem.deliveryOption === newItem.deliveryOption
14
+ * }
15
+ * ```
16
+ */ export const defaultCartItemMatcher = ({ existingItem, newItem })=>{
17
+ const existingProductID = typeof existingItem.product === 'object' ? existingItem.product.id : existingItem.product;
18
+ const existingVariantID = existingItem.variant && typeof existingItem.variant === 'object' ? existingItem.variant.id : existingItem.variant;
19
+ const productMatches = existingProductID === newItem.product;
20
+ // Variant matching: both must have same variant or both must have no variant
21
+ const variantMatches = newItem.variant ? existingVariantID === newItem.variant : !existingVariantID;
22
+ return productMatches && variantMatches;
23
+ };
24
+
25
+ //# sourceMappingURL=defaultCartItemMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/carts/operations/defaultCartItemMatcher.ts"],"sourcesContent":["import type { CartItemMatcher } from './types.js'\n\n/**\n * Default cart item matcher that considers items identical if they have\n * the same product ID and variant ID.\n *\n * Users can provide a custom matcher to add additional criteria such as\n * delivery options, customizations, or other item-specific properties.\n *\n * @example\n * ```ts\n * // Extend the default matcher to include a delivery option\n * const customMatcher: CartItemMatcher = ({ existingItem, newItem }) => {\n * const defaultMatch = defaultCartItemMatcher({ existingItem, newItem })\n * return defaultMatch && existingItem.deliveryOption === newItem.deliveryOption\n * }\n * ```\n */\nexport const defaultCartItemMatcher: CartItemMatcher = ({ existingItem, newItem }) => {\n const existingProductID =\n typeof existingItem.product === 'object' ? existingItem.product.id : existingItem.product\n\n const existingVariantID =\n existingItem.variant && typeof existingItem.variant === 'object'\n ? existingItem.variant.id\n : existingItem.variant\n\n const productMatches = existingProductID === newItem.product\n\n // Variant matching: both must have same variant or both must have no variant\n const variantMatches = newItem.variant\n ? existingVariantID === newItem.variant\n : !existingVariantID\n\n return productMatches && variantMatches\n}\n"],"names":["defaultCartItemMatcher","existingItem","newItem","existingProductID","product","id","existingVariantID","variant","productMatches","variantMatches"],"mappings":"AAEA;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMA,yBAA0C,CAAC,EAAEC,YAAY,EAAEC,OAAO,EAAE;IAC/E,MAAMC,oBACJ,OAAOF,aAAaG,OAAO,KAAK,WAAWH,aAAaG,OAAO,CAACC,EAAE,GAAGJ,aAAaG,OAAO;IAE3F,MAAME,oBACJL,aAAaM,OAAO,IAAI,OAAON,aAAaM,OAAO,KAAK,WACpDN,aAAaM,OAAO,CAACF,EAAE,GACvBJ,aAAaM,OAAO;IAE1B,MAAMC,iBAAiBL,sBAAsBD,QAAQE,OAAO;IAE5D,6EAA6E;IAC7E,MAAMK,iBAAiBP,QAAQK,OAAO,GAClCD,sBAAsBJ,QAAQK,OAAO,GACrC,CAACD;IAEL,OAAOE,kBAAkBC;AAC3B,EAAC"}
@@ -0,0 +1,358 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { defaultCartItemMatcher } from './defaultCartItemMatcher.js';
3
+ describe('defaultCartItemMatcher', ()=>{
4
+ describe('product matching', ()=>{
5
+ it('should match when product IDs are equal (both strings)', ()=>{
6
+ const existingItem = {
7
+ id: 'item-1',
8
+ product: 'product-123',
9
+ quantity: 1
10
+ };
11
+ const newItem = {
12
+ product: 'product-123'
13
+ };
14
+ expect(defaultCartItemMatcher({
15
+ existingItem,
16
+ newItem
17
+ })).toBe(true);
18
+ });
19
+ it('should not match when product IDs are different', ()=>{
20
+ const existingItem = {
21
+ id: 'item-1',
22
+ product: 'product-123',
23
+ quantity: 1
24
+ };
25
+ const newItem = {
26
+ product: 'product-456'
27
+ };
28
+ expect(defaultCartItemMatcher({
29
+ existingItem,
30
+ newItem
31
+ })).toBe(false);
32
+ });
33
+ it('should match when existing product is populated object', ()=>{
34
+ const existingItem = {
35
+ id: 'item-1',
36
+ product: {
37
+ id: 'product-123',
38
+ name: 'Test Product'
39
+ },
40
+ quantity: 1
41
+ };
42
+ const newItem = {
43
+ product: 'product-123'
44
+ };
45
+ expect(defaultCartItemMatcher({
46
+ existingItem,
47
+ newItem
48
+ })).toBe(true);
49
+ });
50
+ it('should not match when product IDs differ (existing is object)', ()=>{
51
+ const existingItem = {
52
+ id: 'item-1',
53
+ product: {
54
+ id: 'product-123',
55
+ name: 'Test Product'
56
+ },
57
+ quantity: 1
58
+ };
59
+ const newItem = {
60
+ product: 'product-456'
61
+ };
62
+ expect(defaultCartItemMatcher({
63
+ existingItem,
64
+ newItem
65
+ })).toBe(false);
66
+ });
67
+ });
68
+ describe('variant matching', ()=>{
69
+ it('should match when both have same variant ID', ()=>{
70
+ const existingItem = {
71
+ id: 'item-1',
72
+ product: 'product-123',
73
+ variant: 'variant-abc',
74
+ quantity: 1
75
+ };
76
+ const newItem = {
77
+ product: 'product-123',
78
+ variant: 'variant-abc'
79
+ };
80
+ expect(defaultCartItemMatcher({
81
+ existingItem,
82
+ newItem
83
+ })).toBe(true);
84
+ });
85
+ it('should not match when variants are different', ()=>{
86
+ const existingItem = {
87
+ id: 'item-1',
88
+ product: 'product-123',
89
+ variant: 'variant-abc',
90
+ quantity: 1
91
+ };
92
+ const newItem = {
93
+ product: 'product-123',
94
+ variant: 'variant-xyz'
95
+ };
96
+ expect(defaultCartItemMatcher({
97
+ existingItem,
98
+ newItem
99
+ })).toBe(false);
100
+ });
101
+ it('should match when both have no variant', ()=>{
102
+ const existingItem = {
103
+ id: 'item-1',
104
+ product: 'product-123',
105
+ quantity: 1
106
+ };
107
+ const newItem = {
108
+ product: 'product-123'
109
+ };
110
+ expect(defaultCartItemMatcher({
111
+ existingItem,
112
+ newItem
113
+ })).toBe(true);
114
+ });
115
+ it('should not match when existing has variant but new does not', ()=>{
116
+ const existingItem = {
117
+ id: 'item-1',
118
+ product: 'product-123',
119
+ variant: 'variant-abc',
120
+ quantity: 1
121
+ };
122
+ const newItem = {
123
+ product: 'product-123'
124
+ };
125
+ expect(defaultCartItemMatcher({
126
+ existingItem,
127
+ newItem
128
+ })).toBe(false);
129
+ });
130
+ it('should not match when new has variant but existing does not', ()=>{
131
+ const existingItem = {
132
+ id: 'item-1',
133
+ product: 'product-123',
134
+ quantity: 1
135
+ };
136
+ const newItem = {
137
+ product: 'product-123',
138
+ variant: 'variant-abc'
139
+ };
140
+ expect(defaultCartItemMatcher({
141
+ existingItem,
142
+ newItem
143
+ })).toBe(false);
144
+ });
145
+ it('should match when existing variant is populated object', ()=>{
146
+ const existingItem = {
147
+ id: 'item-1',
148
+ product: 'product-123',
149
+ variant: {
150
+ id: 'variant-abc',
151
+ name: 'Large'
152
+ },
153
+ quantity: 1
154
+ };
155
+ const newItem = {
156
+ product: 'product-123',
157
+ variant: 'variant-abc'
158
+ };
159
+ expect(defaultCartItemMatcher({
160
+ existingItem,
161
+ newItem
162
+ })).toBe(true);
163
+ });
164
+ it('should not match when variant IDs differ (existing is object)', ()=>{
165
+ const existingItem = {
166
+ id: 'item-1',
167
+ product: 'product-123',
168
+ variant: {
169
+ id: 'variant-abc',
170
+ name: 'Large'
171
+ },
172
+ quantity: 1
173
+ };
174
+ const newItem = {
175
+ product: 'product-123',
176
+ variant: 'variant-xyz'
177
+ };
178
+ expect(defaultCartItemMatcher({
179
+ existingItem,
180
+ newItem
181
+ })).toBe(false);
182
+ });
183
+ });
184
+ describe('combined product and variant matching', ()=>{
185
+ it('should match when both product and variant match', ()=>{
186
+ const existingItem = {
187
+ id: 'item-1',
188
+ product: 'product-123',
189
+ variant: 'variant-abc',
190
+ quantity: 1
191
+ };
192
+ const newItem = {
193
+ product: 'product-123',
194
+ variant: 'variant-abc'
195
+ };
196
+ expect(defaultCartItemMatcher({
197
+ existingItem,
198
+ newItem
199
+ })).toBe(true);
200
+ });
201
+ it('should not match when product matches but variant does not', ()=>{
202
+ const existingItem = {
203
+ id: 'item-1',
204
+ product: 'product-123',
205
+ variant: 'variant-abc',
206
+ quantity: 1
207
+ };
208
+ const newItem = {
209
+ product: 'product-123',
210
+ variant: 'variant-xyz'
211
+ };
212
+ expect(defaultCartItemMatcher({
213
+ existingItem,
214
+ newItem
215
+ })).toBe(false);
216
+ });
217
+ it('should not match when variant matches but product does not', ()=>{
218
+ const existingItem = {
219
+ id: 'item-1',
220
+ product: 'product-123',
221
+ variant: 'variant-abc',
222
+ quantity: 1
223
+ };
224
+ const newItem = {
225
+ product: 'product-456',
226
+ variant: 'variant-abc'
227
+ };
228
+ expect(defaultCartItemMatcher({
229
+ existingItem,
230
+ newItem
231
+ })).toBe(false);
232
+ });
233
+ it('should not match when neither product nor variant match', ()=>{
234
+ const existingItem = {
235
+ id: 'item-1',
236
+ product: 'product-123',
237
+ variant: 'variant-abc',
238
+ quantity: 1
239
+ };
240
+ const newItem = {
241
+ product: 'product-456',
242
+ variant: 'variant-xyz'
243
+ };
244
+ expect(defaultCartItemMatcher({
245
+ existingItem,
246
+ newItem
247
+ })).toBe(false);
248
+ });
249
+ });
250
+ describe('edge cases', ()=>{
251
+ it('should handle undefined variant in existing item', ()=>{
252
+ const existingItem = {
253
+ id: 'item-1',
254
+ product: 'product-123',
255
+ variant: undefined,
256
+ quantity: 1
257
+ };
258
+ const newItem = {
259
+ product: 'product-123'
260
+ };
261
+ expect(defaultCartItemMatcher({
262
+ existingItem,
263
+ newItem
264
+ })).toBe(true);
265
+ });
266
+ it('should handle undefined variant in new item', ()=>{
267
+ const existingItem = {
268
+ id: 'item-1',
269
+ product: 'product-123',
270
+ quantity: 1
271
+ };
272
+ const newItem = {
273
+ product: 'product-123',
274
+ variant: undefined
275
+ };
276
+ expect(defaultCartItemMatcher({
277
+ existingItem,
278
+ newItem
279
+ })).toBe(true);
280
+ });
281
+ it('should handle numeric product IDs', ()=>{
282
+ const existingItem = {
283
+ id: 'item-1',
284
+ product: 123,
285
+ quantity: 1
286
+ };
287
+ const newItem = {
288
+ product: 123
289
+ };
290
+ expect(defaultCartItemMatcher({
291
+ existingItem,
292
+ newItem
293
+ })).toBe(true);
294
+ });
295
+ it('should handle deeply nested product object', ()=>{
296
+ const existingItem = {
297
+ id: 'item-1',
298
+ product: {
299
+ id: 'product-123',
300
+ name: 'Product',
301
+ category: {
302
+ id: 'cat-1',
303
+ name: 'Category'
304
+ }
305
+ },
306
+ quantity: 1
307
+ };
308
+ const newItem = {
309
+ product: 'product-123'
310
+ };
311
+ expect(defaultCartItemMatcher({
312
+ existingItem,
313
+ newItem
314
+ })).toBe(true);
315
+ });
316
+ it('should handle both product and variant as populated objects', ()=>{
317
+ const existingItem = {
318
+ id: 'item-1',
319
+ product: {
320
+ id: 'product-123',
321
+ name: 'Product'
322
+ },
323
+ variant: {
324
+ id: 'variant-abc',
325
+ name: 'Large'
326
+ },
327
+ quantity: 1
328
+ };
329
+ const newItem = {
330
+ product: 'product-123',
331
+ variant: 'variant-abc'
332
+ };
333
+ expect(defaultCartItemMatcher({
334
+ existingItem,
335
+ newItem
336
+ })).toBe(true);
337
+ });
338
+ it('should ignore other item properties', ()=>{
339
+ const existingItem = {
340
+ id: 'item-1',
341
+ product: 'product-123',
342
+ quantity: 5,
343
+ customProp: 'value-a'
344
+ };
345
+ const newItem = {
346
+ product: 'product-123',
347
+ customProp: 'value-b'
348
+ };
349
+ // Should match because only product/variant are checked
350
+ expect(defaultCartItemMatcher({
351
+ existingItem,
352
+ newItem
353
+ })).toBe(true);
354
+ });
355
+ });
356
+ });
357
+
358
+ //# sourceMappingURL=defaultCartItemMatcher.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/carts/operations/defaultCartItemMatcher.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport type { CartItemData, NewCartItem } from './types.js'\n\nimport { defaultCartItemMatcher } from './defaultCartItemMatcher.js'\n\ndescribe('defaultCartItemMatcher', () => {\n describe('product matching', () => {\n it('should match when product IDs are equal (both strings)', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should not match when product IDs are different', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-456',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n\n it('should match when existing product is populated object', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: { id: 'product-123', name: 'Test Product' } as any,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should not match when product IDs differ (existing is object)', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: { id: 'product-123', name: 'Test Product' } as any,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-456',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n })\n\n describe('variant matching', () => {\n it('should match when both have same variant ID', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: 'variant-abc',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-abc',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should not match when variants are different', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: 'variant-abc',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-xyz',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n\n it('should match when both have no variant', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should not match when existing has variant but new does not', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: 'variant-abc',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n\n it('should not match when new has variant but existing does not', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-abc',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n\n it('should match when existing variant is populated object', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: { id: 'variant-abc', name: 'Large' } as any,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-abc',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should not match when variant IDs differ (existing is object)', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: { id: 'variant-abc', name: 'Large' } as any,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-xyz',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n })\n\n describe('combined product and variant matching', () => {\n it('should match when both product and variant match', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: 'variant-abc',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-abc',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should not match when product matches but variant does not', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: 'variant-abc',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-xyz',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n\n it('should not match when variant matches but product does not', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: 'variant-abc',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-456',\n variant: 'variant-abc',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n\n it('should not match when neither product nor variant match', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: 'variant-abc',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-456',\n variant: 'variant-xyz',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(false)\n })\n })\n\n describe('edge cases', () => {\n it('should handle undefined variant in existing item', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n variant: undefined,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should handle undefined variant in new item', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: undefined,\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should handle numeric product IDs', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 123 as any,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 123 as any,\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should handle deeply nested product object', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: {\n id: 'product-123',\n name: 'Product',\n category: { id: 'cat-1', name: 'Category' },\n } as any,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should handle both product and variant as populated objects', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: { id: 'product-123', name: 'Product' } as any,\n variant: { id: 'variant-abc', name: 'Large' } as any,\n quantity: 1,\n }\n const newItem: NewCartItem = {\n product: 'product-123',\n variant: 'variant-abc',\n }\n\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n\n it('should ignore other item properties', () => {\n const existingItem: CartItemData = {\n id: 'item-1',\n product: 'product-123',\n quantity: 5,\n customProp: 'value-a',\n } as CartItemData\n const newItem: NewCartItem = {\n product: 'product-123',\n customProp: 'value-b',\n } as NewCartItem\n\n // Should match because only product/variant are checked\n expect(defaultCartItemMatcher({ existingItem, newItem })).toBe(true)\n })\n })\n})\n"],"names":["describe","expect","it","defaultCartItemMatcher","existingItem","id","product","quantity","newItem","toBe","name","variant","undefined","category","customProp"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeCart.d.ts","sourceRoot":"","sources":["../../../../src/collections/carts/operations/mergeCart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAwCnE,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAA;IAC1F;;OAEG;IACH,SAAS,EAAE,cAAc,CAAA;IACzB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB;;OAEG;IACH,YAAY,EAAE,qBAAqB,CAAA;IACnC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,YAAY,EAAE,qBAAqB,CAAA;CACpC,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,SAAS,SAAgB,aAAa,KAAG,OAAO,CAAC,mBAAmB,CA+GhF,CAAA"}