@djust-b2b/djust-front-sdk 3.0.0-beta.2 → 3.0.0-beta.20
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.
- package/README.md +51 -7
- package/dist/.tsbuildinfo +1 -0
- package/dist/.tsbuildinfo-esm +1 -0
- package/dist/client/create-client.d.ts +248 -0
- package/dist/client/create-client.d.ts.map +1 -0
- package/dist/client/index.d.ts +14 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/performance.d.ts +203 -0
- package/dist/client/performance.d.ts.map +1 -0
- package/dist/client/transport.d.ts +372 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/errors/base.d.ts +101 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/classes/auth.error.d.ts +64 -0
- package/dist/errors/classes/auth.error.d.ts.map +1 -0
- package/dist/errors/classes/forbidden.error.d.ts +52 -0
- package/dist/errors/classes/forbidden.error.d.ts.map +1 -0
- package/dist/errors/classes/index.d.ts +17 -0
- package/dist/errors/classes/index.d.ts.map +1 -0
- package/dist/errors/classes/network.error.d.ts +63 -0
- package/dist/errors/classes/network.error.d.ts.map +1 -0
- package/dist/errors/classes/not-found.error.d.ts +58 -0
- package/dist/errors/classes/not-found.error.d.ts.map +1 -0
- package/dist/errors/classes/rate-limit.error.d.ts +49 -0
- package/dist/errors/classes/rate-limit.error.d.ts.map +1 -0
- package/dist/errors/classes/server.error.d.ts +63 -0
- package/dist/errors/classes/server.error.d.ts.map +1 -0
- package/dist/errors/classes/timeout.error.d.ts +64 -0
- package/dist/errors/classes/timeout.error.d.ts.map +1 -0
- package/dist/errors/classes/unexpected.error.d.ts +70 -0
- package/dist/errors/classes/unexpected.error.d.ts.map +1 -0
- package/dist/errors/classes/validation.error.d.ts +68 -0
- package/dist/errors/classes/validation.error.d.ts.map +1 -0
- package/dist/errors/codes.d.ts +111 -0
- package/dist/errors/codes.d.ts.map +1 -0
- package/dist/errors/compat.d.ts +99 -0
- package/dist/errors/compat.d.ts.map +1 -0
- package/dist/errors/factory.d.ts +33 -0
- package/dist/errors/factory.d.ts.map +1 -0
- package/dist/errors/guards.d.ts +142 -0
- package/dist/errors/guards.d.ts.map +1 -0
- package/dist/errors/index.d.ts +25 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/types.d.ts +100 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +42 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/parameters-validation.d.ts +3 -0
- package/dist/helpers/parameters-validation.d.ts.map +1 -0
- package/dist/helpers/utils.d.ts +5 -0
- package/dist/helpers/utils.d.ts.map +1 -0
- package/dist/index.cjs +182 -0
- package/dist/index.d.ts +266 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +11611 -0
- package/dist/interfaces/index.d.ts +31 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/models/address.d.ts +61 -0
- package/dist/interfaces/models/address.d.ts.map +1 -0
- package/dist/interfaces/models/attribute.d.ts +31 -0
- package/dist/interfaces/models/attribute.d.ts.map +1 -0
- package/dist/interfaces/models/auth.d.ts +37 -0
- package/dist/interfaces/models/auth.d.ts.map +1 -0
- package/dist/interfaces/models/cart.d.ts +64 -0
- package/dist/interfaces/models/cart.d.ts.map +1 -0
- package/dist/interfaces/models/common.d.ts +68 -0
- package/dist/interfaces/models/common.d.ts.map +1 -0
- package/dist/interfaces/models/custom-field.d.ts +57 -0
- package/dist/interfaces/models/custom-field.d.ts.map +1 -0
- package/dist/interfaces/models/customer-account.d.ts +52 -0
- package/dist/interfaces/models/customer-account.d.ts.map +1 -0
- package/dist/interfaces/models/customer-organisation.d.ts +14 -0
- package/dist/interfaces/models/customer-organisation.d.ts.map +1 -0
- package/dist/interfaces/models/customer-user.d.ts +114 -0
- package/dist/interfaces/models/customer-user.d.ts.map +1 -0
- package/dist/interfaces/models/incident.d.ts +37 -0
- package/dist/interfaces/models/incident.d.ts.map +1 -0
- package/dist/interfaces/models/navigation-category.d.ts +22 -0
- package/dist/interfaces/models/navigation-category.d.ts.map +1 -0
- package/dist/interfaces/models/offer.d.ts +151 -0
- package/dist/interfaces/models/offer.d.ts.map +1 -0
- package/dist/interfaces/models/order.d.ts +701 -0
- package/dist/interfaces/models/order.d.ts.map +1 -0
- package/dist/interfaces/models/payment.d.ts +20 -0
- package/dist/interfaces/models/payment.d.ts.map +1 -0
- package/dist/interfaces/models/price.d.ts +6 -0
- package/dist/interfaces/models/price.d.ts.map +1 -0
- package/dist/interfaces/models/product.d.ts +243 -0
- package/dist/interfaces/models/product.d.ts.map +1 -0
- package/dist/interfaces/models/quote.d.ts +77 -0
- package/dist/interfaces/models/quote.d.ts.map +1 -0
- package/dist/interfaces/models/searchProduct.d.ts +128 -0
- package/dist/interfaces/models/searchProduct.d.ts.map +1 -0
- package/dist/interfaces/models/supplier.d.ts +72 -0
- package/dist/interfaces/models/supplier.d.ts.map +1 -0
- package/dist/services/attributes/attributes.service.d.ts +18 -0
- package/dist/services/attributes/attributes.service.d.ts.map +1 -0
- package/dist/services/attributes/definitions.d.ts +28 -0
- package/dist/services/attributes/definitions.d.ts.map +1 -0
- package/dist/services/attributes/endpoints.d.ts +12 -0
- package/dist/services/attributes/endpoints.d.ts.map +1 -0
- package/dist/services/attributes/index.d.ts +33 -0
- package/dist/services/attributes/index.d.ts.map +1 -0
- package/dist/services/attributes/module.d.ts +11 -0
- package/dist/services/attributes/module.d.ts.map +1 -0
- package/dist/services/attributes/types.d.ts +35 -0
- package/dist/services/attributes/types.d.ts.map +1 -0
- package/dist/services/auth/__mocks__/auth.mocks.d.ts +249 -0
- package/dist/services/auth/__mocks__/auth.mocks.d.ts.map +1 -0
- package/dist/services/auth/auth.service.d.ts +286 -0
- package/dist/services/auth/auth.service.d.ts.map +1 -0
- package/dist/services/auth/definitions.d.ts +69 -0
- package/dist/services/auth/definitions.d.ts.map +1 -0
- package/dist/services/auth/definitions.requests.d.ts +25 -0
- package/dist/services/auth/definitions.requests.d.ts.map +1 -0
- package/dist/services/auth/endpoints.d.ts +30 -0
- package/dist/services/auth/endpoints.d.ts.map +1 -0
- package/dist/services/auth/index.d.ts +232 -0
- package/dist/services/auth/index.d.ts.map +1 -0
- package/dist/services/auth/module.d.ts +11 -0
- package/dist/services/auth/module.d.ts.map +1 -0
- package/dist/services/auth/types.d.ts +124 -0
- package/dist/services/auth/types.d.ts.map +1 -0
- package/dist/services/base.service.d.ts +83 -0
- package/dist/services/base.service.d.ts.map +1 -0
- package/dist/services/cart/cart.service.d.ts +443 -0
- package/dist/services/cart/cart.service.d.ts.map +1 -0
- package/dist/services/cart/definitions.d.ts +84 -0
- package/dist/services/cart/definitions.d.ts.map +1 -0
- package/dist/services/cart/endpoints.d.ts +24 -0
- package/dist/services/cart/endpoints.d.ts.map +1 -0
- package/dist/services/cart/index.d.ts +330 -0
- package/dist/services/cart/index.d.ts.map +1 -0
- package/dist/services/cart/module.d.ts +11 -0
- package/dist/services/cart/module.d.ts.map +1 -0
- package/dist/services/cart/types.d.ts +236 -0
- package/dist/services/cart/types.d.ts.map +1 -0
- package/dist/services/commercial-order/commercial-order.service.d.ts +435 -0
- package/dist/services/commercial-order/commercial-order.service.d.ts.map +1 -0
- package/dist/services/commercial-order/definitions.d.ts +181 -0
- package/dist/services/commercial-order/definitions.d.ts.map +1 -0
- package/dist/services/commercial-order/endpoints.d.ts +28 -0
- package/dist/services/commercial-order/endpoints.d.ts.map +1 -0
- package/dist/services/commercial-order/index.d.ts +712 -0
- package/dist/services/commercial-order/index.d.ts.map +1 -0
- package/dist/services/commercial-order/module.d.ts +11 -0
- package/dist/services/commercial-order/module.d.ts.map +1 -0
- package/dist/services/commercial-order/types.d.ts +244 -0
- package/dist/services/commercial-order/types.d.ts.map +1 -0
- package/dist/services/custom-field/custom-field.service.d.ts +23 -0
- package/dist/services/custom-field/custom-field.service.d.ts.map +1 -0
- package/dist/services/custom-field/definitions.d.ts +107 -0
- package/dist/services/custom-field/definitions.d.ts.map +1 -0
- package/dist/services/custom-field/endpoints.d.ts +13 -0
- package/dist/services/custom-field/endpoints.d.ts.map +1 -0
- package/dist/services/custom-field/index.d.ts +115 -0
- package/dist/services/custom-field/index.d.ts.map +1 -0
- package/dist/services/custom-field/module.d.ts +11 -0
- package/dist/services/custom-field/module.d.ts.map +1 -0
- package/dist/services/custom-field/types.d.ts +51 -0
- package/dist/services/custom-field/types.d.ts.map +1 -0
- package/dist/services/customer-account/customer-account.service.d.ts +387 -0
- package/dist/services/customer-account/customer-account.service.d.ts.map +1 -0
- package/dist/services/customer-account/definitions.d.ts +164 -0
- package/dist/services/customer-account/definitions.d.ts.map +1 -0
- package/dist/services/customer-account/endpoints.d.ts +25 -0
- package/dist/services/customer-account/endpoints.d.ts.map +1 -0
- package/dist/services/customer-account/index.d.ts +656 -0
- package/dist/services/customer-account/index.d.ts.map +1 -0
- package/dist/services/customer-account/module.d.ts +11 -0
- package/dist/services/customer-account/module.d.ts.map +1 -0
- package/dist/services/customer-account/types.d.ts +253 -0
- package/dist/services/customer-account/types.d.ts.map +1 -0
- package/dist/services/customer-user/customer-user.service.d.ts +280 -0
- package/dist/services/customer-user/customer-user.service.d.ts.map +1 -0
- package/dist/services/customer-user/definitions.d.ts +84 -0
- package/dist/services/customer-user/definitions.d.ts.map +1 -0
- package/dist/services/customer-user/endpoints.d.ts +19 -0
- package/dist/services/customer-user/endpoints.d.ts.map +1 -0
- package/dist/services/customer-user/index.d.ts +394 -0
- package/dist/services/customer-user/index.d.ts.map +1 -0
- package/dist/services/customer-user/module.d.ts +11 -0
- package/dist/services/customer-user/module.d.ts.map +1 -0
- package/dist/services/customer-user/types.d.ts +118 -0
- package/dist/services/customer-user/types.d.ts.map +1 -0
- package/dist/services/factory.d.ts +104 -0
- package/dist/services/factory.d.ts.map +1 -0
- package/dist/services/incident/definitions.d.ts +85 -0
- package/dist/services/incident/definitions.d.ts.map +1 -0
- package/dist/services/incident/endpoints.d.ts +17 -0
- package/dist/services/incident/endpoints.d.ts.map +1 -0
- package/dist/services/incident/incident.service.d.ts +24 -0
- package/dist/services/incident/incident.service.d.ts.map +1 -0
- package/dist/services/incident/index.d.ts +270 -0
- package/dist/services/incident/index.d.ts.map +1 -0
- package/dist/services/incident/module.d.ts +11 -0
- package/dist/services/incident/module.d.ts.map +1 -0
- package/dist/services/incident/types.d.ts +116 -0
- package/dist/services/incident/types.d.ts.map +1 -0
- package/dist/services/logistic-order/definitions.d.ts +296 -0
- package/dist/services/logistic-order/definitions.d.ts.map +1 -0
- package/dist/services/logistic-order/endpoints.d.ts +44 -0
- package/dist/services/logistic-order/endpoints.d.ts.map +1 -0
- package/dist/services/logistic-order/index.d.ts +1338 -0
- package/dist/services/logistic-order/index.d.ts.map +1 -0
- package/dist/services/logistic-order/logistic-order.service.d.ts +62 -0
- package/dist/services/logistic-order/logistic-order.service.d.ts.map +1 -0
- package/dist/services/logistic-order/module.d.ts +11 -0
- package/dist/services/logistic-order/module.d.ts.map +1 -0
- package/dist/services/logistic-order/types.d.ts +411 -0
- package/dist/services/logistic-order/types.d.ts.map +1 -0
- package/dist/services/module.d.ts +64 -0
- package/dist/services/module.d.ts.map +1 -0
- package/dist/services/navigation-category/definitions.d.ts +31 -0
- package/dist/services/navigation-category/definitions.d.ts.map +1 -0
- package/dist/services/navigation-category/endpoints.d.ts +15 -0
- package/dist/services/navigation-category/endpoints.d.ts.map +1 -0
- package/dist/services/navigation-category/index.d.ts +114 -0
- package/dist/services/navigation-category/index.d.ts.map +1 -0
- package/dist/services/navigation-category/module.d.ts +11 -0
- package/dist/services/navigation-category/module.d.ts.map +1 -0
- package/dist/services/navigation-category/navigation-category.service.d.ts +148 -0
- package/dist/services/navigation-category/navigation-category.service.d.ts.map +1 -0
- package/dist/services/navigation-category/types.d.ts +51 -0
- package/dist/services/navigation-category/types.d.ts.map +1 -0
- package/dist/services/offer-inventories/definitions.d.ts +73 -0
- package/dist/services/offer-inventories/definitions.d.ts.map +1 -0
- package/dist/services/offer-inventories/endpoints.d.ts +16 -0
- package/dist/services/offer-inventories/endpoints.d.ts.map +1 -0
- package/dist/services/offer-inventories/index.d.ts +120 -0
- package/dist/services/offer-inventories/index.d.ts.map +1 -0
- package/dist/services/offer-inventories/module.d.ts +11 -0
- package/dist/services/offer-inventories/module.d.ts.map +1 -0
- package/dist/services/offer-inventories/offer-inventories.service.d.ts +26 -0
- package/dist/services/offer-inventories/offer-inventories.service.d.ts.map +1 -0
- package/dist/services/offer-inventories/types.d.ts +85 -0
- package/dist/services/offer-inventories/types.d.ts.map +1 -0
- package/dist/services/offer-prices/__mocks__/offer-prices.mocks.d.ts +109 -0
- package/dist/services/offer-prices/__mocks__/offer-prices.mocks.d.ts.map +1 -0
- package/dist/services/offer-prices/definitions.d.ts +24 -0
- package/dist/services/offer-prices/definitions.d.ts.map +1 -0
- package/dist/services/offer-prices/endpoints.d.ts +12 -0
- package/dist/services/offer-prices/endpoints.d.ts.map +1 -0
- package/dist/services/offer-prices/index.d.ts +36 -0
- package/dist/services/offer-prices/index.d.ts.map +1 -0
- package/dist/services/offer-prices/module.d.ts +11 -0
- package/dist/services/offer-prices/module.d.ts.map +1 -0
- package/dist/services/offer-prices/offer-prices.service.d.ts +18 -0
- package/dist/services/offer-prices/offer-prices.service.d.ts.map +1 -0
- package/dist/services/offer-prices/types.d.ts +33 -0
- package/dist/services/offer-prices/types.d.ts.map +1 -0
- package/dist/services/operation/definitions.d.ts +280 -0
- package/dist/services/operation/definitions.d.ts.map +1 -0
- package/dist/services/operation/endpoints.d.ts +18 -0
- package/dist/services/operation/endpoints.d.ts.map +1 -0
- package/dist/services/operation/index.d.ts +520 -0
- package/dist/services/operation/index.d.ts.map +1 -0
- package/dist/services/operation/module.d.ts +11 -0
- package/dist/services/operation/module.d.ts.map +1 -0
- package/dist/services/operation/operation.service.d.ts +32 -0
- package/dist/services/operation/operation.service.d.ts.map +1 -0
- package/dist/services/operation/types.d.ts +174 -0
- package/dist/services/operation/types.d.ts.map +1 -0
- package/dist/services/payment/definitions.d.ts +79 -0
- package/dist/services/payment/definitions.d.ts.map +1 -0
- package/dist/services/payment/endpoints.d.ts +16 -0
- package/dist/services/payment/endpoints.d.ts.map +1 -0
- package/dist/services/payment/index.d.ts +150 -0
- package/dist/services/payment/index.d.ts.map +1 -0
- package/dist/services/payment/module.d.ts +11 -0
- package/dist/services/payment/module.d.ts.map +1 -0
- package/dist/services/payment/payment.service.d.ts +224 -0
- package/dist/services/payment/payment.service.d.ts.map +1 -0
- package/dist/services/payment/types.d.ts +93 -0
- package/dist/services/payment/types.d.ts.map +1 -0
- package/dist/services/product/definitions.d.ts +150 -0
- package/dist/services/product/definitions.d.ts.map +1 -0
- package/dist/services/product/endpoints.d.ts +40 -0
- package/dist/services/product/endpoints.d.ts.map +1 -0
- package/dist/services/product/index.d.ts +388 -0
- package/dist/services/product/index.d.ts.map +1 -0
- package/dist/services/product/module.d.ts +11 -0
- package/dist/services/product/module.d.ts.map +1 -0
- package/dist/services/product/product.service.d.ts +452 -0
- package/dist/services/product/product.service.d.ts.map +1 -0
- package/dist/services/product/types.d.ts +344 -0
- package/dist/services/product/types.d.ts.map +1 -0
- package/dist/services/product-variant/definitions.d.ts +172 -0
- package/dist/services/product-variant/definitions.d.ts.map +1 -0
- package/dist/services/product-variant/endpoints.d.ts +15 -0
- package/dist/services/product-variant/endpoints.d.ts.map +1 -0
- package/dist/services/product-variant/index.d.ts +123 -0
- package/dist/services/product-variant/index.d.ts.map +1 -0
- package/dist/services/product-variant/module.d.ts +11 -0
- package/dist/services/product-variant/module.d.ts.map +1 -0
- package/dist/services/product-variant/product-variant.service.d.ts +21 -0
- package/dist/services/product-variant/product-variant.service.d.ts.map +1 -0
- package/dist/services/product-variant/types.d.ts +73 -0
- package/dist/services/product-variant/types.d.ts.map +1 -0
- package/dist/services/quote/definitions.d.ts +102 -0
- package/dist/services/quote/definitions.d.ts.map +1 -0
- package/dist/services/quote/endpoints.d.ts +20 -0
- package/dist/services/quote/endpoints.d.ts.map +1 -0
- package/dist/services/quote/index.d.ts +378 -0
- package/dist/services/quote/index.d.ts.map +1 -0
- package/dist/services/quote/module.d.ts +11 -0
- package/dist/services/quote/module.d.ts.map +1 -0
- package/dist/services/quote/quote.service.d.ts +346 -0
- package/dist/services/quote/quote.service.d.ts.map +1 -0
- package/dist/services/quote/types.d.ts +160 -0
- package/dist/services/quote/types.d.ts.map +1 -0
- package/dist/services/supplier/__mocks__/supplier-mocks.d.ts +49 -0
- package/dist/services/supplier/__mocks__/supplier-mocks.d.ts.map +1 -0
- package/dist/services/supplier/definitions.d.ts +30 -0
- package/dist/services/supplier/definitions.d.ts.map +1 -0
- package/dist/services/supplier/endpoints.d.ts +14 -0
- package/dist/services/supplier/endpoints.d.ts.map +1 -0
- package/dist/services/supplier/index.d.ts +102 -0
- package/dist/services/supplier/index.d.ts.map +1 -0
- package/dist/services/supplier/module.d.ts +11 -0
- package/dist/services/supplier/module.d.ts.map +1 -0
- package/dist/services/supplier/supplier.service.d.ts +20 -0
- package/dist/services/supplier/supplier.service.d.ts.map +1 -0
- package/dist/services/supplier/types.d.ts +58 -0
- package/dist/services/supplier/types.d.ts.map +1 -0
- package/dist/services/types.d.ts +81 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/settings/fetch-instance.d.ts +30 -0
- package/dist/settings/fetch-instance.d.ts.map +1 -0
- package/package.json +12 -10
- package/dist/djust-b2b-djust-front-sdk-3.0.0-beta.2.tgz +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DJUST SDK Error Codes
|
|
3
|
+
* Stable error codes for programmatic error handling.
|
|
4
|
+
*
|
|
5
|
+
* @module errors/codes
|
|
6
|
+
* @since 2.17.0
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Enumeration of all SDK error codes.
|
|
10
|
+
* Use these codes for programmatic error handling rather than parsing messages.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { SDKErrorCode, isSDKError } from '@djust-b2b/djust-front-sdk';
|
|
15
|
+
*
|
|
16
|
+
* try {
|
|
17
|
+
* await sdk.getCart({ cartId: '123', currency: 'EUR' });
|
|
18
|
+
* } catch (error) {
|
|
19
|
+
* if (isSDKError(error) && error.code === SDKErrorCode.NOT_FOUND) {
|
|
20
|
+
* console.log('Cart not found');
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare const SDKErrorCode: {
|
|
26
|
+
/** Generic validation error */
|
|
27
|
+
readonly VALIDATION_ERROR: "VALIDATION_ERROR";
|
|
28
|
+
/** Required parameter is missing */
|
|
29
|
+
readonly MISSING_PARAMETER: "MISSING_PARAMETER";
|
|
30
|
+
/** Parameter value is invalid */
|
|
31
|
+
readonly INVALID_PARAMETER: "INVALID_PARAMETER";
|
|
32
|
+
/** Generic authentication error */
|
|
33
|
+
readonly AUTH_ERROR: "AUTH_ERROR";
|
|
34
|
+
/** Access token has expired */
|
|
35
|
+
readonly TOKEN_EXPIRED: "TOKEN_EXPIRED";
|
|
36
|
+
/** Access token is invalid or malformed */
|
|
37
|
+
readonly TOKEN_INVALID: "TOKEN_INVALID";
|
|
38
|
+
/** Access token is required but not provided */
|
|
39
|
+
readonly TOKEN_MISSING: "TOKEN_MISSING";
|
|
40
|
+
/** Username or password is incorrect */
|
|
41
|
+
readonly INVALID_CREDENTIALS: "INVALID_CREDENTIALS";
|
|
42
|
+
/** Generic authorization error */
|
|
43
|
+
readonly FORBIDDEN: "FORBIDDEN";
|
|
44
|
+
/** User lacks required permissions */
|
|
45
|
+
readonly INSUFFICIENT_PERMISSIONS: "INSUFFICIENT_PERMISSIONS";
|
|
46
|
+
/** Resource not found */
|
|
47
|
+
readonly NOT_FOUND: "NOT_FOUND";
|
|
48
|
+
/** Resource conflict (e.g., duplicate) */
|
|
49
|
+
readonly CONFLICT: "CONFLICT";
|
|
50
|
+
/** Resource no longer available */
|
|
51
|
+
readonly GONE: "GONE";
|
|
52
|
+
/** Request entity too large */
|
|
53
|
+
readonly PAYLOAD_TOO_LARGE: "PAYLOAD_TOO_LARGE";
|
|
54
|
+
/** Unsupported media type */
|
|
55
|
+
readonly UNSUPPORTED_MEDIA_TYPE: "UNSUPPORTED_MEDIA_TYPE";
|
|
56
|
+
/** Unprocessable entity (validation at API level) */
|
|
57
|
+
readonly UNPROCESSABLE_ENTITY: "UNPROCESSABLE_ENTITY";
|
|
58
|
+
/** Too many requests */
|
|
59
|
+
readonly RATE_LIMITED: "RATE_LIMITED";
|
|
60
|
+
/** Generic network error */
|
|
61
|
+
readonly NETWORK_ERROR: "NETWORK_ERROR";
|
|
62
|
+
/** Request timeout */
|
|
63
|
+
readonly TIMEOUT: "TIMEOUT";
|
|
64
|
+
/** Connection refused */
|
|
65
|
+
readonly CONNECTION_REFUSED: "CONNECTION_REFUSED";
|
|
66
|
+
/** DNS resolution failed */
|
|
67
|
+
readonly DNS_ERROR: "DNS_ERROR";
|
|
68
|
+
/** Request was aborted */
|
|
69
|
+
readonly ABORTED: "ABORTED";
|
|
70
|
+
/** SSL/TLS error */
|
|
71
|
+
readonly SSL_ERROR: "SSL_ERROR";
|
|
72
|
+
/** Generic server error */
|
|
73
|
+
readonly SERVER_ERROR: "SERVER_ERROR";
|
|
74
|
+
/** Internal server error (500) */
|
|
75
|
+
readonly INTERNAL_ERROR: "INTERNAL_ERROR";
|
|
76
|
+
/** Bad gateway (502) */
|
|
77
|
+
readonly BAD_GATEWAY: "BAD_GATEWAY";
|
|
78
|
+
/** Service unavailable (503) */
|
|
79
|
+
readonly SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE";
|
|
80
|
+
/** Gateway timeout (504) */
|
|
81
|
+
readonly GATEWAY_TIMEOUT: "GATEWAY_TIMEOUT";
|
|
82
|
+
/** SDK not initialized */
|
|
83
|
+
readonly SDK_NOT_INITIALIZED: "SDK_NOT_INITIALIZED";
|
|
84
|
+
/** SDK configuration error */
|
|
85
|
+
readonly CONFIGURATION_ERROR: "CONFIGURATION_ERROR";
|
|
86
|
+
/** Feature not supported */
|
|
87
|
+
readonly NOT_SUPPORTED: "NOT_SUPPORTED";
|
|
88
|
+
/** Unexpected error (bug or unknown state) */
|
|
89
|
+
readonly UNEXPECTED_ERROR: "UNEXPECTED_ERROR";
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Type representing all possible SDK error codes.
|
|
93
|
+
*/
|
|
94
|
+
export type SDKErrorCodeType = (typeof SDKErrorCode)[keyof typeof SDKErrorCode];
|
|
95
|
+
/**
|
|
96
|
+
* Error codes that indicate retriable errors.
|
|
97
|
+
*/
|
|
98
|
+
export declare const RETRIABLE_ERROR_CODES: readonly SDKErrorCodeType[];
|
|
99
|
+
/**
|
|
100
|
+
* HTTP status codes that are typically retriable.
|
|
101
|
+
*/
|
|
102
|
+
export declare const RETRIABLE_HTTP_STATUS_CODES: readonly number[];
|
|
103
|
+
/**
|
|
104
|
+
* Checks if an error code represents a retriable error.
|
|
105
|
+
*/
|
|
106
|
+
export declare function isRetriableCode(code: SDKErrorCodeType): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Checks if an HTTP status code represents a retriable error.
|
|
109
|
+
*/
|
|
110
|
+
export declare function isRetriableStatus(status: number): boolean;
|
|
111
|
+
//# sourceMappingURL=codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/errors/codes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY;IAEvB,+BAA+B;;IAE/B,oCAAoC;;IAEpC,iCAAiC;;IAIjC,mCAAmC;;IAEnC,+BAA+B;;IAE/B,2CAA2C;;IAE3C,gDAAgD;;IAEhD,wCAAwC;;IAIxC,kCAAkC;;IAElC,sCAAsC;;IAItC,yBAAyB;;IAEzB,0CAA0C;;IAE1C,mCAAmC;;IAEnC,+BAA+B;;IAE/B,6BAA6B;;IAE7B,qDAAqD;;IAIrD,wBAAwB;;IAIxB,4BAA4B;;IAE5B,sBAAsB;;IAEtB,yBAAyB;;IAEzB,4BAA4B;;IAE5B,0BAA0B;;IAE1B,oBAAoB;;IAIpB,2BAA2B;;IAE3B,kCAAkC;;IAElC,wBAAwB;;IAExB,gCAAgC;;IAEhC,4BAA4B;;IAI5B,0BAA0B;;IAE1B,8BAA8B;;IAE9B,4BAA4B;;IAI5B,8CAA8C;;CAEtC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,gBAAgB,EAWnD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAO/C,CAAC;AAEX;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DJUST SDK Error Compatibility
|
|
3
|
+
* Helpers for backward compatibility with legacy error handling.
|
|
4
|
+
*
|
|
5
|
+
* @module errors/compat
|
|
6
|
+
* @since 2.17.0
|
|
7
|
+
*/
|
|
8
|
+
import { SDKError } from "./base";
|
|
9
|
+
import type { SDKErrorCodeType } from "./codes";
|
|
10
|
+
/**
|
|
11
|
+
* Converts an SDKError to the legacy error format.
|
|
12
|
+
*
|
|
13
|
+
* Used internally when `strictErrors` mode is disabled to maintain
|
|
14
|
+
* backward compatibility with existing error handling code.
|
|
15
|
+
*
|
|
16
|
+
* Legacy format: `new Error("[API] Error 401: Some message")`
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Internal SDK usage
|
|
21
|
+
* if (!config.strictErrors) {
|
|
22
|
+
* throw toLegacyError(sdkError);
|
|
23
|
+
* }
|
|
24
|
+
* throw sdkError;
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function toLegacyError(sdkError: SDKError): Error;
|
|
28
|
+
/**
|
|
29
|
+
* Extracts the original SDKError from a legacy error if available.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const sdkError = fromLegacyError(error);
|
|
34
|
+
* if (sdkError) {
|
|
35
|
+
* console.log(sdkError.code);
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function fromLegacyError(error: Error): SDKError | null;
|
|
40
|
+
/**
|
|
41
|
+
* Checks if an error is in legacy format.
|
|
42
|
+
*
|
|
43
|
+
* Legacy format: "[API] Error XXX: ..." or "[SDK] Error: ..."
|
|
44
|
+
*/
|
|
45
|
+
export declare function isLegacyError(error: unknown): error is Error;
|
|
46
|
+
/**
|
|
47
|
+
* Parses a legacy error message to extract status code and message.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const parsed = parseLegacyError(error);
|
|
52
|
+
* // { statusCode: 401, message: 'Unauthorized' }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare function parseLegacyError(error: Error): {
|
|
56
|
+
statusCode: number | null;
|
|
57
|
+
message: string;
|
|
58
|
+
code: SDKErrorCodeType | null;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Wraps a function to catch SDKErrors and convert to legacy format.
|
|
62
|
+
*
|
|
63
|
+
* Used to maintain backward compatibility when calling new code
|
|
64
|
+
* from legacy code paths.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const legacyGetCart = withLegacyErrors(async (params) => {
|
|
69
|
+
* return await newClient.getCart(params);
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function withLegacyErrors<T extends (...args: any[]) => Promise<any>>(fn: T): T;
|
|
74
|
+
/**
|
|
75
|
+
* Wraps a function to catch legacy errors and convert to SDKError.
|
|
76
|
+
*
|
|
77
|
+
* Used to upgrade legacy error handling to new structured errors.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const modernGetCart = withStructuredErrors(async (params) => {
|
|
82
|
+
* return await legacySDK.getCart(params);
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function withStructuredErrors<T extends (...args: any[]) => Promise<any>>(fn: T): T;
|
|
87
|
+
/**
|
|
88
|
+
* Type guard that works with both SDKError and legacy errors.
|
|
89
|
+
*
|
|
90
|
+
* Useful during migration when code may receive either format.
|
|
91
|
+
*/
|
|
92
|
+
export declare function isApiError(error: unknown): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Gets HTTP status code from either SDKError or legacy error.
|
|
95
|
+
*
|
|
96
|
+
* Unified accessor for backward compatibility.
|
|
97
|
+
*/
|
|
98
|
+
export declare function getHttpStatus(error: unknown): number | null;
|
|
99
|
+
//# sourceMappingURL=compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/errors/compat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAyCvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAS5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC/B,CAoCA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACzE,EAAE,EAAE,CAAC,GACJ,CAAC,CAWH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAC1C,EAAE,EAAE,CAAC,GAAG,CAAC,CA+BV;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWlD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAiB3D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DJUST SDK Error Factory
|
|
3
|
+
* Functions for creating errors from HTTP responses and exceptions.
|
|
4
|
+
*
|
|
5
|
+
* @module errors/factory
|
|
6
|
+
* @since 2.17.0
|
|
7
|
+
*/
|
|
8
|
+
import { SDKError } from "./base";
|
|
9
|
+
import type { ErrorFactoryOptions, RequestMetadata } from "./types";
|
|
10
|
+
export declare function createErrorFromResponse(options: ErrorFactoryOptions): SDKError;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an SDKError from a network/fetch exception.
|
|
13
|
+
*
|
|
14
|
+
* Automatically detects error types:
|
|
15
|
+
* - AbortError → NetworkError (aborted)
|
|
16
|
+
* - Timeout errors → TimeoutError
|
|
17
|
+
* - Connection errors → NetworkError
|
|
18
|
+
* - DNS errors → NetworkError
|
|
19
|
+
* - Other → UnexpectedError
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* import { createErrorFromException } from '@djust-b2b/djust-front-sdk';
|
|
24
|
+
*
|
|
25
|
+
* try {
|
|
26
|
+
* await fetch(url);
|
|
27
|
+
* } catch (error) {
|
|
28
|
+
* throw createErrorFromException(error, { endpoint: url });
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function createErrorFromException(error: unknown, metadata?: RequestMetadata): SDKError;
|
|
33
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/errors/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoFpE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,mBAAmB,GAC3B,QAAQ,CAyEV;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,eAAe,GACzB,QAAQ,CAiCV"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DJUST SDK Error Guards
|
|
3
|
+
* Type guards and utility functions for error handling.
|
|
4
|
+
*
|
|
5
|
+
* @module errors/guards
|
|
6
|
+
* @since 2.17.0
|
|
7
|
+
*/
|
|
8
|
+
import { SDKError } from "./base";
|
|
9
|
+
import { type SDKErrorCodeType } from "./codes";
|
|
10
|
+
import { AuthError } from "./classes/auth.error";
|
|
11
|
+
import { ForbiddenError } from "./classes/forbidden.error";
|
|
12
|
+
import { NetworkError } from "./classes/network.error";
|
|
13
|
+
import { TimeoutError } from "./classes/timeout.error";
|
|
14
|
+
import { ServerError } from "./classes/server.error";
|
|
15
|
+
import { ValidationError } from "./classes/validation.error";
|
|
16
|
+
import { NotFoundError } from "./classes/not-found.error";
|
|
17
|
+
import { RateLimitError } from "./classes/rate-limit.error";
|
|
18
|
+
import { UnexpectedError } from "./classes/unexpected.error";
|
|
19
|
+
/**
|
|
20
|
+
* Checks if an error is an SDKError.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* if (isSDKError(error)) {
|
|
25
|
+
* console.log(error.code); // TypeScript knows it's SDKError
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function isSDKError(error: unknown): error is SDKError;
|
|
30
|
+
/**
|
|
31
|
+
* Checks if an error is an AuthError (401).
|
|
32
|
+
*/
|
|
33
|
+
export declare function isAuthError(error: unknown): error is AuthError;
|
|
34
|
+
/**
|
|
35
|
+
* Checks if an error is a ForbiddenError (403).
|
|
36
|
+
*/
|
|
37
|
+
export declare function isForbiddenError(error: unknown): error is ForbiddenError;
|
|
38
|
+
/**
|
|
39
|
+
* Checks if an error is a NetworkError.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isNetworkError(error: unknown): error is NetworkError;
|
|
42
|
+
/**
|
|
43
|
+
* Checks if an error is a TimeoutError.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isTimeoutError(error: unknown): error is TimeoutError;
|
|
46
|
+
/**
|
|
47
|
+
* Checks if an error is a ServerError (5xx).
|
|
48
|
+
*/
|
|
49
|
+
export declare function isServerError(error: unknown): error is ServerError;
|
|
50
|
+
/**
|
|
51
|
+
* Checks if an error is a ValidationError.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isValidationError(error: unknown): error is ValidationError;
|
|
54
|
+
/**
|
|
55
|
+
* Checks if an error is a NotFoundError (404).
|
|
56
|
+
*/
|
|
57
|
+
export declare function isNotFoundError(error: unknown): error is NotFoundError;
|
|
58
|
+
/**
|
|
59
|
+
* Checks if an error is a RateLimitError (429).
|
|
60
|
+
*/
|
|
61
|
+
export declare function isRateLimitError(error: unknown): error is RateLimitError;
|
|
62
|
+
/**
|
|
63
|
+
* Checks if an error is an UnexpectedError.
|
|
64
|
+
*/
|
|
65
|
+
export declare function isUnexpectedError(error: unknown): error is UnexpectedError;
|
|
66
|
+
/**
|
|
67
|
+
* Checks if an error is retriable.
|
|
68
|
+
*
|
|
69
|
+
* Returns true for:
|
|
70
|
+
* - Network errors
|
|
71
|
+
* - Timeout errors
|
|
72
|
+
* - Rate limit errors (after delay)
|
|
73
|
+
* - Server errors (5xx)
|
|
74
|
+
* - Any SDKError with retriable=true
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* if (isRetryable(error)) {
|
|
79
|
+
* await sleep(1000);
|
|
80
|
+
* return retry();
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function isRetryable(error: unknown): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Gets the retry delay for an error (in milliseconds).
|
|
87
|
+
*
|
|
88
|
+
* For rate limit errors, returns the Retry-After value.
|
|
89
|
+
* For other retriable errors, returns a default backoff.
|
|
90
|
+
* For non-retriable errors, returns undefined.
|
|
91
|
+
*
|
|
92
|
+
* @param error - The error to check
|
|
93
|
+
* @param attempt - Current retry attempt (1-based) for backoff calculation
|
|
94
|
+
* @param baseDelayMs - Base delay for exponential backoff (default: 1000ms)
|
|
95
|
+
*/
|
|
96
|
+
export declare function getRetryDelay(error: unknown, attempt?: number, baseDelayMs?: number): number | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Checks if an error indicates the user should re-authenticate.
|
|
99
|
+
*
|
|
100
|
+
* Returns true for:
|
|
101
|
+
* - Token expired
|
|
102
|
+
* - Token invalid
|
|
103
|
+
* - Token missing
|
|
104
|
+
*/
|
|
105
|
+
export declare function shouldReauthenticate(error: unknown): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Checks if an error is a client error (4xx).
|
|
108
|
+
*/
|
|
109
|
+
export declare function isClientError(error: unknown): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Checks if an error is transient (likely to resolve on retry).
|
|
112
|
+
*
|
|
113
|
+
* More conservative than isRetryable - only returns true for
|
|
114
|
+
* errors that are very likely to succeed on retry.
|
|
115
|
+
*/
|
|
116
|
+
export declare function isTransientError(error: unknown): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Extracts HTTP status code from an error.
|
|
119
|
+
*
|
|
120
|
+
* Works with both SDKError and legacy error formats.
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const status = extractStatusCode(error);
|
|
125
|
+
* if (status === 401) {
|
|
126
|
+
* redirectToLogin();
|
|
127
|
+
* }
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
export declare function extractStatusCode(error: unknown): number | null;
|
|
131
|
+
/**
|
|
132
|
+
* Extracts error code from an error.
|
|
133
|
+
*/
|
|
134
|
+
export declare function extractErrorCode(error: unknown): SDKErrorCodeType | string | null;
|
|
135
|
+
/**
|
|
136
|
+
* Gets a user-friendly error message.
|
|
137
|
+
*
|
|
138
|
+
* Returns a safe message that can be shown to end users.
|
|
139
|
+
* Does not include sensitive details.
|
|
140
|
+
*/
|
|
141
|
+
export declare function getUserFriendlyMessage(error: unknown): string;
|
|
142
|
+
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/errors/guards.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAgB,KAAK,gBAAgB,EAAmB,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,MAAU,EACnB,WAAW,GAAE,MAAa,GACzB,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAe5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKrD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAexD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAc/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,GACb,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAKlC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4B7D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DJUST SDK Error Module
|
|
3
|
+
* Production-grade structured error handling.
|
|
4
|
+
*
|
|
5
|
+
* Architecture:
|
|
6
|
+
* - types.ts - Type definitions
|
|
7
|
+
* - codes.ts - Error code constants
|
|
8
|
+
* - base.ts - SDKError base class
|
|
9
|
+
* - classes/ - Specific error types
|
|
10
|
+
* - factory.ts - Error creation from responses
|
|
11
|
+
* - guards.ts - Type guards and utilities
|
|
12
|
+
* - compat.ts - Backward compatibility helpers
|
|
13
|
+
*
|
|
14
|
+
* @module errors
|
|
15
|
+
* @since 2.17.0
|
|
16
|
+
*/
|
|
17
|
+
export type { RequestMetadata, SDKErrorOptions, ErrorFactoryOptions, SerializedError, ClientSafeError, } from "./types";
|
|
18
|
+
export { SDKErrorCode, RETRIABLE_ERROR_CODES, RETRIABLE_HTTP_STATUS_CODES, isRetriableCode, isRetriableStatus, } from "./codes";
|
|
19
|
+
export type { SDKErrorCodeType } from "./codes";
|
|
20
|
+
export { SDKError } from "./base";
|
|
21
|
+
export { ValidationError, AuthError, ForbiddenError, NotFoundError, RateLimitError, NetworkError, TimeoutError, ServerError, UnexpectedError, } from "./classes";
|
|
22
|
+
export { createErrorFromResponse, createErrorFromException } from "./factory";
|
|
23
|
+
export { isSDKError, isAuthError, isForbiddenError, isNetworkError, isTimeoutError, isServerError, isValidationError, isNotFoundError, isRateLimitError, isUnexpectedError, isRetryable, getRetryDelay, shouldReauthenticate, isClientError, isTransientError, extractStatusCode, extractErrorCode, getUserFriendlyMessage, } from "./guards";
|
|
24
|
+
export { toLegacyError, fromLegacyError, isLegacyError, parseLegacyError, withLegacyErrors, withStructuredErrors, isApiError, getHttpStatus, } from "./compat";
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,YAAY,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAMhD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMlC,OAAO,EACL,eAAe,EACf,SAAS,EACT,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,MAAM,WAAW,CAAC;AAMnB,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAM9E,OAAO,EAEL,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAGjB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,aAAa,GACd,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DJUST SDK Error Types
|
|
3
|
+
* Type definitions for the error system.
|
|
4
|
+
*
|
|
5
|
+
* @module errors/types
|
|
6
|
+
* @since 2.17.0
|
|
7
|
+
*/
|
|
8
|
+
import type { SDKErrorCodeType } from "./codes";
|
|
9
|
+
/**
|
|
10
|
+
* Metadata attached to errors for debugging and observability.
|
|
11
|
+
* Contains request context without sensitive data.
|
|
12
|
+
*/
|
|
13
|
+
export interface RequestMetadata {
|
|
14
|
+
/** Unique request identifier for log correlation */
|
|
15
|
+
requestId?: string;
|
|
16
|
+
/** API endpoint path (e.g., "/v1/shop/carts") */
|
|
17
|
+
endpoint?: string;
|
|
18
|
+
/** HTTP method (GET, POST, etc.) */
|
|
19
|
+
method?: string;
|
|
20
|
+
/** Request duration in milliseconds */
|
|
21
|
+
durationMs?: number;
|
|
22
|
+
/** Service or provider name */
|
|
23
|
+
service?: string;
|
|
24
|
+
/** SDK method name (e.g., "updateCommercialOrderLines") */
|
|
25
|
+
sdkMethod?: string;
|
|
26
|
+
/** Retry attempt number (1-based) */
|
|
27
|
+
attempt?: number;
|
|
28
|
+
/** Query parameters (sanitized, no sensitive data) */
|
|
29
|
+
queryParams?: Record<string, unknown>;
|
|
30
|
+
/** Request body (sanitized, no sensitive data like passwords/tokens) */
|
|
31
|
+
body?: unknown;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Options for constructing an SDKError.
|
|
35
|
+
*/
|
|
36
|
+
export interface SDKErrorOptions {
|
|
37
|
+
/** Stable error code for programmatic handling */
|
|
38
|
+
code: SDKErrorCodeType;
|
|
39
|
+
/** Human-readable error message */
|
|
40
|
+
message: string;
|
|
41
|
+
/** HTTP status code (0 for non-HTTP errors) */
|
|
42
|
+
httpStatus?: number;
|
|
43
|
+
/** Additional structured details (non-sensitive) */
|
|
44
|
+
details?: Record<string, unknown>;
|
|
45
|
+
/** Original error that caused this error */
|
|
46
|
+
cause?: Error;
|
|
47
|
+
/** Whether the operation can be retried */
|
|
48
|
+
retriable?: boolean;
|
|
49
|
+
/** Suggested delay before retry in milliseconds */
|
|
50
|
+
retryAfterMs?: number;
|
|
51
|
+
/** Request context metadata */
|
|
52
|
+
metadata?: RequestMetadata;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Options for creating errors from HTTP responses.
|
|
56
|
+
*/
|
|
57
|
+
export interface ErrorFactoryOptions {
|
|
58
|
+
/** HTTP response status code */
|
|
59
|
+
statusCode: number;
|
|
60
|
+
/** Response body as string */
|
|
61
|
+
body: string;
|
|
62
|
+
/** Request URL */
|
|
63
|
+
url?: string;
|
|
64
|
+
/** HTTP method */
|
|
65
|
+
method?: string;
|
|
66
|
+
/** Request duration in milliseconds */
|
|
67
|
+
durationMs?: number;
|
|
68
|
+
/** Request correlation ID */
|
|
69
|
+
requestId?: string;
|
|
70
|
+
/** SDK method name (e.g., "updateCommercialOrderLines") */
|
|
71
|
+
sdkMethod?: string;
|
|
72
|
+
/** Query parameters from the request */
|
|
73
|
+
queryParams?: Record<string, unknown>;
|
|
74
|
+
/** Request body (will be sanitized in metadata) */
|
|
75
|
+
requestBody?: unknown;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* JSON-serializable error representation for logging.
|
|
79
|
+
*/
|
|
80
|
+
export interface SerializedError {
|
|
81
|
+
name: string;
|
|
82
|
+
code: SDKErrorCodeType;
|
|
83
|
+
message: string;
|
|
84
|
+
httpStatus: number;
|
|
85
|
+
retriable: boolean;
|
|
86
|
+
retryAfterMs?: number;
|
|
87
|
+
details: Record<string, unknown>;
|
|
88
|
+
metadata: RequestMetadata;
|
|
89
|
+
timestamp: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Client-safe error representation (no sensitive data).
|
|
93
|
+
*/
|
|
94
|
+
export interface ClientSafeError {
|
|
95
|
+
code: SDKErrorCodeType;
|
|
96
|
+
message: string;
|
|
97
|
+
httpStatus: number;
|
|
98
|
+
retriable: boolean;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAMhD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,wEAAwE;IACxE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,IAAI,EAAE,gBAAgB,CAAC;IAEvB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DJUST SDK Helpers Module
|
|
3
|
+
* Utility functions for parameter validation and browser detection.
|
|
4
|
+
*
|
|
5
|
+
* @module helpers
|
|
6
|
+
* @since 2.17.0
|
|
7
|
+
*/
|
|
8
|
+
export { required, oneOfRequired } from "./parameters-validation";
|
|
9
|
+
export { isBrowser, getCookie, setCookie, deleteCookie } from "./utils";
|
|
10
|
+
/**
|
|
11
|
+
* Type guard to check if a value is defined (not null or undefined)
|
|
12
|
+
*/
|
|
13
|
+
export declare function isDefined<T>(value: T | null | undefined): value is T;
|
|
14
|
+
/**
|
|
15
|
+
* Filters out undefined and null values from an object
|
|
16
|
+
*/
|
|
17
|
+
export declare function filterNullish<T extends Record<string, unknown>>(obj: T): Partial<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Delays execution for specified milliseconds
|
|
20
|
+
*/
|
|
21
|
+
export declare function delay(ms: number): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Generates a unique request ID
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateRequestId(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Checks if the current environment is server-side (Node.js)
|
|
28
|
+
*/
|
|
29
|
+
export declare function isServer(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Safely parses JSON, returning undefined on failure
|
|
32
|
+
*/
|
|
33
|
+
export declare function safeJsonParse<T>(json: string): T | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Checks if a JWT token is expired
|
|
36
|
+
*/
|
|
37
|
+
export declare function isTokenExpired(token: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Extracts the expiration time from a JWT token
|
|
40
|
+
*/
|
|
41
|
+
export declare function getTokenExpiration(token: string): Date | null;
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMlE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMxE;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,GAAG,EAAE,CAAC,GACL,OAAO,CAAC,CAAC,CAAC,CAIZ;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAM5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAO7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters-validation.d.ts","sourceRoot":"","sources":["../../src/helpers/parameters-validation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAMvD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAa5D,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function isBrowser(): boolean;
|
|
2
|
+
export declare function getCookie(name: string): string | null;
|
|
3
|
+
export declare function setCookie(name: string, value: string, expirationDays: number): void;
|
|
4
|
+
export declare function deleteCookie(name: string): void;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAM5E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,QAGxC"}
|