diff --git a/src/types.ts b/src/types.ts index 1b2db1c82..520a9b157 100644 --- a/src/types.ts +++ b/src/types.ts @@ -5,10 +5,10 @@ export type FetcherResponse = Async export type Fetcher = /** - * () => [{ foo: string }, { bar: number }] | null | false - * () => ( [{ foo: string }, { bar: number } ] as const | null | false ) + * () => [{ foo: string }, { bar: number }] | null | undefined | false + * () => ( [{ foo: string }, { bar: number } ] as const | null | undefined | false ) */ - SWRKey extends (() => readonly [...infer Args] | null | false) + SWRKey extends (() => readonly [...infer Args] | null | undefined | false) ? ((...args: [...Args]) => FetcherResponse) : /** * [{ foo: string }, { bar: number }] @@ -17,15 +17,15 @@ export type Fetcher = SWRKey extends (readonly [...infer Args]) ? ((...args: [...Args]) => FetcherResponse) : /** - * () => string | null | false - * () => Record | null | false + * () => string | null | undefined | false + * () => Record | null | undefined | false */ - SWRKey extends (() => infer Arg | null | false) + SWRKey extends (() => infer Arg | null | undefined | false) ? (...args: [Arg]) => FetcherResponse : /** - * string | Record | null | false + * string | Record | null | undefined | false */ - SWRKey extends null | false + SWRKey extends null | undefined | false ? never : SWRKey extends (infer Arg) ? (...args: [Arg]) => FetcherResponse @@ -144,6 +144,7 @@ export type Arguments = | ArgumentsTuple | Record | null + | undefined | false export type Key = Arguments | (() => Arguments)