19 lines
428 B
TypeScript
19 lines
428 B
TypeScript
export function flatten(obj: object) {
|
|
return Object.values(obj).flat();
|
|
}
|
|
|
|
export function filterObject<T extends object, RemovedKeys extends keyof T>(
|
|
obj: T,
|
|
filter: (value: T[keyof T]) => boolean
|
|
): Omit<T, RemovedKeys> {
|
|
const keys = Object.keys(obj) as Array<keyof T>;
|
|
|
|
return keys.reduce((acc, objKey) => {
|
|
if (filter(obj[objKey])) {
|
|
acc[objKey] = obj[objKey];
|
|
}
|
|
|
|
return acc;
|
|
}, {} as T);
|
|
}
|