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

11 lines (10 loc) 603 B
import { useState, useCallback } from 'react'; import { useFilterCore, useIsFiltering } from './react.utils'; export function useFilteredState(initialData = [], initialExpression = () => true, options) { const [data, setData] = useState(initialData); const [expression, setExpressionState] = useState(initialExpression); const filtered = useFilterCore(data, expression, options); const isFiltering = useIsFiltering(filtered, data); const setExpression = useCallback((e) => setExpressionState(e), []); return { data, setData, expression, setExpression, filtered, isFiltering }; }