diff --git a/index.d.ts b/index.d.ts index 1a61e90..ab4f5cf 100644 --- a/index.d.ts +++ b/index.d.ts @@ -108,8 +108,8 @@ declare module "flexsearch" { ? { [K in keyof D]: K extends string ? D[K] extends Array - ? `${K}` | `${K}[]:${FieldName & string}` - : K | `${K}:${FieldName & string}` + ? `${ K }` | `${ K }[]:${ FieldName & string }` + : K | `${ K }:${ FieldName & string }` : never }[keyof D] : never @@ -219,7 +219,7 @@ declare module "flexsearch" { type DefaultSearchResults = Id[]; type IntermediateSearchResults = Array; - type SearchResults = DefaultSearchResults | Resolver; + type SearchResults = R extends true ? Resolver : DefaultSearchResults; /** * **Document:** @@ -242,13 +242,15 @@ declare module "flexsearch" { remove(id: Id): this | Promise; - search(query: string, options?: Limit | SearchOptions): SearchResults | Promise; - search(query: string, limit: number, options: SearchOptions): SearchResults | Promise; - search(options: SearchOptions): SearchResults | Promise; + search(query: string, limit?: Limit): SearchResults | Promise; + search(query: string, options?: SearchOptions): SearchResults | Promise>; + search(query: string, limit: Limit, options: SearchOptions): SearchResults | Promise>; + search(options: SearchOptions): SearchResults | Promise>; - searchCache(query: string, options?: Limit | SearchOptions): SearchResults | Promise; - searchCache(query: string, limit: number, options: SearchOptions): SearchResults | Promise; - searchCache(options: SearchOptions): SearchResults | Promise; + searchCache(query: string, limit?: Limit): SearchResults | Promise; + searchCache(query: string, options?: Limit | SearchOptions): SearchResults | Promise>; + searchCache(query: string, limit: Limit, options: SearchOptions): SearchResults | Promise>; + searchCache(options: SearchOptions): SearchResults | Promise>; // https://github.com/nextapps-de/flexsearch#check-existence-of-already-indexed-ids contain(id: Id): boolean | Promise; @@ -299,19 +301,24 @@ declare module "flexsearch" { searchAsync( query: string, - options?: Limit | SearchOptions, + limit?: Limit, callback?: AsyncCallback, ): Promise - searchAsync( + searchAsync( + query: string, + options?: SearchOptions, + callback?: AsyncCallback>, + ): Promise> + searchAsync( query: string, limit: Limit, - options?: SearchOptions, - callback?: AsyncCallback, - ): Promise; - searchAsync( - options: SearchOptions, - callback?: AsyncCallback, - ): Promise; + options?: SearchOptions, + callback?: AsyncCallback>, + ): Promise>; + searchAsync( + options: SearchOptions, + callback?: AsyncCallback>, + ): Promise>; } /**