An open API service indexing awesome lists of open source software.

https://github.com/fibo/not-defined

checks if foo is not defined, i.e. undefined, null, an empty string, array, object or NaN
https://github.com/fibo/not-defined

Last synced: 9 months ago
JSON representation

checks if foo is not defined, i.e. undefined, null, an empty string, array, object or NaN

Awesome Lists containing this project

README

          

# not-defined

> checks if foo is not defined, i.e. undefined, null, an empty string, array, object or NaN

## Installation

```bash
npm install not-defined
```

## Pros

* Type less.
* Better readability (even your boss will understand your code ^:).
* Can save bytes in your builds.
* Easier to autocomplete in editors (for instance easier than `typeof foo === 'undefined'`).

## Usage

This snippet of code

```javascript
import notDefined from 'not-defined'

if (notDefined(foo)) {
// do something, usually throw a TypeError
}
```

is equivalent to the following pseudocode

```
if (foo is not defined, i.e. is null, undefined, NaN, an empty string, array or object) {
// do something, usually throw a TypeError
}
```

You can also use a shorter but still semantic form like

```javascript
import no from 'not-defined'

if (no(foo)) {
// do something, usually throw a TypeError
}
```

Follows a list of [tested examples](https://github.com/fibo/not-defined/blob/master/test.js)

```javascript
no() // true
no(undefined) // true
no(null) // true
no('') // true
no([]) // true
no({}) // true
no(NaN) // true

no(0) // false
no(true) // false
no(false) // false
no('string') // false
no(['foo']) // false
no({ foo: true }) // false
no(42) // false
no(Infinity) // false
no(function () { return 1 }) // false
```

## License

[MIT](http://g14n.info/mit-license)