.verb.md
January 31, 2018 ยท View on GitHub
Usage
const has = require('{%= name %}');
Create an isEmpty function by returning the inverse of the result from has-values:
const isEmpty = val => !has(val);
Supported types
Arrays
console.log(has(['a'])); //=> true
console.log(has([0])); //=> true
console.log(has([[[]]])); //=> false
console.log(has([[], []])); //=> false
console.log(has([])); //=> false
Booleans
console.log(has(true)); //=> true
console.log(has(false)); //=> true
Buffers
console.log(has(new Buffer())); //=> false
console.log(has(new Buffer('foo'))); //=> true
Dates
Dates are always true.
console.log(has(new Date())); //=> true
Errors
Returns false if err.message is an empty string.
console.log(has(new Error())); //=> false
console.log(has(new Error('foo'))); //=> true
Functions
Functions are always true.
console.log(has(function(foo) {})); //=> true
console.log(has(function() {})); //=> true
Maps
console.log(has(new Map())); //=> false
console.log(has(new Map([['foo', 'bar']]))); //=> true
Null
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
Objects
console.log(has({})); //=> false
console.log(has({ a: 'a' }})); //=> true
console.log(has({ foo: undefined })); //=> false
console.log(has({ foo: null })); //=> true
Numbers
console.log(has(1)); //=> true
console.log(has(0)); //=> true
Regular expressions
console.log(has(new RegExp())); //=> false
console.log(has(new RegExp('foo'))); //=> true
Sets
console.log(has(new Set())); //=> false
console.log(has(new Set(['foo', 'bar']))); //=> true
Strings
console.log(has('a')); //=> true
console.log(has('')); //=> false
Undefined
console.log(has()); //=> false
console.log(has(void 0)); //=> false
console.log(has(undefined)); //=> false
Release history
v2.0.0
- no longer supports numbers as a string
- optimizations
- adds support for
regexandbuffer
v1.0.0
- adds support for
MapandSet zeroalways returns truearraynow recurses, so that an array of empty arrays will returnfalsenullnow returns true