UNPKG

@lableb/javascript-sdk

Version:

Lableb cloud search client for javascript

46 lines (35 loc) 977 B
/** * take an object of key values, it keeps only truthy values depending on * the predicate function passed */ export function customPickBy(obj: any, func: (v: any) => boolean) { if (!obj) return undefined; let objectCopy = Object.assign({}, obj); Object.keys(objectCopy).forEach(key => { if (!func(objectCopy[key])) { delete objectCopy[key] } }); return objectCopy; } export function customIdentity(value: any) { /** * allow 0 values to exist and convert them to string */ if (typeof value == 'number' && value == 0) return '0'; // if (typeof value == 'string' && value == '') // return true; return value; } export function skipEmptyObject(item: any) { switch (typeof item) { case 'object': { if (Object.keys(item).length) return true; else return false; } default: return true; } }