refactor(pipedrive): make filterProvidedFields func reusable

This commit is contained in:
Rıdvan Akca
2023-10-20 19:25:06 +03:00
committed by Ali BARIN
parent 94e64676af
commit 034bc6a79e
7 changed files with 26 additions and 62 deletions

View File

@@ -0,0 +1,18 @@
import isObject from 'lodash/isObject';
export function filterProvidedFields(body: Record<string, unknown>) {
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
const value = body[key];
if (isObject(value)) {
const filteredNestedObj = filterProvidedFields(
value as Record<string, unknown>
);
if (Object.keys(filteredNestedObj).length > 0) {
result[key] = filteredNestedObj;
}
} else if (body[key]) {
result[key] = value;
}
return result;
}, {});
}