0.2.1 • Published 2 years ago

is-js v0.2.1

Weekly downloads
340
License
MIT
Repository
github
Last release
2 years ago

is.js

A collection of user-defined type guards to handle some of Javascript's less-than-ideal behavior.

Installing

$ npm install is-js
$ yarn add is-js

Usage

array

array(arg): arg is any[]

Determines if the argument is an array.

remarks Defaults to the native Array.isArray method, if present.

Parameters

NameType
argany

Returns

arg is any[]

true if the given argument is an array


bigint

bigint(value): boolean

Determines if the argument is a BigInt

remarks This method does not support polyfilled BigInt implementations; please defer to the library in use to determine the type of an unknown argument.

Parameters

NameTypeDescription
valueunknownValue in question

Returns

boolean

true if the given argument is a native BigInt


bool

bool(value): value is boolean

Determines if the argument is a boolean

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is boolean

true if the given argument is a boolean


date

date(value): value is Date

Determines if the argument is a date.

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is Date

true if the given argument is a date


error

error(value): value is Error

Determines if the argument is an error.

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is Error

true if the given argument is an error


func

func(value): value is Function

Determines if the argument is a function.

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is Function

true if the given argument is a function


nil

nil(value): value is null

Determines if the argument is null

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is null

true if the given argument is null


number

number(value): value is number

Determines if the argument is a number

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is number

true if the given argument is a number


object

object(value): value is Object

Determines if the argument is an object.

remarks Nearly everything in Javascript is an object; this method discerns between native primitives (e.g. true, 3, some text) and their object-wrapped variants (Boolean, Number, String)

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is Object

true if the given argument is an object


promise

promise(value): value is Promise<unknown>

Determines if the argument is a native promise.

remarks Some libraries and frameworks still include their own polyfilled Promises, in which case this method is unreliable. If you are using such a library, please defer to the provided Promise implementation or use promiseLike

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is Promise<unknown>

true if the given argument is a string


promiseLike

promiseLike(value): value is Object

Determines if the argument conforms to the minimal interface of a Promise; that is, it has a method named then.

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is Object

true if the given argument conforms to the Promise interface


regex

regex(value): value is RegExp

Determines if the argument is a regular expression.

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is RegExp

true if the given argument is a regular expression


string

string(value): value is string

Determines if the argument is a string.

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is string

true if the given argument is a string


symbol

symbol(value): value is Symbol

Determines if the argument is a symbol

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is Symbol

true if the given argument is a symbol


undef

undef(value): value is undefined

Determines if the argument is undefined

Parameters

NameTypeDescription
valueunknownValue in question

Returns

value is undefined

true if the given argument is undefined