bbo
Version:
bbo is a utility library of zero dependencies for javascript.
36 lines (26 loc) • 678 B
JavaScript
;
var is_object = require('./is_object.js');
require('./get_tag.js');
var is_array = require('./is_array.js');
var is_string = require('./is_string.js');
var is_map = require('./is_map.js');
var is_set = require('./is_set.js');
function isEmpty(obj) {
if (obj === null) {
return true;
}
if (is_array(obj)) {
return !obj.length;
}
if (is_string(obj)) {
return !obj.length;
}
if (is_object(obj)) {
return !Object.keys(obj).length;
}
if (is_map(obj) || is_set(obj)) {
return !obj.size;
} // other primitive || unidentifed object type
return Object(obj) !== obj || !Object.keys(obj).length;
}
module.exports = isEmpty;