1.0.0 • Published 4 months ago

is-what-type v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

is-what-type

npm package

A simple type-checking utility library.

NPM Version NPM Downloads

Installation

::: code-group

npm add is-what-type
pnpm add is-what-type
yarn add is-what-type
bun add is-what-type

:::

Feature Overview

  • :clipboard: API Count: Provides 15 practical type-checking functions.
  • :zap: Efficient and Accurate: Provides efficient type-checking functions to ensure accurate results.
  • :book: Easy to Use: Offers a clean and concise API design for quick developer adoption.
  • :package: Cross-Platform Compatibility: Works in both JavaScript and TypeScript environments.
  • :white_check_mark: Unit Test Coverage: All functionalities are thoroughly covered by unit tests to ensure code quality.
  • :link: No External Dependencies: Does not rely on any third-party libraries, keeping it lightweight.

API List

getType

Get the type of a value.

import { getType } from 'is-what-type';

console.log(getType(null)); // 'Null'
console.log(getType(undefined)); // 'Undefined'
console.log(getType(1)); // 'Number'
console.log(getType('string')); // 'String'
console.log(getType(true)); // 'Boolean'
console.log(getType([])); // 'Array'
console.log(getType({})); // 'Object'
console.log(getType(function() {})); // 'Function'
console.log(getType(new Date())); // 'Date'
console.log(getType(new RegExp(''))); // 'RegExp'
console.log(getType(new Error())); // 'Error'
console.log(getType(new Map())); // 'Map'
console.log(getType(new Set())); // 'Set'
console.log(getType(new WeakMap())); // 'WeakMap'
console.log(getType(new WeakSet())); // 'WeakSet'
console.log(getType(new Promise(() => {}))); // 'Promise'
console.log(getType(Symbol())); // 'Symbol'
console.log(getType(new Int8Array())); // 'Int8Array'
console.log(getType(new Uint8Array())); // 'Uint8Array'
console.log(getType(new Uint8ClampedArray())); // 'Uint8ClampedArray'
console.log(getType(new Int16Array())); // 'Int16Array'
console.log(getType(new Uint16Array())); // 'Uint16Array'
console.log(getType(new Int32Array())); // 'Int32Array'
console.log(getType(new Uint32Array())); // 'Uint32Array'
console.log(getType(new Float32Array())); // 'Float32Array'
console.log(getType(new Float64Array())); // 'Float64Array'
console.log(getType(new BigInt64Array())); // 'BigInt64Array'
console.log(getType(new BigUint64Array())); // 'BigUint64Array'

isAbsoluteURL

Check if a value is an absolute URL.

import { isAbsoluteURL } from 'is-what-type';

console.log(isAbsoluteURL('https://github.com')); // true
console.log(isAbsoluteURL('/src/index.js')); // false
console.log(isAbsoluteURL('http://example.com')); // true
console.log(isAbsoluteURL('example.com')); // false

isArrayLike

Check if a value is an array-like object.

import { isArrayLike } from 'is-what-type';

console.log(isArrayLike('123')); // true
console.log(isArrayLike(() => {})); // false
console.log(isArrayLike([])); // true
console.log(isArrayLike([1, 2, 3])); // true
console.log(isArrayLike({ 0: 1, length: 1 })); // true

isAsyncFunction

Check if a value is an async function.

import { isAsyncFunction } from 'is-what-type';

async function asyncFunction() {}

console.log(isAsyncFunction(asyncFunction)); // true
console.log(isAsyncFunction(() => {})); // false
console.log(isAsyncFunction(function() {})); // false
console.log(isAsyncFunction({})); // false

isESModule

Check if a value is an ES module.

import { isESModule } from 'is-what-type';

const esModule = { __esModule: true };
const generatorFunction = function*() {};
const generatorObject = generatorFunction();

console.log(isESModule(esModule)); // true
console.log(isESModule(generatorFunction)); // false
console.log(isESModule(generatorObject)); // false
console.log(isESModule({})); // false

isError

Check if a value is an error object.

import { isError } from 'is-what-type';

console.log(isError(new Error('error'))); // true
console.log(isError({ name: 'Error' })); // true
console.log(isError('error')); // false
console.log(isError({})); // false

isIterable

Check if a value is an iterable object.

import { isIterable } from 'is-what-type';

console.log(isIterable([])); // true
console.log(isIterable('string')); // true
console.log(isIterable(new Map())); // true
console.log(isIterable({})); // false
console.log(isIterable(null)); // false
console.log(isIterable(undefined)); // false

isLeapYear

Check if a year is a leap year.

import { isLeapYear } from 'is-what-type';

console.log(isLeapYear(2000)); // true
console.log(isLeapYear(2004)); // true
console.log(isLeapYear(1900)); // false
console.log(isLeapYear(2021)); // false

isLength

Check if a value is a valid array-like length.

import { isLength } from 'is-what-type';

console.log(isLength(3)); // true
console.log(isLength(Number.MIN_VALUE)); // false
console.log(isLength(Infinity)); // false
console.log(isLength('3')); // false

isNil

Check if a value is null or undefined.

import { isNil } from 'is-what-type';

console.log(isNil(null)); // true
console.log(isNil(undefined)); // true
console.log(isNil({})); // false

isNumber

Check if a value is a number.

import { isNumber } from 'is-what-type';

console.log(isNumber(1)); // true
console.log(isNumber(NaN)); // false
console.log(isNumber('1')); // false

isObject

Check if a value is an object.

import { isObject } from 'is-what-type';

console.log(isObject({})); // true
console.log(isObject([])); // true
console.log(isObject(null)); // false
console.log(isObject(1)); // false

isPlainObject

Check if a value is a plain object.

import { isPlainObject } from 'is-what-type';

console.log(isPlainObject({})); // true
console.log(isPlainObject(new Date())); // false
console.log(isPlainObject([])); // false
console.log(isPlainObject(null)); // false
console.log(isPlainObject(undefined)); // false

isPromiseLike

Check if a value is a promise-like object.

import { isPromiseLike } from 'is-what-type';

console.log(isPromiseLike(new Promise(() => {}))); // true
console.log(isPromiseLike({ then: () => {} })); // true
console.log(isPromiseLike({ then: 'not a function' })); // false
console.log(isPromiseLike({})); // false

isValidDate

Check if a value is a valid date.

import { isValidDate } from 'is-what-type';

console.log(isValidDate(new Date())); // true
console.log(isValidDate(new Date('invalid'))); // false
console.log(isValidDate('2023-10-01')); // false
1.0.0

4 months ago