babel-plugin-transform-isnil

1.0.1 • Public • Published

babel-plugin-transform-isNil

About

I like Existential Operator in CoffeeScript. CoffeeScript can be written as follows:

hoge?

Become to JavaScript

hoge == null

Same meaning

hoge === null || hoge === undefined

I want to do the same thing in JavaScript.

Installation

$ npm install --save babel-plugin-transform-isnil

Example

In

if (foo.isNil) {
  console.log('foo is null or undefined');
}

Out

if (foo === null || foo === undefined) {
  console.log('foo is null or undefined');
}

In

if (hoge.poge.isNil && foo.bar.isNil) {
  console.log('hoge.poge and foo.bar is null or undefined');
}

Out

if ((hoge.poge === null || hoge.poge === undefined) && (foo.bar === null || foo.bar === undefined)) {
  console.log('hoge.poge and foo.bar is null or undefined');
}

In

if (hoge.poge().isNil) {
  console.log('returned value of hoge.poge() function is null or undefined');
}

Out

if (hoge.poge() === null || hoge.poge() === undefined) {
  console.log('returned value of hoge.poge() function is null or undefined');
}

In

if (hoge.poge(hoge).isNil) {
  console.log('returned value of hoge.poge() function is null or undefined');
}

Out

if (hoge.poge(hoge) === null || hoge.poge(hoge) === undefined) {
  console.log('returned value of hoge.poge() function is null or undefined');
}

Usage

Via .babelrc

{
  "plugins": ["babel-plugin-transform-isnil"]
}

Development

Requirement global

  • Node v4 or above
$ git clone https://github.com/MaxMEllon/babel-plugin-transform-isNil
cd babel-plugin-transform-isNil
$ npm install
 
$ npm test

Special Thanks

LICENSE

MIT

Readme

Keywords

Package Sidebar

Install

npm i babel-plugin-transform-isnil

Weekly Downloads

13

Version

1.0.1

License

MIT

Last publish

Collaborators

  • maxmellon