npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

is-js

v0.2.1

Published

A small library for identifying Javascript types.

Downloads

1,097

Readme

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

| Name | Type | | :------ | :------ | | arg | any |

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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value 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

| Name | Type | Description | | :------ | :------ | :------ | | value | unknown | Value in question |

Returns

value is undefined

true if the given argument is undefined