@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/cjs/index.js CHANGED
@@ -1,18 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
17
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
4
  };
@@ -25,5 +11,3 @@ Object.defineProperty(exports, "CommerceLayer", { enumerable: true, get: functio
25
11
  // Commerce Layer static functions
26
12
  var static_1 = require("./static");
27
13
  Object.defineProperty(exports, "CommerceLayerStatic", { enumerable: true, get: function () { return static_1.CommerceLayerStatic; } });
28
- // Resource model types
29
- __exportStar(require("./model"), exports);
@@ -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 };
@@ -35,13 +35,17 @@ const denormalizeResource = (res, included) => {
35
35
  debug('denormalize resource: %O, %o', res, included || {});
36
36
  if (!res)
37
37
  return res;
38
- const resource = Object.assign({ id: res.id, type: res.type }, res.attributes);
38
+ const resource = {
39
+ id: res.id,
40
+ type: res.type,
41
+ ...res.attributes,
42
+ };
39
43
  if (res.relationships)
40
44
  Object.keys(res.relationships).forEach(key => {
41
45
  const rel = res.relationships[key].data;
42
46
  if (rel) {
43
47
  if (Array.isArray(rel))
44
- resource[key] = rel.map(r => denormalizeResource(findIncluded(r, included), included));
48
+ resource[key] = rel.map((r) => denormalizeResource(findIncluded(r, included), included));
45
49
  else
46
50
  resource[key] = denormalizeResource(findIncluded(rel, included), included);
47
51
  }
@@ -60,7 +64,10 @@ const normalize = (resource) => {
60
64
  if (['type', 'id'].includes(field))
61
65
  continue;
62
66
  const value = resource[field];
63
- if (value && (0, common_1.isResourceType)(value) && value.id === null) {
67
+ if (Array.isArray(value) && (value.length === 1) && (0, common_1.isResourceType)(value[0]) && (value[0].id === null)) {
68
+ relationships[field] = { data: [] };
69
+ }
70
+ else if (value && (0, common_1.isResourceType)(value) && (value.id === null)) {
64
71
  relationships[field] = { data: null };
65
72
  }
66
73
  else if (value && ((0, common_1.isResourceId)(value) || (Array.isArray(value) && (0, common_1.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/cjs/query.js CHANGED
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateQueryStringParams = void 0;
6
+ exports.isParamsList = exports.generateQueryStringParams = void 0;
7
7
  const debug_1 = __importDefault(require("./debug"));
8
8
  const debug = (0, debug_1.default)('query');
9
9
  const isParamsList = (params) => {
10
- return (params.filters || params.pageNumber || params.pageSize || params.sort);
10
+ return params && (params.filters || params.pageNumber || params.pageSize || params.sort);
11
11
  };
12
+ exports.isParamsList = isParamsList;
12
13
  const generateQueryStringParams = (params, res) => {
13
14
  debug('generate query string params: %O, %O', params, res);
14
15
  const qp = {};
@@ -1,8 +1,7 @@
1
1
  import { type ApiClientInitConfig } from './client';
2
- import { type QueryParamsRetrieve, type QueryParamsList } from './query';
2
+ import type { QueryParamsRetrieve, QueryParamsList, QueryFilter, QueryParams } from './query';
3
3
  import type { ResourceTypeLock } from './api';
4
4
  import type { InterceptorManager } from './interceptor';
5
- import type { QueryParams } from '.';
6
5
  type ResourceNull = {
7
6
  id: null;
8
7
  } & ResourceType;
@@ -14,23 +13,19 @@ interface ResourceType {
14
13
  interface ResourceId extends ResourceType {
15
14
  readonly id: string;
16
15
  }
17
- interface Resource extends ResourceId {
18
- reference?: string;
19
- reference_origin?: string;
16
+ interface ResourceBase {
17
+ reference?: string | null;
18
+ reference_origin?: string | null;
20
19
  metadata?: Metadata;
20
+ }
21
+ interface Resource extends ResourceBase, ResourceId {
21
22
  readonly created_at: string;
22
23
  readonly updated_at: string;
23
24
  }
24
- interface ResourceCreate {
25
- reference?: string;
26
- reference_origin?: string;
27
- metadata?: Metadata;
25
+ interface ResourceCreate extends ResourceBase {
28
26
  }
29
- interface ResourceUpdate {
27
+ interface ResourceUpdate extends ResourceBase {
30
28
  readonly id: string;
31
- reference?: string;
32
- reference_origin?: string;
33
- metadata?: Metadata;
34
29
  }
35
30
  type ListMeta = {
36
31
  readonly pageCount: number;
@@ -44,8 +39,14 @@ declare class ListResponse<R> extends Array<R> {
44
39
  first(): R | undefined;
45
40
  last(): R | undefined;
46
41
  get(index: number): R | undefined;
42
+ hasNextPage(): boolean;
43
+ hasPrevPage(): boolean;
44
+ getRecordCount(): number;
45
+ getPageCount(): number;
46
+ get recordCount(): number;
47
+ get pageCount(): number;
47
48
  }
48
- export type { Metadata, ResourceType, ResourceId, Resource, ResourceCreate, ResourceUpdate, ListResponse, ResourceRel };
49
+ export type { Metadata, ResourceType, ResourceId, Resource, ResourceCreate, ResourceUpdate, ListResponse, ListMeta, ResourceRel };
49
50
  type ResourceAdapterConfig = {};
50
51
  type ResourcesInitConfig = ResourceAdapterConfig & ApiClientInitConfig;
51
52
  type ResourcesConfig = Partial<ResourcesInitConfig>;
@@ -54,7 +55,7 @@ declare class ResourceAdapter {
54
55
  constructor(config: ResourcesInitConfig);
55
56
  get interceptors(): InterceptorManager;
56
57
  private localConfig;
57
- config(config: ResourcesConfig): void;
58
+ config(config: ResourcesConfig): ResourceAdapter;
58
59
  singleton<R extends Resource>(resource: ResourceType, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<R>;
59
60
  retrieve<R extends Resource>(resource: ResourceId, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<R>;
60
61
  list<R extends Resource>(resource: ResourceType, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<R>>;
@@ -63,13 +64,23 @@ declare class ResourceAdapter {
63
64
  delete(resource: ResourceId, options?: ResourcesConfig): Promise<void>;
64
65
  fetch<R extends Resource>(resource: string | ResourceType, path: string, params?: QueryParams, options?: ResourcesConfig): Promise<R | ListResponse<R>>;
65
66
  }
66
- declare abstract class ApiResource {
67
+ declare abstract class ApiResourceBase<R extends Resource> {
67
68
  static readonly TYPE: ResourceTypeLock;
68
- protected resources: ResourceAdapter;
69
+ protected readonly resources: ResourceAdapter;
69
70
  constructor(adapter: ResourceAdapter);
70
71
  abstract relationship(id: string | ResourceId | null): ResourceRel;
71
- abstract type(): string;
72
- update(resource: ResourceUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Resource>;
72
+ abstract type(): ResourceTypeLock;
73
+ parse(resource: string): R | R[];
74
+ update(resource: ResourceUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<R>;
75
+ }
76
+ declare abstract class ApiResource<R extends Resource> extends ApiResourceBase<R> {
77
+ retrieve(id: string | ResourceId, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<R>;
78
+ list(params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<R>>;
79
+ count(filter?: QueryFilter | QueryParamsList, options?: ResourcesConfig): Promise<number>;
80
+ }
81
+ declare abstract class ApiSingleton<R extends Resource> extends ApiResourceBase<R> {
82
+ retrieve(params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<R>;
73
83
  }
74
84
  export default ResourceAdapter;
75
- export { ApiResource, type ResourcesConfig, type ResourcesInitConfig };
85
+ export { ApiResource, ApiSingleton };
86
+ export type { ResourcesConfig, ResourcesInitConfig };
@@ -15,11 +15,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  var _ResourceAdapter_client, _ResourceAdapter_config;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ApiResource = void 0;
18
+ exports.ApiSingleton = exports.ApiResource = void 0;
19
19
  const client_1 = __importDefault(require("./client"));
20
20
  const jsonapi_1 = require("./jsonapi");
21
21
  const query_1 = require("./query");
22
22
  const config_1 = __importDefault(require("./config"));
23
+ const error_1 = require("./error");
23
24
  const debug_1 = __importDefault(require("./debug"));
24
25
  const debug = (0, debug_1.default)('resource');
25
26
  class ListResponse extends Array {
@@ -30,6 +31,12 @@ class ListResponse extends Array {
30
31
  first() { return this.length ? this[0] : undefined; }
31
32
  last() { return this.length ? this[this.length - 1] : undefined; }
32
33
  get(index) { return (this.length && (index >= 0)) ? this[index] : undefined; }
34
+ hasNextPage() { return (this.meta.currentPage < this.meta.pageCount); }
35
+ hasPrevPage() { return (this.meta.currentPage > 1); }
36
+ getRecordCount() { return this.meta.recordCount; }
37
+ getPageCount() { return this.meta.pageCount; }
38
+ get recordCount() { return this.meta.recordCount; }
39
+ get pageCount() { return this.meta.pageCount; }
33
40
  }
34
41
  class ResourceAdapter {
35
42
  constructor(config) {
@@ -39,7 +46,6 @@ class ResourceAdapter {
39
46
  this.localConfig(config);
40
47
  }
41
48
  get interceptors() { return __classPrivateFieldGet(this, _ResourceAdapter_client, "f").interceptors; }
42
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
43
49
  localConfig(config) {
44
50
  // if (typeof config.xyz !== 'undefined') this.#config.xyz = config.xyz
45
51
  }
@@ -49,13 +55,19 @@ class ResourceAdapter {
49
55
  this.localConfig(config);
50
56
  // Client config
51
57
  __classPrivateFieldGet(this, _ResourceAdapter_client, "f").config(config);
58
+ return this;
52
59
  }
60
+ /*
61
+ get clientInstance(): ApiClient {
62
+ return this.#client
63
+ }
64
+ */
53
65
  async singleton(resource, params, options) {
54
66
  debug('singleton: %o, %O, %O', resource, params || {}, options || {});
55
67
  const queryParams = (0, query_1.generateQueryStringParams)(params, resource);
56
68
  if (options === null || options === void 0 ? void 0 : options.params)
57
69
  Object.assign(queryParams, options === null || options === void 0 ? void 0 : options.params);
58
- const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', `${resource.type}`, undefined, Object.assign(Object.assign({}, options), { params: queryParams }));
70
+ const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', `${resource.type}`, undefined, { ...options, params: queryParams });
59
71
  const r = (0, jsonapi_1.denormalize)(res);
60
72
  return r;
61
73
  }
@@ -64,7 +76,7 @@ class ResourceAdapter {
64
76
  const queryParams = (0, query_1.generateQueryStringParams)(params, resource);
65
77
  if (options === null || options === void 0 ? void 0 : options.params)
66
78
  Object.assign(queryParams, options === null || options === void 0 ? void 0 : options.params);
67
- const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', `${resource.type}/${resource.id}`, undefined, Object.assign(Object.assign({}, options), { params: queryParams }));
79
+ const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', `${resource.type}/${resource.id}`, undefined, { ...options, params: queryParams });
68
80
  const r = (0, jsonapi_1.denormalize)(res);
69
81
  return r;
70
82
  }
@@ -74,7 +86,7 @@ class ResourceAdapter {
74
86
  const queryParams = (0, query_1.generateQueryStringParams)(params, resource);
75
87
  if (options === null || options === void 0 ? void 0 : options.params)
76
88
  Object.assign(queryParams, options === null || options === void 0 ? void 0 : options.params);
77
- const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', `${resource.type}`, undefined, Object.assign(Object.assign({}, options), { params: queryParams }));
89
+ const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', `${resource.type}`, undefined, { ...options, params: queryParams });
78
90
  const r = (0, jsonapi_1.denormalize)(res);
79
91
  const meta = {
80
92
  pageCount: Number((_a = res.meta) === null || _a === void 0 ? void 0 : _a.page_count),
@@ -90,7 +102,7 @@ class ResourceAdapter {
90
102
  if (options === null || options === void 0 ? void 0 : options.params)
91
103
  Object.assign(queryParams, options === null || options === void 0 ? void 0 : options.params);
92
104
  const data = (0, jsonapi_1.normalize)(resource);
93
- const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('post', resource.type, data, Object.assign(Object.assign({}, options), { params: queryParams }));
105
+ const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('post', resource.type, data, { ...options, params: queryParams });
94
106
  const r = (0, jsonapi_1.denormalize)(res);
95
107
  return r;
96
108
  }
@@ -100,7 +112,7 @@ class ResourceAdapter {
100
112
  if (options === null || options === void 0 ? void 0 : options.params)
101
113
  Object.assign(queryParams, options === null || options === void 0 ? void 0 : options.params);
102
114
  const data = (0, jsonapi_1.normalize)(resource);
103
- const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('patch', `${resource.type}/${resource.id}`, data, Object.assign(Object.assign({}, options), { params: queryParams }));
115
+ const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('patch', `${resource.type}/${resource.id}`, data, { ...options, params: queryParams });
104
116
  const r = (0, jsonapi_1.denormalize)(res);
105
117
  return r;
106
118
  }
@@ -114,7 +126,7 @@ class ResourceAdapter {
114
126
  const queryParams = (0, query_1.generateQueryStringParams)(params, resource);
115
127
  if (options === null || options === void 0 ? void 0 : options.params)
116
128
  Object.assign(queryParams, options === null || options === void 0 ? void 0 : options.params);
117
- const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', path, undefined, Object.assign(Object.assign({}, options), { params: queryParams }));
129
+ const res = await __classPrivateFieldGet(this, _ResourceAdapter_client, "f").request('get', path, undefined, { ...options, params: queryParams });
118
130
  const r = (0, jsonapi_1.denormalize)(res);
119
131
  if (Array.isArray(r)) {
120
132
  const p = params;
@@ -131,15 +143,49 @@ class ResourceAdapter {
131
143
  }
132
144
  }
133
145
  _ResourceAdapter_client = new WeakMap(), _ResourceAdapter_config = new WeakMap();
134
- class ApiResource {
146
+ class ApiResourceBase {
135
147
  constructor(adapter) {
136
148
  debug('new resource instance: %s', this.type());
137
149
  this.resources = adapter;
138
150
  }
151
+ parse(resource) {
152
+ var _a, _b;
153
+ try {
154
+ const res = JSON.parse(resource);
155
+ if (((_a = res.data) === null || _a === void 0 ? void 0 : _a.type) !== this.type())
156
+ throw new error_1.SdkError({ message: `Invalid resource type [${(_b = res.data) === null || _b === void 0 ? void 0 : _b.type}]`, type: error_1.ErrorType.PARSE });
157
+ return (0, jsonapi_1.denormalize)(res);
158
+ }
159
+ catch (error) {
160
+ if (error_1.SdkError.isSdkError(error))
161
+ throw error;
162
+ else
163
+ throw new error_1.SdkError({ message: `Payload parse error [${error.message}]`, type: error_1.ErrorType.PARSE });
164
+ }
165
+ }
139
166
  // reference, reference_origin and metadata attributes are always updatable
140
167
  async update(resource, params, options) {
141
- return this.resources.update(Object.assign(Object.assign({}, resource), { type: this.type() }), params, options);
168
+ return this.resources.update({ ...resource, type: this.type() }, params, options);
169
+ }
170
+ }
171
+ class ApiResource extends ApiResourceBase {
172
+ async retrieve(id, params, options) {
173
+ return this.resources.retrieve((typeof id === 'string') ? { type: this.type(), id } : id, params, options);
174
+ }
175
+ async list(params, options) {
176
+ return this.resources.list({ type: this.type() }, params, options);
177
+ }
178
+ async count(filter, options) {
179
+ const params = { filters: (0, query_1.isParamsList)(filter) ? filter.filters : filter, pageNumber: 1, pageSize: 1 };
180
+ const response = await this.list(params, options);
181
+ return Promise.resolve(response.meta.recordCount);
142
182
  }
143
183
  }
144
184
  exports.ApiResource = ApiResource;
185
+ class ApiSingleton extends ApiResourceBase {
186
+ async retrieve(params, options) {
187
+ return this.resources.singleton({ type: this.type() }, params, options);
188
+ }
189
+ }
190
+ exports.ApiSingleton = ApiSingleton;
145
191
  exports.default = ResourceAdapter;
@@ -1,102 +1,103 @@
1
- import { ApiResource, Resource, ResourceCreate, ResourceUpdate, ResourcesConfig, ResourceId, ResourceRel, ListResponse } from '../resource';
2
- import type { QueryParamsList, QueryParamsRetrieve } from '../query';
3
- import type { Geocoder } from './geocoders';
1
+ import { ApiResource } from '../resource';
2
+ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
3
+ import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
+ import type { Geocoder, GeocoderType } from './geocoders';
4
5
  import type { Event } from './events';
5
- import type { Tag } from './tags';
6
+ import type { Tag, TagType } from './tags';
6
7
  import type { Version } from './versions';
8
+ type AddressType = 'addresses';
7
9
  type AddressRel = ResourceRel & {
8
- type: typeof Addresses.TYPE;
10
+ type: AddressType;
9
11
  };
10
12
  type GeocoderRel = ResourceRel & {
11
- type: 'geocoders';
13
+ type: GeocoderType;
12
14
  };
13
15
  type TagRel = ResourceRel & {
14
- type: 'tags';
16
+ type: TagType;
15
17
  };
16
18
  interface Address extends Resource {
17
- business?: boolean;
18
- first_name?: string;
19
- last_name?: string;
20
- company?: string;
21
- full_name?: string;
22
- line_1?: string;
23
- line_2?: string;
24
- city?: string;
25
- zip_code?: string;
26
- state_code?: string;
27
- country_code?: string;
28
- phone?: string;
29
- full_address?: string;
30
- name?: string;
31
- email?: string;
32
- notes?: string;
33
- lat?: number;
34
- lng?: number;
35
- is_localized?: boolean;
36
- is_geocoded?: boolean;
37
- provider_name?: string;
38
- map_url?: string;
39
- static_map_url?: string;
40
- billing_info?: string;
41
- geocoder?: Geocoder;
42
- events?: Event[];
43
- tags?: Tag[];
44
- versions?: Version[];
19
+ readonly type: AddressType;
20
+ business?: boolean | null;
21
+ first_name?: string | null;
22
+ last_name?: string | null;
23
+ company?: string | null;
24
+ full_name?: string | null;
25
+ line_1: string;
26
+ line_2?: string | null;
27
+ city: string;
28
+ zip_code?: string | null;
29
+ state_code: string;
30
+ country_code: string;
31
+ phone: string;
32
+ full_address?: string | null;
33
+ name?: string | null;
34
+ email?: string | null;
35
+ notes?: string | null;
36
+ lat?: number | null;
37
+ lng?: number | null;
38
+ is_localized?: boolean | null;
39
+ is_geocoded?: boolean | null;
40
+ provider_name?: string | null;
41
+ map_url?: string | null;
42
+ static_map_url?: string | null;
43
+ billing_info?: string | null;
44
+ geocoder?: Geocoder | null;
45
+ events?: Event[] | null;
46
+ tags?: Tag[] | null;
47
+ versions?: Version[] | null;
45
48
  }
46
49
  interface AddressCreate extends ResourceCreate {
47
- business?: boolean;
48
- first_name?: string;
49
- last_name?: string;
50
- company?: string;
50
+ business?: boolean | null;
51
+ first_name?: string | null;
52
+ last_name?: string | null;
53
+ company?: string | null;
51
54
  line_1: string;
52
- line_2?: string;
55
+ line_2?: string | null;
53
56
  city: string;
54
- zip_code?: string;
57
+ zip_code?: string | null;
55
58
  state_code: string;
56
59
  country_code: string;
57
60
  phone: string;
58
- email?: string;
59
- notes?: string;
60
- lat?: number;
61
- lng?: number;
62
- billing_info?: string;
63
- geocoder?: GeocoderRel;
64
- tags?: TagRel[];
61
+ email?: string | null;
62
+ notes?: string | null;
63
+ lat?: number | null;
64
+ lng?: number | null;
65
+ billing_info?: string | null;
66
+ geocoder?: GeocoderRel | null;
67
+ tags?: TagRel[] | null;
65
68
  }
66
69
  interface AddressUpdate extends ResourceUpdate {
67
- business?: boolean;
68
- first_name?: string;
69
- last_name?: string;
70
- company?: string;
71
- line_1?: string;
72
- line_2?: string;
73
- city?: string;
74
- zip_code?: string;
75
- state_code?: string;
76
- country_code?: string;
77
- phone?: string;
78
- email?: string;
79
- notes?: string;
80
- lat?: number;
81
- lng?: number;
82
- billing_info?: string;
83
- geocoder?: GeocoderRel;
84
- tags?: TagRel[];
70
+ business?: boolean | null;
71
+ first_name?: string | null;
72
+ last_name?: string | null;
73
+ company?: string | null;
74
+ line_1?: string | null;
75
+ line_2?: string | null;
76
+ city?: string | null;
77
+ zip_code?: string | null;
78
+ state_code?: string | null;
79
+ country_code?: string | null;
80
+ phone?: string | null;
81
+ email?: string | null;
82
+ notes?: string | null;
83
+ lat?: number | null;
84
+ lng?: number | null;
85
+ billing_info?: string | null;
86
+ geocoder?: GeocoderRel | null;
87
+ tags?: TagRel[] | null;
85
88
  }
86
- declare class Addresses extends ApiResource {
87
- static readonly TYPE: 'addresses';
88
- list(params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Address>>;
89
+ declare class Addresses extends ApiResource<Address> {
90
+ static readonly TYPE: AddressType;
89
91
  create(resource: AddressCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Address>;
90
- retrieve(id: string, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Address>;
91
92
  update(resource: AddressUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Address>;
92
- delete(id: string, options?: ResourcesConfig): Promise<void>;
93
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
93
94
  geocoder(addressId: string | Address, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Geocoder>;
94
95
  events(addressId: string | Address, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Event>>;
95
96
  tags(addressId: string | Address, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Tag>>;
96
97
  versions(addressId: string | Address, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Version>>;
97
98
  isAddress(resource: any): resource is Address;
98
99
  relationship(id: string | ResourceId | null): AddressRel;
99
- type(): string;
100
+ type(): AddressType;
100
101
  }
101
102
  export default Addresses;
102
- export { Address, AddressCreate, AddressUpdate };
103
+ export type { Address, AddressCreate, AddressUpdate, AddressType };
@@ -2,21 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const resource_1 = require("../resource");
4
4
  class Addresses extends resource_1.ApiResource {
5
- // static readonly PATH = 'addresses'
6
- async list(params, options) {
7
- return this.resources.list({ type: Addresses.TYPE }, params, options);
8
- }
9
5
  async create(resource, params, options) {
10
- return this.resources.create(Object.assign(Object.assign({}, resource), { type: Addresses.TYPE }), params, options);
11
- }
12
- async retrieve(id, params, options) {
13
- return this.resources.retrieve({ type: Addresses.TYPE, id }, params, options);
6
+ return this.resources.create({ ...resource, type: Addresses.TYPE }, params, options);
14
7
  }
15
8
  async update(resource, params, options) {
16
- return this.resources.update(Object.assign(Object.assign({}, resource), { type: Addresses.TYPE }), params, options);
9
+ return this.resources.update({ ...resource, type: Addresses.TYPE }, params, options);
17
10
  }
18
11
  async delete(id, options) {
19
- await this.resources.delete({ type: Addresses.TYPE, id }, options);
12
+ await this.resources.delete((typeof id === 'string') ? { id, type: Addresses.TYPE } : id, options);
20
13
  }
21
14
  async geocoder(addressId, params, options) {
22
15
  const _addressId = addressId.id || addressId;
@@ -34,7 +27,6 @@ class Addresses extends resource_1.ApiResource {
34
27
  const _addressId = addressId.id || addressId;
35
28
  return this.resources.fetch({ type: 'versions' }, `addresses/${_addressId}/versions`, params, options);
36
29
  }
37
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
38
30
  isAddress(resource) {
39
31
  return resource.type && (resource.type === Addresses.TYPE);
40
32
  }
@@ -1,16 +1,19 @@
1
- import { ApiResource, Resource, ResourceCreate, ResourceUpdate, ResourcesConfig, ResourceId, ResourceRel, ListResponse } from '../resource';
2
- import type { QueryParamsList, QueryParamsRetrieve } from '../query';
1
+ import { ApiResource } from '../resource';
2
+ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
3
+ import type { QueryParamsRetrieve, QueryParamsList } from '../query';
3
4
  import type { Version } from './versions';
5
+ type AdjustmentType = 'adjustments';
4
6
  type AdjustmentRel = ResourceRel & {
5
- type: typeof Adjustments.TYPE;
7
+ type: AdjustmentType;
6
8
  };
7
9
  interface Adjustment extends Resource {
8
- name?: string;
9
- currency_code?: string;
10
- amount_cents?: number;
11
- amount_float?: number;
12
- formatted_amount?: string;
13
- versions?: Version[];
10
+ readonly type: AdjustmentType;
11
+ name: string;
12
+ currency_code: string;
13
+ amount_cents: number;
14
+ amount_float: number;
15
+ formatted_amount: string;
16
+ versions?: Version[] | null;
14
17
  }
15
18
  interface AdjustmentCreate extends ResourceCreate {
16
19
  name: string;
@@ -18,21 +21,19 @@ interface AdjustmentCreate extends ResourceCreate {
18
21
  amount_cents: number;
19
22
  }
20
23
  interface AdjustmentUpdate extends ResourceUpdate {
21
- name?: string;
22
- currency_code?: string;
23
- amount_cents?: number;
24
+ name?: string | null;
25
+ currency_code?: string | null;
26
+ amount_cents?: number | null;
24
27
  }
25
- declare class Adjustments extends ApiResource {
26
- static readonly TYPE: 'adjustments';
27
- list(params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Adjustment>>;
28
+ declare class Adjustments extends ApiResource<Adjustment> {
29
+ static readonly TYPE: AdjustmentType;
28
30
  create(resource: AdjustmentCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Adjustment>;
29
- retrieve(id: string, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Adjustment>;
30
31
  update(resource: AdjustmentUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Adjustment>;
31
- delete(id: string, options?: ResourcesConfig): Promise<void>;
32
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
32
33
  versions(adjustmentId: string | Adjustment, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Version>>;
33
34
  isAdjustment(resource: any): resource is Adjustment;
34
35
  relationship(id: string | ResourceId | null): AdjustmentRel;
35
- type(): string;
36
+ type(): AdjustmentType;
36
37
  }
37
38
  export default Adjustments;
38
- export { Adjustment, AdjustmentCreate, AdjustmentUpdate };
39
+ export type { Adjustment, AdjustmentCreate, AdjustmentUpdate, AdjustmentType };