12345678910111213141516171819202122 |
- export function filterItems<I extends object, K extends string>({
- filterFns,
- filterVals,
- items,
- }: {
- filterFns: Record<K, (item: I, val: any) => boolean>;
- filterVals: Record<K, any>;
- items: undefined | I[];
- }): I[] {
- return (
- items?.filter(item => {
- for (const key in filterFns) {
- const filter = filterFns[key];
- const val = filterVals[key];
- if (!filter(item, val)) {
- return false;
- }
- }
- return true;
- }) || []
- );
- }
|