gears/node_modules/fuse.js/dist/fuse.d.ts

47 lines
1.3 KiB
TypeScript
Raw Normal View History

2019-11-10 19:54:50 +00:00
// Type definitions for Fuse.js v3.4.5
// TypeScript Version: 3.1
export = Fuse;
export as namespace Fuse;
interface SearchOpts {
limit?: number
}
declare class Fuse<T, O extends Fuse.FuseOptions<any> = Fuse.FuseOptions<any>> {
constructor(list: ReadonlyArray<T>, options?: O)
search(pattern: string, opts?: SearchOpts): O extends { id: keyof T } ?
O extends ({ includeMatches: true; } | { includeScore: true; }) ? Fuse.FuseResult<string>[] : string[] :
O extends ({ includeMatches: true; } | { includeScore: true; }) ? Fuse.FuseResult<T>[] : T[];
setCollection(list: ReadonlyArray<T>): ReadonlyArray<T>;
}
declare namespace Fuse {
export interface FuseResult<T> {
item: T,
matches?: any;
score?: number;
}
export interface FuseOptions<T> {
id?: keyof T;
caseSensitive?: boolean;
includeMatches?: boolean;
includeScore?: boolean;
shouldSort?: boolean;
sortFn?: (a: { score: number }, b: { score: number }) => number;
getFn?: (obj: any, path: string) => any;
keys?: (keyof T)[] | T[keyof T] | { name: keyof T; weight: number }[];
verbose?: boolean;
tokenize?: boolean;
tokenSeparator?: RegExp;
matchAllTokens?: boolean;
location?: number;
distance?: number;
threshold?: number;
maxPatternLength?: number;
minMatchCharLength?: number;
findAllMatches?: boolean;
}
}