@commercelayer/sdk 7.0.0-beta.17 → 7.0.0-beta.18

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 (297) hide show
  1. package/lib/api.cjs +7460 -792
  2. package/lib/api.js +7331 -132
  3. package/lib/client.cjs +253 -78
  4. package/lib/client.js +252 -72
  5. package/lib/commercelayer.cjs +777 -31
  6. package/lib/commercelayer.js +773 -23
  7. package/lib/common.cjs +143 -7
  8. package/lib/common.js +141 -5
  9. package/lib/config.cjs +2 -3
  10. package/lib/config.js +2 -3
  11. package/lib/debug.cjs +12 -6
  12. package/lib/debug.js +12 -6
  13. package/lib/enum.cjs +9 -10
  14. package/lib/enum.js +9 -10
  15. package/lib/error.cjs +75 -26
  16. package/lib/error.js +74 -25
  17. package/lib/fetch.cjs +85 -33
  18. package/lib/fetch.js +87 -31
  19. package/lib/index.cjs +8104 -23
  20. package/lib/index.d.cts +1 -1
  21. package/lib/index.d.ts +1 -1
  22. package/lib/index.js +7977 -4
  23. package/lib/jsonapi.cjs +188 -21
  24. package/lib/jsonapi.js +186 -14
  25. package/lib/query.cjs +75 -17
  26. package/lib/query.js +77 -15
  27. package/lib/resource.cjs +660 -71
  28. package/lib/resource.js +646 -51
  29. package/lib/resources/addresses.cjs +794 -6
  30. package/lib/resources/addresses.js +794 -6
  31. package/lib/resources/adjustments.cjs +794 -6
  32. package/lib/resources/adjustments.js +794 -6
  33. package/lib/resources/adyen_gateways.cjs +794 -6
  34. package/lib/resources/adyen_gateways.js +794 -6
  35. package/lib/resources/adyen_payments.cjs +794 -6
  36. package/lib/resources/adyen_payments.js +794 -6
  37. package/lib/resources/applications.cjs +786 -6
  38. package/lib/resources/applications.js +786 -6
  39. package/lib/resources/attachments.cjs +794 -6
  40. package/lib/resources/attachments.js +794 -6
  41. package/lib/resources/authorizations.cjs +794 -6
  42. package/lib/resources/authorizations.js +794 -6
  43. package/lib/resources/avalara_accounts.cjs +794 -6
  44. package/lib/resources/avalara_accounts.js +794 -6
  45. package/lib/resources/axerve_gateways.cjs +794 -6
  46. package/lib/resources/axerve_gateways.js +794 -6
  47. package/lib/resources/axerve_payments.cjs +794 -6
  48. package/lib/resources/axerve_payments.js +794 -6
  49. package/lib/resources/bing_geocoders.cjs +794 -6
  50. package/lib/resources/bing_geocoders.js +794 -6
  51. package/lib/resources/braintree_gateways.cjs +794 -6
  52. package/lib/resources/braintree_gateways.js +794 -6
  53. package/lib/resources/braintree_payments.cjs +794 -6
  54. package/lib/resources/braintree_payments.js +794 -6
  55. package/lib/resources/bundles.cjs +794 -6
  56. package/lib/resources/bundles.js +794 -6
  57. package/lib/resources/buy_x_pay_y_promotions.cjs +794 -6
  58. package/lib/resources/buy_x_pay_y_promotions.js +794 -6
  59. package/lib/resources/captures.cjs +794 -6
  60. package/lib/resources/captures.js +794 -6
  61. package/lib/resources/carrier_accounts.cjs +794 -6
  62. package/lib/resources/carrier_accounts.js +794 -6
  63. package/lib/resources/checkout_com_gateways.cjs +794 -6
  64. package/lib/resources/checkout_com_gateways.js +794 -6
  65. package/lib/resources/checkout_com_payments.cjs +794 -6
  66. package/lib/resources/checkout_com_payments.js +794 -6
  67. package/lib/resources/cleanups.cjs +794 -6
  68. package/lib/resources/cleanups.js +794 -6
  69. package/lib/resources/coupon_codes_promotion_rules.cjs +794 -6
  70. package/lib/resources/coupon_codes_promotion_rules.js +794 -6
  71. package/lib/resources/coupon_recipients.cjs +794 -6
  72. package/lib/resources/coupon_recipients.js +794 -6
  73. package/lib/resources/coupons.cjs +794 -6
  74. package/lib/resources/coupons.js +794 -6
  75. package/lib/resources/custom_promotion_rules.cjs +794 -6
  76. package/lib/resources/custom_promotion_rules.js +794 -6
  77. package/lib/resources/customer_addresses.cjs +794 -6
  78. package/lib/resources/customer_addresses.js +794 -6
  79. package/lib/resources/customer_groups.cjs +794 -6
  80. package/lib/resources/customer_groups.js +794 -6
  81. package/lib/resources/customer_password_resets.cjs +794 -6
  82. package/lib/resources/customer_password_resets.js +794 -6
  83. package/lib/resources/customer_payment_sources.cjs +794 -6
  84. package/lib/resources/customer_payment_sources.js +794 -6
  85. package/lib/resources/customer_subscriptions.cjs +794 -6
  86. package/lib/resources/customer_subscriptions.js +794 -6
  87. package/lib/resources/customers.cjs +794 -6
  88. package/lib/resources/customers.js +794 -6
  89. package/lib/resources/delivery_lead_times.cjs +794 -6
  90. package/lib/resources/delivery_lead_times.js +794 -6
  91. package/lib/resources/discount_engine_items.cjs +794 -6
  92. package/lib/resources/discount_engine_items.js +794 -6
  93. package/lib/resources/discount_engines.cjs +794 -6
  94. package/lib/resources/discount_engines.js +794 -6
  95. package/lib/resources/easypost_pickups.cjs +794 -6
  96. package/lib/resources/easypost_pickups.js +794 -6
  97. package/lib/resources/event_callbacks.cjs +794 -6
  98. package/lib/resources/event_callbacks.js +794 -6
  99. package/lib/resources/events.cjs +794 -6
  100. package/lib/resources/events.js +794 -6
  101. package/lib/resources/exports.cjs +794 -6
  102. package/lib/resources/exports.js +794 -6
  103. package/lib/resources/external_gateways.cjs +794 -6
  104. package/lib/resources/external_gateways.js +794 -6
  105. package/lib/resources/external_payments.cjs +794 -6
  106. package/lib/resources/external_payments.js +794 -6
  107. package/lib/resources/external_promotions.cjs +794 -6
  108. package/lib/resources/external_promotions.js +794 -6
  109. package/lib/resources/external_tax_calculators.cjs +794 -6
  110. package/lib/resources/external_tax_calculators.js +794 -6
  111. package/lib/resources/fixed_amount_promotions.cjs +794 -6
  112. package/lib/resources/fixed_amount_promotions.js +794 -6
  113. package/lib/resources/fixed_price_promotions.cjs +794 -6
  114. package/lib/resources/fixed_price_promotions.js +794 -6
  115. package/lib/resources/flex_promotions.cjs +794 -6
  116. package/lib/resources/flex_promotions.js +794 -6
  117. package/lib/resources/free_gift_promotions.cjs +794 -6
  118. package/lib/resources/free_gift_promotions.js +794 -6
  119. package/lib/resources/free_shipping_promotions.cjs +794 -6
  120. package/lib/resources/free_shipping_promotions.js +794 -6
  121. package/lib/resources/geocoders.cjs +794 -6
  122. package/lib/resources/geocoders.js +794 -6
  123. package/lib/resources/gift_card_recipients.cjs +794 -6
  124. package/lib/resources/gift_card_recipients.js +794 -6
  125. package/lib/resources/gift_cards.cjs +794 -6
  126. package/lib/resources/gift_cards.js +794 -6
  127. package/lib/resources/google_geocoders.cjs +794 -6
  128. package/lib/resources/google_geocoders.js +794 -6
  129. package/lib/resources/imports.cjs +794 -6
  130. package/lib/resources/imports.js +794 -6
  131. package/lib/resources/in_stock_subscriptions.cjs +794 -6
  132. package/lib/resources/in_stock_subscriptions.js +794 -6
  133. package/lib/resources/inventory_models.cjs +794 -6
  134. package/lib/resources/inventory_models.js +794 -6
  135. package/lib/resources/inventory_return_locations.cjs +794 -6
  136. package/lib/resources/inventory_return_locations.js +794 -6
  137. package/lib/resources/inventory_stock_locations.cjs +794 -6
  138. package/lib/resources/inventory_stock_locations.js +794 -6
  139. package/lib/resources/klarna_gateways.cjs +794 -6
  140. package/lib/resources/klarna_gateways.js +794 -6
  141. package/lib/resources/klarna_payments.cjs +794 -6
  142. package/lib/resources/klarna_payments.js +794 -6
  143. package/lib/resources/line_item_options.cjs +794 -6
  144. package/lib/resources/line_item_options.js +794 -6
  145. package/lib/resources/line_items.cjs +794 -6
  146. package/lib/resources/line_items.js +794 -6
  147. package/lib/resources/links.cjs +794 -6
  148. package/lib/resources/links.js +794 -6
  149. package/lib/resources/manual_gateways.cjs +794 -6
  150. package/lib/resources/manual_gateways.js +794 -6
  151. package/lib/resources/manual_tax_calculators.cjs +794 -6
  152. package/lib/resources/manual_tax_calculators.js +794 -6
  153. package/lib/resources/markets.cjs +794 -6
  154. package/lib/resources/markets.js +794 -6
  155. package/lib/resources/merchants.cjs +794 -6
  156. package/lib/resources/merchants.js +794 -6
  157. package/lib/resources/notifications.cjs +794 -6
  158. package/lib/resources/notifications.js +794 -6
  159. package/lib/resources/order_amount_promotion_rules.cjs +794 -6
  160. package/lib/resources/order_amount_promotion_rules.js +794 -6
  161. package/lib/resources/order_copies.cjs +794 -6
  162. package/lib/resources/order_copies.js +794 -6
  163. package/lib/resources/order_factories.cjs +794 -6
  164. package/lib/resources/order_factories.js +794 -6
  165. package/lib/resources/order_subscription_items.cjs +794 -6
  166. package/lib/resources/order_subscription_items.js +794 -6
  167. package/lib/resources/order_subscriptions.cjs +794 -6
  168. package/lib/resources/order_subscriptions.js +794 -6
  169. package/lib/resources/orders.cjs +794 -6
  170. package/lib/resources/orders.js +794 -6
  171. package/lib/resources/organizations.cjs +786 -6
  172. package/lib/resources/organizations.js +786 -6
  173. package/lib/resources/packages.cjs +794 -6
  174. package/lib/resources/packages.js +794 -6
  175. package/lib/resources/parcel_line_items.cjs +794 -6
  176. package/lib/resources/parcel_line_items.js +794 -6
  177. package/lib/resources/parcels.cjs +794 -6
  178. package/lib/resources/parcels.js +794 -6
  179. package/lib/resources/payment_gateways.cjs +794 -6
  180. package/lib/resources/payment_gateways.js +794 -6
  181. package/lib/resources/payment_methods.cjs +794 -6
  182. package/lib/resources/payment_methods.js +794 -6
  183. package/lib/resources/payment_options.cjs +794 -6
  184. package/lib/resources/payment_options.js +794 -6
  185. package/lib/resources/paypal_gateways.cjs +794 -6
  186. package/lib/resources/paypal_gateways.js +794 -6
  187. package/lib/resources/paypal_payments.cjs +794 -6
  188. package/lib/resources/paypal_payments.js +794 -6
  189. package/lib/resources/percentage_discount_promotions.cjs +794 -6
  190. package/lib/resources/percentage_discount_promotions.js +794 -6
  191. package/lib/resources/pickups.cjs +794 -6
  192. package/lib/resources/pickups.js +794 -6
  193. package/lib/resources/price_frequency_tiers.cjs +794 -6
  194. package/lib/resources/price_frequency_tiers.js +794 -6
  195. package/lib/resources/price_list_schedulers.cjs +794 -6
  196. package/lib/resources/price_list_schedulers.js +794 -6
  197. package/lib/resources/price_lists.cjs +794 -6
  198. package/lib/resources/price_lists.js +794 -6
  199. package/lib/resources/price_tiers.cjs +794 -6
  200. package/lib/resources/price_tiers.js +794 -6
  201. package/lib/resources/price_volume_tiers.cjs +794 -6
  202. package/lib/resources/price_volume_tiers.js +794 -6
  203. package/lib/resources/prices.cjs +794 -6
  204. package/lib/resources/prices.js +794 -6
  205. package/lib/resources/promotion_rules.cjs +794 -6
  206. package/lib/resources/promotion_rules.js +794 -6
  207. package/lib/resources/promotions.cjs +794 -6
  208. package/lib/resources/promotions.js +794 -6
  209. package/lib/resources/recurring_order_copies.cjs +794 -6
  210. package/lib/resources/recurring_order_copies.js +794 -6
  211. package/lib/resources/refunds.cjs +794 -6
  212. package/lib/resources/refunds.js +794 -6
  213. package/lib/resources/reserved_stocks.cjs +794 -6
  214. package/lib/resources/reserved_stocks.js +794 -6
  215. package/lib/resources/resource_errors.cjs +794 -6
  216. package/lib/resources/resource_errors.js +794 -6
  217. package/lib/resources/return_line_items.cjs +794 -6
  218. package/lib/resources/return_line_items.js +794 -6
  219. package/lib/resources/returns.cjs +794 -6
  220. package/lib/resources/returns.js +794 -6
  221. package/lib/resources/satispay_gateways.cjs +794 -6
  222. package/lib/resources/satispay_gateways.js +794 -6
  223. package/lib/resources/satispay_payments.cjs +794 -6
  224. package/lib/resources/satispay_payments.js +794 -6
  225. package/lib/resources/shipments.cjs +794 -6
  226. package/lib/resources/shipments.js +794 -6
  227. package/lib/resources/shipping_categories.cjs +794 -6
  228. package/lib/resources/shipping_categories.js +794 -6
  229. package/lib/resources/shipping_method_tiers.cjs +794 -6
  230. package/lib/resources/shipping_method_tiers.js +794 -6
  231. package/lib/resources/shipping_methods.cjs +794 -6
  232. package/lib/resources/shipping_methods.js +794 -6
  233. package/lib/resources/shipping_weight_tiers.cjs +794 -6
  234. package/lib/resources/shipping_weight_tiers.js +794 -6
  235. package/lib/resources/shipping_zones.cjs +794 -6
  236. package/lib/resources/shipping_zones.js +794 -6
  237. package/lib/resources/sku_list_items.cjs +794 -6
  238. package/lib/resources/sku_list_items.js +794 -6
  239. package/lib/resources/sku_list_promotion_rules.cjs +794 -6
  240. package/lib/resources/sku_list_promotion_rules.js +794 -6
  241. package/lib/resources/sku_lists.cjs +794 -6
  242. package/lib/resources/sku_lists.js +794 -6
  243. package/lib/resources/sku_options.cjs +794 -6
  244. package/lib/resources/sku_options.js +794 -6
  245. package/lib/resources/skus.cjs +794 -6
  246. package/lib/resources/skus.js +794 -6
  247. package/lib/resources/stock_items.cjs +794 -6
  248. package/lib/resources/stock_items.js +794 -6
  249. package/lib/resources/stock_line_items.cjs +794 -6
  250. package/lib/resources/stock_line_items.js +794 -6
  251. package/lib/resources/stock_locations.cjs +794 -6
  252. package/lib/resources/stock_locations.js +794 -6
  253. package/lib/resources/stock_reservations.cjs +794 -6
  254. package/lib/resources/stock_reservations.js +794 -6
  255. package/lib/resources/stock_transfers.cjs +794 -6
  256. package/lib/resources/stock_transfers.js +794 -6
  257. package/lib/resources/stores.cjs +794 -6
  258. package/lib/resources/stores.js +794 -6
  259. package/lib/resources/stripe_gateways.cjs +794 -6
  260. package/lib/resources/stripe_gateways.js +794 -6
  261. package/lib/resources/stripe_payments.cjs +794 -6
  262. package/lib/resources/stripe_payments.js +794 -6
  263. package/lib/resources/stripe_tax_accounts.cjs +794 -6
  264. package/lib/resources/stripe_tax_accounts.js +794 -6
  265. package/lib/resources/subscription_models.cjs +794 -6
  266. package/lib/resources/subscription_models.js +794 -6
  267. package/lib/resources/tags.cjs +794 -6
  268. package/lib/resources/tags.js +794 -6
  269. package/lib/resources/talon_one_accounts.cjs +794 -6
  270. package/lib/resources/talon_one_accounts.js +794 -6
  271. package/lib/resources/tax_calculators.cjs +794 -6
  272. package/lib/resources/tax_calculators.js +794 -6
  273. package/lib/resources/tax_categories.cjs +794 -6
  274. package/lib/resources/tax_categories.js +794 -6
  275. package/lib/resources/tax_rules.cjs +794 -6
  276. package/lib/resources/tax_rules.js +794 -6
  277. package/lib/resources/taxjar_accounts.cjs +794 -6
  278. package/lib/resources/taxjar_accounts.js +794 -6
  279. package/lib/resources/transactions.cjs +794 -6
  280. package/lib/resources/transactions.js +794 -6
  281. package/lib/resources/versions.cjs +794 -6
  282. package/lib/resources/versions.js +794 -6
  283. package/lib/resources/vertex_accounts.cjs +794 -6
  284. package/lib/resources/vertex_accounts.js +794 -6
  285. package/lib/resources/voids.cjs +794 -6
  286. package/lib/resources/voids.js +794 -6
  287. package/lib/resources/webhooks.cjs +794 -6
  288. package/lib/resources/webhooks.js +794 -6
  289. package/lib/resources/wire_transfers.cjs +794 -6
  290. package/lib/resources/wire_transfers.js +794 -6
  291. package/lib/static.cjs +753 -20
  292. package/lib/static.js +739 -6
  293. package/lib/util.cjs +5 -6
  294. package/lib/util.js +5 -6
  295. package/package.json +1 -1
  296. package/lib/chunk-AQ5VUG5P.js +0 -12
  297. package/lib/chunk-JE77HYXB.cjs +0 -17
package/lib/resource.js CHANGED
@@ -1,17 +1,615 @@
1
- import { __publicField, __privateAdd, __privateSet, __privateGet } from './chunk-AQ5VUG5P.js';
2
- import ApiClient from './client';
3
- import { denormalize, normalize } from './jsonapi';
4
- import { generateQueryStringParams, isParamsList } from './query';
5
- import config from './config';
6
- import { SdkError } from './error';
7
- import Debug from './debug';
1
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
+ }) : x)(function(x) {
4
+ if (typeof require !== "undefined") return require.apply(this, arguments);
5
+ throw Error('Dynamic require of "' + x + '" is not supported');
6
+ });
8
7
 
9
- var _client, _config;
10
- const debug = Debug("resource");
11
- class ListResponse extends Array {
8
+ // src/debug.ts
9
+ var debuggerFunction = (_pattern, ..._args) => {
10
+ };
11
+ var debuggerFactory = (_namespace) => debuggerFunction;
12
+ try {
13
+ const debugModule = __require("debug");
14
+ if (debugModule && typeof debugModule === "function") debuggerFactory = debugModule;
15
+ } catch (error) {
16
+ }
17
+ var debugPrefix = "clsdk";
18
+ var debug = (namespace) => {
19
+ return debuggerFactory(`${debugPrefix}:${namespace}`);
20
+ };
21
+ var debug_default = debug;
22
+
23
+ // src/fetch.ts
24
+ var debug2 = debug_default("fetch");
25
+ var FetchError = class _FetchError extends Error {
26
+ static isFetchError = (error) => {
27
+ return error instanceof _FetchError;
28
+ };
29
+ #errors;
30
+ #status;
31
+ #statusText;
32
+ #request;
33
+ constructor(status, statusText, body, request) {
34
+ super(statusText);
35
+ this.#status = status;
36
+ this.#statusText = statusText;
37
+ if (body) this.#errors = body.errors;
38
+ if (request) this.#request = request;
39
+ }
40
+ get errors() {
41
+ return this.#errors;
42
+ }
43
+ get status() {
44
+ return this.#status;
45
+ }
46
+ get statusText() {
47
+ return this.#statusText;
48
+ }
49
+ get request() {
50
+ return this.#request;
51
+ }
52
+ };
53
+ var fetchURL = async (url, requestOptions, clientOptions) => {
54
+ debug2("fetch: %s, %O, native[%s]", url, requestOptions || {}, clientOptions?.fetch ? "no" : "yes");
55
+ const interceptors = clientOptions?.interceptors;
56
+ if (interceptors?.request?.onSuccess) ({ url, options: requestOptions } = await interceptors.request.onSuccess({ url, options: requestOptions }));
57
+ const fetchClient = clientOptions?.fetch || fetch;
58
+ let response = await fetchClient(url, requestOptions);
59
+ if (response.ok) {
60
+ if (interceptors?.rawReader?.onSuccess) await interceptors.rawReader.onSuccess(response);
61
+ if (interceptors?.response?.onSuccess) response = await interceptors.response.onSuccess(response);
62
+ } else {
63
+ if (interceptors?.rawReader?.onFailure) await interceptors.rawReader.onFailure(response);
64
+ }
65
+ const responseBody = response.body && response.status !== 204 ? await response.json().then((json) => {
66
+ debug2("response: %O", json);
67
+ return json;
68
+ }).catch((err) => {
69
+ debug2("error: %s", err.message);
70
+ if (response.ok) throw new SdkError({ message: "Error parsing API response body", type: "parse" /* PARSE */ });
71
+ }) : void 0;
72
+ if (!response.ok) {
73
+ let error = new FetchError(response.status, response.statusText, responseBody, requestOptions);
74
+ if (interceptors?.response?.onFailure) error = await interceptors.response.onFailure(error);
75
+ if (error) throw error;
76
+ }
77
+ return responseBody;
78
+ };
79
+
80
+ // src/error.ts
81
+ var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
82
+ ErrorType2["CLIENT"] = "client";
83
+ ErrorType2["REQUEST"] = "request";
84
+ ErrorType2["RESPONSE"] = "response";
85
+ ErrorType2["CANCEL"] = "cancel";
86
+ ErrorType2["PARSE"] = "parse";
87
+ ErrorType2["TIMEOUT"] = "timeout";
88
+ ErrorType2["TOKEN_REFRESH"] = "token-refresh";
89
+ return ErrorType2;
90
+ })(ErrorType || {});
91
+ var SdkError = class _SdkError extends Error {
92
+ static NAME = "SdkError";
93
+ static isSdkError(error) {
94
+ return error && [_SdkError.NAME, ApiError.NAME].includes(error.name) && Object.values(ErrorType).includes(error.type);
95
+ }
96
+ type;
97
+ code;
98
+ source;
99
+ constructor(error) {
100
+ super(error.message);
101
+ this.name = _SdkError.NAME;
102
+ this.type = error.type || "client" /* CLIENT */;
103
+ }
104
+ };
105
+ var ApiError = class _ApiError extends SdkError {
106
+ static NAME = "ApiError";
107
+ static isApiError(error) {
108
+ return SdkError.isSdkError(error) && error.name === _ApiError.NAME && error.type === "response" /* RESPONSE */;
109
+ }
110
+ errors = [];
111
+ status;
112
+ statusText;
113
+ // constructor(error: SdkError)
114
+ constructor(error) {
115
+ super({ ...error, type: "response" /* RESPONSE */ });
116
+ this.name = _ApiError.NAME;
117
+ }
118
+ first() {
119
+ return this.errors?.length > 0 ? this.errors[0] : void 0;
120
+ }
121
+ };
122
+ var isRequestError = (error) => {
123
+ return error instanceof TypeError && error.message !== "fetch failed";
124
+ };
125
+ var isCancelError = (error) => {
126
+ return error instanceof DOMException && error.name === "AbortError";
127
+ };
128
+ var isTimeoutError = (error) => {
129
+ return error instanceof DOMException && error.name === "TimeoutError";
130
+ };
131
+ var isExpiredTokenError = (error) => {
132
+ const invalidTokenCodes = [
133
+ "INVALID_TOKEN"
134
+ /*, 'UNAUTHORIZED' */
135
+ ];
136
+ return ApiError.isApiError(error) && error.status === 401 && (invalidTokenCodes.includes(error.code || "") || error.errors && error.errors.length > 0 && invalidTokenCodes.includes(error.errors[0].code));
137
+ };
138
+ var handleError = (error) => {
139
+ if (SdkError.isSdkError(error) || ApiError.isApiError(error)) throw error;
140
+ let sdkError = new SdkError({ message: error.message });
141
+ if (FetchError.isFetchError(error)) {
142
+ const apiError = new ApiError(sdkError);
143
+ apiError.type = "response" /* RESPONSE */;
144
+ apiError.status = error.status;
145
+ apiError.statusText = error.statusText;
146
+ apiError.code = String(apiError.status);
147
+ apiError.errors = error.errors || [];
148
+ if (!apiError.message && apiError.statusText) apiError.message = apiError.statusText;
149
+ sdkError = apiError;
150
+ } else if (isRequestError(error)) {
151
+ sdkError.type = "request" /* REQUEST */;
152
+ } else if (isCancelError(error)) {
153
+ sdkError.type = "cancel" /* CANCEL */;
154
+ } else if (isTimeoutError(error)) {
155
+ sdkError.type = "timeout" /* TIMEOUT */;
156
+ } else {
157
+ sdkError.type = "client" /* CLIENT */;
158
+ sdkError.source = error;
159
+ }
160
+ throw sdkError;
161
+ };
162
+
163
+ // src/config.ts
164
+ var config = {
165
+ default: {
166
+ domain: "commercelayer.io",
167
+ pageNumber: 1,
168
+ pageSize: 10
169
+ },
170
+ client: {
171
+ timeout: 15e3,
172
+ requiredAttributes: ["organization", "accessToken"]
173
+ },
174
+ jsonapi: {
175
+ maxResourceIncluded: 2
176
+ }
177
+ };
178
+ var config_default = config;
179
+
180
+ // src/util.ts
181
+ var extractTokenData = (token) => {
182
+ try {
183
+ const data = JSON.parse(atob(token.split(".")[1]));
184
+ return {
185
+ organization: data.organization.slug,
186
+ domain: data.iss ? String(data.iss).replace("https://auth.", "") : void 0,
187
+ expiration: data.exp
188
+ };
189
+ } catch (err) {
190
+ return void 0;
191
+ }
192
+ };
193
+ var isTokenExpired = (token) => {
194
+ try {
195
+ const tokenData = extractTokenData(token);
196
+ return tokenData?.expiration ? tokenData.expiration * 1e3 - Date.now() < 0 : false;
197
+ } catch (err) {
198
+ return false;
199
+ }
200
+ };
201
+
202
+ // src/client.ts
203
+ var debug3 = debug_default("client");
204
+ var baseURL = (organization, domain) => {
205
+ return `https://${organization.toLowerCase()}.${domain || config_default.default.domain}/api`;
206
+ };
207
+ var ApiClient = class _ApiClient {
208
+ static create(options) {
209
+ if ((!options.organization || !options.domain) && options.accessToken) {
210
+ const tokenData = extractTokenData(options.accessToken);
211
+ if (!options.organization && tokenData?.organization) options.organization = tokenData.organization;
212
+ if (!options.domain && tokenData?.domain) options.domain = tokenData.domain;
213
+ }
214
+ for (const attr of config_default.client.requiredAttributes)
215
+ if (!options[attr]) throw new SdkError({ message: `Undefined '${attr}' parameter` });
216
+ return new _ApiClient(options);
217
+ }
218
+ #baseUrl;
219
+ #accessToken;
220
+ #organization;
221
+ #domain;
222
+ #clientConfig;
223
+ #interceptors;
224
+ constructor(options) {
225
+ debug3("new client instance %O", options);
226
+ this.#baseUrl = baseURL(options.organization ?? "", options.domain);
227
+ this.#accessToken = options.accessToken;
228
+ this.#organization = options.organization ?? "";
229
+ this.#domain = options.domain;
230
+ const fetchConfig = {
231
+ timeout: options.timeout || config_default.client.timeout,
232
+ fetch: options.fetch,
233
+ refreshToken: options.refreshToken
234
+ };
235
+ const customHeaders = this.customHeaders(options.headers);
236
+ const headers = {
237
+ ...customHeaders,
238
+ "Accept": "application/vnd.api+json",
239
+ "Content-Type": "application/vnd.api+json",
240
+ "Authorization": "Bearer " + this.#accessToken
241
+ };
242
+ if (options.userAgent) headers["User-Agent"] = options.userAgent;
243
+ fetchConfig.headers = headers;
244
+ this.#clientConfig = fetchConfig;
245
+ debug3("fetch config: %O", fetchConfig);
246
+ this.#interceptors = {};
247
+ }
248
+ get interceptors() {
249
+ return this.#interceptors;
250
+ }
251
+ get requestHeaders() {
252
+ if (!this.#clientConfig.headers) this.#clientConfig.headers = {};
253
+ return this.#clientConfig.headers;
254
+ }
255
+ /*
256
+ set requestHeaders(headers: RequestHeaders) {
257
+ this.#clientConfig.headers = { ...this.#clientConfig.headers, ...headers }
258
+ }
259
+ */
260
+ config(config2) {
261
+ debug3("config %o", config2);
262
+ const def = this.#clientConfig;
263
+ if (!def.headers) def.headers = {};
264
+ if (config2.timeout) def.timeout = config2.timeout;
265
+ if (config2.userAgent) this.userAgent(config2.userAgent);
266
+ if (config2.fetch) this.#clientConfig.fetch = config2.fetch;
267
+ if (config2.refreshToken) this.#clientConfig.refreshToken = config2.refreshToken;
268
+ if (config2.organization || config2.domain) this.#baseUrl = baseURL(config2.organization || this.#organization, config2.domain || this.#domain);
269
+ if (config2.organization) this.#organization = config2.organization;
270
+ if (config2.domain) this.#domain = config2.domain;
271
+ if (config2.accessToken) {
272
+ this.#accessToken = config2.accessToken;
273
+ def.headers.Authorization = "Bearer " + this.#accessToken;
274
+ }
275
+ if (config2.headers) def.headers = { ...def.headers, ...this.customHeaders(config2.headers) };
276
+ return this;
277
+ }
278
+ userAgent(userAgent) {
279
+ if (userAgent) this.requestHeaders["User-Agent"] = userAgent;
280
+ return this;
281
+ }
282
+ async request(method, path, body, options) {
283
+ debug3("request %s %s, %O, %O", method, path, body || {}, options || {});
284
+ if (options?.userAgent) debug3("User-Agent header ignored in request config");
285
+ const baseUrl = options?.organization ? baseURL(options.organization, options.domain) : this.#baseUrl;
286
+ const url = new URL(`${baseUrl}/${path}`);
287
+ const bodyData = body ? JSON.stringify({ data: body }) : void 0;
288
+ const headers = { ...this.requestHeaders, ...this.customHeaders(options?.headers) };
289
+ const accessToken = options?.accessToken || this.#accessToken;
290
+ if (accessToken) headers.Authorization = "Bearer " + accessToken;
291
+ const refreshToken = options?.refreshToken || this.#clientConfig.refreshToken;
292
+ const fetchFunction = options?.fetch || this.#clientConfig.fetch;
293
+ const requestOptions = { method, body: bodyData, headers };
294
+ const timeout = options?.timeout || this.#clientConfig.timeout;
295
+ if (timeout) {
296
+ if (AbortSignal?.timeout) requestOptions.signal = AbortSignal.timeout(timeout);
297
+ else debug3("Timeout not set. Undefined function: %s", "AbortSignal.timeout");
298
+ }
299
+ if (options?.params) Object.entries(options?.params).forEach(([name, value]) => {
300
+ url.searchParams.append(name, String(value));
301
+ });
302
+ const clientOptions = {
303
+ interceptors: this.interceptors,
304
+ fetch: fetchFunction
305
+ };
306
+ try {
307
+ return await fetchURL(url, requestOptions, clientOptions).catch((error) => handleError(error));
308
+ } catch (err) {
309
+ if (isExpiredTokenError(err) && refreshToken && isTokenExpired(accessToken)) {
310
+ debug3("Access token has expired");
311
+ const newAccessToken = await refreshToken(this.#accessToken).catch((e) => {
312
+ debug3("Refresh token error: %s", e.message);
313
+ const tokenError = new SdkError({ message: "Error refreshing access token", type: "token-refresh" /* TOKEN_REFRESH */ });
314
+ tokenError.source = e;
315
+ throw tokenError;
316
+ });
317
+ if (newAccessToken) {
318
+ debug3("Access token refreshed");
319
+ this.config({ accessToken: newAccessToken });
320
+ this.#accessToken = newAccessToken;
321
+ if (requestOptions.headers) requestOptions.headers.Authorization = `Bearer ${newAccessToken}`;
322
+ const response = await fetchURL(url, requestOptions, clientOptions).catch((error) => handleError(error));
323
+ return response;
324
+ }
325
+ } else throw err;
326
+ }
327
+ }
328
+ customHeaders(headers) {
329
+ const customHeaders = {};
330
+ if (headers) {
331
+ for (const [name, value] of Object.entries(headers))
332
+ if (!["accept", "content-type", "authorization", "user-agent"].includes(name.toLowerCase())) customHeaders[name] = value;
333
+ }
334
+ return customHeaders;
335
+ }
336
+ get currentAccessToken() {
337
+ return this.#accessToken;
338
+ }
339
+ get currentOrganization() {
340
+ return this.#organization;
341
+ }
342
+ };
343
+ var client_default = ApiClient;
344
+
345
+ // src/enum.ts
346
+ var apiResources = [
347
+ // ##__API_RESOURCE_LIST_START__##
348
+ "addresses",
349
+ "adjustments",
350
+ "adyen_gateways",
351
+ "adyen_payments",
352
+ "applications",
353
+ "attachments",
354
+ "authorizations",
355
+ "avalara_accounts",
356
+ "axerve_gateways",
357
+ "axerve_payments",
358
+ "bing_geocoders",
359
+ "braintree_gateways",
360
+ "braintree_payments",
361
+ "bundles",
362
+ "buy_x_pay_y_promotions",
363
+ "captures",
364
+ "carrier_accounts",
365
+ "checkout_com_gateways",
366
+ "checkout_com_payments",
367
+ "cleanups",
368
+ "coupon_codes_promotion_rules",
369
+ "coupon_recipients",
370
+ "coupons",
371
+ "custom_promotion_rules",
372
+ "customer_addresses",
373
+ "customer_groups",
374
+ "customer_password_resets",
375
+ "customer_payment_sources",
376
+ "customer_subscriptions",
377
+ "customers",
378
+ "delivery_lead_times",
379
+ "discount_engine_items",
380
+ "discount_engines",
381
+ "easypost_pickups",
382
+ "event_callbacks",
383
+ "events",
384
+ "exports",
385
+ "external_gateways",
386
+ "external_payments",
387
+ "external_promotions",
388
+ "external_tax_calculators",
389
+ "fixed_amount_promotions",
390
+ "fixed_price_promotions",
391
+ "flex_promotions",
392
+ "free_gift_promotions",
393
+ "free_shipping_promotions",
394
+ "geocoders",
395
+ "gift_card_recipients",
396
+ "gift_cards",
397
+ "google_geocoders",
398
+ "imports",
399
+ "in_stock_subscriptions",
400
+ "inventory_models",
401
+ "inventory_return_locations",
402
+ "inventory_stock_locations",
403
+ "klarna_gateways",
404
+ "klarna_payments",
405
+ "line_item_options",
406
+ "line_items",
407
+ "links",
408
+ "manual_gateways",
409
+ "manual_tax_calculators",
410
+ "markets",
411
+ "merchants",
412
+ "notifications",
413
+ "order_amount_promotion_rules",
414
+ "order_copies",
415
+ "order_factories",
416
+ "order_subscription_items",
417
+ "order_subscriptions",
418
+ "orders",
419
+ "organizations",
420
+ "packages",
421
+ "parcel_line_items",
422
+ "parcels",
423
+ "payment_gateways",
424
+ "payment_methods",
425
+ "payment_options",
426
+ "paypal_gateways",
427
+ "paypal_payments",
428
+ "percentage_discount_promotions",
429
+ "pickups",
430
+ "price_frequency_tiers",
431
+ "price_list_schedulers",
432
+ "price_lists",
433
+ "price_tiers",
434
+ "price_volume_tiers",
435
+ "prices",
436
+ "promotion_rules",
437
+ "promotions",
438
+ "recurring_order_copies",
439
+ "refunds",
440
+ "reserved_stocks",
441
+ "resource_errors",
442
+ "return_line_items",
443
+ "returns",
444
+ "satispay_gateways",
445
+ "satispay_payments",
446
+ "shipments",
447
+ "shipping_categories",
448
+ "shipping_method_tiers",
449
+ "shipping_methods",
450
+ "shipping_weight_tiers",
451
+ "shipping_zones",
452
+ "sku_list_items",
453
+ "sku_list_promotion_rules",
454
+ "sku_lists",
455
+ "sku_options",
456
+ "skus",
457
+ "stock_items",
458
+ "stock_line_items",
459
+ "stock_locations",
460
+ "stock_reservations",
461
+ "stock_transfers",
462
+ "stores",
463
+ "stripe_gateways",
464
+ "stripe_payments",
465
+ "stripe_tax_accounts",
466
+ "subscription_models",
467
+ "tags",
468
+ "talon_one_accounts",
469
+ "tax_calculators",
470
+ "tax_categories",
471
+ "tax_rules",
472
+ "taxjar_accounts",
473
+ "transactions",
474
+ "versions",
475
+ "vertex_accounts",
476
+ "voids",
477
+ "webhooks",
478
+ "wire_transfers"
479
+ // ##__API_RESOURCE_LIST_STOP__##
480
+ ];
481
+ var resourceList = apiResources;
482
+
483
+ // src/common.ts
484
+ var isResourceId = (resource) => {
485
+ return resource?.type && resource.id && resourceList.includes(resource.type);
486
+ };
487
+ var isResourceType = (resource) => {
488
+ return resource && typeof resource.type !== "undefined" && resource.type && resourceList.includes(resource.type);
489
+ };
490
+
491
+ // src/jsonapi.ts
492
+ var debug4 = debug_default("jsonapi");
493
+ var denormalize = (response) => {
494
+ if (!response) return response;
495
+ let denormalizedResponse;
496
+ if (response.links) delete response.links;
497
+ const data = response.data;
498
+ const included = response.included;
499
+ if (!data) denormalizedResponse = data;
500
+ else {
501
+ if (Array.isArray(data)) denormalizedResponse = data.map((res) => denormalizeResource(res, included));
502
+ else denormalizedResponse = denormalizeResource(data, included);
503
+ }
504
+ return denormalizedResponse;
505
+ };
506
+ var findIncluded = (rel, included = []) => {
507
+ const inc = included.find((inc2) => {
508
+ return rel.id === inc2.id && rel.type === inc2.type;
509
+ });
510
+ return inc || rel;
511
+ };
512
+ var denormalizeResource = (res, included, chain = []) => {
513
+ debug4("denormalize resource: %O, %o", res, included || {});
514
+ if (!res) return res;
515
+ const resource = {
516
+ id: res.id,
517
+ type: res.type,
518
+ ...res.attributes
519
+ };
520
+ if (res.relationships) Object.keys(res.relationships).forEach((key) => {
521
+ const rel = res.relationships[key].data;
522
+ if (rel) {
523
+ if (chain.filter((r) => r.id === rel.id && r.type === rel.type).length >= config_default.jsonapi.maxResourceIncluded) resource[key] = rel;
524
+ else {
525
+ if (Array.isArray(rel)) resource[key] = rel.map((r) => denormalizeResource(findIncluded(r, included), included, [...chain, r]));
526
+ else resource[key] = denormalizeResource(findIncluded(rel, included), included, [...chain, rel]);
527
+ }
528
+ } else if (rel === null) resource[key] = null;
529
+ });
530
+ debug4("denormalized resource: %O", resource);
531
+ return resource;
532
+ };
533
+ var normalize = (resource) => {
534
+ debug4("normalize resource: %O", resource);
535
+ const attributes = {};
536
+ const relationships = {};
537
+ for (const field in resource) {
538
+ if (["type", "id"].includes(field)) continue;
539
+ const value = resource[field];
540
+ if (Array.isArray(value) && value.length === 1 && isResourceType(value[0]) && value[0].id === null) {
541
+ relationships[field] = { data: [] };
542
+ } else if (value && isResourceType(value) && value.id === null) {
543
+ relationships[field] = { data: null };
544
+ } else if (value && (isResourceId(value) || Array.isArray(value) && isResourceId(value[0]))) {
545
+ relationships[field] = { data: value };
546
+ } else attributes[field] = value;
547
+ }
548
+ const normalized = {
549
+ type: resource.type,
550
+ attributes,
551
+ relationships
552
+ };
553
+ if (isResourceId(resource)) normalized.id = resource.id;
554
+ debug4("normalized resource: %O", normalized);
555
+ return normalized;
556
+ };
557
+
558
+ // src/query.ts
559
+ var debug5 = debug_default("query");
560
+ var arrayFilters = ["_any", "_all", "_in", "_not_in_or_null"];
561
+ var isArrayFilter = (filter) => {
562
+ return arrayFilters.some((f) => filter.endsWith(f));
563
+ };
564
+ var objectFilters = ["_jcont"];
565
+ var isObjectFilter = (filter) => {
566
+ return objectFilters.some((f) => filter.endsWith(f));
567
+ };
568
+ var isParamsList = (params) => {
569
+ return params && (params.filters || params.pageNumber || params.pageSize || params.sort);
570
+ };
571
+ var generateQueryStringParams = (params, res) => {
572
+ debug5("generate query string params: %O, %O", params, res);
573
+ const qp = {};
574
+ if (!params) return qp;
575
+ if (params.include) qp.include = params.include.join(",");
576
+ if (params.fields) {
577
+ if (Array.isArray(params.fields)) params.fields = { [res.type || res]: params.fields };
578
+ Object.entries(params.fields).forEach(([p, v]) => {
579
+ qp[`fields[${p}]`] = v.join(",");
580
+ });
581
+ }
582
+ if (isParamsList(params)) {
583
+ if (params.sort) {
584
+ if (Array.isArray(params.sort)) qp.sort = params.sort.join(",");
585
+ else qp.sort = Object.entries(params.sort).map(([k, v]) => `${v === "desc" ? "-" : ""}${k}`).join(",");
586
+ }
587
+ if (params.pageNumber) qp["page[number]"] = String(params.pageNumber);
588
+ if (params.pageSize) qp["page[size]"] = String(params.pageSize);
589
+ if (params.filters) {
590
+ Object.entries(params.filters).forEach(([p, v]) => {
591
+ let val;
592
+ if (Array.isArray(v)) {
593
+ if (!isArrayFilter(p)) throw new SdkError({ message: `Incorrect filter [${p}]: Array value is supported only for the following filters: ${arrayFilters.join(", ")}`, type: "request" /* REQUEST */ });
594
+ val = v.join(",");
595
+ } else if (typeof v === "object") {
596
+ if (!isObjectFilter(p)) throw new SdkError({ message: `Incorrect filter [${p}]: Object value is supported only for the following filters: ${objectFilters.join(", ")}`, type: "request" /* REQUEST */ });
597
+ val = JSON.stringify(v);
598
+ } else val = String(v);
599
+ qp[`filter[q][${p}]`] = val;
600
+ });
601
+ }
602
+ }
603
+ debug5("query string params: %O", qp);
604
+ return qp;
605
+ };
606
+
607
+ // src/resource.ts
608
+ var debug6 = debug_default("resource");
609
+ var ListResponse = class extends Array {
610
+ meta;
12
611
  constructor(meta, data) {
13
612
  super(...data || []);
14
- __publicField(this, "meta");
15
613
  this.meta = meta;
16
614
  }
17
615
  first() {
@@ -41,8 +639,9 @@ class ListResponse extends Array {
41
639
  get pageCount() {
42
640
  return this.meta.pageCount;
43
641
  }
44
- }
45
- const _ApiResourceAdapter = class _ApiResourceAdapter {
642
+ };
643
+ var ApiResourceAdapter = class _ApiResourceAdapter {
644
+ static adapter;
46
645
  constructor() {
47
646
  }
48
647
  static init(config2) {
@@ -59,103 +658,100 @@ const _ApiResourceAdapter = class _ApiResourceAdapter {
59
658
  _ApiResourceAdapter.get().config(config2);
60
659
  }
61
660
  };
62
- __publicField(_ApiResourceAdapter, "adapter");
63
- let ApiResourceAdapter = _ApiResourceAdapter;
64
- class ResourceAdapter {
661
+ var ResourceAdapter = class {
662
+ #client;
663
+ #config = {};
65
664
  constructor(config2) {
66
- __privateAdd(this, _client);
67
- __privateAdd(this, _config, {});
68
- __privateSet(this, _client, ApiClient.create(config2));
665
+ this.#client = client_default.create(config2);
69
666
  this.localConfig(config2);
70
667
  }
71
668
  localConfig(config2) {
72
669
  }
73
670
  config(config2) {
74
- debug("config %o", config2);
671
+ debug6("config %o", config2);
75
672
  this.localConfig(config2);
76
- __privateGet(this, _client).config(config2);
673
+ this.#client.config(config2);
77
674
  return this;
78
675
  }
79
676
  get client() {
80
- return __privateGet(this, _client);
677
+ return this.#client;
81
678
  }
82
679
  async singleton(resource, params, options, path) {
83
- debug("singleton: %o, %O, %O", resource, params || {}, options || {});
680
+ debug6("singleton: %o, %O, %O", resource, params || {}, options || {});
84
681
  const queryParams = generateQueryStringParams(params, resource);
85
682
  if (options?.params) Object.assign(queryParams, options?.params);
86
- const res = await __privateGet(this, _client).request("GET", `${path || resource.type}`, void 0, { ...options, params: queryParams });
683
+ const res = await this.#client.request("GET", `${path || resource.type}`, void 0, { ...options, params: queryParams });
87
684
  const r = denormalize(res);
88
685
  return r;
89
686
  }
90
687
  async retrieve(resource, params, options) {
91
- debug("retrieve: %o, %O, %O", resource, params || {}, options || {});
688
+ debug6("retrieve: %o, %O, %O", resource, params || {}, options || {});
92
689
  const queryParams = generateQueryStringParams(params, resource);
93
690
  if (options?.params) Object.assign(queryParams, options?.params);
94
- const res = await __privateGet(this, _client).request("GET", `${resource.type}/${resource.id}`, void 0, { ...options, params: queryParams });
691
+ const res = await this.#client.request("GET", `${resource.type}/${resource.id}`, void 0, { ...options, params: queryParams });
95
692
  const r = denormalize(res);
96
693
  return r;
97
694
  }
98
695
  async list(resource, params, options) {
99
- debug("list: %o, %O, %O", resource, params || {}, options || {});
696
+ debug6("list: %o, %O, %O", resource, params || {}, options || {});
100
697
  const queryParams = generateQueryStringParams(params, resource);
101
698
  if (options?.params) Object.assign(queryParams, options?.params);
102
699
  if (!queryParams["page[number]"]) queryParams["page[number]"] = "1";
103
- const res = await __privateGet(this, _client).request("GET", `${resource.type}`, void 0, { ...options, params: queryParams });
700
+ const res = await this.#client.request("GET", `${resource.type}`, void 0, { ...options, params: queryParams });
104
701
  const r = denormalize(res);
105
702
  const meta = {
106
703
  pageCount: Number(res.meta?.page_count),
107
704
  recordCount: Number(res.meta?.record_count),
108
- currentPage: params?.pageNumber || config.default.pageNumber,
109
- recordsPerPage: params?.pageSize || config.default.pageSize
705
+ currentPage: params?.pageNumber || config_default.default.pageNumber,
706
+ recordsPerPage: params?.pageSize || config_default.default.pageSize
110
707
  };
111
708
  return new ListResponse(meta, r);
112
709
  }
113
710
  async create(resource, params, options) {
114
- debug("create: %o, %O, %O", resource, params || {}, options || {});
711
+ debug6("create: %o, %O, %O", resource, params || {}, options || {});
115
712
  const queryParams = generateQueryStringParams(params, resource);
116
713
  if (options?.params) Object.assign(queryParams, options?.params);
117
714
  const data = normalize(resource);
118
- const res = await __privateGet(this, _client).request("POST", resource.type, data, { ...options, params: queryParams });
715
+ const res = await this.#client.request("POST", resource.type, data, { ...options, params: queryParams });
119
716
  const r = denormalize(res);
120
717
  return r;
121
718
  }
122
719
  async update(resource, params, options) {
123
- debug("update: %o, %O, %O", resource, params || {}, options || {});
720
+ debug6("update: %o, %O, %O", resource, params || {}, options || {});
124
721
  const queryParams = generateQueryStringParams(params, resource);
125
722
  if (options?.params) Object.assign(queryParams, options?.params);
126
723
  const data = normalize(resource);
127
- const res = await __privateGet(this, _client).request("PATCH", `${resource.type}/${resource.id}`, data, { ...options, params: queryParams });
724
+ const res = await this.#client.request("PATCH", `${resource.type}/${resource.id}`, data, { ...options, params: queryParams });
128
725
  const r = denormalize(res);
129
726
  return r;
130
727
  }
131
728
  async delete(resource, options) {
132
- debug("delete: %o, %O", resource, options || {});
133
- await __privateGet(this, _client).request("DELETE", `${resource.type}/${resource.id}`, void 0, options);
729
+ debug6("delete: %o, %O", resource, options || {});
730
+ await this.#client.request("DELETE", `${resource.type}/${resource.id}`, void 0, options);
134
731
  }
135
732
  async fetch(resource, path, params, options) {
136
- debug("fetch: %o, %O, %O", path, params || {}, options || {});
733
+ debug6("fetch: %o, %O, %O", path, params || {}, options || {});
137
734
  const queryParams = generateQueryStringParams(params, resource);
138
735
  if (options?.params) Object.assign(queryParams, options?.params);
139
- const res = await __privateGet(this, _client).request("GET", path, void 0, { ...options, params: queryParams });
736
+ const res = await this.#client.request("GET", path, void 0, { ...options, params: queryParams });
140
737
  const r = denormalize(res);
141
738
  if (Array.isArray(r)) {
142
739
  const p = params;
143
740
  const meta = {
144
741
  pageCount: Number(res.meta?.page_count),
145
742
  recordCount: Number(res.meta?.record_count),
146
- currentPage: p?.pageNumber || config.default.pageNumber,
147
- recordsPerPage: p?.pageSize || config.default.pageSize
743
+ currentPage: p?.pageNumber || config_default.default.pageNumber,
744
+ recordsPerPage: p?.pageSize || config_default.default.pageSize
148
745
  };
149
746
  return new ListResponse(meta, r);
150
747
  } else return r;
151
748
  }
152
- }
153
- _client = new WeakMap();
154
- _config = new WeakMap();
155
- class ApiResourceBase {
749
+ };
750
+ var ApiResourceBase = class {
751
+ static TYPE;
156
752
  // #resources?: ResourceAdapter
157
753
  constructor(adapter) {
158
- debug("new resource instance: %s", this.type());
754
+ debug6("new resource instance: %s", this.type());
159
755
  }
160
756
  get resources() {
161
757
  return (
@@ -178,9 +774,8 @@ class ApiResourceBase {
178
774
  async update(resource, params, options) {
179
775
  return this.resources.update({ ...resource, type: this.type() }, params, options);
180
776
  }
181
- }
182
- __publicField(ApiResourceBase, "TYPE");
183
- class ApiResource extends ApiResourceBase {
777
+ };
778
+ var ApiResource = class extends ApiResourceBase {
184
779
  async retrieve(id, params, options) {
185
780
  return this.resources.retrieve(typeof id === "string" ? { type: this.type(), id } : id, params, options);
186
781
  }
@@ -192,11 +787,11 @@ class ApiResource extends ApiResourceBase {
192
787
  const response = await this.list(params, options);
193
788
  return Promise.resolve(response.meta.recordCount);
194
789
  }
195
- }
196
- class ApiSingleton extends ApiResourceBase {
790
+ };
791
+ var ApiSingleton = class extends ApiResourceBase {
197
792
  async retrieve(params, options) {
198
793
  return this.resources.singleton({ type: this.type() }, params, options, this.path());
199
794
  }
200
- }
795
+ };
201
796
 
202
797
  export { ApiResource, ApiResourceAdapter, ApiSingleton };