diff --git a/source/create.ts b/source/create.ts index 62ffc93a6..f2e512ce7 100644 --- a/source/create.ts +++ b/source/create.ts @@ -33,7 +33,8 @@ import { InstanceDefaults, GotPaginate, GotStream, - GotRequestFunction + GotRequestFunction, + OptionsWithPagination } from './types'; import createRejection from './as-promise/create-rejection'; import Request, {kIsNormalizedAlready} from './core'; @@ -192,7 +193,7 @@ const create = (defaults: InstanceDefaults): Got => { }); }; - got.paginate = (async function * (url: string | URL, options?: Options) { + got.paginate = (async function * (url: string | URL, options?: OptionsWithPagination) { let normalizedOptions = normalizeArguments(url, options, defaults.options); const pagination = normalizedOptions.pagination!; @@ -241,7 +242,7 @@ const create = (defaults: InstanceDefaults): Got => { } }) as GotPaginate; - got.paginate.all = (async (url: string | URL, options?: Options) => { + got.paginate.all = (async (url: string | URL, options?: OptionsWithPagination) => { const results: T[] = []; for await (const item of got.paginate(url, options)) { diff --git a/source/types.ts b/source/types.ts index 31be811cf..551def48a 100644 --- a/source/types.ts +++ b/source/types.ts @@ -47,16 +47,18 @@ export type OptionsOfBufferResponseBody = Options & {isStream?: false; resolveBo export type StrictOptions = Except; type ResponseBodyOnly = {resolveBodyOnly: true}; +export type OptionsWithPagination = Merge>; + export interface GotPaginate { - (url: string | URL, options?: Merge>): AsyncIterableIterator; - all(url: string | URL, options?: Merge>): Promise; + (url: string | URL, options?: OptionsWithPagination): AsyncIterableIterator; + all(url: string | URL, options?: OptionsWithPagination): Promise; // A bug. // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures - (options?: Merge>): AsyncIterableIterator; + (options?: OptionsWithPagination): AsyncIterableIterator; // A bug. // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures - all(options?: Merge>): Promise; + all(options?: OptionsWithPagination): Promise; } export interface GotRequestFunction {