use-form
Version:
42 lines (41 loc) • 1.02 kB
JavaScript
;
exports.__esModule = true;
var typeOf_1 = require("./typeOf");
/**
* isEmpty
* @param {any} val
* @return {Boolean}
*/
function isEmpty(val) {
// Undefined...
if ('undefined' === typeof val) {
return true;
}
// Strings...
if ('string' === typeof val) {
return val.length === 0;
}
// Objects...
if (typeOf_1.isObject(val)) {
switch (val.toString()) {
// Maps, Sets, Files and Errors...
case '[object File]':
case '[object Map]':
case '[object Set]': {
return val.size === 0;
}
// Plain objects...
case '[object Object]': {
for (var key in val) {
if (Object.prototype.hasOwnProperty.call(val, key)) {
return false;
}
}
return true;
}
}
}
// Anything else...
return false;
}
exports["default"] = isEmpty;