0.1.2-EOL • Published 7 years ago
what-is v0.1.2-EOL
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 :wink:
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