UNPKG

@matthew.ngo/react-filter-pilot

Version:

Powerful filtering, pagination, and sorting for React with TanStack Query integration

31 lines (28 loc) 1 kB
import { FetchControlConfig } from '../types/index.js'; declare function useFetchControl<TFilters>(filters: TFilters, config?: FetchControlConfig<TFilters>): { shouldFetch: boolean; fetchReason: string; controlledFetch: (fetchFn: () => Promise<any>) => Promise<any>; }; declare function useRequiredFilters<TFilters>(filters: TFilters, required: (keyof TFilters)[]): { isValid: boolean; missing: string[]; message: string; }; declare function useDependentFilters<TFilters>(filters: TFilters, dependencies: Array<{ if: keyof TFilters; equals?: any; then: keyof TFilters | (keyof TFilters)[]; }>): { isValid: boolean; errors: string[]; }; declare function useFilterCombinations<TFilters>(filters: TFilters, rules: Array<{ filters: (keyof TFilters)[]; condition: 'all' | 'any' | 'none'; message?: string; }>): { isValid: boolean; errors: string[]; }; export { useDependentFilters, useFetchControl, useFilterCombinations, useRequiredFilters };