0.3.2 • Published 3 years ago

wots v0.3.2

Weekly downloads
3
License
ISC
Repository
github
Last release
3 years ago

why?

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

how?

npm install --save wots

and then

// use as ES6 module
import wots from 'wots';

// use in NodeJs
var wots = require('wots');

// use as global variable via UnPKG
<script src="https://unpkg.com/wots"></script>

// ... then ...

if (wots(myNotAlwaysNumericVariable) === 'NaN') {
  // do some stuff
  // e.g. console.log('I cannot count on it')
} else if (wots(myNotAlwaysNumericVariable) === 'Infinity') {
  // do some other stuff
  // e.g. console.log('Please do not force me to use this value in a loop!')
}

what?

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

descriptioninputresult
nullnull'null'
undefinedundefined'undefined'
strings'foo''string'
'''string'
['Hello', 'world!'].join(' ')'string'
new String()'string'
numbers5'number'
parseInt(42)'number'
new Number('3')'number'
NaN'NaN'
Infinity'Infinity'
1 / -0'Infinity'
boolean valuesfalse'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)'object
functionsfunction () {}'function'
new Function('return null')'function'
date objectsnew Date()'date'
errorsnew Error('error!')'error'
new TypeError('type error!')'error'
arguments objects(function(){return arguments;})()'arguments'
class constructorsnew MyClass()'myclass'
new Buffer()'buffer'
new XMLHttpRequest()'xmlhttprequest'
promisesnew Promise(function() {})'promise'
Promise.resolve('data')'promise'
Promise.reject(new Error('Oop!'))'promise'

Note: for more examples see test file

Since version 0.2.0 the library also exposes static methods listed below:

wots.isNull()
wots.isUndefined()
wots.isString()
wots.isNumber()
wots.isNaN()
wots.isInfinity()
wots.isBoolean()
wots.isRegExp()
wots.isArray()
wots.isObject()
wots.isFunction()
wots.isDate()
wots.isError()
wots.isArguments()
wots.isPromise()

the name

wots basically stands for what is but is shorter :wink:

0.3.2

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.2

4 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.0.1

7 years ago