import { identity, pickBy } from 'lodash'; export function cleanObject(object: object): any { return pickBy({...object}, function pickParams(param: string | object | number | any[]): any { if (typeof param === 'string') { return param.trim(); } if (typeof param === 'object') { return Object.keys(pickBy({...param}, pickParams)).length > 0; } if (typeof param === 'number') { return true; } if (typeof param === 'boolean') { return true; } return identity(param); }); }