@mcabreradev/filter
Version:
A powerful, SQL-like array filtering library for TypeScript and JavaScript with advanced pattern matching, MongoDB-style operators, deep object comparison, and zero dependencies
35 lines (34 loc) • 1.18 kB
TypeScript
import { filter } from '../../core/filter/filter';
import type { Expression, FilterOptions } from '../../types';
export declare function useFilter<T>(data: T[], expression: Expression<T> | null, options?: FilterOptions): {
filtered: T[];
isFiltering: boolean;
};
export declare function useFilteredState<T>(data: T[], initialExpression?: Expression<T>, options?: FilterOptions): {
filtered: T[];
expression: Expression<T> | null;
setExpression: (expr: Expression<T> | null) => void;
reset: () => void;
};
export declare function useDebouncedFilter<T>(data: T[], expression: Expression<T>, options?: {
delay?: number;
filterOptions?: FilterOptions;
}): {
filtered: T[];
isPending: boolean;
};
export declare function usePaginatedFilter<T>(data: T[], expression: Expression<T> | null, options?: {
pageSize?: number;
initialPage?: number;
filterOptions?: FilterOptions;
}): {
paginatedResults: T[];
currentPage: number;
totalPages: number;
pageSize: number;
setPage: (page: number) => void;
setPageSize: (size: number) => void;
nextPage: () => void;
prevPage: () => void;
};
export { filter };