isnot
Beautifully documented type checking package for JavaScript.
Usage
Use any of the functions as named exports:
const {isString, isArray} = require('isnot')
//or
import {isObject} from 'isnot'
Functions
Strings
String
Corresponds to the js string primitive
isString
isString('')
isNotString
isNotString(()=>{})
Empty String
An empty string is only ''
isEmptyString
Purely checks if the string is empty
isEmptyString({})
isEmptyString('')
isEmptyString(' ')
isEmptyString
isNotEmptyString('')
Name
A name is a string that is just not empty space.
isName
isName('')
isName(' ')
isName('\r')
isName(123)
isName('hey')
isNotName
isNotName('')
isNotName(' ')
isNotName('\n')
isNotName([])
isNotName({}.toString())
Email
isEmail
isEmail('a@b.c')
isNotEmail
isNotEmail('missing@dot')
isNotEmail('missing.domain')
Variable Name
isVariableName
isVariableName('var')
isVariableName('oh dear')
isVariableName('0rel')
isVariableName('var0')
isNotVariableName
isNotVariableName('a@a')
isNotVariableName('--var--')
URL
isURL
isURL('https://localhost')
isURL('www.site.com')
isNotURL
isNotURL('a@a')
isNotURL('site.com')
ISO String
Checks only if string it's in a ISO format, not if the date is actually a valid date.
Useful to check date properties stored in a database.
isISOString
isISOString(new Date().toISOString())
isISOString('2017-06-01T18:43:26.000-02:00')
isISOString('2017-06-01T18:43:26.000Z')
isNotISOString
isNotISOString('2017-06-01')
isNotISOString('2017/06/01')
isNotISOString('2017/06/01T18:43:26.000-02:00')
isNotISOString(new Date().toString())
UUID
Tests any version of UUID from 1 to 5.
isUUID
isUUID(uuidv1())
isUUID(uuidv2())
isUUID(uuidv3())
isUUID(uuidv4())
isUUID(uuidv5())
isUUID('5a2de30a-a736-5aea-8f7f-ad0f019cdc00')
isNotUUID
isNotUUID('2017-06-01')
Arrays
isArray/isNotArray
isArray([])
isArray({})
isNotArray()
isNotArray(['hey'])
isEmptyArray/isNotEmptyArray
isEmptyArray([])
isEmptyArray({})
isNotEmptyArray([])
isNotEmptyArray([1])
isNotEmptyArray({})
isArrayOfNames
isArrayOfNames([])
isArrayOfNames([' ', ''])
isArrayOfNames(['1', 'foo'])
Objects
Object
isObject()
isObject([])
isObject({})
isNotObject()
isNotObject('')
isEmptyObject()
isEmptyObject({})
isNotEmptyObject()
isNotEmptyObject({a: 1})
Numbers
isNumber(1)
isNotNumber(NaN)
isInt(0)
isNotInt(1.2)
Bool
isBool(1)
isNotBool(NaN)
isBool(0)
isBool(true)
Generic
isEmpty([])
isEmpty('')
isEmpty(' ')
isEmpty({})
isEmpty(null)
isEmpty(undefined)
isEmpty(0)
isNotEmpty('hey')
Dates
isDate('')
isNotDate('')
isDate(new Date())
isDate('1970-01-01T00:00:00.000Z')
isDate('1970-01-01T00:00:00')
isDate('1970-01-01T00:00')
isDate('1970-01-01')
isDate('0000-00-00')
isDate('1970-13-01')
isDate('1970-01-32')
isDate('2017-02-29')
undefined
isUndefined('')
isUndefined(false)
isUndefined(undefined)
isUndefined(typeof undefined)
isUndefined({}.inventedProp)