isnot
Beautifully documented type checking package for JavaScript.
Light. Efficient. Zero dependencies.
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);
Boolean
isBoolean
isBoolean(1);
isBoolean(0);
isNotBoolean
isNotBoolean(NaN); //true
isNotBoolean(true); //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);