UNPKG

@techmely/utils

Version:

Collection of helpful JavaScript / TypeScript utils

73 lines (60 loc) 1.29 kB
'use strict'; /*! * @techmely/utils * Copyright(c) 2021-2024 Techmely <techmely.creation@gmail.com> * MIT Licensed */ // src/isDefined.ts function isDefined(val) { return typeof val !== "undefined"; } // src/isArray.ts function isArray(val) { return val && Array.isArray(val); } // src/isEmptyArray.ts function isEmptyArr(array) { return array?.length === 0; } // src/isObject.ts function isObject(val) { return toString.call(val) === "[object Object]"; } // src/isString.ts function isString(val) { return typeof val === "string"; } // src/isEmpty.ts function isEmpty(val) { if (!val) { return true; } if (isArray(val)) { return isEmptyArr(val); } if (isString(val)) { return val.trim().length === 0; } if (val instanceof Map || val instanceof Set) { return val.size === 0; } if (isObject(val)) { return Object.keys(val).length === 0; } return false; } // src/isNotEmpty.ts function isNotEmpty(val) { return !isEmpty(val); } // src/isNotNull.ts function isNotNull(v) { return v !== null; } // src/removeEmptyObject.ts function removeEmptyObj(obj) { return Object.fromEntries( Object.entries(obj).filter(([_, v]) => isNotNull(v) && isDefined(v) && isNotEmpty(v)) ); } exports.removeEmptyObj = removeEmptyObj;