Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including empty-value with all npm packages installed. Try it out:

var emptyValue = require("empty-value")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

empty-value v1.0.1

Check if a given value is empty in JS extending his "truthy" and "falsy" nature

empty-value

:package: Check if a given value is empty in JS extending his "truthy" and "falsy" nature

Status

Build Status

Installation

Using npm

npm install --save empty-value
The following values are considered to be empty:
  • NaN
  • 0 (0 as an integer)
  • 0.0 (0 as a float)
  • "0" (0 as a string)
  • null
  • false
  • undefined
  • "" (an empty string)
  • " " (an string with only spaces)
  • array( ) / [ ] (an empty array)
  • { } (an empty object / no direct keys)

Usage

var empty = require('empty-value');

empty(true) //false
empty(12345) //false
empty(-12345) //false
empty('Lorem Ipsum is simply dummy text') //false
empty([1, 2, 3]) //false
empty({ foo: 'bar' }) //false
empty('{ "id" : 1 }') //false
empty(function () { }) //false

empty(NaN) //true
empty(0) //true
empty(0.0) //true
empty(null) //true
empty(false) //true
empty(undefined) //true
empty('0') //true
empty(''); //true
empty(' '); //true
empty([]) //true
empty({ }) //true

var proto = { foo: 'bar' };
var obj = Object.create(proto);
empty(obj) //true  Note: foo is not a directly property of obj
Using hooks

If empty can't guess the correct answer (IE: value is a function) before return FALSE you could use your own hook. See example bellow:

var myEmptyHook = function (value) {//i don't like functions
  return typeof value === 'function' ? true : false;
}
var func = function () {
  return 'bar';
}

empty(func, myEmptyHook); //true
License

MIT

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free