Skip to content

kevinmnm/is-checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

31 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Type of this value is.. checker! โœ…

npm version Known Vulnerabilities


Simple and light-weight JavaScript type checker that mimics existing type checking methods. Supports both browser and Node.js environment!


๐Ÿ“‹Table of Contents ๐Ÿ“‹


Installation

NPM

npm install is-checker

CDN

// 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/is-checker@1.0.0"></script>

Import

ESM

import * as isChecker from "is-checker";

CJS

require('is-checker');

That's it. No further action needed!


Introduction

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?


Guide

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.

Array
  • isArray()
const myArray = [];
Array.isArray(myArray) // true.
Bigint
  • isBigint()
const myBigint = BigInt(9007199254740991);
Bigint.isBigint(myBigint) // true.
Boolean
  • isBoolean()
const myBoolean = true;
Boolean.isBoolean(myBoolean) // true.
Date
  • isDate()
const myDate = new Date();
Date.isDate(myDate) // true.
Blob
  • isBlob()
const myBlob = new Blob([], {});
Blob.isBlob(myBlob) // true.
Error
  • isError()
const myError = new Error('');
Error.isError(myError) // true.
Function
  • isFunction()
const myFunction = () => null;
Function.isFunction(myFunction) // true.
Map
  • isMap()
const myMap = new Map();
Map.isMap(myMap) // true.
File
  • isFile()
const myFile = new File();
File.isFile(myFile) // true.
Null
  • isNull()
const myNull = null;
Null.isNull(myNull) // true.
Number
  • isNumber()
const myNumber = 100;
Number.isNumber(myNumber) // true.
Promise
  • isPromise()
const myPromise = new Promise(res => res());
Promise.isPromise(myPromise) // true.
Object
  • isObject()
const myObject = {};
Object.isObject(myObject) // true.
Set
  • isSet()
const mySet = new Set();
Set.isSet(mySet) // true.
Regexp
  • isRegexp()
const myRegexp = new RegExp();
Regexp.isRegexp(myRegexp) // true.
Symbol
  • isSymbol()
const mySymbol = Symbol();
Symbol.isSymbol(mySymbol) // true.
String
  • isString()
const myString = '';
String.isString(myString) // true.
Undefined
  • isUndefined()
const myUndefined = undefined;
Undefined.isUndefined(myUndefined) // true.

About

About

JS type checker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published