fuzzyjs
Version:
Simple fuzzy matching
22 lines (21 loc) • 963 B
TypeScript
import { TestOptions } from "./test";
export declare type ItemIterator<TItem> = (source: TItem) => string;
export interface FilterOptions<TItem> extends TestOptions {
iterator: ItemIterator<TItem>;
}
export interface SortOptions<TItem> extends TestOptions {
iterator: ItemIterator<TItem>;
}
declare type FilterIterator<TItem> = (item: TItem) => boolean;
declare type SortIterator<TItem> = (leftItem: TItem, rightItem: TItem) => number;
/**
* This array helper can be used as an `Array.prototype.filter` callback as it
* will return true or false when passing it a source string.
*/
export declare function filter<TItem>(query: string, options: FilterOptions<TItem>): FilterIterator<TItem>;
/**
* This array helper can be used as an `Array.prototype.sort` callback as it
* will return `-1`/`0`/`1` when passing it two source strings.
*/
export declare function sort<TItem>(query: string, options: SortOptions<TItem>): SortIterator<TItem>;
export {};