matchFilters
matchFilters<
T
,C
>(item
:T
,condition
:C
):item is T & HasFilterValues<T, C>
Defined in: match-filters.ts:20
Checks if an item matches all conditions in a filter object. Returns true if every key in the condition matches the corresponding item value.
Type Parameters
Section titled “Type Parameters”Type Parameter |
---|
T extends Record <string , any > |
C extends NestableFilters <T > |
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
item | T | The object to test. |
condition | C | The filter conditions to match. |
Returns
Section titled “Returns”item is T & HasFilterValues<T, C>
True if the item matches all filter conditions.
Source
Section titled “Source”This function is useful for filtering objects based on nested or flat filter criteria. It enables type-safe filtering and is commonly used in state machines, event systems, and data processing.
export function matchFilters< T extends Record<string, any>, C extends NestableFilters<T>,>(item: T, condition: C): item is T & HasFilterValues<T, C> { return Object.keys(condition).every((key) => matchKey(condition[key as keyof C], item[key]) );}
Example
Section titled “Example”const item = { status: "active", role: "admin" };const filter = { status: "active", role: ["admin", "user"] };matchFilters(item, filter); // true