const has = require('{%= name %}');
Create an isEmpty
function by returning the inverse of the result from has-values:
const isEmpty = val => !has(val);
console.log(has(['a'])); //=> true
console.log(has([0])); //=> true
console.log(has([[[]]])); //=> false
console.log(has([[], []])); //=> false
console.log(has([])); //=> false
console.log(has(true)); //=> true
console.log(has(false)); //=> true
console.log(has(new Buffer())); //=> false
console.log(has(new Buffer('foo'))); //=> true
Dates are always true.
console.log(has(new Date())); //=> true
Returns false
if err.message
is an empty string.
console.log(has(new Error())); //=> false
console.log(has(new Error('foo'))); //=> true
Functions are always true.
console.log(has(function(foo) {})); //=> true
console.log(has(function() {})); //=> true
console.log(has(new Map())); //=> false
console.log(has(new Map([['foo', 'bar']]))); //=> true
null
is always true, as it's assumed that this is a user-defined value, versus undefined
which is not.
console.log(has(null)); //=> true
console.log(has({})); //=> false
console.log(has({ a: 'a' }})); //=> true
console.log(has({ foo: undefined })); //=> false
console.log(has({ foo: null })); //=> true
console.log(has(1)); //=> true
console.log(has(0)); //=> true
console.log(has(new RegExp())); //=> false
console.log(has(new RegExp('foo'))); //=> true
console.log(has(new Set())); //=> false
console.log(has(new Set(['foo', 'bar']))); //=> true
console.log(has('a')); //=> true
console.log(has('')); //=> false
console.log(has()); //=> false
console.log(has(void 0)); //=> false
console.log(has(undefined)); //=> false
- no longer supports numbers as a string
- optimizations
- adds support for
regex
andbuffer
- adds support for
Map
andSet
zero
always returns truearray
now recurses, so that an array of empty arrays will returnfalse
null
now returns true