UNPKG

@risan/is-empty

Version:

Check if a value is empty or not.

43 lines (31 loc) 1.04 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var isPlainObj = _interopDefault(require('@risan/is-plain-obj')); const isString = value => typeof value === "string"; const isNumber = value => typeof value === "number"; const isArray = value => Array.isArray(value); const isMapOrSet = value => value instanceof Map || value instanceof Set; /** * Check if the given value is empty or not. * * @param {Mixed} value * @return {Boolean} */ const isEmpty = value => { let empty = false; if (value === null || value === undefined) { empty = true; } else if (isString(value)) { empty = value.trim().length === 0; } else if (isNumber(value)) { empty = Number.isNaN(value); } else if (isArray(value)) { empty = value.length === 0; } else if (isMapOrSet(value)) { empty = value.size === 0; } else if (isPlainObj(value)) { empty = Object.keys(value).length === 0; } return empty; }; module.exports = isEmpty;