Simple and light-weight JavaScript type checker that mimics existing type checking methods. Supports both browser and Node.js environment!
npm install is-checker
// For latest version.
<script src="https://kevsong.com/cdn/is-checker"></script>
// Or
<script src="https://kevsong.com/cdn/is-checker@latest"></script>
// For specific version.
<script src="https://kevsong.com/cdn/[email protected]"></script>
import * as isChecker from "is-checker";
require('is-checker');
That's it. No further action needed!
Have you ever tried to validate the type of a variable and wonder why some native objects provide 'is' type checking method but some don't?
For example:
const array = [1, 2, 3];
Array.isArray(array); // Works!
const number = 100;
Number.isNumber(number); // Doesn't work :(
This is why is-checker will add 'is' checker for every types in JavaScript!
const string = 'is-checker';
String.isString(string); // How convenient!
The purpose is to create something easy to remember without having to look back at library documentation. Since we already have some default methods to check certain types, why not extend them for every types?
Every types in JavaScript will have same 'is' checker method attached to it. If type doesn't have a class by default, it'll create one.
- isArray()
const myArray = [];
Array.isArray(myArray) // true.
- isBigint()
const myBigint = BigInt(9007199254740991);
Bigint.isBigint(myBigint) // true.
- isBoolean()
const myBoolean = true;
Boolean.isBoolean(myBoolean) // true.
- isDate()
const myDate = new Date();
Date.isDate(myDate) // true.
- isBlob()
const myBlob = new Blob([], {});
Blob.isBlob(myBlob) // true.
- isError()
const myError = new Error('');
Error.isError(myError) // true.
- isFunction()
const myFunction = () => null;
Function.isFunction(myFunction) // true.
- isMap()
const myMap = new Map();
Map.isMap(myMap) // true.
- isFile()
const myFile = new File();
File.isFile(myFile) // true.
- isNull()
const myNull = null;
Null.isNull(myNull) // true.
- isNumber()
const myNumber = 100;
Number.isNumber(myNumber) // true.
- isPromise()
const myPromise = new Promise(res => res());
Promise.isPromise(myPromise) // true.
- isObject()
const myObject = {};
Object.isObject(myObject) // true.
- isSet()
const mySet = new Set();
Set.isSet(mySet) // true.
- isRegexp()
const myRegexp = new RegExp();
Regexp.isRegexp(myRegexp) // true.
- isSymbol()
const mySymbol = Symbol();
Symbol.isSymbol(mySymbol) // true.
- isString()
const myString = '';
String.isString(myString) // true.
- isUndefined()
const myUndefined = undefined;
Undefined.isUndefined(myUndefined) // true.