vigor-fetch 2.1.1 → 2.2.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/README.md +1 -0
- package/dist/index.d.ts +86 -41
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +136 -79
- package/dist/index.mjs +136 -79
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,36 +1,69 @@
|
|
|
1
|
-
|
|
1
|
+
declare const VIGOR_ERROR_MESSAGES: {
|
|
2
|
+
readonly TIMEOUT: ({ limit, attempt }: {
|
|
3
|
+
limit: number;
|
|
4
|
+
attempt: number;
|
|
5
|
+
}) => string;
|
|
6
|
+
readonly EXHAUSTED: ({ maxAttempts }: {
|
|
7
|
+
maxAttempts: number;
|
|
8
|
+
}) => string;
|
|
9
|
+
readonly INVALID_URL: ({ received }: {
|
|
10
|
+
received: unknown;
|
|
11
|
+
}) => string;
|
|
12
|
+
readonly INVALID_PROTOCOL: ({ expected, received }: {
|
|
13
|
+
expected: Array<string>;
|
|
14
|
+
received: unknown;
|
|
15
|
+
}) => string;
|
|
16
|
+
readonly FETCH_ERROR: ({ status, statusText, url }: {
|
|
17
|
+
status: number;
|
|
18
|
+
statusText: string;
|
|
19
|
+
url: string;
|
|
20
|
+
}) => string;
|
|
21
|
+
readonly PARSE_FAILED: ({ expected }: {
|
|
22
|
+
expected: unknown;
|
|
23
|
+
}) => string;
|
|
24
|
+
readonly INVALID_TYPE: ({ expected, received }: {
|
|
25
|
+
expected: unknown;
|
|
26
|
+
received: unknown;
|
|
27
|
+
}) => string;
|
|
28
|
+
readonly TARGET_MISSING: () => string;
|
|
29
|
+
readonly REQUEST_FAILED: ({ index, error }: {
|
|
30
|
+
index: number;
|
|
31
|
+
error: Error;
|
|
32
|
+
}) => string;
|
|
33
|
+
readonly UNKNOWN: () => string;
|
|
34
|
+
};
|
|
35
|
+
type VigorErrorCode = keyof typeof VIGOR_ERROR_MESSAGES;
|
|
36
|
+
type ErrorData<C extends VigorErrorCode> = Parameters<typeof VIGOR_ERROR_MESSAGES[C]> extends [infer A] ? A : undefined;
|
|
37
|
+
type VigorErrorOptions<C extends VigorErrorCode> = {
|
|
2
38
|
method?: string;
|
|
3
39
|
cause?: unknown;
|
|
4
40
|
context?: unknown;
|
|
5
41
|
type?: string;
|
|
6
|
-
data
|
|
42
|
+
data: ErrorData<C>;
|
|
7
43
|
};
|
|
8
|
-
declare abstract class VigorError<
|
|
44
|
+
declare abstract class VigorError<C extends VigorErrorCode> extends Error {
|
|
9
45
|
readonly timestamp: Date;
|
|
10
46
|
readonly method?: string;
|
|
47
|
+
readonly code: C;
|
|
11
48
|
readonly cause?: unknown;
|
|
12
49
|
readonly context?: unknown;
|
|
13
50
|
readonly type?: string;
|
|
14
|
-
readonly data
|
|
15
|
-
constructor(
|
|
51
|
+
readonly data: ErrorData<C>;
|
|
52
|
+
constructor(code: C, options: VigorErrorOptions<C>);
|
|
16
53
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
attempt: number;
|
|
20
|
-
maxAttempts: number;
|
|
21
|
-
}>;
|
|
22
|
-
declare class VigorRetryError extends VigorError {
|
|
23
|
-
constructor(message: string, options: VigorErrorOptions<VigorRetryErrorData>);
|
|
54
|
+
declare class VigorRetryError<C extends "TIMEOUT" | "EXHAUSTED"> extends VigorError<C> {
|
|
55
|
+
constructor(code: C, options: VigorErrorOptions<C>);
|
|
24
56
|
}
|
|
25
|
-
declare class VigorParseError extends VigorError {
|
|
26
|
-
constructor(
|
|
57
|
+
declare class VigorParseError<C extends "PARSE_FAILED" | "INVALID_TYPE" | "TARGET_MISSING"> extends VigorError<C> {
|
|
58
|
+
constructor(code: C, options: VigorErrorOptions<C>);
|
|
27
59
|
}
|
|
28
|
-
declare class VigorFetchError extends VigorError {
|
|
29
|
-
constructor(
|
|
60
|
+
declare class VigorFetchError<C extends "FETCH_ERROR" | "INVALID_URL" | "INVALID_PROTOCOL"> extends VigorError<C> {
|
|
61
|
+
constructor(code: C, options: VigorErrorOptions<C>);
|
|
30
62
|
}
|
|
31
|
-
declare class VigorAllError extends VigorError {
|
|
32
|
-
constructor(
|
|
63
|
+
declare class VigorAllError<C extends "REQUEST_FAILED" | "TARGET_MISSING"> extends VigorError<C> {
|
|
64
|
+
constructor(code: C, options: VigorErrorOptions<C>);
|
|
33
65
|
}
|
|
66
|
+
declare const EMPTY: unique symbol;
|
|
34
67
|
declare abstract class VigorStatus<T> {
|
|
35
68
|
protected readonly _base: T;
|
|
36
69
|
protected readonly _config: T;
|
|
@@ -45,7 +78,7 @@ type VigorRetrySettingsConfig<T> = {
|
|
|
45
78
|
count: number;
|
|
46
79
|
limit: number;
|
|
47
80
|
maxDelay: number;
|
|
48
|
-
default?: T;
|
|
81
|
+
default?: T | typeof EMPTY;
|
|
49
82
|
};
|
|
50
83
|
declare class VigorRetrySettings<T> extends VigorStatus<VigorRetrySettingsConfig<T>> {
|
|
51
84
|
constructor(config?: Partial<VigorRetrySettingsConfig<T>>);
|
|
@@ -92,11 +125,12 @@ type VigorRetryOnError<T> = {
|
|
|
92
125
|
setResult: (result: T) => T;
|
|
93
126
|
throwError: (error: Error) => void;
|
|
94
127
|
};
|
|
95
|
-
type
|
|
96
|
-
type
|
|
97
|
-
type
|
|
98
|
-
type
|
|
99
|
-
type
|
|
128
|
+
type VigorRetryFn<T, O> = (ctx: VigorRetryContext<T>, obj: O) => void | any | Promise<void | any>;
|
|
129
|
+
type VigorRetryBeforeFn<T> = VigorRetryFn<T, VigorRetryBefore<T>>;
|
|
130
|
+
type VigorRetryAfterFn<T> = VigorRetryFn<T, VigorRetryAfter<T>>;
|
|
131
|
+
type VigorRetryOnErrorFn<T> = VigorRetryFn<T, VigorRetryOnError<T>>;
|
|
132
|
+
type VigorRetryOnRetryFn<T> = VigorRetryFn<T, VigorRetryOnRetry<T>>;
|
|
133
|
+
type VigorRetryRetryIfFn<T> = VigorRetryFn<T, VigorRetryRetryIf<T>>;
|
|
100
134
|
type VigorRetryOptionsTask<T> = {
|
|
101
135
|
abort?: (error: Error) => void;
|
|
102
136
|
signal?: AbortSignal;
|
|
@@ -126,7 +160,7 @@ type VigorRetryConfig<T> = {
|
|
|
126
160
|
};
|
|
127
161
|
type VigorRetryContext<T> = VigorRetryConfig<T> & {
|
|
128
162
|
runtime: {
|
|
129
|
-
result?: T;
|
|
163
|
+
result?: T | typeof EMPTY;
|
|
130
164
|
attempt: number;
|
|
131
165
|
controller: AbortController;
|
|
132
166
|
abortPromise?: Promise<never>;
|
|
@@ -181,7 +215,7 @@ type VigorFetchSettingsConfig<T> = {
|
|
|
181
215
|
headers?: HeadersInit | Record<string, any>;
|
|
182
216
|
body?: XMLHttpRequestBodyInit | object | null;
|
|
183
217
|
options?: object;
|
|
184
|
-
default?: T;
|
|
218
|
+
default?: T | typeof EMPTY;
|
|
185
219
|
};
|
|
186
220
|
declare class VigorFetchSettings<T> extends VigorStatus<VigorFetchSettingsConfig<T>> {
|
|
187
221
|
constructor(config?: Partial<VigorFetchSettingsConfig<T>>);
|
|
@@ -211,7 +245,7 @@ type VigorFetchResult<T> = {
|
|
|
211
245
|
setResult?: (result: T) => T;
|
|
212
246
|
throwError?: (error: Error) => void;
|
|
213
247
|
};
|
|
214
|
-
type VigorFetchFn<T, O> = (ctx: VigorFetchContext<T>, obj: O) => void | Promise<void>;
|
|
248
|
+
type VigorFetchFn<T, O> = (ctx: VigorFetchContext<T>, obj: O) => void | any | Promise<void | any>;
|
|
215
249
|
type VigorFetchBeforeFn<T> = VigorFetchFn<T, VigorFetchBefore<T>>;
|
|
216
250
|
type VigorFetchAfterFn<T> = VigorFetchFn<T, VigorFetchAfter<T>>;
|
|
217
251
|
type VigorFetchOnErrorFn<T> = VigorFetchFn<T, VigorFetchOnError<T>>;
|
|
@@ -244,7 +278,7 @@ type VigorFetchContext<T> = VigorFetchConfig<T> & {
|
|
|
244
278
|
baseOptions?: object;
|
|
245
279
|
options?: object;
|
|
246
280
|
response?: Response;
|
|
247
|
-
result?: T;
|
|
281
|
+
result?: T | typeof EMPTY;
|
|
248
282
|
error?: unknown;
|
|
249
283
|
};
|
|
250
284
|
};
|
|
@@ -267,11 +301,13 @@ declare class VigorFetch<T> extends VigorStatus<VigorFetchConfig<T>> {
|
|
|
267
301
|
type VigorAllSettingsConfig = {
|
|
268
302
|
concurrency: number;
|
|
269
303
|
jitter: number;
|
|
304
|
+
onlySuccess: boolean;
|
|
270
305
|
};
|
|
271
306
|
declare class VigorAllSettings extends VigorStatus<VigorAllSettingsConfig> {
|
|
272
307
|
constructor(config?: Partial<VigorAllSettingsConfig>);
|
|
273
308
|
concurrency(num: number): VigorAllSettings;
|
|
274
309
|
jitter(num: number): VigorAllSettings;
|
|
310
|
+
onlySuccess(bool: boolean): VigorAllSettings;
|
|
275
311
|
}
|
|
276
312
|
type VigorAllBefore = {
|
|
277
313
|
throwError?: (error: Error) => void;
|
|
@@ -288,10 +324,11 @@ type VigorAllResult = {
|
|
|
288
324
|
setResult?: (result: Array<any>) => Array<any>;
|
|
289
325
|
throwError?: (error: Error) => void;
|
|
290
326
|
};
|
|
291
|
-
type VigorAllFn<O> = (ctx: VigorAllContext<any>, obj: O) => void | Promise<void>;
|
|
292
|
-
type
|
|
293
|
-
type
|
|
294
|
-
type
|
|
327
|
+
type VigorAllFn<O> = (ctx: VigorAllContext<any>, obj: O) => void | any | Promise<void | any>;
|
|
328
|
+
type VigorAllTaskFn<O> = (ctx: VigorAllTaskContext<any>, obj: O) => void | any | Promise<void | any>;
|
|
329
|
+
type VigorAllBeforeFn = VigorAllTaskFn<VigorAllBefore>;
|
|
330
|
+
type VigorAllAfterFn = VigorAllTaskFn<VigorAllAfter>;
|
|
331
|
+
type VigorAllOnErrorFn = VigorAllTaskFn<VigorAllOnError>;
|
|
295
332
|
type VigorAllResultFn = VigorAllFn<VigorAllResult>;
|
|
296
333
|
type VigorAllInterceptorsConfig = {
|
|
297
334
|
before: VigorAllBeforeFn[];
|
|
@@ -310,18 +347,17 @@ type VigorAllOptionsTask = {
|
|
|
310
347
|
abort?: (error: Error) => void;
|
|
311
348
|
signal?: AbortSignal;
|
|
312
349
|
};
|
|
313
|
-
type VigorAllTask<R = any> = (ctx:
|
|
350
|
+
type VigorAllTask<R = any> = (ctx: VigorAllTaskContext<any>, obj: VigorAllOptionsTask) => R | Promise<R>;
|
|
314
351
|
type TaskReturn<T> = T extends VigorAllTask<infer R> ? R : never;
|
|
315
352
|
type MapTasks<T extends readonly VigorAllTask<any>[]> = {
|
|
316
353
|
[K in keyof T]: T[K] extends VigorAllTask<infer R> ? R : never;
|
|
317
354
|
};
|
|
318
|
-
type VigorAllConfig = {
|
|
319
|
-
target:
|
|
355
|
+
type VigorAllConfig<Tasks extends readonly VigorAllTask<any>[]> = {
|
|
356
|
+
target: Tasks;
|
|
320
357
|
setting: VigorAllSettingsConfig;
|
|
321
358
|
interceptors: VigorAllInterceptorsConfig;
|
|
322
359
|
};
|
|
323
|
-
type VigorAllContext<Tasks extends readonly VigorAllTask<any>[]> = {
|
|
324
|
-
target: Tasks;
|
|
360
|
+
type VigorAllContext<Tasks extends readonly VigorAllTask<any>[]> = VigorAllConfig<Tasks> & {
|
|
325
361
|
runtime: {
|
|
326
362
|
tasks: {
|
|
327
363
|
[K in keyof Tasks]: Promise<TaskReturn<Tasks[K]>>;
|
|
@@ -331,9 +367,18 @@ type VigorAllContext<Tasks extends readonly VigorAllTask<any>[]> = {
|
|
|
331
367
|
};
|
|
332
368
|
};
|
|
333
369
|
};
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
370
|
+
type VigorAllTaskContext<Task extends VigorAllTask<any>> = {
|
|
371
|
+
target: Task;
|
|
372
|
+
runtime: {
|
|
373
|
+
result: TaskReturn<Task> | typeof EMPTY;
|
|
374
|
+
error: unknown;
|
|
375
|
+
jitter: number;
|
|
376
|
+
};
|
|
377
|
+
};
|
|
378
|
+
declare class VigorAll<Tasks extends readonly VigorAllTask<any>[]> extends VigorStatus<VigorAllConfig<Tasks>> {
|
|
379
|
+
constructor(config?: Partial<VigorAllConfig<Tasks>>);
|
|
380
|
+
private _transfer;
|
|
381
|
+
target<T extends readonly VigorAllTask<any>[]>(...funcs: T): VigorAll<T>;
|
|
337
382
|
setting(func: (r: VigorAllSettings) => VigorAllSettings): this;
|
|
338
383
|
interceptors(func: (r: VigorAllInterceptors) => VigorAllInterceptors): this;
|
|
339
384
|
request(): Promise<MapTasks<Tasks>>;
|
|
@@ -370,7 +415,7 @@ declare class Vigor {
|
|
|
370
415
|
private readonly registry;
|
|
371
416
|
constructor(config?: Partial<VigorConfig>);
|
|
372
417
|
fetch(origin: string): VigorFetch<unknown>;
|
|
373
|
-
all<T extends VigorAllTask<any>[] | readonly VigorAllTask<any>[]>(...args: T extends any ? (T[number] | T)[] : never): VigorAll<any>;
|
|
418
|
+
all<T extends VigorAllTask<any>[] | readonly VigorAllTask<any>[]>(...args: T extends any ? (T[number] | T)[] : never): VigorAll<VigorAllTask<any>[]>;
|
|
374
419
|
parse(response: Response): VigorParse<unknown, false>;
|
|
375
420
|
retry<T>(fn: VigorRetryTask<T>): VigorRetry<T>;
|
|
376
421
|
use(plugin: (ctx: VigorRegistry, options?: object) => void, options?: object): Vigor;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,44 +2,61 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
const VIGOR_ERROR_MESSAGES = {
|
|
6
|
+
TIMEOUT: ({ limit, attempt }) => `Timeout: exceeded ${limit}ms (attempt: ${attempt})`,
|
|
7
|
+
EXHAUSTED: ({ maxAttempts }) => `Retry exhausted: max ${maxAttempts})`,
|
|
8
|
+
INVALID_URL: ({ received }) => `Invalid URL: ${received}`,
|
|
9
|
+
INVALID_PROTOCOL: ({ expected, received }) => `Invalid protocol: ${received} (expected ${expected.join(", ")})`,
|
|
10
|
+
FETCH_ERROR: ({ status, statusText, url }) => `HTTP Error: ${status} ${statusText} (url: ${url})`,
|
|
11
|
+
PARSE_FAILED: ({ expected }) => `Parse failed: expected ${expected}`,
|
|
12
|
+
INVALID_TYPE: ({ expected, received }) => `Invalid parser type: ${expected}`,
|
|
13
|
+
TARGET_MISSING: () => `Target missing`,
|
|
14
|
+
REQUEST_FAILED: ({ index, error }) => `Request failed at index ${index}: ${error.message}`,
|
|
15
|
+
UNKNOWN: () => `Unknown error`
|
|
16
|
+
};
|
|
5
17
|
class VigorError extends Error {
|
|
6
18
|
timestamp = new Date();
|
|
7
19
|
method;
|
|
20
|
+
code;
|
|
8
21
|
cause;
|
|
9
22
|
context;
|
|
10
23
|
type;
|
|
11
24
|
data;
|
|
12
|
-
constructor(
|
|
25
|
+
constructor(code, options) {
|
|
26
|
+
const messageFn = VIGOR_ERROR_MESSAGES[code];
|
|
27
|
+
const message = `[${code}] ${messageFn(options?.data)}`;
|
|
13
28
|
super(message, { cause: options?.cause });
|
|
14
29
|
this.name = new.target.name;
|
|
15
30
|
this.method = options?.method;
|
|
31
|
+
this.code = code;
|
|
16
32
|
this.context = options?.context;
|
|
17
33
|
this.type = options?.type;
|
|
18
|
-
this.data = options
|
|
34
|
+
this.data = options.data;
|
|
19
35
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
20
36
|
Error.captureStackTrace?.(this, new.target);
|
|
21
37
|
}
|
|
22
38
|
}
|
|
23
39
|
class VigorRetryError extends VigorError {
|
|
24
|
-
constructor(
|
|
25
|
-
super(
|
|
40
|
+
constructor(code, options) {
|
|
41
|
+
super(code, options);
|
|
26
42
|
}
|
|
27
43
|
}
|
|
28
44
|
class VigorParseError extends VigorError {
|
|
29
|
-
constructor(
|
|
30
|
-
super(
|
|
45
|
+
constructor(code, options) {
|
|
46
|
+
super(code, options);
|
|
31
47
|
}
|
|
32
48
|
}
|
|
33
49
|
class VigorFetchError extends VigorError {
|
|
34
|
-
constructor(
|
|
35
|
-
super(
|
|
50
|
+
constructor(code, options) {
|
|
51
|
+
super(code, options);
|
|
36
52
|
}
|
|
37
53
|
}
|
|
38
54
|
class VigorAllError extends VigorError {
|
|
39
|
-
constructor(
|
|
40
|
-
super(
|
|
55
|
+
constructor(code, options) {
|
|
56
|
+
super(code, options);
|
|
41
57
|
}
|
|
42
58
|
}
|
|
59
|
+
const EMPTY = Symbol("EMPTY");
|
|
43
60
|
class VigorStatus {
|
|
44
61
|
_base;
|
|
45
62
|
_config;
|
|
@@ -60,6 +77,7 @@ class VigorRetrySettings extends VigorStatus {
|
|
|
60
77
|
count: 5,
|
|
61
78
|
limit: 10000,
|
|
62
79
|
maxDelay: 10000,
|
|
80
|
+
default: EMPTY
|
|
63
81
|
});
|
|
64
82
|
}
|
|
65
83
|
count(num) { return this._next({ count: num }); }
|
|
@@ -138,7 +156,7 @@ class VigorRetry extends VigorStatus {
|
|
|
138
156
|
backoff: { ...config.backoff },
|
|
139
157
|
controller: config.controller,
|
|
140
158
|
runtime: {
|
|
141
|
-
result:
|
|
159
|
+
result: EMPTY,
|
|
142
160
|
controller: null,
|
|
143
161
|
attempt: 0,
|
|
144
162
|
aborted: false,
|
|
@@ -179,9 +197,12 @@ class VigorRetry extends VigorStatus {
|
|
|
179
197
|
timerId = setTimeout(() => {
|
|
180
198
|
if (ctx.runtime.aborted)
|
|
181
199
|
return;
|
|
182
|
-
abort(new VigorRetryError(
|
|
183
|
-
method: "request",
|
|
184
|
-
|
|
200
|
+
abort(new VigorRetryError("TIMEOUT", {
|
|
201
|
+
method: "request",
|
|
202
|
+
type: "timeout",
|
|
203
|
+
data: {
|
|
204
|
+
limit: ctx.setting.limit,
|
|
205
|
+
attempt: ctx.runtime.attempt
|
|
185
206
|
}
|
|
186
207
|
}));
|
|
187
208
|
}, ctx.setting.limit);
|
|
@@ -240,9 +261,11 @@ class VigorRetry extends VigorStatus {
|
|
|
240
261
|
}
|
|
241
262
|
ctx.runtime.attempt++;
|
|
242
263
|
}
|
|
243
|
-
throw new VigorRetryError(
|
|
244
|
-
method: "request",
|
|
245
|
-
|
|
264
|
+
throw new VigorRetryError("EXHAUSTED", {
|
|
265
|
+
method: "request",
|
|
266
|
+
type: "retry",
|
|
267
|
+
data: {
|
|
268
|
+
maxAttempts: ctx.setting.count,
|
|
246
269
|
}
|
|
247
270
|
});
|
|
248
271
|
}
|
|
@@ -253,9 +276,9 @@ class VigorRetry extends VigorStatus {
|
|
|
253
276
|
for (const func of ctx.interceptors.onError) {
|
|
254
277
|
await func(ctx, { setResult, throwError });
|
|
255
278
|
}
|
|
256
|
-
if (overrided && ctx.runtime.result !==
|
|
279
|
+
if (overrided && ctx.runtime.result !== EMPTY)
|
|
257
280
|
return ctx.runtime.result;
|
|
258
|
-
if (ctx.setting.default !==
|
|
281
|
+
if (ctx.setting.default !== EMPTY)
|
|
259
282
|
return ctx.setting.default;
|
|
260
283
|
throw error;
|
|
261
284
|
}
|
|
@@ -282,11 +305,10 @@ class VigorParse extends VigorStatus {
|
|
|
282
305
|
async request() {
|
|
283
306
|
const config = this._config;
|
|
284
307
|
if (!(config.target instanceof Response)) {
|
|
285
|
-
throw new VigorParseError(
|
|
286
|
-
method: "request",
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
}
|
|
308
|
+
throw new VigorParseError("TARGET_MISSING", {
|
|
309
|
+
method: "request",
|
|
310
|
+
type: "args_missing",
|
|
311
|
+
data: undefined
|
|
290
312
|
});
|
|
291
313
|
}
|
|
292
314
|
if (config.original) {
|
|
@@ -299,12 +321,13 @@ class VigorParse extends VigorStatus {
|
|
|
299
321
|
strategy = { type: config.type };
|
|
300
322
|
const parser = config.target[config.type];
|
|
301
323
|
if (!parser || typeof parser !== 'function')
|
|
302
|
-
throw new VigorParseError(
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
}
|
|
324
|
+
throw new VigorParseError("PARSE_FAILED", {
|
|
325
|
+
method: "request",
|
|
326
|
+
type: "parse_failed",
|
|
327
|
+
data: {
|
|
328
|
+
expected: strategy?.type ?? "unknown"
|
|
329
|
+
}
|
|
330
|
+
});
|
|
308
331
|
return await parser();
|
|
309
332
|
}
|
|
310
333
|
strategy = VigorParse.stategy.find(i => i.key.test(contentType)) ?? VigorParse.stategy[0];
|
|
@@ -313,13 +336,13 @@ class VigorParse extends VigorStatus {
|
|
|
313
336
|
catch (error) {
|
|
314
337
|
if (error instanceof VigorParseError)
|
|
315
338
|
throw error;
|
|
316
|
-
throw new VigorParseError(
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
339
|
+
throw new VigorParseError("PARSE_FAILED", {
|
|
340
|
+
method: "request",
|
|
341
|
+
type: "parse_failed",
|
|
342
|
+
data: {
|
|
343
|
+
expected: strategy?.type ?? "unknown"
|
|
344
|
+
}
|
|
345
|
+
});
|
|
323
346
|
}
|
|
324
347
|
}
|
|
325
348
|
}
|
|
@@ -331,6 +354,7 @@ class VigorFetchSettings extends VigorStatus {
|
|
|
331
354
|
query: {},
|
|
332
355
|
unretry: [400, 401, 403, 404, 405, 413, 422],
|
|
333
356
|
retryHeaders: ["retry-after", "ratelimit-reset", "x-ratelimit-reset", "x-retry-after", "x-amz-retry-after", "chrome-proxy-next-link"],
|
|
357
|
+
default: EMPTY
|
|
334
358
|
});
|
|
335
359
|
}
|
|
336
360
|
origin(str) { return this._next({ origin: str }); }
|
|
@@ -388,11 +412,9 @@ class VigorFetch extends VigorStatus {
|
|
|
388
412
|
}
|
|
389
413
|
buildUrl(origin, path, query) {
|
|
390
414
|
if (!origin)
|
|
391
|
-
throw new VigorFetchError(
|
|
392
|
-
type: "invalid_url",
|
|
415
|
+
throw new VigorFetchError("INVALID_URL", {
|
|
393
416
|
method: "buildUrl",
|
|
394
417
|
data: {
|
|
395
|
-
expected: "string",
|
|
396
418
|
received: origin
|
|
397
419
|
}
|
|
398
420
|
});
|
|
@@ -443,15 +465,21 @@ class VigorFetch extends VigorStatus {
|
|
|
443
465
|
onError: [...config.interceptors.onError],
|
|
444
466
|
result: [...config.interceptors.result]
|
|
445
467
|
},
|
|
446
|
-
runtime: {
|
|
468
|
+
runtime: {
|
|
469
|
+
result: EMPTY
|
|
470
|
+
}
|
|
447
471
|
};
|
|
448
472
|
const throwError = (error) => { throw error; };
|
|
449
473
|
try {
|
|
450
474
|
ctx.runtime.unretrySet = new Set(ctx.setting.unretry);
|
|
451
475
|
if (!/^(https?|data|blob|file|about):\/\//.test(ctx.setting.origin))
|
|
452
|
-
throw new VigorFetchError(
|
|
453
|
-
|
|
454
|
-
|
|
476
|
+
throw new VigorFetchError("INVALID_PROTOCOL", {
|
|
477
|
+
method: "request",
|
|
478
|
+
data: {
|
|
479
|
+
expected: ["http", "https", "data", "blob", "file", "about"],
|
|
480
|
+
received: ctx.setting.origin
|
|
481
|
+
}
|
|
482
|
+
});
|
|
455
483
|
ctx.runtime.url = this.buildUrl(config.setting.origin, config.setting.path, config.setting.query);
|
|
456
484
|
const isJson = Array.isArray(ctx.setting.body) || (!!ctx.setting.body && Object.getPrototypeOf(ctx.setting.body) === Object.prototype);
|
|
457
485
|
ctx.runtime.baseOptions = {
|
|
@@ -472,9 +500,14 @@ class VigorFetch extends VigorStatus {
|
|
|
472
500
|
const checkOk = async (ctx2, { throwError }) => {
|
|
473
501
|
const result = ctx2.runtime.result;
|
|
474
502
|
if (!result.ok)
|
|
475
|
-
return throwError?.(new VigorFetchError(
|
|
476
|
-
method: "request",
|
|
477
|
-
|
|
503
|
+
return throwError?.(new VigorFetchError("FETCH_ERROR", {
|
|
504
|
+
method: "request",
|
|
505
|
+
type: "fetch_error",
|
|
506
|
+
data: {
|
|
507
|
+
status: result.status,
|
|
508
|
+
statusText: result.statusText,
|
|
509
|
+
url: result.url
|
|
510
|
+
}
|
|
478
511
|
}));
|
|
479
512
|
};
|
|
480
513
|
const handleBlacklist = (ctx2, { cancelRetry }) => {
|
|
@@ -520,9 +553,9 @@ class VigorFetch extends VigorStatus {
|
|
|
520
553
|
for (const func of ctx.interceptors.onError) {
|
|
521
554
|
await func(ctx, { setResult, throwError });
|
|
522
555
|
}
|
|
523
|
-
if (overrided && ctx.runtime.result !==
|
|
556
|
+
if (overrided && ctx.runtime.result !== EMPTY)
|
|
524
557
|
return ctx.runtime.result;
|
|
525
|
-
if (ctx.setting.default !==
|
|
558
|
+
if (ctx.setting.default !== EMPTY)
|
|
526
559
|
return ctx.setting.default;
|
|
527
560
|
throw error;
|
|
528
561
|
}
|
|
@@ -532,11 +565,13 @@ class VigorAllSettings extends VigorStatus {
|
|
|
532
565
|
constructor(config = {}) {
|
|
533
566
|
super(config, {
|
|
534
567
|
concurrency: 5,
|
|
535
|
-
jitter: 1000
|
|
568
|
+
jitter: 1000,
|
|
569
|
+
onlySuccess: false
|
|
536
570
|
});
|
|
537
571
|
}
|
|
538
572
|
concurrency(num) { return this._next({ concurrency: num }); }
|
|
539
573
|
jitter(num) { return this._next({ jitter: num }); }
|
|
574
|
+
onlySuccess(bool) { return this._next({ onlySuccess: bool }); }
|
|
540
575
|
}
|
|
541
576
|
class VigorAllInterceptors extends VigorStatus {
|
|
542
577
|
constructor(config = {}) {
|
|
@@ -560,9 +595,15 @@ class VigorAll extends VigorStatus {
|
|
|
560
595
|
interceptors: new VigorAllInterceptors().getBase()
|
|
561
596
|
});
|
|
562
597
|
}
|
|
598
|
+
_transfer(config) {
|
|
599
|
+
return new VigorAll({
|
|
600
|
+
...this._config,
|
|
601
|
+
...config
|
|
602
|
+
});
|
|
603
|
+
}
|
|
563
604
|
target(...funcs) {
|
|
564
|
-
return this.
|
|
565
|
-
target:
|
|
605
|
+
return this._transfer({
|
|
606
|
+
target: funcs
|
|
566
607
|
});
|
|
567
608
|
}
|
|
568
609
|
setting(func) {
|
|
@@ -578,20 +619,23 @@ class VigorAll extends VigorStatus {
|
|
|
578
619
|
async request() {
|
|
579
620
|
const config = this._config;
|
|
580
621
|
let ctx = {
|
|
622
|
+
setting: { ...config.setting },
|
|
581
623
|
target: [...config.target],
|
|
624
|
+
interceptors: {
|
|
625
|
+
before: [...config.interceptors.before],
|
|
626
|
+
after: [...config.interceptors.after],
|
|
627
|
+
onError: [...config.interceptors.onError],
|
|
628
|
+
result: [...config.interceptors.result],
|
|
629
|
+
},
|
|
582
630
|
runtime: {
|
|
583
631
|
tasks: [],
|
|
584
|
-
result: []
|
|
632
|
+
result: [],
|
|
585
633
|
}
|
|
586
634
|
};
|
|
587
635
|
if (ctx.target.length == 0)
|
|
588
|
-
throw new
|
|
589
|
-
type: "invalid_input",
|
|
636
|
+
throw new VigorAllError("TARGET_MISSING", {
|
|
590
637
|
method: "request",
|
|
591
|
-
data:
|
|
592
|
-
expected: "string",
|
|
593
|
-
received: ctx.target
|
|
594
|
-
}
|
|
638
|
+
data: undefined
|
|
595
639
|
});
|
|
596
640
|
let active = 0;
|
|
597
641
|
const queue = [];
|
|
@@ -609,32 +653,42 @@ class VigorAll extends VigorStatus {
|
|
|
609
653
|
}
|
|
610
654
|
});
|
|
611
655
|
const throwError = (error) => { throw error; };
|
|
656
|
+
let ctxTask = {
|
|
657
|
+
target: task,
|
|
658
|
+
runtime: {
|
|
659
|
+
result: EMPTY,
|
|
660
|
+
error: null,
|
|
661
|
+
jitter: VigorRetryBackoff.randomJitter(config.setting.jitter)
|
|
662
|
+
}
|
|
663
|
+
};
|
|
612
664
|
try {
|
|
613
|
-
await new Promise(resolve => setTimeout(resolve,
|
|
614
|
-
let res;
|
|
665
|
+
await new Promise(resolve => setTimeout(resolve, ctxTask.runtime.jitter));
|
|
615
666
|
for (const func of config.interceptors.before) {
|
|
616
|
-
await func(
|
|
667
|
+
await func(ctxTask, { throwError });
|
|
617
668
|
}
|
|
618
|
-
|
|
619
|
-
const setResult = (result) =>
|
|
669
|
+
ctxTask.runtime.result = await task(ctxTask, {});
|
|
670
|
+
const setResult = (result) => ctxTask.runtime.result = result;
|
|
620
671
|
for (const func of config.interceptors.after) {
|
|
621
|
-
await func(
|
|
672
|
+
await func(ctxTask, { setResult, throwError });
|
|
622
673
|
}
|
|
623
|
-
|
|
674
|
+
if (ctxTask.runtime.result === EMPTY) {
|
|
675
|
+
throw new Error("Result not set");
|
|
676
|
+
}
|
|
677
|
+
return ctxTask.runtime.result;
|
|
624
678
|
}
|
|
625
679
|
catch (error) {
|
|
626
|
-
|
|
680
|
+
ctxTask.runtime.error = error;
|
|
627
681
|
let overrided = false;
|
|
628
682
|
const setResult = (result) => {
|
|
629
683
|
overrided = true;
|
|
630
|
-
return (
|
|
684
|
+
return (ctxTask.runtime.result = result);
|
|
631
685
|
};
|
|
632
686
|
for (const func of config.interceptors.onError) {
|
|
633
|
-
await func(
|
|
687
|
+
await func(ctxTask, { setResult, throwError });
|
|
634
688
|
}
|
|
635
|
-
if (overrided &&
|
|
636
|
-
return
|
|
637
|
-
throw error;
|
|
689
|
+
if (overrided && ctxTask.runtime.result !== EMPTY)
|
|
690
|
+
return ctxTask.runtime.result;
|
|
691
|
+
throw ctxTask.runtime.error;
|
|
638
692
|
}
|
|
639
693
|
finally {
|
|
640
694
|
active--;
|
|
@@ -645,17 +699,20 @@ class VigorAll extends VigorStatus {
|
|
|
645
699
|
};
|
|
646
700
|
ctx.runtime.tasks = ctx.target.map(task => runTask(task));
|
|
647
701
|
const settled = await Promise.allSettled(ctx.runtime.tasks);
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
702
|
+
const isFailed = Symbol("FAILED");
|
|
703
|
+
ctx.runtime.result = settled.map((res, idx) => {
|
|
704
|
+
if (res.status === "fulfilled")
|
|
705
|
+
return res.value;
|
|
706
|
+
if (ctx.setting.onlySuccess)
|
|
707
|
+
return isFailed;
|
|
708
|
+
return new VigorAllError("REQUEST_FAILED", {
|
|
652
709
|
method: "request",
|
|
653
|
-
type: "request_failed",
|
|
654
710
|
data: {
|
|
655
|
-
|
|
711
|
+
index: idx,
|
|
712
|
+
error: res.reason
|
|
656
713
|
}
|
|
657
714
|
});
|
|
658
|
-
});
|
|
715
|
+
}).filter(i => i !== isFailed);
|
|
659
716
|
const setResult = (result) => ctx.runtime.result = result;
|
|
660
717
|
const throwError = (error) => { throw error; };
|
|
661
718
|
for (const func of config.interceptors.result) {
|
package/dist/index.mjs
CHANGED
|
@@ -1,41 +1,58 @@
|
|
|
1
|
+
const VIGOR_ERROR_MESSAGES = {
|
|
2
|
+
TIMEOUT: ({ limit, attempt }) => `Timeout: exceeded ${limit}ms (attempt: ${attempt})`,
|
|
3
|
+
EXHAUSTED: ({ maxAttempts }) => `Retry exhausted: max ${maxAttempts})`,
|
|
4
|
+
INVALID_URL: ({ received }) => `Invalid URL: ${received}`,
|
|
5
|
+
INVALID_PROTOCOL: ({ expected, received }) => `Invalid protocol: ${received} (expected ${expected.join(", ")})`,
|
|
6
|
+
FETCH_ERROR: ({ status, statusText, url }) => `HTTP Error: ${status} ${statusText} (url: ${url})`,
|
|
7
|
+
PARSE_FAILED: ({ expected }) => `Parse failed: expected ${expected}`,
|
|
8
|
+
INVALID_TYPE: ({ expected, received }) => `Invalid parser type: ${expected}`,
|
|
9
|
+
TARGET_MISSING: () => `Target missing`,
|
|
10
|
+
REQUEST_FAILED: ({ index, error }) => `Request failed at index ${index}: ${error.message}`,
|
|
11
|
+
UNKNOWN: () => `Unknown error`
|
|
12
|
+
};
|
|
1
13
|
class VigorError extends Error {
|
|
2
14
|
timestamp = new Date();
|
|
3
15
|
method;
|
|
16
|
+
code;
|
|
4
17
|
cause;
|
|
5
18
|
context;
|
|
6
19
|
type;
|
|
7
20
|
data;
|
|
8
|
-
constructor(
|
|
21
|
+
constructor(code, options) {
|
|
22
|
+
const messageFn = VIGOR_ERROR_MESSAGES[code];
|
|
23
|
+
const message = `[${code}] ${messageFn(options?.data)}`;
|
|
9
24
|
super(message, { cause: options?.cause });
|
|
10
25
|
this.name = new.target.name;
|
|
11
26
|
this.method = options?.method;
|
|
27
|
+
this.code = code;
|
|
12
28
|
this.context = options?.context;
|
|
13
29
|
this.type = options?.type;
|
|
14
|
-
this.data = options
|
|
30
|
+
this.data = options.data;
|
|
15
31
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
16
32
|
Error.captureStackTrace?.(this, new.target);
|
|
17
33
|
}
|
|
18
34
|
}
|
|
19
35
|
class VigorRetryError extends VigorError {
|
|
20
|
-
constructor(
|
|
21
|
-
super(
|
|
36
|
+
constructor(code, options) {
|
|
37
|
+
super(code, options);
|
|
22
38
|
}
|
|
23
39
|
}
|
|
24
40
|
class VigorParseError extends VigorError {
|
|
25
|
-
constructor(
|
|
26
|
-
super(
|
|
41
|
+
constructor(code, options) {
|
|
42
|
+
super(code, options);
|
|
27
43
|
}
|
|
28
44
|
}
|
|
29
45
|
class VigorFetchError extends VigorError {
|
|
30
|
-
constructor(
|
|
31
|
-
super(
|
|
46
|
+
constructor(code, options) {
|
|
47
|
+
super(code, options);
|
|
32
48
|
}
|
|
33
49
|
}
|
|
34
50
|
class VigorAllError extends VigorError {
|
|
35
|
-
constructor(
|
|
36
|
-
super(
|
|
51
|
+
constructor(code, options) {
|
|
52
|
+
super(code, options);
|
|
37
53
|
}
|
|
38
54
|
}
|
|
55
|
+
const EMPTY = Symbol("EMPTY");
|
|
39
56
|
class VigorStatus {
|
|
40
57
|
_base;
|
|
41
58
|
_config;
|
|
@@ -56,6 +73,7 @@ class VigorRetrySettings extends VigorStatus {
|
|
|
56
73
|
count: 5,
|
|
57
74
|
limit: 10000,
|
|
58
75
|
maxDelay: 10000,
|
|
76
|
+
default: EMPTY
|
|
59
77
|
});
|
|
60
78
|
}
|
|
61
79
|
count(num) { return this._next({ count: num }); }
|
|
@@ -134,7 +152,7 @@ class VigorRetry extends VigorStatus {
|
|
|
134
152
|
backoff: { ...config.backoff },
|
|
135
153
|
controller: config.controller,
|
|
136
154
|
runtime: {
|
|
137
|
-
result:
|
|
155
|
+
result: EMPTY,
|
|
138
156
|
controller: null,
|
|
139
157
|
attempt: 0,
|
|
140
158
|
aborted: false,
|
|
@@ -175,9 +193,12 @@ class VigorRetry extends VigorStatus {
|
|
|
175
193
|
timerId = setTimeout(() => {
|
|
176
194
|
if (ctx.runtime.aborted)
|
|
177
195
|
return;
|
|
178
|
-
abort(new VigorRetryError(
|
|
179
|
-
method: "request",
|
|
180
|
-
|
|
196
|
+
abort(new VigorRetryError("TIMEOUT", {
|
|
197
|
+
method: "request",
|
|
198
|
+
type: "timeout",
|
|
199
|
+
data: {
|
|
200
|
+
limit: ctx.setting.limit,
|
|
201
|
+
attempt: ctx.runtime.attempt
|
|
181
202
|
}
|
|
182
203
|
}));
|
|
183
204
|
}, ctx.setting.limit);
|
|
@@ -236,9 +257,11 @@ class VigorRetry extends VigorStatus {
|
|
|
236
257
|
}
|
|
237
258
|
ctx.runtime.attempt++;
|
|
238
259
|
}
|
|
239
|
-
throw new VigorRetryError(
|
|
240
|
-
method: "request",
|
|
241
|
-
|
|
260
|
+
throw new VigorRetryError("EXHAUSTED", {
|
|
261
|
+
method: "request",
|
|
262
|
+
type: "retry",
|
|
263
|
+
data: {
|
|
264
|
+
maxAttempts: ctx.setting.count,
|
|
242
265
|
}
|
|
243
266
|
});
|
|
244
267
|
}
|
|
@@ -249,9 +272,9 @@ class VigorRetry extends VigorStatus {
|
|
|
249
272
|
for (const func of ctx.interceptors.onError) {
|
|
250
273
|
await func(ctx, { setResult, throwError });
|
|
251
274
|
}
|
|
252
|
-
if (overrided && ctx.runtime.result !==
|
|
275
|
+
if (overrided && ctx.runtime.result !== EMPTY)
|
|
253
276
|
return ctx.runtime.result;
|
|
254
|
-
if (ctx.setting.default !==
|
|
277
|
+
if (ctx.setting.default !== EMPTY)
|
|
255
278
|
return ctx.setting.default;
|
|
256
279
|
throw error;
|
|
257
280
|
}
|
|
@@ -278,11 +301,10 @@ class VigorParse extends VigorStatus {
|
|
|
278
301
|
async request() {
|
|
279
302
|
const config = this._config;
|
|
280
303
|
if (!(config.target instanceof Response)) {
|
|
281
|
-
throw new VigorParseError(
|
|
282
|
-
method: "request",
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
}
|
|
304
|
+
throw new VigorParseError("TARGET_MISSING", {
|
|
305
|
+
method: "request",
|
|
306
|
+
type: "args_missing",
|
|
307
|
+
data: undefined
|
|
286
308
|
});
|
|
287
309
|
}
|
|
288
310
|
if (config.original) {
|
|
@@ -295,12 +317,13 @@ class VigorParse extends VigorStatus {
|
|
|
295
317
|
strategy = { type: config.type };
|
|
296
318
|
const parser = config.target[config.type];
|
|
297
319
|
if (!parser || typeof parser !== 'function')
|
|
298
|
-
throw new VigorParseError(
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
}
|
|
320
|
+
throw new VigorParseError("PARSE_FAILED", {
|
|
321
|
+
method: "request",
|
|
322
|
+
type: "parse_failed",
|
|
323
|
+
data: {
|
|
324
|
+
expected: strategy?.type ?? "unknown"
|
|
325
|
+
}
|
|
326
|
+
});
|
|
304
327
|
return await parser();
|
|
305
328
|
}
|
|
306
329
|
strategy = VigorParse.stategy.find(i => i.key.test(contentType)) ?? VigorParse.stategy[0];
|
|
@@ -309,13 +332,13 @@ class VigorParse extends VigorStatus {
|
|
|
309
332
|
catch (error) {
|
|
310
333
|
if (error instanceof VigorParseError)
|
|
311
334
|
throw error;
|
|
312
|
-
throw new VigorParseError(
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
335
|
+
throw new VigorParseError("PARSE_FAILED", {
|
|
336
|
+
method: "request",
|
|
337
|
+
type: "parse_failed",
|
|
338
|
+
data: {
|
|
339
|
+
expected: strategy?.type ?? "unknown"
|
|
340
|
+
}
|
|
341
|
+
});
|
|
319
342
|
}
|
|
320
343
|
}
|
|
321
344
|
}
|
|
@@ -327,6 +350,7 @@ class VigorFetchSettings extends VigorStatus {
|
|
|
327
350
|
query: {},
|
|
328
351
|
unretry: [400, 401, 403, 404, 405, 413, 422],
|
|
329
352
|
retryHeaders: ["retry-after", "ratelimit-reset", "x-ratelimit-reset", "x-retry-after", "x-amz-retry-after", "chrome-proxy-next-link"],
|
|
353
|
+
default: EMPTY
|
|
330
354
|
});
|
|
331
355
|
}
|
|
332
356
|
origin(str) { return this._next({ origin: str }); }
|
|
@@ -384,11 +408,9 @@ class VigorFetch extends VigorStatus {
|
|
|
384
408
|
}
|
|
385
409
|
buildUrl(origin, path, query) {
|
|
386
410
|
if (!origin)
|
|
387
|
-
throw new VigorFetchError(
|
|
388
|
-
type: "invalid_url",
|
|
411
|
+
throw new VigorFetchError("INVALID_URL", {
|
|
389
412
|
method: "buildUrl",
|
|
390
413
|
data: {
|
|
391
|
-
expected: "string",
|
|
392
414
|
received: origin
|
|
393
415
|
}
|
|
394
416
|
});
|
|
@@ -439,15 +461,21 @@ class VigorFetch extends VigorStatus {
|
|
|
439
461
|
onError: [...config.interceptors.onError],
|
|
440
462
|
result: [...config.interceptors.result]
|
|
441
463
|
},
|
|
442
|
-
runtime: {
|
|
464
|
+
runtime: {
|
|
465
|
+
result: EMPTY
|
|
466
|
+
}
|
|
443
467
|
};
|
|
444
468
|
const throwError = (error) => { throw error; };
|
|
445
469
|
try {
|
|
446
470
|
ctx.runtime.unretrySet = new Set(ctx.setting.unretry);
|
|
447
471
|
if (!/^(https?|data|blob|file|about):\/\//.test(ctx.setting.origin))
|
|
448
|
-
throw new VigorFetchError(
|
|
449
|
-
|
|
450
|
-
|
|
472
|
+
throw new VigorFetchError("INVALID_PROTOCOL", {
|
|
473
|
+
method: "request",
|
|
474
|
+
data: {
|
|
475
|
+
expected: ["http", "https", "data", "blob", "file", "about"],
|
|
476
|
+
received: ctx.setting.origin
|
|
477
|
+
}
|
|
478
|
+
});
|
|
451
479
|
ctx.runtime.url = this.buildUrl(config.setting.origin, config.setting.path, config.setting.query);
|
|
452
480
|
const isJson = Array.isArray(ctx.setting.body) || (!!ctx.setting.body && Object.getPrototypeOf(ctx.setting.body) === Object.prototype);
|
|
453
481
|
ctx.runtime.baseOptions = {
|
|
@@ -468,9 +496,14 @@ class VigorFetch extends VigorStatus {
|
|
|
468
496
|
const checkOk = async (ctx2, { throwError }) => {
|
|
469
497
|
const result = ctx2.runtime.result;
|
|
470
498
|
if (!result.ok)
|
|
471
|
-
return throwError?.(new VigorFetchError(
|
|
472
|
-
method: "request",
|
|
473
|
-
|
|
499
|
+
return throwError?.(new VigorFetchError("FETCH_ERROR", {
|
|
500
|
+
method: "request",
|
|
501
|
+
type: "fetch_error",
|
|
502
|
+
data: {
|
|
503
|
+
status: result.status,
|
|
504
|
+
statusText: result.statusText,
|
|
505
|
+
url: result.url
|
|
506
|
+
}
|
|
474
507
|
}));
|
|
475
508
|
};
|
|
476
509
|
const handleBlacklist = (ctx2, { cancelRetry }) => {
|
|
@@ -516,9 +549,9 @@ class VigorFetch extends VigorStatus {
|
|
|
516
549
|
for (const func of ctx.interceptors.onError) {
|
|
517
550
|
await func(ctx, { setResult, throwError });
|
|
518
551
|
}
|
|
519
|
-
if (overrided && ctx.runtime.result !==
|
|
552
|
+
if (overrided && ctx.runtime.result !== EMPTY)
|
|
520
553
|
return ctx.runtime.result;
|
|
521
|
-
if (ctx.setting.default !==
|
|
554
|
+
if (ctx.setting.default !== EMPTY)
|
|
522
555
|
return ctx.setting.default;
|
|
523
556
|
throw error;
|
|
524
557
|
}
|
|
@@ -528,11 +561,13 @@ class VigorAllSettings extends VigorStatus {
|
|
|
528
561
|
constructor(config = {}) {
|
|
529
562
|
super(config, {
|
|
530
563
|
concurrency: 5,
|
|
531
|
-
jitter: 1000
|
|
564
|
+
jitter: 1000,
|
|
565
|
+
onlySuccess: false
|
|
532
566
|
});
|
|
533
567
|
}
|
|
534
568
|
concurrency(num) { return this._next({ concurrency: num }); }
|
|
535
569
|
jitter(num) { return this._next({ jitter: num }); }
|
|
570
|
+
onlySuccess(bool) { return this._next({ onlySuccess: bool }); }
|
|
536
571
|
}
|
|
537
572
|
class VigorAllInterceptors extends VigorStatus {
|
|
538
573
|
constructor(config = {}) {
|
|
@@ -556,9 +591,15 @@ class VigorAll extends VigorStatus {
|
|
|
556
591
|
interceptors: new VigorAllInterceptors().getBase()
|
|
557
592
|
});
|
|
558
593
|
}
|
|
594
|
+
_transfer(config) {
|
|
595
|
+
return new VigorAll({
|
|
596
|
+
...this._config,
|
|
597
|
+
...config
|
|
598
|
+
});
|
|
599
|
+
}
|
|
559
600
|
target(...funcs) {
|
|
560
|
-
return this.
|
|
561
|
-
target:
|
|
601
|
+
return this._transfer({
|
|
602
|
+
target: funcs
|
|
562
603
|
});
|
|
563
604
|
}
|
|
564
605
|
setting(func) {
|
|
@@ -574,20 +615,23 @@ class VigorAll extends VigorStatus {
|
|
|
574
615
|
async request() {
|
|
575
616
|
const config = this._config;
|
|
576
617
|
let ctx = {
|
|
618
|
+
setting: { ...config.setting },
|
|
577
619
|
target: [...config.target],
|
|
620
|
+
interceptors: {
|
|
621
|
+
before: [...config.interceptors.before],
|
|
622
|
+
after: [...config.interceptors.after],
|
|
623
|
+
onError: [...config.interceptors.onError],
|
|
624
|
+
result: [...config.interceptors.result],
|
|
625
|
+
},
|
|
578
626
|
runtime: {
|
|
579
627
|
tasks: [],
|
|
580
|
-
result: []
|
|
628
|
+
result: [],
|
|
581
629
|
}
|
|
582
630
|
};
|
|
583
631
|
if (ctx.target.length == 0)
|
|
584
|
-
throw new
|
|
585
|
-
type: "invalid_input",
|
|
632
|
+
throw new VigorAllError("TARGET_MISSING", {
|
|
586
633
|
method: "request",
|
|
587
|
-
data:
|
|
588
|
-
expected: "string",
|
|
589
|
-
received: ctx.target
|
|
590
|
-
}
|
|
634
|
+
data: undefined
|
|
591
635
|
});
|
|
592
636
|
let active = 0;
|
|
593
637
|
const queue = [];
|
|
@@ -605,32 +649,42 @@ class VigorAll extends VigorStatus {
|
|
|
605
649
|
}
|
|
606
650
|
});
|
|
607
651
|
const throwError = (error) => { throw error; };
|
|
652
|
+
let ctxTask = {
|
|
653
|
+
target: task,
|
|
654
|
+
runtime: {
|
|
655
|
+
result: EMPTY,
|
|
656
|
+
error: null,
|
|
657
|
+
jitter: VigorRetryBackoff.randomJitter(config.setting.jitter)
|
|
658
|
+
}
|
|
659
|
+
};
|
|
608
660
|
try {
|
|
609
|
-
await new Promise(resolve => setTimeout(resolve,
|
|
610
|
-
let res;
|
|
661
|
+
await new Promise(resolve => setTimeout(resolve, ctxTask.runtime.jitter));
|
|
611
662
|
for (const func of config.interceptors.before) {
|
|
612
|
-
await func(
|
|
663
|
+
await func(ctxTask, { throwError });
|
|
613
664
|
}
|
|
614
|
-
|
|
615
|
-
const setResult = (result) =>
|
|
665
|
+
ctxTask.runtime.result = await task(ctxTask, {});
|
|
666
|
+
const setResult = (result) => ctxTask.runtime.result = result;
|
|
616
667
|
for (const func of config.interceptors.after) {
|
|
617
|
-
await func(
|
|
668
|
+
await func(ctxTask, { setResult, throwError });
|
|
618
669
|
}
|
|
619
|
-
|
|
670
|
+
if (ctxTask.runtime.result === EMPTY) {
|
|
671
|
+
throw new Error("Result not set");
|
|
672
|
+
}
|
|
673
|
+
return ctxTask.runtime.result;
|
|
620
674
|
}
|
|
621
675
|
catch (error) {
|
|
622
|
-
|
|
676
|
+
ctxTask.runtime.error = error;
|
|
623
677
|
let overrided = false;
|
|
624
678
|
const setResult = (result) => {
|
|
625
679
|
overrided = true;
|
|
626
|
-
return (
|
|
680
|
+
return (ctxTask.runtime.result = result);
|
|
627
681
|
};
|
|
628
682
|
for (const func of config.interceptors.onError) {
|
|
629
|
-
await func(
|
|
683
|
+
await func(ctxTask, { setResult, throwError });
|
|
630
684
|
}
|
|
631
|
-
if (overrided &&
|
|
632
|
-
return
|
|
633
|
-
throw error;
|
|
685
|
+
if (overrided && ctxTask.runtime.result !== EMPTY)
|
|
686
|
+
return ctxTask.runtime.result;
|
|
687
|
+
throw ctxTask.runtime.error;
|
|
634
688
|
}
|
|
635
689
|
finally {
|
|
636
690
|
active--;
|
|
@@ -641,17 +695,20 @@ class VigorAll extends VigorStatus {
|
|
|
641
695
|
};
|
|
642
696
|
ctx.runtime.tasks = ctx.target.map(task => runTask(task));
|
|
643
697
|
const settled = await Promise.allSettled(ctx.runtime.tasks);
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
698
|
+
const isFailed = Symbol("FAILED");
|
|
699
|
+
ctx.runtime.result = settled.map((res, idx) => {
|
|
700
|
+
if (res.status === "fulfilled")
|
|
701
|
+
return res.value;
|
|
702
|
+
if (ctx.setting.onlySuccess)
|
|
703
|
+
return isFailed;
|
|
704
|
+
return new VigorAllError("REQUEST_FAILED", {
|
|
648
705
|
method: "request",
|
|
649
|
-
type: "request_failed",
|
|
650
706
|
data: {
|
|
651
|
-
|
|
707
|
+
index: idx,
|
|
708
|
+
error: res.reason
|
|
652
709
|
}
|
|
653
710
|
});
|
|
654
|
-
});
|
|
711
|
+
}).filter(i => i !== isFailed);
|
|
655
712
|
const setResult = (result) => ctx.runtime.result = result;
|
|
656
713
|
const throwError = (error) => { throw error; };
|
|
657
714
|
for (const func of config.interceptors.result) {
|