Skip to content

Commit

Permalink
Fix types
Browse files Browse the repository at this point in the history
  • Loading branch information
szmarczak committed Mar 29, 2020
1 parent fcb2329 commit 1e8cd40
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
7 changes: 4 additions & 3 deletions source/create.ts
Expand Up @@ -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';
Expand Down Expand Up @@ -192,7 +193,7 @@ const create = (defaults: InstanceDefaults): Got => {
});
};

got.paginate = (async function * <T>(url: string | URL, options?: Options) {
got.paginate = (async function * <T>(url: string | URL, options?: OptionsWithPagination<T>) {
let normalizedOptions = normalizeArguments(url, options, defaults.options);

const pagination = normalizedOptions.pagination!;
Expand Down Expand Up @@ -241,7 +242,7 @@ const create = (defaults: InstanceDefaults): Got => {
}
}) as GotPaginate;

got.paginate.all = (async <T>(url: string | URL, options?: Options) => {
got.paginate.all = (async <T>(url: string | URL, options?: OptionsWithPagination<T>) => {
const results: T[] = [];

for await (const item of got.paginate<T>(url, options)) {
Expand Down
10 changes: 6 additions & 4 deletions source/types.ts
Expand Up @@ -47,16 +47,18 @@ export type OptionsOfBufferResponseBody = Options & {isStream?: false; resolveBo
export type StrictOptions = Except<Options, 'isStream' | 'responseType' | 'resolveBodyOnly'>;
type ResponseBodyOnly = {resolveBodyOnly: true};

export type OptionsWithPagination<T = unknown> = Merge<Options, PaginationOptions<T>>;

export interface GotPaginate {
<T>(url: string | URL, options?: Merge<Options, PaginationOptions<T>>): AsyncIterableIterator<T>;
all<T>(url: string | URL, options?: Merge<Options, PaginationOptions<T>>): Promise<T[]>;
<T>(url: string | URL, options?: OptionsWithPagination<T>): AsyncIterableIterator<T>;
all<T>(url: string | URL, options?: OptionsWithPagination<T>): Promise<T[]>;

// A bug.
// eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures
<T>(options?: Merge<Options, PaginationOptions<T>>): AsyncIterableIterator<T>;
<T>(options?: OptionsWithPagination<T>): AsyncIterableIterator<T>;
// A bug.
// eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures
all<T>(options?: Merge<Options, PaginationOptions<T>>): Promise<T[]>;
all<T>(options?: OptionsWithPagination<T>): Promise<T[]>;
}

export interface GotRequestFunction {
Expand Down

0 comments on commit 1e8cd40

Please sign in to comment.