what-is

0.1.2-EOL • Public • Published

NOTE: The package what-is was renamed to wots. Please, consider installing the renamed version.

why?

The library was written as a simple coding exercise, but then appeared useful to share 😉

how?

npm install --save what-is

and then

var whatis = require('what-is');
 
// ...
 
if (whatis(myNotAlwaysNumericVariable) === 'NaN') {
    // do some stuff
}

what?

whatis() function returns reasonable type names for tested values:

description input result
null null 'null'
undefined undefined 'undefined'
strings 'foo' 'string'
'' 'string'
['Hello', 'world!'].join(' ') 'string'
new String() 'string'
numbers 5 'number'
parseInt(42) 'number'
new Number('3') 'number'
NaN 'NaN'
Infinity 'Infinity'
1 / -0 'Infinity'
boolean values false 'boolean'
!!nonEmptyVariable 'boolean'
new Boolean('0') 'boolean'
regular expressions /^test$/g 'regexp'
new RegExp('needle', 'i') 'regexp'
arrays ['foo', 'bar', 'baz'] 'array'
new Array(10) 'array'
objects { foo: 'bar'} 'object'
{} 'object'
new Object() 'object'
Object.create(null) throws error (to be fixed)
functions function () {} 'function'
new Function('return null') 'function'
date objects new Date() 'date'
errors new Error('error!') 'error'
new TypeError('type error!') 'error'
arguments objects (function(){return arguments;})() 'arguments'
class constructors new MyClass() 'myclass'
new Buffer() 'buffer'
new XMLHttpRequest() 'xmlhttprequest'
promises new Promise(function() {}) 'promise'
Promise.resolve('data') 'promise'
Promise.reject(new Error('Oop!')) 'promise'

Note: for more examples see test file

Package Sidebar

Install

npm i what-is

Weekly Downloads

10

Version

0.1.2-EOL

License

ISC

Last publish

Collaborators

  • tvardy