UNPKG

zim-fuzzysearch

Version:

Client side fuzzy search combined with seperate configurable result highlighting.

24 lines (23 loc) 1.03 kB
import Fuse from "fuse.js"; export interface FuzzyOptions extends Fuse.IFuseOptions<any> { } export declare type UseFuseType = (options: Fuse.IFuseOptions<any>, data?: unknown[]) => { fuseResult: Fuse.FuseResult<unknown> | null; resetFuse: () => void; doFuseSearch: (search: string, reducer?: (toReduce: Fuse.FuseResult<unknown>[]) => any | Fuse.FuseResult<unknown>[], options?: Fuse.FuseSearchOptions) => unknown; groupBy: (objectArray: { [property: string]: any; }[], propName: string) => { [property: string]: any; }; }; /** * Exposes * @param data custom data to be "full text search enabled". * @param options fuse configuration object. Set which properties should be searchable. * @returns Object: * 1. fuseResult - state of fuse result. Set via doFuseSearch method. * 2. doFuseSearch - method to search given string in configured data structure * 3. groupBy - utility function to group result values. */ export declare const useFuse: UseFuseType;