UNPKG

@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
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 };