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

30 lines (29 loc) 1.1 kB
import { Accessor } from 'solid-js'; import { filter } from '../../core/filter/filter'; import type { Expression, FilterOptions } from '../../types'; export declare function useFilter<T>(data: Accessor<T[]>, expression: Accessor<Expression<T> | null>, options?: Accessor<FilterOptions>): { filtered: Accessor<T[]>; isFiltering: Accessor<boolean>; }; export declare function useDebouncedFilter<T>(data: Accessor<T[]>, expression: Accessor<Expression<T>>, options?: { delay?: number; filterOptions?: FilterOptions; }): { filtered: Accessor<T[]>; isPending: Accessor<boolean>; }; export declare function usePaginatedFilter<T>(data: Accessor<T[]>, expression: Accessor<Expression<T> | null>, options?: { pageSize?: number; initialPage?: number; filterOptions?: FilterOptions; }): { paginatedResults: Accessor<T[]>; currentPage: Accessor<number>; totalPages: Accessor<number>; pageSize: Accessor<number>; setPage: (page: number) => void; setPageSize: (size: number) => void; nextPage: () => void; prevPage: () => void; }; export { filter };