Skip to content

Commit 0647a6b

Browse files
authored
Merge pull request #88 from alecmev/drop-dom
More permissive wrapping, remove DOM types and export types
2 parents 228661e + 8ecf2cc commit 0647a6b

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

index.d.ts

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
1-
/// <reference lib="dom" />
2-
31
declare module 'fetch-retry' {
4-
const _fetch: typeof fetch;
2+
export type Fetch = (input: any, init?: any) => Promise<any>;
53

6-
type RequestDelayFunction = ((
4+
export type RequestDelayFunction<F extends Fetch> = (
75
attempt: number,
86
error: Error | null,
9-
response: Response | null
10-
) => number);
7+
response: Awaited<ReturnType<F>> | null,
8+
) => number;
119

12-
type RequestRetryOnFunction = ((
10+
export type RequestRetryOnFunction<F extends Fetch> = (
1311
attempt: number,
1412
error: Error | null,
15-
response: Response | null
16-
) => boolean | Promise<boolean>);
13+
response: Awaited<ReturnType<F>> | null,
14+
) => boolean | Promise<boolean>;
1715

18-
export interface RequestInitRetryParams {
16+
export type RequestInitRetryParams<F extends Fetch> = {
1917
retries?: number;
20-
retryDelay?: number | RequestDelayFunction;
21-
retryOn?: number[] | RequestRetryOnFunction;
22-
}
18+
retryDelay?: number | RequestDelayFunction<F>;
19+
retryOn?: number[] | RequestRetryOnFunction<F>;
20+
};
2321

24-
export type RequestInitWithRetry = RequestInit & RequestInitRetryParams;
22+
export type RequestInitWithRetry<F extends Fetch> = Parameters<F>[1] &
23+
RequestInitRetryParams<F>;
2524

26-
function fetchBuilder(fetch: typeof _fetch, defaults?: RequestInitRetryParams): ((input: Parameters<typeof _fetch>[0], init?: RequestInitWithRetry) => Promise<Response>);
27-
export default fetchBuilder;
25+
export default function fetchBuilder<F extends Fetch>(
26+
fetch: F,
27+
defaults?: RequestInitRetryParams<F>,
28+
): (input: Parameters<F>[0], init?: RequestInitWithRetry<F>) => ReturnType<F>;
2829
}

0 commit comments

Comments
 (0)