@commercelayer/sdk 4.41.0 → 4.42.0

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 (535) hide show
  1. package/lib/cjs/api.d.ts +38 -0
  2. package/lib/cjs/api.js +7 -14
  3. package/lib/cjs/client.d.ts +20 -14
  4. package/lib/cjs/client.js +74 -43
  5. package/lib/cjs/commercelayer.d.ts +7 -6
  6. package/lib/cjs/commercelayer.js +14 -4
  7. package/lib/cjs/common.d.ts +1 -0
  8. package/lib/cjs/common.js +11 -2
  9. package/lib/cjs/config.d.ts +1 -0
  10. package/lib/cjs/config.js +3 -0
  11. package/lib/cjs/debug.js +0 -4
  12. package/lib/cjs/error.d.ts +11 -8
  13. package/lib/cjs/error.js +42 -8
  14. package/lib/cjs/index.d.ts +1 -1
  15. package/lib/cjs/index.js +0 -16
  16. package/lib/cjs/interceptor.d.ts +6 -2
  17. package/lib/cjs/jsonapi.d.ts +1 -0
  18. package/lib/cjs/jsonapi.js +10 -3
  19. package/lib/cjs/query.d.ts +9 -15
  20. package/lib/cjs/query.js +3 -2
  21. package/lib/cjs/resource.d.ts +31 -20
  22. package/lib/cjs/resource.js +56 -10
  23. package/lib/cjs/resources/addresses.d.ts +74 -73
  24. package/lib/cjs/resources/addresses.js +3 -11
  25. package/lib/cjs/resources/adjustments.d.ts +20 -19
  26. package/lib/cjs/resources/adjustments.js +3 -11
  27. package/lib/cjs/resources/adyen_gateways.d.ts +35 -34
  28. package/lib/cjs/resources/adyen_gateways.js +3 -11
  29. package/lib/cjs/resources/adyen_payments.d.ts +29 -27
  30. package/lib/cjs/resources/adyen_payments.js +6 -11
  31. package/lib/cjs/resources/application.d.ts +14 -13
  32. package/lib/cjs/resources/application.js +1 -6
  33. package/lib/cjs/resources/attachments.d.ts +81 -80
  34. package/lib/cjs/resources/attachments.js +3 -11
  35. package/lib/cjs/resources/authorizations.d.ts +47 -43
  36. package/lib/cjs/resources/authorizations.js +10 -9
  37. package/lib/cjs/resources/avalara_accounts.d.ts +32 -31
  38. package/lib/cjs/resources/avalara_accounts.js +3 -11
  39. package/lib/cjs/resources/axerve_gateways.d.ts +24 -23
  40. package/lib/cjs/resources/axerve_gateways.js +3 -11
  41. package/lib/cjs/resources/axerve_payments.d.ts +34 -32
  42. package/lib/cjs/resources/axerve_payments.js +6 -11
  43. package/lib/cjs/resources/billing_info_validation_rules.d.ts +17 -16
  44. package/lib/cjs/resources/billing_info_validation_rules.js +3 -11
  45. package/lib/cjs/resources/bing_geocoders.d.ts +16 -15
  46. package/lib/cjs/resources/bing_geocoders.js +3 -11
  47. package/lib/cjs/resources/braintree_gateways.d.ts +34 -33
  48. package/lib/cjs/resources/braintree_gateways.js +3 -11
  49. package/lib/cjs/resources/braintree_payments.d.ts +30 -29
  50. package/lib/cjs/resources/braintree_payments.js +3 -11
  51. package/lib/cjs/resources/bundles.d.ts +59 -56
  52. package/lib/cjs/resources/bundles.js +9 -11
  53. package/lib/cjs/resources/buy_x_pay_y_promotions.d.ts +96 -85
  54. package/lib/cjs/resources/buy_x_pay_y_promotions.js +13 -11
  55. package/lib/cjs/resources/captures.d.ts +37 -34
  56. package/lib/cjs/resources/captures.js +7 -9
  57. package/lib/cjs/resources/carrier_accounts.d.ts +16 -15
  58. package/lib/cjs/resources/carrier_accounts.js +0 -8
  59. package/lib/cjs/resources/checkout_com_gateways.d.ts +25 -24
  60. package/lib/cjs/resources/checkout_com_gateways.js +3 -11
  61. package/lib/cjs/resources/checkout_com_payments.d.ts +41 -38
  62. package/lib/cjs/resources/checkout_com_payments.js +9 -11
  63. package/lib/cjs/resources/cleanups.d.ts +24 -23
  64. package/lib/cjs/resources/cleanups.js +2 -10
  65. package/lib/cjs/resources/coupon_codes_promotion_rules.d.ts +33 -32
  66. package/lib/cjs/resources/coupon_codes_promotion_rules.js +3 -11
  67. package/lib/cjs/resources/coupon_recipients.d.ts +26 -25
  68. package/lib/cjs/resources/coupon_recipients.js +3 -11
  69. package/lib/cjs/resources/coupons.d.ts +42 -41
  70. package/lib/cjs/resources/coupons.js +3 -11
  71. package/lib/cjs/resources/custom_promotion_rules.d.ts +31 -30
  72. package/lib/cjs/resources/custom_promotion_rules.js +3 -11
  73. package/lib/cjs/resources/customer_addresses.d.ts +23 -22
  74. package/lib/cjs/resources/customer_addresses.js +3 -11
  75. package/lib/cjs/resources/customer_groups.d.ts +17 -16
  76. package/lib/cjs/resources/customer_groups.js +3 -11
  77. package/lib/cjs/resources/customer_password_resets.d.ts +19 -17
  78. package/lib/cjs/resources/customer_password_resets.js +6 -11
  79. package/lib/cjs/resources/customer_payment_sources.d.ts +47 -46
  80. package/lib/cjs/resources/customer_payment_sources.js +3 -11
  81. package/lib/cjs/resources/customer_subscriptions.d.ts +15 -14
  82. package/lib/cjs/resources/customer_subscriptions.js +3 -11
  83. package/lib/cjs/resources/customers.d.ts +37 -36
  84. package/lib/cjs/resources/customers.js +3 -11
  85. package/lib/cjs/resources/delivery_lead_times.d.ts +27 -26
  86. package/lib/cjs/resources/delivery_lead_times.js +3 -11
  87. package/lib/cjs/resources/event_callbacks.d.ts +15 -14
  88. package/lib/cjs/resources/event_callbacks.js +0 -8
  89. package/lib/cjs/resources/events.d.ts +13 -12
  90. package/lib/cjs/resources/events.js +0 -8
  91. package/lib/cjs/resources/exports.d.ts +27 -26
  92. package/lib/cjs/resources/exports.js +2 -10
  93. package/lib/cjs/resources/external_gateways.d.ts +32 -31
  94. package/lib/cjs/resources/external_gateways.js +3 -11
  95. package/lib/cjs/resources/external_payments.d.ts +23 -22
  96. package/lib/cjs/resources/external_payments.js +3 -11
  97. package/lib/cjs/resources/external_promotions.d.ts +93 -82
  98. package/lib/cjs/resources/external_promotions.js +13 -11
  99. package/lib/cjs/resources/external_tax_calculators.d.ts +19 -18
  100. package/lib/cjs/resources/external_tax_calculators.js +3 -11
  101. package/lib/cjs/resources/fixed_amount_promotions.d.ts +94 -83
  102. package/lib/cjs/resources/fixed_amount_promotions.js +13 -11
  103. package/lib/cjs/resources/fixed_price_promotions.d.ts +93 -82
  104. package/lib/cjs/resources/fixed_price_promotions.js +13 -11
  105. package/lib/cjs/resources/free_gift_promotions.d.ts +92 -81
  106. package/lib/cjs/resources/free_gift_promotions.js +13 -11
  107. package/lib/cjs/resources/free_shipping_promotions.d.ts +85 -74
  108. package/lib/cjs/resources/free_shipping_promotions.js +13 -11
  109. package/lib/cjs/resources/geocoders.d.ts +13 -12
  110. package/lib/cjs/resources/geocoders.js +0 -8
  111. package/lib/cjs/resources/gift_card_recipients.d.ts +26 -25
  112. package/lib/cjs/resources/gift_card_recipients.js +3 -11
  113. package/lib/cjs/resources/gift_cards.d.ts +71 -66
  114. package/lib/cjs/resources/gift_cards.js +15 -11
  115. package/lib/cjs/resources/google_geocoders.d.ts +16 -15
  116. package/lib/cjs/resources/google_geocoders.js +3 -11
  117. package/lib/cjs/resources/imports.d.ts +30 -29
  118. package/lib/cjs/resources/imports.js +2 -10
  119. package/lib/cjs/resources/in_stock_subscriptions.d.ts +38 -35
  120. package/lib/cjs/resources/in_stock_subscriptions.js +9 -11
  121. package/lib/cjs/resources/inventory_models.d.ts +32 -28
  122. package/lib/cjs/resources/inventory_models.js +3 -11
  123. package/lib/cjs/resources/inventory_return_locations.d.ts +22 -21
  124. package/lib/cjs/resources/inventory_return_locations.js +3 -11
  125. package/lib/cjs/resources/inventory_stock_locations.d.ts +25 -24
  126. package/lib/cjs/resources/inventory_stock_locations.js +3 -11
  127. package/lib/cjs/resources/klarna_gateways.d.ts +23 -22
  128. package/lib/cjs/resources/klarna_gateways.js +3 -11
  129. package/lib/cjs/resources/klarna_payments.d.ts +29 -27
  130. package/lib/cjs/resources/klarna_payments.js +6 -11
  131. package/lib/cjs/resources/line_item_options.d.ts +41 -40
  132. package/lib/cjs/resources/line_item_options.js +3 -11
  133. package/lib/cjs/resources/line_items.d.ts +106 -100
  134. package/lib/cjs/resources/line_items.js +13 -11
  135. package/lib/cjs/resources/manual_gateways.d.ts +15 -14
  136. package/lib/cjs/resources/manual_gateways.js +3 -11
  137. package/lib/cjs/resources/manual_tax_calculators.d.ts +21 -20
  138. package/lib/cjs/resources/manual_tax_calculators.js +3 -11
  139. package/lib/cjs/resources/markets.d.ts +67 -64
  140. package/lib/cjs/resources/markets.js +9 -11
  141. package/lib/cjs/resources/merchants.d.ts +19 -18
  142. package/lib/cjs/resources/merchants.js +3 -11
  143. package/lib/cjs/resources/order_amount_promotion_rules.d.ts +36 -35
  144. package/lib/cjs/resources/order_amount_promotion_rules.js +3 -11
  145. package/lib/cjs/resources/order_copies.d.ts +29 -28
  146. package/lib/cjs/resources/order_copies.js +3 -11
  147. package/lib/cjs/resources/order_factories.d.ts +21 -20
  148. package/lib/cjs/resources/order_factories.js +0 -8
  149. package/lib/cjs/resources/order_subscription_items.d.ts +40 -39
  150. package/lib/cjs/resources/order_subscription_items.js +3 -11
  151. package/lib/cjs/resources/order_subscriptions.d.ts +55 -51
  152. package/lib/cjs/resources/order_subscriptions.js +12 -11
  153. package/lib/cjs/resources/order_validation_rules.d.ts +13 -12
  154. package/lib/cjs/resources/order_validation_rules.js +0 -8
  155. package/lib/cjs/resources/orders.d.ts +281 -251
  156. package/lib/cjs/resources/orders.js +88 -11
  157. package/lib/cjs/resources/organization.d.ts +25 -24
  158. package/lib/cjs/resources/organization.js +1 -6
  159. package/lib/cjs/resources/packages.d.ts +31 -30
  160. package/lib/cjs/resources/packages.js +3 -11
  161. package/lib/cjs/resources/parcel_line_items.d.ts +23 -22
  162. package/lib/cjs/resources/parcel_line_items.js +3 -11
  163. package/lib/cjs/resources/parcels.d.ts +94 -93
  164. package/lib/cjs/resources/parcels.js +3 -11
  165. package/lib/cjs/resources/payment_gateways.d.ts +13 -12
  166. package/lib/cjs/resources/payment_gateways.js +0 -8
  167. package/lib/cjs/resources/payment_methods.d.ts +54 -51
  168. package/lib/cjs/resources/payment_methods.js +9 -11
  169. package/lib/cjs/resources/payment_options.d.ts +24 -23
  170. package/lib/cjs/resources/payment_options.js +3 -11
  171. package/lib/cjs/resources/paypal_gateways.d.ts +18 -17
  172. package/lib/cjs/resources/paypal_gateways.js +3 -11
  173. package/lib/cjs/resources/paypal_payments.d.ts +32 -31
  174. package/lib/cjs/resources/paypal_payments.js +3 -11
  175. package/lib/cjs/resources/percentage_discount_promotions.d.ts +92 -81
  176. package/lib/cjs/resources/percentage_discount_promotions.js +13 -11
  177. package/lib/cjs/resources/price_frequency_tiers.d.ts +27 -26
  178. package/lib/cjs/resources/price_frequency_tiers.js +3 -11
  179. package/lib/cjs/resources/price_lists.d.ts +24 -23
  180. package/lib/cjs/resources/price_lists.js +3 -11
  181. package/lib/cjs/resources/price_tiers.d.ts +18 -17
  182. package/lib/cjs/resources/price_tiers.js +0 -8
  183. package/lib/cjs/resources/price_volume_tiers.d.ts +27 -26
  184. package/lib/cjs/resources/price_volume_tiers.js +3 -11
  185. package/lib/cjs/resources/prices.d.ts +41 -40
  186. package/lib/cjs/resources/prices.js +3 -11
  187. package/lib/cjs/resources/promotion_rules.d.ts +12 -11
  188. package/lib/cjs/resources/promotion_rules.js +0 -8
  189. package/lib/cjs/resources/promotions.d.ts +34 -30
  190. package/lib/cjs/resources/promotions.js +4 -8
  191. package/lib/cjs/resources/recurring_order_copies.d.ts +29 -28
  192. package/lib/cjs/resources/recurring_order_copies.js +3 -11
  193. package/lib/cjs/resources/refunds.d.ts +26 -25
  194. package/lib/cjs/resources/refunds.js +0 -8
  195. package/lib/cjs/resources/reserved_stocks.d.ts +14 -13
  196. package/lib/cjs/resources/reserved_stocks.js +0 -8
  197. package/lib/cjs/resources/return_line_items.d.ts +29 -27
  198. package/lib/cjs/resources/return_line_items.js +6 -11
  199. package/lib/cjs/resources/returns.d.ts +59 -49
  200. package/lib/cjs/resources/returns.js +30 -11
  201. package/lib/cjs/resources/satispay_gateways.d.ts +23 -22
  202. package/lib/cjs/resources/satispay_gateways.js +3 -11
  203. package/lib/cjs/resources/satispay_payments.d.ts +31 -29
  204. package/lib/cjs/resources/satispay_payments.js +6 -11
  205. package/lib/cjs/resources/shipments.d.ts +94 -82
  206. package/lib/cjs/resources/shipments.js +36 -11
  207. package/lib/cjs/resources/shipping_categories.d.ts +19 -18
  208. package/lib/cjs/resources/shipping_categories.js +3 -11
  209. package/lib/cjs/resources/shipping_method_tiers.d.ts +18 -17
  210. package/lib/cjs/resources/shipping_method_tiers.js +0 -8
  211. package/lib/cjs/resources/shipping_methods.d.ts +82 -79
  212. package/lib/cjs/resources/shipping_methods.js +9 -11
  213. package/lib/cjs/resources/shipping_weight_tiers.d.ts +26 -25
  214. package/lib/cjs/resources/shipping_weight_tiers.js +3 -11
  215. package/lib/cjs/resources/shipping_zones.d.ts +33 -32
  216. package/lib/cjs/resources/shipping_zones.js +3 -11
  217. package/lib/cjs/resources/sku_list_items.d.ts +27 -26
  218. package/lib/cjs/resources/sku_list_items.js +3 -11
  219. package/lib/cjs/resources/sku_list_promotion_rules.d.ts +40 -39
  220. package/lib/cjs/resources/sku_list_promotion_rules.js +3 -11
  221. package/lib/cjs/resources/sku_lists.d.ts +36 -35
  222. package/lib/cjs/resources/sku_lists.js +3 -11
  223. package/lib/cjs/resources/sku_options.d.ts +44 -43
  224. package/lib/cjs/resources/sku_options.js +3 -11
  225. package/lib/cjs/resources/skus.d.ts +57 -56
  226. package/lib/cjs/resources/skus.js +3 -11
  227. package/lib/cjs/resources/stock_items.d.ts +29 -28
  228. package/lib/cjs/resources/stock_items.js +3 -11
  229. package/lib/cjs/resources/stock_line_items.d.ts +44 -37
  230. package/lib/cjs/resources/stock_line_items.js +12 -11
  231. package/lib/cjs/resources/stock_locations.d.ts +33 -32
  232. package/lib/cjs/resources/stock_locations.js +3 -11
  233. package/lib/cjs/resources/stock_reservations.d.ts +24 -23
  234. package/lib/cjs/resources/stock_reservations.js +6 -11
  235. package/lib/cjs/resources/stock_transfers.d.ts +51 -44
  236. package/lib/cjs/resources/stock_transfers.js +21 -11
  237. package/lib/cjs/resources/stripe_gateways.d.ts +23 -22
  238. package/lib/cjs/resources/stripe_gateways.js +3 -11
  239. package/lib/cjs/resources/stripe_payments.d.ts +37 -34
  240. package/lib/cjs/resources/stripe_payments.js +9 -11
  241. package/lib/cjs/resources/subscription_models.d.ts +27 -26
  242. package/lib/cjs/resources/subscription_models.js +3 -11
  243. package/lib/cjs/resources/tags.d.ts +13 -12
  244. package/lib/cjs/resources/tags.js +3 -11
  245. package/lib/cjs/resources/tax_calculators.d.ts +14 -13
  246. package/lib/cjs/resources/tax_calculators.js +0 -8
  247. package/lib/cjs/resources/tax_categories.d.ts +31 -30
  248. package/lib/cjs/resources/tax_categories.js +3 -11
  249. package/lib/cjs/resources/tax_rules.d.ts +52 -51
  250. package/lib/cjs/resources/tax_rules.js +3 -11
  251. package/lib/cjs/resources/taxjar_accounts.d.ts +22 -21
  252. package/lib/cjs/resources/taxjar_accounts.js +3 -11
  253. package/lib/cjs/resources/transactions.d.ts +25 -24
  254. package/lib/cjs/resources/transactions.js +0 -8
  255. package/lib/cjs/resources/versions.d.ts +14 -14
  256. package/lib/cjs/resources/versions.js +0 -8
  257. package/lib/cjs/resources/voids.d.ts +26 -25
  258. package/lib/cjs/resources/voids.js +0 -8
  259. package/lib/cjs/resources/webhooks.d.ts +35 -31
  260. package/lib/cjs/resources/webhooks.js +12 -11
  261. package/lib/cjs/resources/wire_transfers.d.ts +17 -16
  262. package/lib/cjs/resources/wire_transfers.js +3 -11
  263. package/lib/cjs/static.d.ts +5 -2
  264. package/lib/cjs/static.js +8 -2
  265. package/lib/cjs/util.d.ts +2 -4
  266. package/lib/cjs/util.js +1 -0
  267. package/lib/esm/api.d.ts +38 -0
  268. package/lib/esm/api.js +6 -13
  269. package/lib/esm/client.d.ts +20 -14
  270. package/lib/esm/client.js +75 -44
  271. package/lib/esm/commercelayer.d.ts +7 -6
  272. package/lib/esm/commercelayer.js +14 -4
  273. package/lib/esm/common.d.ts +1 -0
  274. package/lib/esm/common.js +11 -2
  275. package/lib/esm/config.d.ts +1 -0
  276. package/lib/esm/config.js +3 -0
  277. package/lib/esm/debug.js +0 -4
  278. package/lib/esm/error.d.ts +11 -8
  279. package/lib/esm/error.js +37 -6
  280. package/lib/esm/index.d.ts +1 -1
  281. package/lib/esm/index.js +0 -2
  282. package/lib/esm/interceptor.d.ts +6 -2
  283. package/lib/esm/jsonapi.d.ts +1 -0
  284. package/lib/esm/jsonapi.js +10 -3
  285. package/lib/esm/query.d.ts +9 -15
  286. package/lib/esm/query.js +2 -2
  287. package/lib/esm/resource.d.ts +31 -20
  288. package/lib/esm/resource.js +56 -11
  289. package/lib/esm/resources/addresses.d.ts +74 -73
  290. package/lib/esm/resources/addresses.js +3 -11
  291. package/lib/esm/resources/adjustments.d.ts +20 -19
  292. package/lib/esm/resources/adjustments.js +3 -11
  293. package/lib/esm/resources/adyen_gateways.d.ts +35 -34
  294. package/lib/esm/resources/adyen_gateways.js +3 -11
  295. package/lib/esm/resources/adyen_payments.d.ts +29 -27
  296. package/lib/esm/resources/adyen_payments.js +6 -11
  297. package/lib/esm/resources/application.d.ts +14 -13
  298. package/lib/esm/resources/application.js +2 -7
  299. package/lib/esm/resources/attachments.d.ts +81 -80
  300. package/lib/esm/resources/attachments.js +3 -11
  301. package/lib/esm/resources/authorizations.d.ts +47 -43
  302. package/lib/esm/resources/authorizations.js +10 -9
  303. package/lib/esm/resources/avalara_accounts.d.ts +32 -31
  304. package/lib/esm/resources/avalara_accounts.js +3 -11
  305. package/lib/esm/resources/axerve_gateways.d.ts +24 -23
  306. package/lib/esm/resources/axerve_gateways.js +3 -11
  307. package/lib/esm/resources/axerve_payments.d.ts +34 -32
  308. package/lib/esm/resources/axerve_payments.js +6 -11
  309. package/lib/esm/resources/billing_info_validation_rules.d.ts +17 -16
  310. package/lib/esm/resources/billing_info_validation_rules.js +3 -11
  311. package/lib/esm/resources/bing_geocoders.d.ts +16 -15
  312. package/lib/esm/resources/bing_geocoders.js +3 -11
  313. package/lib/esm/resources/braintree_gateways.d.ts +34 -33
  314. package/lib/esm/resources/braintree_gateways.js +3 -11
  315. package/lib/esm/resources/braintree_payments.d.ts +30 -29
  316. package/lib/esm/resources/braintree_payments.js +3 -11
  317. package/lib/esm/resources/bundles.d.ts +59 -56
  318. package/lib/esm/resources/bundles.js +9 -11
  319. package/lib/esm/resources/buy_x_pay_y_promotions.d.ts +96 -85
  320. package/lib/esm/resources/buy_x_pay_y_promotions.js +13 -11
  321. package/lib/esm/resources/captures.d.ts +37 -34
  322. package/lib/esm/resources/captures.js +7 -9
  323. package/lib/esm/resources/carrier_accounts.d.ts +16 -15
  324. package/lib/esm/resources/carrier_accounts.js +0 -8
  325. package/lib/esm/resources/checkout_com_gateways.d.ts +25 -24
  326. package/lib/esm/resources/checkout_com_gateways.js +3 -11
  327. package/lib/esm/resources/checkout_com_payments.d.ts +41 -38
  328. package/lib/esm/resources/checkout_com_payments.js +9 -11
  329. package/lib/esm/resources/cleanups.d.ts +24 -23
  330. package/lib/esm/resources/cleanups.js +2 -10
  331. package/lib/esm/resources/coupon_codes_promotion_rules.d.ts +33 -32
  332. package/lib/esm/resources/coupon_codes_promotion_rules.js +3 -11
  333. package/lib/esm/resources/coupon_recipients.d.ts +26 -25
  334. package/lib/esm/resources/coupon_recipients.js +3 -11
  335. package/lib/esm/resources/coupons.d.ts +42 -41
  336. package/lib/esm/resources/coupons.js +3 -11
  337. package/lib/esm/resources/custom_promotion_rules.d.ts +31 -30
  338. package/lib/esm/resources/custom_promotion_rules.js +3 -11
  339. package/lib/esm/resources/customer_addresses.d.ts +23 -22
  340. package/lib/esm/resources/customer_addresses.js +3 -11
  341. package/lib/esm/resources/customer_groups.d.ts +17 -16
  342. package/lib/esm/resources/customer_groups.js +3 -11
  343. package/lib/esm/resources/customer_password_resets.d.ts +19 -17
  344. package/lib/esm/resources/customer_password_resets.js +6 -11
  345. package/lib/esm/resources/customer_payment_sources.d.ts +47 -46
  346. package/lib/esm/resources/customer_payment_sources.js +3 -11
  347. package/lib/esm/resources/customer_subscriptions.d.ts +15 -14
  348. package/lib/esm/resources/customer_subscriptions.js +3 -11
  349. package/lib/esm/resources/customers.d.ts +37 -36
  350. package/lib/esm/resources/customers.js +3 -11
  351. package/lib/esm/resources/delivery_lead_times.d.ts +27 -26
  352. package/lib/esm/resources/delivery_lead_times.js +3 -11
  353. package/lib/esm/resources/event_callbacks.d.ts +15 -14
  354. package/lib/esm/resources/event_callbacks.js +0 -8
  355. package/lib/esm/resources/events.d.ts +13 -12
  356. package/lib/esm/resources/events.js +0 -8
  357. package/lib/esm/resources/exports.d.ts +27 -26
  358. package/lib/esm/resources/exports.js +2 -10
  359. package/lib/esm/resources/external_gateways.d.ts +32 -31
  360. package/lib/esm/resources/external_gateways.js +3 -11
  361. package/lib/esm/resources/external_payments.d.ts +23 -22
  362. package/lib/esm/resources/external_payments.js +3 -11
  363. package/lib/esm/resources/external_promotions.d.ts +93 -82
  364. package/lib/esm/resources/external_promotions.js +13 -11
  365. package/lib/esm/resources/external_tax_calculators.d.ts +19 -18
  366. package/lib/esm/resources/external_tax_calculators.js +3 -11
  367. package/lib/esm/resources/fixed_amount_promotions.d.ts +94 -83
  368. package/lib/esm/resources/fixed_amount_promotions.js +13 -11
  369. package/lib/esm/resources/fixed_price_promotions.d.ts +93 -82
  370. package/lib/esm/resources/fixed_price_promotions.js +13 -11
  371. package/lib/esm/resources/free_gift_promotions.d.ts +92 -81
  372. package/lib/esm/resources/free_gift_promotions.js +13 -11
  373. package/lib/esm/resources/free_shipping_promotions.d.ts +85 -74
  374. package/lib/esm/resources/free_shipping_promotions.js +13 -11
  375. package/lib/esm/resources/geocoders.d.ts +13 -12
  376. package/lib/esm/resources/geocoders.js +0 -8
  377. package/lib/esm/resources/gift_card_recipients.d.ts +26 -25
  378. package/lib/esm/resources/gift_card_recipients.js +3 -11
  379. package/lib/esm/resources/gift_cards.d.ts +71 -66
  380. package/lib/esm/resources/gift_cards.js +15 -11
  381. package/lib/esm/resources/google_geocoders.d.ts +16 -15
  382. package/lib/esm/resources/google_geocoders.js +3 -11
  383. package/lib/esm/resources/imports.d.ts +30 -29
  384. package/lib/esm/resources/imports.js +2 -10
  385. package/lib/esm/resources/in_stock_subscriptions.d.ts +38 -35
  386. package/lib/esm/resources/in_stock_subscriptions.js +9 -11
  387. package/lib/esm/resources/inventory_models.d.ts +32 -28
  388. package/lib/esm/resources/inventory_models.js +3 -11
  389. package/lib/esm/resources/inventory_return_locations.d.ts +22 -21
  390. package/lib/esm/resources/inventory_return_locations.js +3 -11
  391. package/lib/esm/resources/inventory_stock_locations.d.ts +25 -24
  392. package/lib/esm/resources/inventory_stock_locations.js +3 -11
  393. package/lib/esm/resources/klarna_gateways.d.ts +23 -22
  394. package/lib/esm/resources/klarna_gateways.js +3 -11
  395. package/lib/esm/resources/klarna_payments.d.ts +29 -27
  396. package/lib/esm/resources/klarna_payments.js +6 -11
  397. package/lib/esm/resources/line_item_options.d.ts +41 -40
  398. package/lib/esm/resources/line_item_options.js +3 -11
  399. package/lib/esm/resources/line_items.d.ts +106 -100
  400. package/lib/esm/resources/line_items.js +13 -11
  401. package/lib/esm/resources/manual_gateways.d.ts +15 -14
  402. package/lib/esm/resources/manual_gateways.js +3 -11
  403. package/lib/esm/resources/manual_tax_calculators.d.ts +21 -20
  404. package/lib/esm/resources/manual_tax_calculators.js +3 -11
  405. package/lib/esm/resources/markets.d.ts +67 -64
  406. package/lib/esm/resources/markets.js +9 -11
  407. package/lib/esm/resources/merchants.d.ts +19 -18
  408. package/lib/esm/resources/merchants.js +3 -11
  409. package/lib/esm/resources/order_amount_promotion_rules.d.ts +36 -35
  410. package/lib/esm/resources/order_amount_promotion_rules.js +3 -11
  411. package/lib/esm/resources/order_copies.d.ts +29 -28
  412. package/lib/esm/resources/order_copies.js +3 -11
  413. package/lib/esm/resources/order_factories.d.ts +21 -20
  414. package/lib/esm/resources/order_factories.js +0 -8
  415. package/lib/esm/resources/order_subscription_items.d.ts +40 -39
  416. package/lib/esm/resources/order_subscription_items.js +3 -11
  417. package/lib/esm/resources/order_subscriptions.d.ts +55 -51
  418. package/lib/esm/resources/order_subscriptions.js +12 -11
  419. package/lib/esm/resources/order_validation_rules.d.ts +13 -12
  420. package/lib/esm/resources/order_validation_rules.js +0 -8
  421. package/lib/esm/resources/orders.d.ts +281 -251
  422. package/lib/esm/resources/orders.js +88 -11
  423. package/lib/esm/resources/organization.d.ts +25 -24
  424. package/lib/esm/resources/organization.js +2 -7
  425. package/lib/esm/resources/packages.d.ts +31 -30
  426. package/lib/esm/resources/packages.js +3 -11
  427. package/lib/esm/resources/parcel_line_items.d.ts +23 -22
  428. package/lib/esm/resources/parcel_line_items.js +3 -11
  429. package/lib/esm/resources/parcels.d.ts +94 -93
  430. package/lib/esm/resources/parcels.js +3 -11
  431. package/lib/esm/resources/payment_gateways.d.ts +13 -12
  432. package/lib/esm/resources/payment_gateways.js +0 -8
  433. package/lib/esm/resources/payment_methods.d.ts +54 -51
  434. package/lib/esm/resources/payment_methods.js +9 -11
  435. package/lib/esm/resources/payment_options.d.ts +24 -23
  436. package/lib/esm/resources/payment_options.js +3 -11
  437. package/lib/esm/resources/paypal_gateways.d.ts +18 -17
  438. package/lib/esm/resources/paypal_gateways.js +3 -11
  439. package/lib/esm/resources/paypal_payments.d.ts +32 -31
  440. package/lib/esm/resources/paypal_payments.js +3 -11
  441. package/lib/esm/resources/percentage_discount_promotions.d.ts +92 -81
  442. package/lib/esm/resources/percentage_discount_promotions.js +13 -11
  443. package/lib/esm/resources/price_frequency_tiers.d.ts +27 -26
  444. package/lib/esm/resources/price_frequency_tiers.js +3 -11
  445. package/lib/esm/resources/price_lists.d.ts +24 -23
  446. package/lib/esm/resources/price_lists.js +3 -11
  447. package/lib/esm/resources/price_tiers.d.ts +18 -17
  448. package/lib/esm/resources/price_tiers.js +0 -8
  449. package/lib/esm/resources/price_volume_tiers.d.ts +27 -26
  450. package/lib/esm/resources/price_volume_tiers.js +3 -11
  451. package/lib/esm/resources/prices.d.ts +41 -40
  452. package/lib/esm/resources/prices.js +3 -11
  453. package/lib/esm/resources/promotion_rules.d.ts +12 -11
  454. package/lib/esm/resources/promotion_rules.js +0 -8
  455. package/lib/esm/resources/promotions.d.ts +34 -30
  456. package/lib/esm/resources/promotions.js +4 -8
  457. package/lib/esm/resources/recurring_order_copies.d.ts +29 -28
  458. package/lib/esm/resources/recurring_order_copies.js +3 -11
  459. package/lib/esm/resources/refunds.d.ts +26 -25
  460. package/lib/esm/resources/refunds.js +0 -8
  461. package/lib/esm/resources/reserved_stocks.d.ts +14 -13
  462. package/lib/esm/resources/reserved_stocks.js +0 -8
  463. package/lib/esm/resources/return_line_items.d.ts +29 -27
  464. package/lib/esm/resources/return_line_items.js +6 -11
  465. package/lib/esm/resources/returns.d.ts +59 -49
  466. package/lib/esm/resources/returns.js +30 -11
  467. package/lib/esm/resources/satispay_gateways.d.ts +23 -22
  468. package/lib/esm/resources/satispay_gateways.js +3 -11
  469. package/lib/esm/resources/satispay_payments.d.ts +31 -29
  470. package/lib/esm/resources/satispay_payments.js +6 -11
  471. package/lib/esm/resources/shipments.d.ts +94 -82
  472. package/lib/esm/resources/shipments.js +36 -11
  473. package/lib/esm/resources/shipping_categories.d.ts +19 -18
  474. package/lib/esm/resources/shipping_categories.js +3 -11
  475. package/lib/esm/resources/shipping_method_tiers.d.ts +18 -17
  476. package/lib/esm/resources/shipping_method_tiers.js +0 -8
  477. package/lib/esm/resources/shipping_methods.d.ts +82 -79
  478. package/lib/esm/resources/shipping_methods.js +9 -11
  479. package/lib/esm/resources/shipping_weight_tiers.d.ts +26 -25
  480. package/lib/esm/resources/shipping_weight_tiers.js +3 -11
  481. package/lib/esm/resources/shipping_zones.d.ts +33 -32
  482. package/lib/esm/resources/shipping_zones.js +3 -11
  483. package/lib/esm/resources/sku_list_items.d.ts +27 -26
  484. package/lib/esm/resources/sku_list_items.js +3 -11
  485. package/lib/esm/resources/sku_list_promotion_rules.d.ts +40 -39
  486. package/lib/esm/resources/sku_list_promotion_rules.js +3 -11
  487. package/lib/esm/resources/sku_lists.d.ts +36 -35
  488. package/lib/esm/resources/sku_lists.js +3 -11
  489. package/lib/esm/resources/sku_options.d.ts +44 -43
  490. package/lib/esm/resources/sku_options.js +3 -11
  491. package/lib/esm/resources/skus.d.ts +57 -56
  492. package/lib/esm/resources/skus.js +3 -11
  493. package/lib/esm/resources/stock_items.d.ts +29 -28
  494. package/lib/esm/resources/stock_items.js +3 -11
  495. package/lib/esm/resources/stock_line_items.d.ts +44 -37
  496. package/lib/esm/resources/stock_line_items.js +12 -11
  497. package/lib/esm/resources/stock_locations.d.ts +33 -32
  498. package/lib/esm/resources/stock_locations.js +3 -11
  499. package/lib/esm/resources/stock_reservations.d.ts +24 -23
  500. package/lib/esm/resources/stock_reservations.js +6 -11
  501. package/lib/esm/resources/stock_transfers.d.ts +51 -44
  502. package/lib/esm/resources/stock_transfers.js +21 -11
  503. package/lib/esm/resources/stripe_gateways.d.ts +23 -22
  504. package/lib/esm/resources/stripe_gateways.js +3 -11
  505. package/lib/esm/resources/stripe_payments.d.ts +37 -34
  506. package/lib/esm/resources/stripe_payments.js +9 -11
  507. package/lib/esm/resources/subscription_models.d.ts +27 -26
  508. package/lib/esm/resources/subscription_models.js +3 -11
  509. package/lib/esm/resources/tags.d.ts +13 -12
  510. package/lib/esm/resources/tags.js +3 -11
  511. package/lib/esm/resources/tax_calculators.d.ts +14 -13
  512. package/lib/esm/resources/tax_calculators.js +0 -8
  513. package/lib/esm/resources/tax_categories.d.ts +31 -30
  514. package/lib/esm/resources/tax_categories.js +3 -11
  515. package/lib/esm/resources/tax_rules.d.ts +52 -51
  516. package/lib/esm/resources/tax_rules.js +3 -11
  517. package/lib/esm/resources/taxjar_accounts.d.ts +22 -21
  518. package/lib/esm/resources/taxjar_accounts.js +3 -11
  519. package/lib/esm/resources/transactions.d.ts +25 -24
  520. package/lib/esm/resources/transactions.js +0 -8
  521. package/lib/esm/resources/versions.d.ts +14 -14
  522. package/lib/esm/resources/versions.js +0 -8
  523. package/lib/esm/resources/voids.d.ts +26 -25
  524. package/lib/esm/resources/voids.js +0 -8
  525. package/lib/esm/resources/webhooks.d.ts +35 -31
  526. package/lib/esm/resources/webhooks.js +12 -11
  527. package/lib/esm/resources/wire_transfers.d.ts +17 -16
  528. package/lib/esm/resources/wire_transfers.js +3 -11
  529. package/lib/esm/static.d.ts +5 -2
  530. package/lib/esm/static.js +8 -2
  531. package/lib/esm/util.d.ts +2 -4
  532. package/lib/esm/util.js +27 -1
  533. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  534. package/lib/tsconfig.tsbuildinfo +1 -1
  535. package/package.json +2 -2
package/lib/esm/client.js CHANGED
@@ -10,50 +10,22 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _ApiClient_accessToken, _ApiClient_client;
13
- /* eslint-disable @typescript-eslint/no-explicit-any */
14
13
  import axios from 'axios';
15
- import { SdkError, ApiError, ErrorType } from './error';
14
+ import { SdkError, handleError } from './error';
16
15
  import config from './config';
16
+ // import type { Agent as HttpAgent } from 'http'
17
+ // import type { Agent as HttpsAgent } from 'https'
18
+ // import { packageInfo } from './util'
17
19
  import Debug from './debug';
18
20
  const debug = Debug('client');
19
21
  const baseURL = (organization, domain) => {
20
22
  return `https://${organization.toLowerCase()}.${domain || config.default.domain}/api`;
21
23
  };
22
- const handleError = (error) => {
23
- let sdkError = new SdkError({ message: error.message });
24
- if (axios.isAxiosError(error)) {
25
- if (error.response) {
26
- // The request was made and the server responded with a status code that falls out of the range of 2xx
27
- const apiError = new ApiError(sdkError);
28
- apiError.type = ErrorType.RESPONSE;
29
- apiError.status = error.response.status;
30
- apiError.code = String(apiError.status);
31
- apiError.errors = error.response.data.errors;
32
- sdkError = apiError;
33
- }
34
- else if (error.request) {
35
- // The request was made but no response was received
36
- // `error.request` is an instance of XMLHttpRequest in the browser and an instance of http.ClientRequest in node.js
37
- sdkError.type = ErrorType.REQUEST;
38
- sdkError.request = error.request;
39
- }
40
- else {
41
- // Something happened in setting up the request that triggered an Error
42
- sdkError.type = ErrorType.CLIENT;
43
- }
44
- }
45
- else if (axios.isCancel(error))
46
- sdkError.type = ErrorType.CANCEL;
47
- else
48
- sdkError.source = error;
49
- throw sdkError;
50
- };
51
24
  class ApiClient {
52
25
  static create(options) {
53
- if (!(options === null || options === void 0 ? void 0 : options.organization))
54
- throw new Error("Undefined 'organization' parameter");
55
- if (!(options === null || options === void 0 ? void 0 : options.accessToken))
56
- throw new Error("Undefined 'accessToken' parameter");
26
+ for (const attr of config.client.requiredAttributes)
27
+ if (!options || !options[attr])
28
+ throw new SdkError({ message: `Undefined '${attr}' parameter` });
57
29
  return new ApiClient(options);
58
30
  }
59
31
  constructor(options) {
@@ -66,13 +38,32 @@ class ApiClient {
66
38
  timeout: options.timeout || config.client.timeout,
67
39
  proxy: options.proxy,
68
40
  httpAgent: options.httpAgent,
69
- httpsAgent: options.httpsAgent,
41
+ httpsAgent: options.httpsAgent
42
+ };
43
+ // Set custom headers
44
+ const customHeaders = this.customHeaders(options.headers);
45
+ // Set headers
46
+ const headers = {
47
+ ...customHeaders,
48
+ 'Accept': 'application/vnd.api+json',
49
+ 'Content-Type': 'application/vnd.api+json',
50
+ 'Authorization': 'Bearer ' + __classPrivateFieldGet(this, _ApiClient_accessToken, "f")
70
51
  };
71
- const axiosOptions = Object.assign({ baseURL: this.baseUrl, timeout: config.client.timeout, headers: {
72
- 'Accept': 'application/vnd.api+json',
73
- 'Content-Type': 'application/vnd.api+json',
74
- 'Authorization': 'Bearer ' + __classPrivateFieldGet(this, _ApiClient_accessToken, "f"),
75
- } }, axiosConfig);
52
+ // Set User-Agent
53
+ let userAgent = options.userAgent; // || `SDK-core axios/${axios.VERSION}`
54
+ if (userAgent) {
55
+ if (!userAgent.includes('axios/'))
56
+ userAgent += ` axios/${axios.VERSION}`;
57
+ headers['User-Agent'] = userAgent;
58
+ }
59
+ const axiosOptions = {
60
+ baseURL: this.baseUrl,
61
+ timeout: config.client.timeout,
62
+ headers,
63
+ ...axiosConfig
64
+ };
65
+ if (options.adapter)
66
+ axiosOptions.adapter = options.adapter;
76
67
  debug('axios options: %O', axiosOptions);
77
68
  __classPrivateFieldSet(this, _ApiClient_client, axios.create(axiosOptions), "f");
78
69
  this.interceptors = __classPrivateFieldGet(this, _ApiClient_client, "f").interceptors;
@@ -89,6 +80,10 @@ class ApiClient {
89
80
  def.httpAgent = config.httpAgent;
90
81
  if (config.httpsAgent)
91
82
  def.httpsAgent = config.httpsAgent;
83
+ if (config.adapter)
84
+ this.adapter(config.adapter);
85
+ if (config.userAgent)
86
+ this.userAgent(config.userAgent);
92
87
  // API Client config
93
88
  if (config.organization)
94
89
  this.baseUrl = baseURL(config.organization, config.domain);
@@ -96,23 +91,59 @@ class ApiClient {
96
91
  __classPrivateFieldSet(this, _ApiClient_accessToken, config.accessToken, "f");
97
92
  def.headers.common.Authorization = 'Bearer ' + __classPrivateFieldGet(this, _ApiClient_accessToken, "f");
98
93
  }
94
+ if (config.headers)
95
+ def.headers.common = this.customHeaders(config.headers);
96
+ return this;
97
+ }
98
+ userAgent(userAgent) {
99
+ if (userAgent) {
100
+ let ua = userAgent;
101
+ if (!ua.includes('axios/')) {
102
+ // const axiosVer = packageInfo(['dependencies.axios'], { nestedName: true })
103
+ if (axios.VERSION)
104
+ ua += ` axios/${axios.VERSION}`;
105
+ }
106
+ __classPrivateFieldGet(this, _ApiClient_client, "f").defaults.headers['User-Agent'] = ua;
107
+ }
108
+ return this;
109
+ }
110
+ adapter(adapter) {
111
+ if (adapter)
112
+ __classPrivateFieldGet(this, _ApiClient_client, "f").defaults.adapter = adapter;
113
+ return this;
99
114
  }
100
115
  async request(method, path, body, options) {
101
116
  debug('request %s %s, %O, %O', method, path, body || {}, options || {});
117
+ // Ignored params alerts (in debug mode)
118
+ if (options === null || options === void 0 ? void 0 : options.adapter)
119
+ debug('Adapter ignored in request config');
120
+ if (options === null || options === void 0 ? void 0 : options.userAgent)
121
+ debug('User-Agent header ignored in request config');
102
122
  const data = body ? { data: body } : undefined;
103
123
  const url = path;
104
124
  // Runtime request parameters
105
125
  const baseUrl = (options === null || options === void 0 ? void 0 : options.organization) ? baseURL(options.organization, options.domain) : undefined;
106
126
  const accessToken = (options === null || options === void 0 ? void 0 : options.accessToken) || __classPrivateFieldGet(this, _ApiClient_accessToken, "f");
107
- const headers = accessToken ? { 'Authorization': 'Bearer ' + accessToken } : undefined;
108
- const requestParams = Object.assign({ method, baseURL: baseUrl, url, data, headers }, options);
127
+ const headers = this.customHeaders(options === null || options === void 0 ? void 0 : options.headers);
128
+ if (accessToken)
129
+ headers.Authorization = 'Bearer ' + accessToken;
130
+ const requestParams = { method, baseURL: baseUrl, url, data, ...options, headers };
109
131
  debug('request params: %O', requestParams);
110
132
  // const start = Date.now()
111
133
  return __classPrivateFieldGet(this, _ApiClient_client, "f").request(requestParams)
112
134
  .then(response => response.data)
113
- .catch(error => handleError(error));
135
+ .catch((error) => handleError(error));
114
136
  // .finally(() => console.log(`<<-- ${method} ${path} ${Date.now() - start}`))
115
137
  }
138
+ customHeaders(headers) {
139
+ const customHeaders = {};
140
+ if (headers) {
141
+ for (const [name, value] of Object.entries(headers))
142
+ if (!['accept', 'content-type', 'authorization', 'user-agent'].includes(name.toLowerCase()))
143
+ customHeaders[name] = value;
144
+ }
145
+ return customHeaders;
146
+ }
116
147
  }
117
148
  _ApiClient_accessToken = new WeakMap(), _ApiClient_client = new WeakMap();
118
149
  export default ApiClient;
@@ -1,16 +1,15 @@
1
1
  import * as api from './api';
2
- import { ApiError } from './error';
2
+ import type { ApiError } from './error';
3
3
  import type { ErrorInterceptor, InterceptorType, RawResponseReader, RequestInterceptor, ResponseInterceptor } from './interceptor';
4
- import { ResourcesInitConfig } from './resource';
5
- declare const OPEN_API_SCHEMA_VERSION = "4.23.0";
4
+ import { type ResourcesInitConfig } from './resource';
5
+ declare const OPEN_API_SCHEMA_VERSION = "4.24.0";
6
6
  export { OPEN_API_SCHEMA_VERSION };
7
7
  type SdkConfig = {};
8
8
  type CommerceLayerInitConfig = SdkConfig & ResourcesInitConfig;
9
9
  type CommerceLayerConfig = Partial<CommerceLayerInitConfig>;
10
10
  declare class CommerceLayerClient {
11
11
  #private;
12
- static get openApiSchemaVersion(): string;
13
- readonly openApiSchemaVersion = "4.23.0";
12
+ readonly openApiSchemaVersion = "4.24.0";
14
13
  addresses: api.Addresses;
15
14
  adjustments: api.Adjustments;
16
15
  adyen_gateways: api.AdyenGateways;
@@ -134,8 +133,10 @@ declare class CommerceLayerClient {
134
133
  constructor(config: CommerceLayerInitConfig);
135
134
  get currentOrganization(): string;
136
135
  private localConfig;
137
- config(config: CommerceLayerConfig): void;
136
+ config(config: CommerceLayerConfig): CommerceLayerClient;
138
137
  resources(): readonly string[];
138
+ singletons(): readonly string[];
139
+ isSingleton(resource: api.ResourceTypeLock): boolean;
139
140
  isApiError(error: any): error is ApiError;
140
141
  addRequestInterceptor(onFulfilled?: RequestInterceptor, onRejected?: ErrorInterceptor): number;
141
142
  addResponseInterceptor(onFulfilled?: ResponseInterceptor, onRejected?: ErrorInterceptor): number;
@@ -16,18 +16,19 @@ import ResourceAdapter from './resource';
16
16
  import Debug from './debug';
17
17
  const debug = Debug('commercelayer');
18
18
  // Autogenerated schema version number, do not remove this line
19
- const OPEN_API_SCHEMA_VERSION = '4.23.0';
19
+ const OPEN_API_SCHEMA_VERSION = '4.24.0';
20
20
  export { OPEN_API_SCHEMA_VERSION };
21
21
  class CommerceLayerClient {
22
- static get openApiSchemaVersion() { return OPEN_API_SCHEMA_VERSION; }
23
22
  // ##__CL_RESOURCES_DEF_STOP__##
24
23
  constructor(config) {
24
+ // static get openApiSchemaVersion(): string { return OPEN_API_SCHEMA_VERSION }
25
25
  this.openApiSchemaVersion = OPEN_API_SCHEMA_VERSION;
26
26
  _CommerceLayerClient_adapter.set(this, void 0);
27
27
  _CommerceLayerClient_organization.set(this, void 0);
28
28
  debug('new commercelayer instance %O', config);
29
29
  __classPrivateFieldSet(this, _CommerceLayerClient_adapter, new ResourceAdapter(config), "f");
30
30
  __classPrivateFieldSet(this, _CommerceLayerClient_organization, config.organization, "f");
31
+ // this.#environment = 'test'
31
32
  // ##__CL_RESOURCES_INIT_START__##
32
33
  // ##__CL_RESOURCES_INIT_TEMPLATE:: ##__TAB__####__TAB__##this.##__RESOURCE_TYPE__## = new api.##__RESOURCE_CLASS__##(this.#adapter)
33
34
  this.addresses = new api.Addresses(__classPrivateFieldGet(this, _CommerceLayerClient_adapter, "f"));
@@ -153,6 +154,8 @@ class CommerceLayerClient {
153
154
  // ##__CL_RESOURCES_INIT_STOP__##
154
155
  }
155
156
  get currentOrganization() { return __classPrivateFieldGet(this, _CommerceLayerClient_organization, "f"); }
157
+ // get currentAccessToken(): string { return this.#adapter?.clientInstance?.currentAccessToken}
158
+ // get environment(): ApiMode { return this.#environment }
156
159
  localConfig(config) {
157
160
  if (config.organization)
158
161
  __classPrivateFieldSet(this, _CommerceLayerClient_organization, config.organization, "f");
@@ -166,10 +169,17 @@ class CommerceLayerClient {
166
169
  if (!config.organization)
167
170
  config.organization = this.currentOrganization;
168
171
  __classPrivateFieldGet(this, _CommerceLayerClient_adapter, "f").config(config);
172
+ return this;
169
173
  }
170
174
  resources() {
171
175
  return CommerceLayerStatic.resources();
172
176
  }
177
+ singletons() {
178
+ return CommerceLayerStatic.singletons();
179
+ }
180
+ isSingleton(resource) {
181
+ return CommerceLayerStatic.isSingleton(resource);
182
+ }
173
183
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
174
184
  isApiError(error) {
175
185
  return CommerceLayerStatic.isApiError(error);
@@ -181,7 +191,7 @@ class CommerceLayerClient {
181
191
  return __classPrivateFieldGet(this, _CommerceLayerClient_adapter, "f").interceptors.response.use(onFulfilled, onRejected);
182
192
  }
183
193
  removeInterceptor(type, id) {
184
- return __classPrivateFieldGet(this, _CommerceLayerClient_adapter, "f").interceptors[type].eject(id);
194
+ __classPrivateFieldGet(this, _CommerceLayerClient_adapter, "f").interceptors[type].eject(id);
185
195
  }
186
196
  addRawResponseReader(options) {
187
197
  const reader = {
@@ -202,7 +212,7 @@ class CommerceLayerClient {
202
212
  removeRawResponseReader(reader) {
203
213
  const id = (typeof reader === 'number') ? reader : reader === null || reader === void 0 ? void 0 : reader.id;
204
214
  if (id && (id >= 0))
205
- return this.removeInterceptor('response', id);
215
+ this.removeInterceptor('response', id);
206
216
  }
207
217
  }
208
218
  _CommerceLayerClient_adapter = new WeakMap(), _CommerceLayerClient_organization = new WeakMap();
@@ -2,3 +2,4 @@ import type { ResourceId, ResourceType } from './resource';
2
2
  declare const isResourceId: (resource: any) => resource is ResourceId;
3
3
  declare const isResourceType: (resource: any) => resource is ResourceType;
4
4
  export { isResourceId, isResourceType };
5
+ export type ObjectType = Record<string, any>;
package/lib/esm/common.js CHANGED
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
3
1
  import { resourceList } from './api';
4
2
  const isResourceId = (resource) => {
5
3
  return ((resource === null || resource === void 0 ? void 0 : resource.type) && resource.id) && resourceList.includes(resource.type);
@@ -8,3 +6,14 @@ const isResourceType = (resource) => {
8
6
  return resource && (typeof resource.type !== 'undefined') && resource.type && resourceList.includes(resource.type);
9
7
  };
10
8
  export { isResourceId, isResourceType };
9
+ /*
10
+ // Nullable types
11
+ type StringNullable = string | null
12
+ type NumberNullable = number | null
13
+ type BooleanNullable = boolean | null
14
+ type ResourceNullable<R extends Resource> = R | null
15
+ type ResourceArrayNullable<R extends Resource> = R[] | null
16
+
17
+
18
+ export type { StringNullable, NumberNullable, BooleanNullable, ResourceNullable, ResourceArrayNullable }
19
+ */
@@ -6,6 +6,7 @@ declare const config: {
6
6
  };
7
7
  readonly client: {
8
8
  readonly timeout: 15000;
9
+ readonly requiredAttributes: readonly ["organization", "accessToken"];
9
10
  };
10
11
  };
11
12
  export default config;
package/lib/esm/config.js CHANGED
@@ -1,11 +1,14 @@
1
+ // export type ApiMode = 'test' | 'live'
1
2
  const config = {
2
3
  default: {
4
+ // environment: 'test',
3
5
  domain: 'commercelayer.io',
4
6
  pageNumber: 1,
5
7
  pageSize: 10,
6
8
  },
7
9
  client: {
8
10
  timeout: 15000,
11
+ requiredAttributes: ['organization', 'accessToken'],
9
12
  }
10
13
  };
11
14
  export default config;
package/lib/esm/debug.js CHANGED
@@ -1,6 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/no-unused-vars */
3
- // import Debug from 'debug'
4
1
  /* Nope debugger */
5
2
  const debuggerFunction = (_pattern, ..._args) => {
6
3
  // console.log(_pattern)
@@ -8,7 +5,6 @@ const debuggerFunction = (_pattern, ..._args) => {
8
5
  let debuggerFactory = (_namespace) => debuggerFunction;
9
6
  /* Try loading 'debug' module */
10
7
  try {
11
- // eslint-disable-next-line @typescript-eslint/no-var-requires
12
8
  const debugModule = require('debug');
13
9
  if (debugModule && (typeof debugModule === 'function'))
14
10
  debuggerFactory = debugModule;
@@ -1,14 +1,15 @@
1
1
  declare enum ErrorType {
2
- CLIENT = "client",
3
- REQUEST = "request",
4
- RESPONSE = "response",
5
- GENERIC = "generic",
6
- CANCEL = "cancel"
2
+ CLIENT = "client",// Error instantiating the client
3
+ REQUEST = "request",// Error preparing API request
4
+ RESPONSE = "response",// Error response from API
5
+ CANCEL = "cancel",// Forced request abort using interceptor
6
+ PARSE = "parse",// Error parsing API resource
7
+ GENERIC = "generic"
7
8
  }
8
9
  declare class SdkError extends Error {
9
10
  static NAME: string;
10
- static isSdkError(error: any): error is ApiError;
11
- type: string;
11
+ static isSdkError(error: any): error is SdkError;
12
+ type: ErrorType;
12
13
  code?: string;
13
14
  source?: Error;
14
15
  request?: any;
@@ -22,7 +23,9 @@ declare class ApiError extends SdkError {
22
23
  static isApiError(error: any): error is ApiError;
23
24
  errors: any[];
24
25
  status?: number;
26
+ statusText?: string;
25
27
  constructor(error: SdkError);
26
28
  first(): any;
27
29
  }
28
- export { SdkError, ApiError, ErrorType };
30
+ declare const handleError: (error: Error) => never;
31
+ export { SdkError, ApiError, ErrorType, handleError };
package/lib/esm/error.js CHANGED
@@ -1,14 +1,14 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
1
+ import axios from 'axios';
2
2
  var ErrorType;
3
3
  (function (ErrorType) {
4
4
  ErrorType["CLIENT"] = "client";
5
5
  ErrorType["REQUEST"] = "request";
6
6
  ErrorType["RESPONSE"] = "response";
7
- ErrorType["GENERIC"] = "generic";
8
7
  ErrorType["CANCEL"] = "cancel";
8
+ ErrorType["PARSE"] = "parse";
9
+ ErrorType["GENERIC"] = "generic";
9
10
  })(ErrorType || (ErrorType = {}));
10
11
  class SdkError extends Error {
11
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
12
12
  static isSdkError(error) {
13
13
  return error && [SdkError.NAME, ApiError.NAME].includes(error.name) && Object.values(ErrorType).includes(error.type);
14
14
  }
@@ -20,12 +20,11 @@ class SdkError extends Error {
20
20
  }
21
21
  SdkError.NAME = 'SdkError';
22
22
  class ApiError extends SdkError {
23
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
24
23
  static isApiError(error) {
25
24
  return SdkError.isSdkError(error) && (error.name === ApiError.NAME) && (error.type === ErrorType.RESPONSE);
26
25
  }
27
26
  constructor(error) {
28
- super(Object.assign(Object.assign({}, error), { type: ErrorType.RESPONSE }));
27
+ super({ ...error, type: ErrorType.RESPONSE });
29
28
  this.errors = [];
30
29
  this.name = ApiError.NAME; // this.constructor.name
31
30
  }
@@ -35,4 +34,36 @@ class ApiError extends SdkError {
35
34
  }
36
35
  }
37
36
  ApiError.NAME = 'ApiError';
38
- export { SdkError, ApiError, ErrorType };
37
+ const handleError = (error) => {
38
+ let sdkError = new SdkError({ message: error.message });
39
+ if (axios.isAxiosError(error)) {
40
+ if (error.response) {
41
+ // The request was made and the server responded with a status code that falls out of the range of 2xx
42
+ const apiError = new ApiError(sdkError);
43
+ apiError.type = ErrorType.RESPONSE;
44
+ apiError.status = error.response.status;
45
+ apiError.statusText = error.response.statusText;
46
+ apiError.code = String(apiError.status);
47
+ apiError.errors = error.response.data.errors;
48
+ if (!apiError.message && apiError.statusText)
49
+ apiError.message = apiError.statusText;
50
+ sdkError = apiError;
51
+ }
52
+ else if (error.request) {
53
+ // The request was made but no response was received
54
+ // `error.request` is an instance of XMLHttpRequest in the browser and an instance of http.ClientRequest in node.js
55
+ sdkError.type = ErrorType.REQUEST;
56
+ sdkError.request = error.request;
57
+ }
58
+ else {
59
+ // Something happened in setting up the request that triggered an Error
60
+ sdkError.type = ErrorType.CLIENT;
61
+ }
62
+ }
63
+ else if (axios.isCancel(error))
64
+ sdkError.type = ErrorType.CANCEL;
65
+ else
66
+ sdkError.source = error;
67
+ throw sdkError;
68
+ };
69
+ export { SdkError, ApiError, ErrorType, handleError };
@@ -2,6 +2,6 @@ export { default, CommerceLayer } from './commercelayer';
2
2
  export type { CommerceLayerClient } from './commercelayer';
3
3
  export { CommerceLayerStatic } from './static';
4
4
  export type { QueryParamsRetrieve, QueryParamsList, QueryParams } from './query';
5
- export * from './model';
5
+ export type * from './model';
6
6
  export type { RequestObj, ResponseObj, ErrorObj, HeadersObj } from './interceptor';
7
7
  export type { SdkError, ApiError, ErrorType } from './error';
package/lib/esm/index.js CHANGED
@@ -2,5 +2,3 @@
2
2
  export { default, CommerceLayer } from './commercelayer';
3
3
  // Commerce Layer static functions
4
4
  export { CommerceLayerStatic } from './static';
5
- // Resource model types
6
- export * from './model';
@@ -1,4 +1,4 @@
1
- import { AxiosError, AxiosInterceptorManager, AxiosRequestConfig, AxiosResponse, AxiosResponseHeaders, RawAxiosResponseHeaders } from 'axios';
1
+ import type { AxiosError, AxiosInterceptorManager, AxiosRequestConfig, AxiosResponse, AxiosResponseHeaders, RawAxiosResponseHeaders } from 'axios';
2
2
  type InterceptorManager = {
3
3
  request: AxiosInterceptorManager<AxiosRequestConfig>;
4
4
  response: AxiosInterceptorManager<any>;
@@ -7,7 +7,11 @@ type RequestObj = AxiosRequestConfig;
7
7
  type RequestInterceptor = (request: RequestObj) => RequestObj | Promise<RequestObj>;
8
8
  type ResponseObj = AxiosResponse;
9
9
  type ResponseInterceptor = (response: ResponseObj) => ResponseObj;
10
- type HeadersObj = AxiosResponseHeaders | RawAxiosResponseHeaders;
10
+ type ApiHeadersList = 'x-ratelimit-limit' | 'x-ratelimit-count' | 'x-ratelimit-period' | 'x-ratelimit-interval' | 'x-ratelimit-remaining';
11
+ type ApiHeaders = {
12
+ [key in ApiHeadersList]: string | number | boolean;
13
+ };
14
+ type HeadersObj = (AxiosResponseHeaders | RawAxiosResponseHeaders) & ApiHeaders;
11
15
  type ErrorObj = AxiosError;
12
16
  type ErrorInterceptor = (error: ErrorObj) => ErrorObj;
13
17
  type InterceptorType = 'request' | 'response';
@@ -1,5 +1,6 @@
1
1
  import type { DocWithData, ResourceObject as JSONAPIObject } from 'jsonapi-typescript';
2
2
  import type { ResourceCreate, ResourceUpdate, ResourceId, ResourceType, Resource } from './resource';
3
+ export type { DocWithData };
3
4
  declare const denormalize: <R extends Resource>(response: DocWithData) => R | R[];
4
5
  declare const normalize: (resource: (ResourceCreate & ResourceType) | (ResourceUpdate & ResourceId)) => JSONAPIObject;
5
6
  export { denormalize, normalize };
@@ -28,13 +28,17 @@ const denormalizeResource = (res, included) => {
28
28
  debug('denormalize resource: %O, %o', res, included || {});
29
29
  if (!res)
30
30
  return res;
31
- const resource = Object.assign({ id: res.id, type: res.type }, res.attributes);
31
+ const resource = {
32
+ id: res.id,
33
+ type: res.type,
34
+ ...res.attributes,
35
+ };
32
36
  if (res.relationships)
33
37
  Object.keys(res.relationships).forEach(key => {
34
38
  const rel = res.relationships[key].data;
35
39
  if (rel) {
36
40
  if (Array.isArray(rel))
37
- resource[key] = rel.map(r => denormalizeResource(findIncluded(r, included), included));
41
+ resource[key] = rel.map((r) => denormalizeResource(findIncluded(r, included), included));
38
42
  else
39
43
  resource[key] = denormalizeResource(findIncluded(rel, included), included);
40
44
  }
@@ -53,7 +57,10 @@ const normalize = (resource) => {
53
57
  if (['type', 'id'].includes(field))
54
58
  continue;
55
59
  const value = resource[field];
56
- if (value && isResourceType(value) && value.id === null) {
60
+ if (Array.isArray(value) && (value.length === 1) && isResourceType(value[0]) && (value[0].id === null)) {
61
+ relationships[field] = { data: [] };
62
+ }
63
+ else if (value && isResourceType(value) && (value.id === null)) {
57
64
  relationships[field] = { data: null };
58
65
  }
59
66
  else if (value && (isResourceId(value) || (Array.isArray(value) && isResourceId(value[0])))) {
@@ -1,23 +1,17 @@
1
- import { ResourceType } from "./resource";
1
+ import type { ResourceType } from "./resource";
2
+ type QueryFilter = Record<string, string | number | boolean>;
2
3
  interface QueryParamsRetrieve {
3
4
  include?: string[];
4
- fields?: string[] | {
5
- [key: string]: string[];
6
- };
5
+ fields?: string[] | Record<string, string[]>;
7
6
  }
8
7
  interface QueryParamsList extends QueryParamsRetrieve {
9
- sort?: string[] | {
10
- [key: string]: 'asc' | 'desc';
11
- };
12
- filters?: {
13
- [key: string]: string | number | boolean;
14
- };
8
+ sort?: string[] | Record<string, 'asc' | 'desc'>;
9
+ filters?: QueryFilter;
15
10
  pageNumber?: number;
16
11
  pageSize?: number;
17
12
  }
18
13
  type QueryParams = QueryParamsRetrieve | QueryParamsList;
19
- export { QueryParamsRetrieve, QueryParamsList, QueryParams };
20
- declare const generateQueryStringParams: (params: QueryParamsRetrieve | QueryParamsList | undefined, res: string | ResourceType) => {
21
- [key: string]: string;
22
- };
23
- export { generateQueryStringParams };
14
+ export type { QueryParamsRetrieve, QueryParamsList, QueryParams, QueryFilter };
15
+ declare const isParamsList: (params: any) => params is QueryParamsList;
16
+ declare const generateQueryStringParams: (params: QueryParamsRetrieve | QueryParamsList | undefined, res: string | ResourceType) => Record<string, string>;
17
+ export { generateQueryStringParams, isParamsList };
package/lib/esm/query.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import Debug from './debug';
2
2
  const debug = Debug('query');
3
3
  const isParamsList = (params) => {
4
- return (params.filters || params.pageNumber || params.pageSize || params.sort);
4
+ return params && (params.filters || params.pageNumber || params.pageSize || params.sort);
5
5
  };
6
6
  const generateQueryStringParams = (params, res) => {
7
7
  debug('generate query string params: %O, %O', params, res);
@@ -42,4 +42,4 @@ const generateQueryStringParams = (params, res) => {
42
42
  debug('query string params: %O', qp);
43
43
  return qp;
44
44
  };
45
- export { generateQueryStringParams };
45
+ export { generateQueryStringParams, isParamsList };