@gcmdev/faxios 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/README.md +1817 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/adapters/fetch-helpers.d.ts +16 -0
- package/dist/lib/adapters/fetch-helpers.js +91 -0
- package/dist/lib/adapters/fetch-helpers.js.map +1 -0
- package/dist/lib/adapters/fetch.d.ts +3 -0
- package/dist/lib/adapters/fetch.js +417 -0
- package/dist/lib/adapters/fetch.js.map +1 -0
- package/dist/lib/cancel/CanceledError.d.ts +15 -0
- package/dist/lib/cancel/CanceledError.js +20 -0
- package/dist/lib/cancel/CanceledError.js.map +1 -0
- package/dist/lib/cancel/isCancel.d.ts +1 -0
- package/dist/lib/cancel/isCancel.js +5 -0
- package/dist/lib/cancel/isCancel.js.map +1 -0
- package/dist/lib/core/Faxios.d.ts +68 -0
- package/dist/lib/core/Faxios.js +269 -0
- package/dist/lib/core/Faxios.js.map +1 -0
- package/dist/lib/core/FaxiosError.d.ts +71 -0
- package/dist/lib/core/FaxiosError.js +192 -0
- package/dist/lib/core/FaxiosError.js.map +1 -0
- package/dist/lib/core/FaxiosHeaders.d.ts +45 -0
- package/dist/lib/core/FaxiosHeaders.js +299 -0
- package/dist/lib/core/FaxiosHeaders.js.map +1 -0
- package/dist/lib/core/InterceptorManager.d.ts +9 -0
- package/dist/lib/core/InterceptorManager.js +28 -0
- package/dist/lib/core/InterceptorManager.js.map +1 -0
- package/dist/lib/core/buildFullPath.d.ts +11 -0
- package/dist/lib/core/buildFullPath.js +41 -0
- package/dist/lib/core/buildFullPath.js.map +1 -0
- package/dist/lib/core/define.d.ts +28 -0
- package/dist/lib/core/define.js +35 -0
- package/dist/lib/core/define.js.map +1 -0
- package/dist/lib/core/dispatchRequest.d.ts +2 -0
- package/dist/lib/core/dispatchRequest.js +127 -0
- package/dist/lib/core/dispatchRequest.js.map +1 -0
- package/dist/lib/core/mergeConfig.d.ts +11 -0
- package/dist/lib/core/mergeConfig.js +152 -0
- package/dist/lib/core/mergeConfig.js.map +1 -0
- package/dist/lib/core/prepareRequest.d.ts +3 -0
- package/dist/lib/core/prepareRequest.js +112 -0
- package/dist/lib/core/prepareRequest.js.map +1 -0
- package/dist/lib/core/route.d.ts +14 -0
- package/dist/lib/core/route.js +24 -0
- package/dist/lib/core/route.js.map +1 -0
- package/dist/lib/core/settle.d.ts +2 -0
- package/dist/lib/core/settle.js +12 -0
- package/dist/lib/core/settle.js.map +1 -0
- package/dist/lib/core/transformData.d.ts +8 -0
- package/dist/lib/core/transformData.js +16 -0
- package/dist/lib/core/transformData.js.map +1 -0
- package/dist/lib/core/validateSchema.d.ts +6 -0
- package/dist/lib/core/validateSchema.js +32 -0
- package/dist/lib/core/validateSchema.js.map +1 -0
- package/dist/lib/defaults/index.d.ts +3 -0
- package/dist/lib/defaults/index.js +150 -0
- package/dist/lib/defaults/index.js.map +1 -0
- package/dist/lib/defaults/transitional.d.ts +9 -0
- package/dist/lib/defaults/transitional.js +10 -0
- package/dist/lib/defaults/transitional.js.map +1 -0
- package/dist/lib/env/data.d.ts +1 -0
- package/dist/lib/env/data.js +2 -0
- package/dist/lib/env/data.js.map +1 -0
- package/dist/lib/faxios.d.ts +99 -0
- package/dist/lib/faxios.js +68 -0
- package/dist/lib/faxios.js.map +1 -0
- package/dist/lib/helpers/FaxiosURLSearchParams.d.ts +7 -0
- package/dist/lib/helpers/FaxiosURLSearchParams.js +44 -0
- package/dist/lib/helpers/FaxiosURLSearchParams.js.map +1 -0
- package/dist/lib/helpers/HttpStatusCode.d.ts +72 -0
- package/dist/lib/helpers/HttpStatusCode.js +76 -0
- package/dist/lib/helpers/HttpStatusCode.js.map +1 -0
- package/dist/lib/helpers/buildURL.d.ts +19 -0
- package/dist/lib/helpers/buildURL.js +60 -0
- package/dist/lib/helpers/buildURL.js.map +1 -0
- package/dist/lib/helpers/combineURLs.d.ts +1 -0
- package/dist/lib/helpers/combineURLs.js +14 -0
- package/dist/lib/helpers/combineURLs.js.map +1 -0
- package/dist/lib/helpers/composeSignals.d.ts +8 -0
- package/dist/lib/helpers/composeSignals.js +48 -0
- package/dist/lib/helpers/composeSignals.js.map +1 -0
- package/dist/lib/helpers/cookies.d.ts +6 -0
- package/dist/lib/helpers/cookies.js +58 -0
- package/dist/lib/helpers/cookies.js.map +1 -0
- package/dist/lib/helpers/estimateDataURLDecodedBytes.d.ts +1 -0
- package/dist/lib/helpers/estimateDataURLDecodedBytes.js +91 -0
- package/dist/lib/helpers/estimateDataURLDecodedBytes.js.map +1 -0
- package/dist/lib/helpers/formDataToJSON.d.ts +9 -0
- package/dist/lib/helpers/formDataToJSON.js +98 -0
- package/dist/lib/helpers/formDataToJSON.js.map +1 -0
- package/dist/lib/helpers/isAbsoluteURL.d.ts +1 -0
- package/dist/lib/helpers/isAbsoluteURL.js +14 -0
- package/dist/lib/helpers/isAbsoluteURL.js.map +1 -0
- package/dist/lib/helpers/isFaxiosError.d.ts +8 -0
- package/dist/lib/helpers/isFaxiosError.js +13 -0
- package/dist/lib/helpers/isFaxiosError.js.map +1 -0
- package/dist/lib/helpers/isURLSameOrigin.d.ts +2 -0
- package/dist/lib/helpers/isURLSameOrigin.js +10 -0
- package/dist/lib/helpers/isURLSameOrigin.js.map +1 -0
- package/dist/lib/helpers/parseHeaders.d.ts +16 -0
- package/dist/lib/helpers/parseHeaders.js +70 -0
- package/dist/lib/helpers/parseHeaders.js.map +1 -0
- package/dist/lib/helpers/progressEventReducer.d.ts +5 -0
- package/dist/lib/helpers/progressEventReducer.js +45 -0
- package/dist/lib/helpers/progressEventReducer.js.map +1 -0
- package/dist/lib/helpers/sanitizeHeaderValue.d.ts +4 -0
- package/dist/lib/helpers/sanitizeHeaderValue.js +43 -0
- package/dist/lib/helpers/sanitizeHeaderValue.js.map +1 -0
- package/dist/lib/helpers/speedometer.d.ts +8 -0
- package/dist/lib/helpers/speedometer.js +42 -0
- package/dist/lib/helpers/speedometer.js.map +1 -0
- package/dist/lib/helpers/substitutePathParams.d.ts +2 -0
- package/dist/lib/helpers/substitutePathParams.js +14 -0
- package/dist/lib/helpers/substitutePathParams.js.map +1 -0
- package/dist/lib/helpers/throttle.d.ts +8 -0
- package/dist/lib/helpers/throttle.js +42 -0
- package/dist/lib/helpers/throttle.js.map +1 -0
- package/dist/lib/helpers/toFormData.d.ts +26 -0
- package/dist/lib/helpers/toFormData.js +233 -0
- package/dist/lib/helpers/toFormData.js.map +1 -0
- package/dist/lib/helpers/toURLEncodedForm.d.ts +2 -0
- package/dist/lib/helpers/toURLEncodedForm.js +8 -0
- package/dist/lib/helpers/toURLEncodedForm.js.map +1 -0
- package/dist/lib/helpers/trackStream.d.ts +1 -0
- package/dist/lib/helpers/trackStream.js +81 -0
- package/dist/lib/helpers/trackStream.js.map +1 -0
- package/dist/lib/helpers/validator.d.ts +16 -0
- package/dist/lib/helpers/validator.js +86 -0
- package/dist/lib/helpers/validator.js.map +1 -0
- package/dist/lib/platform.d.ts +22 -0
- package/dist/lib/platform.js +26 -0
- package/dist/lib/platform.js.map +1 -0
- package/dist/lib/types/standard-schema.d.ts +37 -0
- package/dist/lib/types/standard-schema.js +8 -0
- package/dist/lib/types/standard-schema.js.map +1 -0
- package/dist/lib/types.d.ts +219 -0
- package/dist/lib/types.js +5 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils.d.ts +143 -0
- package/dist/lib/utils.js +805 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +110 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import FaxiosError from "../core/FaxiosError.js";
|
|
3
|
+
class CanceledError extends FaxiosError {
|
|
4
|
+
/**
|
|
5
|
+
* A `CanceledError` is an object that is thrown when an operation is canceled.
|
|
6
|
+
*
|
|
7
|
+
* @param {string=} message The message.
|
|
8
|
+
* @param {Object=} config The config.
|
|
9
|
+
* @param {Object=} request The request.
|
|
10
|
+
*
|
|
11
|
+
* @returns {CanceledError} The created error.
|
|
12
|
+
*/
|
|
13
|
+
constructor(message, config, request) {
|
|
14
|
+
super(message == null ? "canceled" : message, FaxiosError.ERR_CANCELED, config, request);
|
|
15
|
+
this.name = "CanceledError";
|
|
16
|
+
this["__CANCEL__"] = true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export default CanceledError;
|
|
20
|
+
//# sourceMappingURL=CanceledError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanceledError.js","sourceRoot":"","sources":["../../../src/lib/cancel/CanceledError.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,WAAW,+BAA+B;AAGjD,MAAM,aAAc,SAAQ,WAAW;IACrC;;;;;;;;OAQG;IACH,YAAY,OAAuB,EAAE,MAA4B,EAAE,OAAiB;QAClF,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,MAAqC,EAAE,OAAO,CAAC,CAAC;QACxH,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC3B,IAA2C,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IACpE,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function isCancel(value: unknown): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCancel.js","sourceRoot":"","sources":["../../../src/lib/cancel/isCancel.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAc;IAC7C,OAAO,CAAC,CAAC,CAAC,KAAK,IAAK,KAAiC,CAAC,UAAU,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { StandardSchemaV1 } from "../types/standard-schema.js";
|
|
2
|
+
import type { FaxiosRequestConfig, FaxiosResponse, InternalFaxiosRequestConfig, Method, SchemaConfig, StringLiteralsOrString } from "../types.js";
|
|
3
|
+
import type { DefineConfig, DefinedEndpoint } from "./define.js";
|
|
4
|
+
import type { RouteConfig, RouteBuilder } from "./route.js";
|
|
5
|
+
/**
|
|
6
|
+
* Create a new instance of Faxios
|
|
7
|
+
*
|
|
8
|
+
* @param {Object} instanceConfig The default config for the instance
|
|
9
|
+
*
|
|
10
|
+
* @return {Faxios} A new instance of Faxios
|
|
11
|
+
*/
|
|
12
|
+
declare class Faxios {
|
|
13
|
+
#private;
|
|
14
|
+
defaults: FaxiosRequestConfig;
|
|
15
|
+
interceptors: {
|
|
16
|
+
request: {
|
|
17
|
+
forEach: (fn: (h: {
|
|
18
|
+
runWhen?: ((c: InternalFaxiosRequestConfig) => boolean) | null;
|
|
19
|
+
synchronous?: boolean;
|
|
20
|
+
fulfilled?: (...args: Array<unknown>) => unknown;
|
|
21
|
+
rejected?: (...args: Array<unknown>) => unknown;
|
|
22
|
+
}) => void) => void;
|
|
23
|
+
};
|
|
24
|
+
response: {
|
|
25
|
+
forEach: (fn: (h: {
|
|
26
|
+
fulfilled?: (...args: Array<unknown>) => unknown;
|
|
27
|
+
rejected?: (...args: Array<unknown>) => unknown;
|
|
28
|
+
}) => void) => void;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
constructor(instanceConfig?: FaxiosRequestConfig);
|
|
32
|
+
/**
|
|
33
|
+
* Dispatch a request
|
|
34
|
+
*
|
|
35
|
+
* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
|
|
36
|
+
* @param {?Object} config
|
|
37
|
+
*
|
|
38
|
+
* @returns {Promise} The Promise to be fulfilled
|
|
39
|
+
*/
|
|
40
|
+
request<O, D = unknown>(config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
41
|
+
request<T = unknown, R = FaxiosResponse<T>, D = unknown>(configOrUrl: string | FaxiosRequestConfig<D>, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
42
|
+
get<O, D = unknown>(url: string, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
43
|
+
get<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
44
|
+
delete<O, D = unknown>(url: string, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
45
|
+
delete<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
46
|
+
head<O, D = unknown>(url: string, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
47
|
+
head<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
48
|
+
options<O, D = unknown>(url: string, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
49
|
+
options<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
50
|
+
post<O, D = unknown>(url: string, data: D | undefined, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
51
|
+
post<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, data?: D, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
52
|
+
postForm<O, D = unknown>(url: string, data: D | undefined, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
53
|
+
postForm<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, data?: D, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
54
|
+
put<O, D = unknown>(url: string, data: D | undefined, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
55
|
+
put<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, data?: D, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
56
|
+
putForm<O, D = unknown>(url: string, data: D | undefined, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
57
|
+
putForm<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, data?: D, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
58
|
+
patch<O, D = unknown>(url: string, data: D | undefined, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
59
|
+
patch<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, data?: D, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
60
|
+
patchForm<O, D = unknown>(url: string, data: D | undefined, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
61
|
+
patchForm<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, data?: D, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
62
|
+
query<O, D = unknown>(url: string, data: D | undefined, config: SchemaConfig<O, D>): Promise<FaxiosResponse<O, D>>;
|
|
63
|
+
query<T = unknown, R = FaxiosResponse<T>, D = unknown>(url: string, data?: D, config?: FaxiosRequestConfig<D>): Promise<R>;
|
|
64
|
+
getUri(config?: FaxiosRequestConfig): string;
|
|
65
|
+
define<PP extends StandardSchemaV1<unknown, Record<string, unknown>> | undefined = undefined, P extends StandardSchemaV1 | undefined = undefined, D extends StandardSchemaV1 | undefined = undefined, R extends StandardSchemaV1 | undefined = undefined>(method: StringLiteralsOrString<Method>, url: string, config?: DefineConfig<PP, P, D, R>): DefinedEndpoint<PP, P, D, R>;
|
|
66
|
+
route<PP extends StandardSchemaV1<unknown, Record<string, unknown>> | undefined = undefined>(url: string, config?: RouteConfig<PP>): RouteBuilder<PP>;
|
|
67
|
+
}
|
|
68
|
+
export default Faxios;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import transitionalDefaults from "../defaults/transitional.js";
|
|
3
|
+
import buildURL from "../helpers/buildURL.js";
|
|
4
|
+
import validator from "../helpers/validator.js";
|
|
5
|
+
import utils from "../utils.js";
|
|
6
|
+
import buildFullPath from "./buildFullPath.js";
|
|
7
|
+
import { createDefinedEndpoint } from "./define.js";
|
|
8
|
+
import dispatchRequest from "./dispatchRequest.js";
|
|
9
|
+
import FaxiosHeaders from "./FaxiosHeaders.js";
|
|
10
|
+
import InterceptorManager from "./InterceptorManager.js";
|
|
11
|
+
import mergeConfig from "./mergeConfig.js";
|
|
12
|
+
import { createRouteBuilder } from "./route.js";
|
|
13
|
+
const validators = validator.validators;
|
|
14
|
+
function patchErrorStack(err) {
|
|
15
|
+
let dummy = {};
|
|
16
|
+
// captureStackTrace is V8-only (Node, Chromium); fall back elsewhere.
|
|
17
|
+
const captureStackTrace = Error.captureStackTrace;
|
|
18
|
+
if (captureStackTrace) {
|
|
19
|
+
captureStackTrace(dummy);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
dummy = new Error();
|
|
23
|
+
}
|
|
24
|
+
const rawStack = dummy.stack ?? "";
|
|
25
|
+
const firstNewline = rawStack.indexOf("\n");
|
|
26
|
+
// slice off the Error: ... line
|
|
27
|
+
const stack = firstNewline === -1 ? "" : rawStack.slice(firstNewline + 1);
|
|
28
|
+
try {
|
|
29
|
+
if (!err.stack) {
|
|
30
|
+
err.stack = stack;
|
|
31
|
+
// match without the 2 top stack lines
|
|
32
|
+
}
|
|
33
|
+
else if (stack) {
|
|
34
|
+
const firstNewlineIndex = stack.indexOf("\n");
|
|
35
|
+
const secondNewlineIndex = firstNewlineIndex === -1
|
|
36
|
+
? -1
|
|
37
|
+
: stack.indexOf("\n", firstNewlineIndex + 1);
|
|
38
|
+
const stackWithoutTwoTopLines = secondNewlineIndex === -1
|
|
39
|
+
? ""
|
|
40
|
+
: stack.slice(secondNewlineIndex + 1);
|
|
41
|
+
if (!String(err.stack).endsWith(stackWithoutTwoTopLines)) {
|
|
42
|
+
err.stack += "\n" + stack;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// ignore the case where "stack" is an un-writable property
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function normalizeParamsSerializer(config) {
|
|
51
|
+
const { paramsSerializer } = config;
|
|
52
|
+
if (paramsSerializer == null)
|
|
53
|
+
return;
|
|
54
|
+
if (utils.isFunction(paramsSerializer)) {
|
|
55
|
+
config.paramsSerializer = {
|
|
56
|
+
serialize: paramsSerializer,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
validator.assertOptions(paramsSerializer, {
|
|
61
|
+
encode: validators.function,
|
|
62
|
+
serialize: validators.function,
|
|
63
|
+
}, true);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function resolveAllowAbsoluteUrls(config, defaults) {
|
|
67
|
+
if (config.allowAbsoluteUrls === undefined) {
|
|
68
|
+
config.allowAbsoluteUrls = defaults.allowAbsoluteUrls ?? !defaults.baseURL;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function buildRequestInterceptorChain(interceptors, config) {
|
|
72
|
+
const chain = [];
|
|
73
|
+
let synchronous = true;
|
|
74
|
+
interceptors.forEach((interceptor) => {
|
|
75
|
+
if (typeof interceptor.runWhen === "function" &&
|
|
76
|
+
interceptor.runWhen(config) === false) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
synchronous = synchronous && !!interceptor.synchronous;
|
|
80
|
+
const transitional = config.transitional || transitionalDefaults;
|
|
81
|
+
const legacyInterceptorReqResOrdering = transitional.legacyInterceptorReqResOrdering;
|
|
82
|
+
if (legacyInterceptorReqResOrdering) {
|
|
83
|
+
chain.unshift(interceptor.fulfilled, interceptor.rejected);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
chain.push(interceptor.fulfilled, interceptor.rejected);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
return { chain, synchronous };
|
|
90
|
+
}
|
|
91
|
+
function runSyncInterceptors(interceptorChain, config, context) {
|
|
92
|
+
let newConfig = config;
|
|
93
|
+
let i = 0;
|
|
94
|
+
const len = interceptorChain.length;
|
|
95
|
+
while (i < len) {
|
|
96
|
+
const onFulfilled = interceptorChain[i++];
|
|
97
|
+
const onRejected = interceptorChain[i++];
|
|
98
|
+
try {
|
|
99
|
+
newConfig = onFulfilled
|
|
100
|
+
? onFulfilled(newConfig)
|
|
101
|
+
: newConfig;
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
if (onRejected)
|
|
105
|
+
onRejected.call(context, error);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return newConfig;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Create a new instance of Faxios
|
|
113
|
+
*
|
|
114
|
+
* @param {Object} instanceConfig The default config for the instance
|
|
115
|
+
*
|
|
116
|
+
* @return {Faxios} A new instance of Faxios
|
|
117
|
+
*/
|
|
118
|
+
class Faxios {
|
|
119
|
+
defaults;
|
|
120
|
+
interceptors;
|
|
121
|
+
constructor(instanceConfig) {
|
|
122
|
+
this.defaults = instanceConfig || {};
|
|
123
|
+
this.interceptors = {
|
|
124
|
+
request: new InterceptorManager(),
|
|
125
|
+
response: new InterceptorManager(),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
async request(configOrUrl, config) {
|
|
129
|
+
try {
|
|
130
|
+
return await this.#request(configOrUrl, config);
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
if (err instanceof Error) {
|
|
134
|
+
patchErrorStack(err);
|
|
135
|
+
}
|
|
136
|
+
throw err;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async #request(configOrUrl, config) {
|
|
140
|
+
/*eslint no-param-reassign:0*/
|
|
141
|
+
// Allow for faxios('example/url'[, config]) a la fetch API
|
|
142
|
+
if (typeof configOrUrl === "string") {
|
|
143
|
+
config = config || {};
|
|
144
|
+
config.url = configOrUrl;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
config = configOrUrl;
|
|
148
|
+
}
|
|
149
|
+
config = mergeConfig(this.defaults, config);
|
|
150
|
+
const { transitional, headers } = config;
|
|
151
|
+
if (transitional !== undefined) {
|
|
152
|
+
validator.assertOptions(transitional, {
|
|
153
|
+
silentJSONParsing: validators.transitional(validators.boolean),
|
|
154
|
+
forcedJSONParsing: validators.transitional(validators.boolean),
|
|
155
|
+
clarifyTimeoutError: validators.transitional(validators.boolean),
|
|
156
|
+
legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),
|
|
157
|
+
advertiseZstdAcceptEncoding: validators.transitional(validators.boolean),
|
|
158
|
+
validateStatusUndefinedResolves: validators.transitional(validators.boolean),
|
|
159
|
+
}, false);
|
|
160
|
+
}
|
|
161
|
+
normalizeParamsSerializer(config);
|
|
162
|
+
resolveAllowAbsoluteUrls(config, this.defaults);
|
|
163
|
+
validator.assertOptions(config, {
|
|
164
|
+
baseUrl: validators.spelling("baseURL"),
|
|
165
|
+
withXsrfToken: validators.spelling("withXSRFToken"),
|
|
166
|
+
}, true);
|
|
167
|
+
// Set config.method
|
|
168
|
+
config.method = (config.method || this.defaults.method || "get").toLowerCase();
|
|
169
|
+
// Flatten headers
|
|
170
|
+
const h = headers;
|
|
171
|
+
let contextHeaders = h && utils.merge(h.common, h[config.method]);
|
|
172
|
+
h &&
|
|
173
|
+
utils.forEach(["delete", "get", "head", "post", "put", "patch", "query", "common"], method => {
|
|
174
|
+
delete h[method];
|
|
175
|
+
});
|
|
176
|
+
config.headers = FaxiosHeaders.concat(contextHeaders, ...(h ? [h] : []));
|
|
177
|
+
const { chain: requestInterceptorChain, synchronous: synchronousRequestInterceptors, } = buildRequestInterceptorChain(this.interceptors.request, config);
|
|
178
|
+
const responseInterceptorChain = [];
|
|
179
|
+
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
|
|
180
|
+
responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
|
|
181
|
+
});
|
|
182
|
+
let promise;
|
|
183
|
+
let i = 0;
|
|
184
|
+
let len;
|
|
185
|
+
if (!synchronousRequestInterceptors) {
|
|
186
|
+
const chain = [
|
|
187
|
+
dispatchRequest.bind(this),
|
|
188
|
+
undefined,
|
|
189
|
+
];
|
|
190
|
+
chain.unshift(...requestInterceptorChain);
|
|
191
|
+
chain.push(...responseInterceptorChain);
|
|
192
|
+
len = chain.length;
|
|
193
|
+
promise = Promise.resolve(config);
|
|
194
|
+
while (i < len) {
|
|
195
|
+
promise = promise.then(chain[i++], chain[i++]);
|
|
196
|
+
}
|
|
197
|
+
return promise;
|
|
198
|
+
}
|
|
199
|
+
const newConfig = runSyncInterceptors(requestInterceptorChain, config, this);
|
|
200
|
+
promise = dispatchRequest.call(this, newConfig);
|
|
201
|
+
len = responseInterceptorChain.length;
|
|
202
|
+
while (i < len) {
|
|
203
|
+
promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
|
|
204
|
+
}
|
|
205
|
+
return promise;
|
|
206
|
+
}
|
|
207
|
+
get(url, config) {
|
|
208
|
+
return this.request(mergeConfig(config || {}, {
|
|
209
|
+
method: "get",
|
|
210
|
+
url,
|
|
211
|
+
data: config && utils.hasOwnProp(config, "data") ? config.data : undefined,
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
delete(url, config) {
|
|
215
|
+
return this.request(mergeConfig(config || {}, {
|
|
216
|
+
method: "delete",
|
|
217
|
+
url,
|
|
218
|
+
data: config && utils.hasOwnProp(config, "data") ? config.data : undefined,
|
|
219
|
+
}));
|
|
220
|
+
}
|
|
221
|
+
head(url, config) {
|
|
222
|
+
return this.request(mergeConfig(config || {}, {
|
|
223
|
+
method: "head",
|
|
224
|
+
url,
|
|
225
|
+
data: config && utils.hasOwnProp(config, "data") ? config.data : undefined,
|
|
226
|
+
}));
|
|
227
|
+
}
|
|
228
|
+
options(url, config) {
|
|
229
|
+
return this.request(mergeConfig(config || {}, {
|
|
230
|
+
method: "options",
|
|
231
|
+
url,
|
|
232
|
+
data: config && utils.hasOwnProp(config, "data") ? config.data : undefined,
|
|
233
|
+
}));
|
|
234
|
+
}
|
|
235
|
+
post(url, data, config) {
|
|
236
|
+
return this.request(mergeConfig(config || {}, { method: "post", headers: {}, url, data }));
|
|
237
|
+
}
|
|
238
|
+
postForm(url, data, config) {
|
|
239
|
+
return this.request(mergeConfig(config || {}, { method: "post", headers: { "Content-Type": "multipart/form-data" }, url, data }));
|
|
240
|
+
}
|
|
241
|
+
put(url, data, config) {
|
|
242
|
+
return this.request(mergeConfig(config || {}, { method: "put", headers: {}, url, data }));
|
|
243
|
+
}
|
|
244
|
+
putForm(url, data, config) {
|
|
245
|
+
return this.request(mergeConfig(config || {}, { method: "put", headers: { "Content-Type": "multipart/form-data" }, url, data }));
|
|
246
|
+
}
|
|
247
|
+
patch(url, data, config) {
|
|
248
|
+
return this.request(mergeConfig(config || {}, { method: "patch", headers: {}, url, data }));
|
|
249
|
+
}
|
|
250
|
+
patchForm(url, data, config) {
|
|
251
|
+
return this.request(mergeConfig(config || {}, { method: "patch", headers: { "Content-Type": "multipart/form-data" }, url, data }));
|
|
252
|
+
}
|
|
253
|
+
query(url, data, config) {
|
|
254
|
+
return this.request(mergeConfig(config || {}, { method: "query", headers: {}, url, data }));
|
|
255
|
+
}
|
|
256
|
+
getUri(config) {
|
|
257
|
+
config = mergeConfig(this.defaults, config);
|
|
258
|
+
const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls, config);
|
|
259
|
+
return buildURL(fullPath, config.params, config.paramsSerializer);
|
|
260
|
+
}
|
|
261
|
+
define(method, url, config) {
|
|
262
|
+
return createDefinedEndpoint(this, method, url, config);
|
|
263
|
+
}
|
|
264
|
+
route(url, config) {
|
|
265
|
+
return createRouteBuilder(this, url, config);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
export default Faxios;
|
|
269
|
+
//# sourceMappingURL=Faxios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Faxios.js","sourceRoot":"","sources":["../../../src/lib/core/Faxios.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { StandardSchemaV1 } from "../types/standard-schema.js";
|
|
2
|
+
import type { InternalFaxiosRequestConfig, FaxiosResponse } from "../types.js";
|
|
3
|
+
declare class FaxiosError extends Error {
|
|
4
|
+
isFaxiosError: boolean;
|
|
5
|
+
code?: string;
|
|
6
|
+
config?: InternalFaxiosRequestConfig;
|
|
7
|
+
request?: unknown;
|
|
8
|
+
response?: FaxiosResponse;
|
|
9
|
+
status?: number;
|
|
10
|
+
cause?: Error;
|
|
11
|
+
issues?: ReadonlyArray<StandardSchemaV1.Issue>;
|
|
12
|
+
description?: unknown;
|
|
13
|
+
number?: unknown;
|
|
14
|
+
fileName?: unknown;
|
|
15
|
+
lineNumber?: unknown;
|
|
16
|
+
columnNumber?: unknown;
|
|
17
|
+
event?: unknown;
|
|
18
|
+
name: string;
|
|
19
|
+
static readonly ERR_BAD_OPTION_VALUE = "ERR_BAD_OPTION_VALUE";
|
|
20
|
+
static readonly ERR_BAD_OPTION = "ERR_BAD_OPTION";
|
|
21
|
+
static readonly ECONNABORTED = "ECONNABORTED";
|
|
22
|
+
static readonly ETIMEDOUT = "ETIMEDOUT";
|
|
23
|
+
static readonly ECONNREFUSED = "ECONNREFUSED";
|
|
24
|
+
static readonly ERR_NETWORK = "ERR_NETWORK";
|
|
25
|
+
static readonly ERR_FR_TOO_MANY_REDIRECTS = "ERR_FR_TOO_MANY_REDIRECTS";
|
|
26
|
+
static readonly ERR_DEPRECATED = "ERR_DEPRECATED";
|
|
27
|
+
static readonly ERR_BAD_RESPONSE = "ERR_BAD_RESPONSE";
|
|
28
|
+
static readonly ERR_BAD_REQUEST = "ERR_BAD_REQUEST";
|
|
29
|
+
static readonly ERR_CANCELED = "ERR_CANCELED";
|
|
30
|
+
static readonly ERR_NOT_SUPPORT = "ERR_NOT_SUPPORT";
|
|
31
|
+
static readonly ERR_INVALID_URL = "ERR_INVALID_URL";
|
|
32
|
+
static readonly ERR_FORM_DATA_DEPTH_EXCEEDED = "ERR_FORM_DATA_DEPTH_EXCEEDED";
|
|
33
|
+
static readonly ERR_BAD_RESPONSE_SCHEMA = "ERR_BAD_RESPONSE_SCHEMA";
|
|
34
|
+
static readonly ERR_BAD_REQUEST_SCHEMA = "ERR_BAD_REQUEST_SCHEMA";
|
|
35
|
+
static readonly ERR_BAD_PARAMS_SCHEMA = "ERR_BAD_PARAMS_SCHEMA";
|
|
36
|
+
static readonly ERR_BAD_PATH_PARAMS_SCHEMA = "ERR_BAD_PATH_PARAMS_SCHEMA";
|
|
37
|
+
static from(error: Error & {
|
|
38
|
+
code?: string;
|
|
39
|
+
status?: number;
|
|
40
|
+
}, code?: string, config?: InternalFaxiosRequestConfig, request?: unknown, response?: FaxiosResponse, customProps?: Record<string, unknown>): FaxiosError;
|
|
41
|
+
/**
|
|
42
|
+
* Create an Error with the specified message, config, error code, request and response.
|
|
43
|
+
*
|
|
44
|
+
* @param {string} message The error message.
|
|
45
|
+
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
|
46
|
+
* @param {Object} [config] The config.
|
|
47
|
+
* @param {Object} [request] The request.
|
|
48
|
+
* @param {Object} [response] The response.
|
|
49
|
+
*
|
|
50
|
+
* @returns {Error} The created error.
|
|
51
|
+
*/
|
|
52
|
+
constructor(message: string, code?: string, config?: InternalFaxiosRequestConfig, request?: unknown, response?: FaxiosResponse);
|
|
53
|
+
toJSON(): {
|
|
54
|
+
message: string;
|
|
55
|
+
name: string;
|
|
56
|
+
description: unknown;
|
|
57
|
+
number: unknown;
|
|
58
|
+
fileName: unknown;
|
|
59
|
+
lineNumber: unknown;
|
|
60
|
+
columnNumber: unknown;
|
|
61
|
+
stack: string | undefined;
|
|
62
|
+
config: unknown;
|
|
63
|
+
code: string | undefined;
|
|
64
|
+
status: number | undefined;
|
|
65
|
+
issues: readonly StandardSchemaV1.Issue[] | undefined;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export declare function isSchemaValidationError(err: unknown): err is FaxiosError & {
|
|
69
|
+
issues: ReadonlyArray<StandardSchemaV1.Issue>;
|
|
70
|
+
};
|
|
71
|
+
export default FaxiosError;
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import utils from "../utils.js";
|
|
3
|
+
import FaxiosHeaders from "./FaxiosHeaders.js";
|
|
4
|
+
const REDACTED = "[REDACTED ****]";
|
|
5
|
+
function hasOwnOrPrototypeToJSON(source) {
|
|
6
|
+
if (utils.hasOwnProp(source, "toJSON")) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
let prototype = Object.getPrototypeOf(source);
|
|
10
|
+
while (prototype && prototype !== Object.prototype) {
|
|
11
|
+
if (utils.hasOwnProp(prototype, "toJSON")) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
prototype = Object.getPrototypeOf(prototype);
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
// Build a plain-object snapshot of `config` and replace the value of any key
|
|
19
|
+
// (case-insensitive) listed in `redactKeys` with REDACTED. Walks through arrays
|
|
20
|
+
// and FaxiosHeaders, and short-circuits on circular references.
|
|
21
|
+
function redactConfig(config, redactKeys) {
|
|
22
|
+
const lowerKeys = new Set(redactKeys.map(k => String(k).toLowerCase()));
|
|
23
|
+
const seen = [];
|
|
24
|
+
const visitObject = (source) => {
|
|
25
|
+
const result = Object.create(null);
|
|
26
|
+
for (const [key, value] of Object.entries(source)) {
|
|
27
|
+
const reducedValue = lowerKeys.has(key.toLowerCase())
|
|
28
|
+
? REDACTED
|
|
29
|
+
: visit(value);
|
|
30
|
+
if (!utils.isUndefined(reducedValue)) {
|
|
31
|
+
result[key] = reducedValue;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
const visit = (source) => {
|
|
37
|
+
if (source === null || typeof source !== "object")
|
|
38
|
+
return source;
|
|
39
|
+
if (utils.isBuffer(source))
|
|
40
|
+
return source;
|
|
41
|
+
if (seen.indexOf(source) !== -1)
|
|
42
|
+
return undefined;
|
|
43
|
+
if (source instanceof FaxiosHeaders) {
|
|
44
|
+
source = source.toJSON();
|
|
45
|
+
}
|
|
46
|
+
seen.push(source);
|
|
47
|
+
let result;
|
|
48
|
+
if (utils.isArray(source)) {
|
|
49
|
+
result = [];
|
|
50
|
+
source.forEach((v, i) => {
|
|
51
|
+
const reducedValue = visit(v);
|
|
52
|
+
if (!utils.isUndefined(reducedValue)) {
|
|
53
|
+
result[i] = reducedValue;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
if (!utils.isPlainObject(source) && hasOwnOrPrototypeToJSON(source)) {
|
|
59
|
+
seen.pop();
|
|
60
|
+
return source;
|
|
61
|
+
}
|
|
62
|
+
result = visitObject(source);
|
|
63
|
+
}
|
|
64
|
+
seen.pop();
|
|
65
|
+
return result;
|
|
66
|
+
};
|
|
67
|
+
return visit(config);
|
|
68
|
+
}
|
|
69
|
+
class FaxiosError extends Error {
|
|
70
|
+
isFaxiosError;
|
|
71
|
+
code;
|
|
72
|
+
config;
|
|
73
|
+
request;
|
|
74
|
+
response;
|
|
75
|
+
status;
|
|
76
|
+
cause;
|
|
77
|
+
issues;
|
|
78
|
+
// legacy/cross-browser optional props:
|
|
79
|
+
description;
|
|
80
|
+
number;
|
|
81
|
+
fileName;
|
|
82
|
+
lineNumber;
|
|
83
|
+
columnNumber;
|
|
84
|
+
event;
|
|
85
|
+
name;
|
|
86
|
+
static ERR_BAD_OPTION_VALUE = "ERR_BAD_OPTION_VALUE";
|
|
87
|
+
static ERR_BAD_OPTION = "ERR_BAD_OPTION";
|
|
88
|
+
static ECONNABORTED = "ECONNABORTED";
|
|
89
|
+
static ETIMEDOUT = "ETIMEDOUT";
|
|
90
|
+
static ECONNREFUSED = "ECONNREFUSED";
|
|
91
|
+
static ERR_NETWORK = "ERR_NETWORK";
|
|
92
|
+
static ERR_FR_TOO_MANY_REDIRECTS = "ERR_FR_TOO_MANY_REDIRECTS";
|
|
93
|
+
static ERR_DEPRECATED = "ERR_DEPRECATED";
|
|
94
|
+
static ERR_BAD_RESPONSE = "ERR_BAD_RESPONSE";
|
|
95
|
+
static ERR_BAD_REQUEST = "ERR_BAD_REQUEST";
|
|
96
|
+
static ERR_CANCELED = "ERR_CANCELED";
|
|
97
|
+
static ERR_NOT_SUPPORT = "ERR_NOT_SUPPORT";
|
|
98
|
+
static ERR_INVALID_URL = "ERR_INVALID_URL";
|
|
99
|
+
static ERR_FORM_DATA_DEPTH_EXCEEDED = "ERR_FORM_DATA_DEPTH_EXCEEDED";
|
|
100
|
+
static ERR_BAD_RESPONSE_SCHEMA = "ERR_BAD_RESPONSE_SCHEMA";
|
|
101
|
+
static ERR_BAD_REQUEST_SCHEMA = "ERR_BAD_REQUEST_SCHEMA";
|
|
102
|
+
static ERR_BAD_PARAMS_SCHEMA = "ERR_BAD_PARAMS_SCHEMA";
|
|
103
|
+
static ERR_BAD_PATH_PARAMS_SCHEMA = "ERR_BAD_PATH_PARAMS_SCHEMA";
|
|
104
|
+
static from(error, code, config, request, response, customProps) {
|
|
105
|
+
const faxiosError = new FaxiosError(error.message, code || error.code, config, request, response);
|
|
106
|
+
faxiosError.cause = error;
|
|
107
|
+
faxiosError.name = error.name;
|
|
108
|
+
// Preserve status from the original error if not already set from response
|
|
109
|
+
if (error.status != null && faxiosError.status == null) {
|
|
110
|
+
faxiosError.status = error.status;
|
|
111
|
+
}
|
|
112
|
+
customProps && Object.assign(faxiosError, customProps);
|
|
113
|
+
return faxiosError;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Create an Error with the specified message, config, error code, request and response.
|
|
117
|
+
*
|
|
118
|
+
* @param {string} message The error message.
|
|
119
|
+
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
|
120
|
+
* @param {Object} [config] The config.
|
|
121
|
+
* @param {Object} [request] The request.
|
|
122
|
+
* @param {Object} [response] The response.
|
|
123
|
+
*
|
|
124
|
+
* @returns {Error} The created error.
|
|
125
|
+
*/
|
|
126
|
+
constructor(message, code, config, request, response) {
|
|
127
|
+
super(message);
|
|
128
|
+
// Make message enumerable to maintain backward compatibility
|
|
129
|
+
// The native Error constructor sets message as non-enumerable,
|
|
130
|
+
// but faxios < v1.13.3 had it as enumerable
|
|
131
|
+
Object.defineProperty(this, "message", Object.assign(Object.create(null), {
|
|
132
|
+
value: message,
|
|
133
|
+
enumerable: true,
|
|
134
|
+
writable: true,
|
|
135
|
+
configurable: true,
|
|
136
|
+
}));
|
|
137
|
+
this.name = "FaxiosError";
|
|
138
|
+
this.isFaxiosError = true;
|
|
139
|
+
code && (this.code = code);
|
|
140
|
+
config && (this.config = config);
|
|
141
|
+
request && (this.request = request);
|
|
142
|
+
if (response) {
|
|
143
|
+
this.response = response;
|
|
144
|
+
this.status = response.status;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
toJSON() {
|
|
148
|
+
// Opt-in redaction: when the request config carries a `redact` array, the
|
|
149
|
+
// value of any matching key (case-insensitive, at any depth) is replaced
|
|
150
|
+
// with REDACTED in the serialized snapshot. Undefined or empty leaves the
|
|
151
|
+
// existing serialization behavior unchanged.
|
|
152
|
+
const config = this.config;
|
|
153
|
+
const redactKeys = config && utils.hasOwnProp(config, "redact") ? config.redact : undefined;
|
|
154
|
+
const serializedConfig = utils.isArray(redactKeys) && redactKeys.length > 0
|
|
155
|
+
? redactConfig(config, redactKeys)
|
|
156
|
+
: utils.toJSONObject(config);
|
|
157
|
+
return {
|
|
158
|
+
// Standard
|
|
159
|
+
message: this.message,
|
|
160
|
+
name: this.name,
|
|
161
|
+
// Microsoft
|
|
162
|
+
description: this.description,
|
|
163
|
+
number: this.number,
|
|
164
|
+
// Mozilla
|
|
165
|
+
fileName: this.fileName,
|
|
166
|
+
lineNumber: this.lineNumber,
|
|
167
|
+
columnNumber: this.columnNumber,
|
|
168
|
+
stack: this.stack,
|
|
169
|
+
// Faxios
|
|
170
|
+
config: serializedConfig,
|
|
171
|
+
code: this.code,
|
|
172
|
+
status: this.status,
|
|
173
|
+
issues: this.issues,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const SCHEMA_ERROR_CODES = new Set([
|
|
178
|
+
FaxiosError.ERR_BAD_RESPONSE_SCHEMA,
|
|
179
|
+
FaxiosError.ERR_BAD_REQUEST_SCHEMA,
|
|
180
|
+
FaxiosError.ERR_BAD_PARAMS_SCHEMA,
|
|
181
|
+
FaxiosError.ERR_BAD_PATH_PARAMS_SCHEMA,
|
|
182
|
+
]);
|
|
183
|
+
export function isSchemaValidationError(err) {
|
|
184
|
+
const e = err;
|
|
185
|
+
return (utils.isObject(err) &&
|
|
186
|
+
e.isFaxiosError === true &&
|
|
187
|
+
typeof e.code === "string" &&
|
|
188
|
+
SCHEMA_ERROR_CODES.has(e.code) &&
|
|
189
|
+
Array.isArray(e.issues));
|
|
190
|
+
}
|
|
191
|
+
export default FaxiosError;
|
|
192
|
+
//# sourceMappingURL=FaxiosError.js.map
|