UNPKG

bbo

Version:

bbo is a utility library of zero dependencies for javascript.

36 lines (26 loc) 678 B
'use strict'; 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;