vigor-fetch 1.0.10 → 1.0.12

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 CHANGED
@@ -46,6 +46,7 @@ npm install vigor-fetch
46
46
  | :--- | :--- | :--- | :--- |
47
47
  | .path(arg) | string | "" | Sets the endpoint path to be appended to the origin. |
48
48
  | .query(arg) | Record<string, any> | {} | Appends key-value pairs as query parameters to the URL. |
49
+ | .method(arg) | string | "POST" | "GET" (depends on body) | Sets the HTTP request method. |
49
50
  | .headers(arg) | Record<string, string> | {} | Sets the HTTP request headers. |
50
51
  | .body(arg) | any | null | Sets the request body |
51
52
  | .offset(arg) | RequestInit | {} | Provides raw fetch options to be merged into the request. |
package/dist/index.d.ts CHANGED
@@ -1,77 +1,122 @@
1
1
  interface VigorErrorOptions {
2
- url?: string | null;
2
+ type?: string;
3
+ data?: any;
3
4
  status?: number;
5
+ response?: any;
4
6
  message?: string;
7
+ origin?: string;
8
+ }
9
+ declare class VigorError extends Error {
5
10
  data?: any;
11
+ type?: string;
12
+ status?: number;
13
+ response?: any;
14
+ origin?: string;
15
+ constructor(text: string, options: VigorErrorOptions);
6
16
  }
7
- interface VigorFetchConfig {
8
- path: string;
9
- method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | null;
10
- offset: RequestInit;
11
- headers: Record<string, string>;
12
- body: any;
13
- count: number;
14
- max: number;
15
- wait: number;
16
- backoff: number;
17
- unretry: Set<number>;
18
- retryHeader: string[];
19
- original: boolean;
20
- parse: keyof Response | null;
21
- beforeRequest: Array<(opt: RequestInit) => Promise<Partial<RequestInit> | void> | Partial<RequestInit> | void>;
22
- afterRequest: Array<(res: Response) => Promise<Response | void> | Response | void>;
23
- beforeResponse: Array<(res: Response) => Promise<Response> | Response>;
24
- afterResponse: Array<(data: any) => Promise<any> | any>;
25
- onError: Array<(err: any) => Promise<any> | any>;
26
- query: Record<string, any>;
27
- jitter: number;
17
+ declare class VigorRetryError extends VigorError {
18
+ constructor(text: string, options: VigorErrorOptions);
28
19
  }
29
- declare class VigorFetch<T = any> {
30
- private _origin;
20
+ declare class VigorParseError extends VigorError {
21
+ constructor(text: string, options: VigorErrorOptions);
22
+ }
23
+ declare class VigorFetchError extends VigorError {
24
+ constructor(text: string, options: VigorErrorOptions);
25
+ }
26
+ declare class VigorAllError extends VigorError {
27
+ constructor(text: string, options: VigorErrorOptions);
28
+ }
29
+ /**
30
+ * VigorRetry
31
+ */
32
+ declare class VigorRetry<T = any> {
33
+ private _target;
34
+ private _args;
31
35
  private _config;
32
- constructor(origin: string, config?: VigorFetchConfig);
36
+ constructor(target: (...args: any[]) => Promise<T> | T, args?: any[], config?: any);
33
37
  private _next;
34
- path(arg: string): VigorFetch<T>;
35
- method(arg: VigorFetchConfig['method']): VigorFetch<T>;
36
- offset(arg: RequestInit): VigorFetch<T>;
37
- headers(arg: Record<string, string>): VigorFetch<T>;
38
- body(arg: any): VigorFetch<T>;
39
- count(arg: number): VigorFetch<T>;
40
- max(arg: number): VigorFetch<T>;
41
- wait(arg: number): VigorFetch<T>;
42
- backoff(arg: number): VigorFetch<T>;
43
- unretry(arg: number[]): VigorFetch<T>;
44
- retryHeader(...arg: string[]): VigorFetch<T>;
45
- original(arg: boolean): VigorFetch<T>;
46
- parse(arg: keyof Response): VigorFetch<T>;
47
- query(arg: Record<string, any>): VigorFetch<T>;
48
- jitter(arg: number): VigorFetch<T>;
49
- beforeRequest(...arg: VigorFetchConfig['beforeRequest']): VigorFetch<T>;
50
- afterRequest(...arg: VigorFetchConfig['afterRequest']): VigorFetch<T>;
51
- beforeResponse(...arg: VigorFetchConfig['beforeResponse']): VigorFetch<T>;
52
- afterResponse(...arg: VigorFetchConfig['afterResponse']): VigorFetch<T>;
53
- onError(...arg: VigorFetchConfig['onError']): VigorFetch<T>;
38
+ args(...args: any[]): any;
39
+ count(int: number): VigorRetry<T>;
40
+ max(ms: number): VigorRetry<T>;
41
+ backoff(ms: number): VigorRetry<T>;
42
+ baseDelay(ms: number): VigorRetry<T>;
43
+ jitter(ms: number): VigorRetry<T>;
44
+ before(...func: Function[]): VigorRetry<T>;
45
+ onRetry(...func: Function[]): VigorRetry<T>;
46
+ after(...func: Function[]): VigorRetry<T>;
47
+ onError(...func: Function[]): VigorRetry<T>;
54
48
  request(): Promise<T>;
55
49
  }
56
- interface VigorAllConfig {
57
- limit: number;
58
- jitter: number;
59
- promises: Array<() => Promise<any>>;
50
+ /**
51
+ * VigorParse
52
+ */
53
+ declare class VigorParse<T = any> {
54
+ private _response;
55
+ private _config;
56
+ constructor(response: Response | null, config?: any);
57
+ private _next;
58
+ original(bool: boolean): VigorParse<T>;
59
+ type(str: string): VigorParse<T>;
60
+ before(...func: Function[]): VigorParse<T>;
61
+ after(...func: Function[]): VigorParse<T>;
62
+ onError(...func: Function[]): VigorParse<T>;
63
+ request(): Promise<T>;
64
+ }
65
+ /**
66
+ * VigorFetch
67
+ */
68
+ declare class VigorFetch<T = any> {
69
+ private _config;
70
+ constructor(origin?: string, config?: any);
71
+ private _next;
72
+ origin(str: string): VigorFetch<T>;
73
+ path(str: string): VigorFetch<T>;
74
+ query(obj: object): VigorFetch<T>;
75
+ method(str: string): VigorFetch<T>;
76
+ headers(obj: object): VigorFetch<T>;
77
+ body(obj: any): VigorFetch<T>;
78
+ offset(obj: object): VigorFetch<T>;
79
+ maxDelay(ms: number): VigorFetch<T>;
80
+ retryHeaders(...str: string[]): VigorFetch<T>;
81
+ unretry(...int: number[]): VigorFetch<T>;
82
+ before(...func: Function[]): VigorFetch<T>;
83
+ after(...func: Function[]): VigorFetch<T>;
84
+ result(...func: Function[]): VigorFetch<T>;
85
+ onError(...func: Function[]): VigorFetch<T>;
86
+ retryConfig(func: (r: VigorRetry) => VigorRetry): VigorFetch<T>;
87
+ parseConfig(func: (p: VigorParse) => VigorParse): VigorFetch<T>;
88
+ request(): Promise<T>;
60
89
  }
61
- declare class VigorAll {
90
+ /**
91
+ * VigorAll
92
+ */
93
+ declare class VigorAll<T = any> {
62
94
  private _config;
63
- constructor(config?: VigorAllConfig);
95
+ constructor(config: any);
64
96
  private _next;
65
- limit(arg: number): VigorAll;
66
- jitter(arg: number): VigorAll;
67
- promises(...args: Array<() => Promise<any>>): VigorAll;
97
+ promises(...func: (() => Promise<any>)[]): VigorAll<T>;
98
+ limit(int: number): VigorAll<T>;
99
+ jitter(ms: number): VigorAll<T>;
100
+ before(...func: Function[]): VigorAll<T>;
101
+ after(...func: Function[]): VigorAll<T>;
102
+ onError(...func: Function[]): VigorAll<T>;
68
103
  request(): Promise<any[]>;
69
104
  }
105
+ /**
106
+ * Main Vigor Class
107
+ */
70
108
  declare class Vigor {
71
- fetch<T = any>(origin: string, config?: VigorFetchConfig): VigorFetch<T>;
72
- all(config?: VigorAllConfig): VigorAll;
109
+ _Fetch: typeof VigorFetch;
110
+ _Retry: typeof VigorRetry;
111
+ _Parse: typeof VigorParse;
112
+ _All: typeof VigorAll;
113
+ use(plugin: (instance: Vigor, options?: any) => void, options?: any): this;
114
+ fetch<T = any>(origin?: string, config?: any): VigorFetch<T>;
115
+ retry<T = any>(target: (...args: any[]) => Promise<T> | T, args?: any[], config?: any): VigorRetry<T>;
116
+ parse<T = any>(response: Response | null, config?: any): VigorParse<T>;
117
+ all<T = any>(config?: any): VigorAll<T>;
73
118
  }
74
119
  declare const vigor: Vigor;
75
120
 
76
- export { vigor as default };
77
- export type { VigorAllConfig, VigorErrorOptions, VigorFetchConfig };
121
+ export { VigorAll, VigorAllError, VigorError, VigorFetch, VigorFetchError, VigorParse, VigorParseError, VigorRetry, VigorRetryError, vigor as default, vigor };
122
+ export type { VigorErrorOptions };
@@ -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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"}