GithubHelp home page GithubHelp logo

openinf / openinf-util-types Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 350 KB

Fundamental JavaScript type-related utilities

Home Page: https://github.com/OpenINF/openinf-util-types#readme

License: Other

TypeScript 100.00%
utilities types typechecking javascript functional predicate helpers helpers-library library javascript-library typescript typescript-library npm-package npm nodejs commonjs commonjs-module commonjs-package typescript-package

openinf-util-types's Introduction

OpenINF logo

@openinf/util-types

Fundamental JavaScript type-related utilities


'View on npm' 'License: MIT/Apache-2.0'


The high-level goal of @openinf/util-types is to serve as a Node.js package containing utilities for fundamental JavaScript type-related operations primarily enabling users to perform native typechecking and simplify type coercion. We are constantly working to improve this repository, so please feel free to contribute if you notice any omissions or errors.

Thanks!


Platform: Node.js LTS

Supported Node.js Environments

  • v4:Argon (Ar)
  • v6:Boron (B)
  • v8:Carbon (C)
  • v10:Dubnium (Db)
  • v12:Erbium (Er)
  • v14:Fermium (Fm)
  • v16:Gallium (Ga)
  • v18:Hydrogen (H)

Code Style: Prettier Commit Style: Conventional Commits Chat on Matrix





Table of Contents





Installation Corepack logo


@openinf/util-types runs on supported versions of Node.js and is available via npm, pnpm, or yarn.

Using the npm CLI

See the official documentation for this command for more information.

npm i @openinf/util-types

Using the pnpm CLI

See the official documentation for this command for more information.

pnpm add @openinf/util-types

Using the Yarn 1 CLI (Classic)

See the official documentation for this command for more information.

yarn add @openinf/util-types

Usage

Import the helper functions based on your platform.

import { isObject } from '@openinf/util-types';

const maybeObject = null;

if (isObject(maybeObject)) {
  console.log('The value of `maybeObject` is of type Object.');
} else {
  console.log('The value of `maybeObject` is not of type Object.');
}



API

toString(value)string

Returns the ECMAScript [[Class]] internal property of the passed value.

isUndefined(value)boolean

Determines whether the passed value is actually of type undefined.

isObject(value)boolean

Determines whether the passed value is of type Object.

isOrdinaryFunction(value)boolean

Determines whether the passed value is of type Function.

isBooleanObject(value)boolean

Determines whether the passed value is actually a Boolean object.

isSymbolObject(value)boolean

Determines whether the passed value is actually a Symbol object.

isNativeError(value)boolean

Determines whether the passed value is one of the native error types:

isNumberObject(value)boolean

Determines whether the passed value is actually a Number object (boxed primitive).

isBigIntObject(value)boolean

Determines whether the passed value is actually a BigInt object (boxed primitive).

isFiniteNumber(value)boolean

Determines whether the passed value is of number type and finite. NaN and Infinity are not considered a finite number. String numbers are not considered numbers.

isMath(value)boolean

Determines whether the passed value is actually the Math global object.

isDate(value)boolean

Determines whether the passed value is of type Date.

isStringObject(value)boolean

Determines whether the passed value is actually a String object.

isRegExp(value)boolean

Determines whether the passed value is of type RegExp.

isArray(value)boolean

Determines whether the passed value is of type Array.

toArray(arrayLike)Array<T>

Converts an array-like object to an array.

isInt8Array(value)boolean

Determines whether the passed value is of type Int8Array.

isUint8Array(value)boolean

Determines whether the passed value is of type Uint8Array.

isUint8ClampedArray(value)boolean

Determines whether the passed value is of type Uint8ClampedArray.

isInt16Array(value)boolean

Determines whether the passed value is of type Int16Array.

isUint16Array(value)boolean

Determines whether the passed value is of type Uint16Array.

isInt32Array(value)boolean

Determines whether the passed value is of type Int32Array.

isUint32Array(value)boolean

Determines whether the passed value is of type Uint32Array.

isFloat32Array(value)boolean

Determines whether the passed value is of type Float32Array.

isFloat64Array(value)boolean

Determines whether the passed value is of type Float64Array.

isBigInt64Array(value)boolean

Determines whether the passed value is of type BigInt64Array.

isBigUint64Array(value)boolean

Determines whether the passed value is of type BigUint64Array.

isArrayBufferView(value)boolean

Determines whether the passed value is an ArrayBufferView, which is a helper type representing any of the following JavaScript TypedArray types:

isTypedArray(value)boolean

Determines if value is one of the TypedArray element types:

isMap(value)boolean

Determines whether the passed value is of type Map.

isMapIterator(value)boolean

Determines whether the passed value is of type Map Iterator.

isSet(value)boolean

Determines whether the passed value is of type Set.

isSetIterator(value)boolean

Determines whether the passed value is of type Set Iterator.

isWeakMap(value)boolean

Determines whether the passed value is of type WeakMap.

isWeakSet(value)boolean

Determines whether the passed value is of type WeakSet.

isArrayBuffer(value)boolean

Determines whether the passed value is of type ArrayBuffer.

isSharedArrayBuffer(value)boolean

Determines whether the passed value is of type SharedArrayBuffer.

isAnyArrayBuffer(value)boolean

Determines whether the passed value is one of either ArrayBuffer or SharedArrayBuffer.

isDataView(value)boolean

Determines whether the passed value is of type DataView.

isPromise(value)boolean

Determines whether the passed value is of type Promise.

isGeneratorObject(value)boolean

Determines whether the passed value is actually a Generator object.

isGeneratorFunction(value)boolean

Determines whether the passed value is of type GeneratorFunction.

isAsyncFunction(value)boolean

Determines whether the passed value is of type AsyncFunction.

isArgumentsObject(value)boolean

Determines whether the passed value is actually an arguments object.

isBoxedPrimitive(value)boolean

Determines whether the passed value is a primitive wrapped by its object equivalent (a.k.a. "boxed"). Except for null and undefined, all primitive values have object equivalents that wrap around the primitive values:

isModuleNamespaceObject(value)boolean

Determines whether the passed value is a Module namespace object.

isPrimitive(value)boolean

Determines whether the passed value is of a primitive data type.

toString(value) ⇒ string

Returns the ECMAScript [[Class]] internal property of the passed value.

Kind: global function
Returns: string - A specification-defined classification of objects.

Param Type Description
value unknown The value to be checked.

isUndefined(value) ⇒ boolean

Determines whether the passed value is actually of type undefined.

Kind: global function
Returns: boolean - true if the value is undefined; otherwise, false.

Param Type Description
value unknown The value to be checked.

isObject(value) ⇒ boolean

Determines whether the passed value is of type Object.

Kind: global function
Returns: boolean - true if the value is an Object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isOrdinaryFunction(value) ⇒ boolean

Determines whether the passed value is of type Function.

Kind: global function
Returns: boolean - true if the value is a Function; otherwise, false.

Param Type Description
value unknown The value to be checked.

isBooleanObject(value) ⇒ boolean

Determines whether the passed value is actually a Boolean object.

Kind: global function
Returns: boolean - true if the value is a Boolean object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isSymbolObject(value) ⇒ boolean

Determines whether the passed value is actually a Symbol object.

Kind: global function
Returns: boolean - true if the value is a Symbol object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isNativeError(value) ⇒ boolean

Determines whether the passed value is one of the native error types:

Kind: global function
Returns: boolean - true if the value is a native error; otherwise, false.

Param Type Description
value unknown The value to be checked.

isNumberObject(value) ⇒ boolean

Determines whether the passed value is actually a Number object (boxed primitive).

Kind: global function
Returns: boolean - true if the value is a Number object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isBigIntObject(value) ⇒ boolean

Determines whether the passed value is actually a BigInt object (boxed primitive).

Kind: global function
Returns: boolean - true if the value is a BigInt object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isFiniteNumber(value) ⇒ boolean

Determines whether the passed value is of number type and finite. NaN and Infinity are not considered a finite number. String numbers are not considered numbers.

Kind: global function
Returns: boolean - true if the value is a finite number; otherwise, false.

Param Type Description
value unknown The value to be checked.

isMath(value) ⇒ boolean

Determines whether the passed value is actually the Math global object.

Kind: global function
Returns: boolean - true if the value is the Math object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isDate(value) ⇒ boolean

Determines whether the passed value is of type Date.

Kind: global function
Returns: boolean - true if the value is a Date; otherwise, false.

Param Type Description
value unknown The value to be checked.

isStringObject(value) ⇒ boolean

Determines whether the passed value is actually a String object.

Kind: global function
Returns: boolean - true if the value is a String object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isRegExp(value) ⇒ boolean

Determines whether the passed value is of type RegExp.

Kind: global function
Returns: boolean - true if the value is a RegExp; otherwise, false.

Param Type Description
value unknown The value to be checked.

isArray(value) ⇒ boolean

Determines whether the passed value is of type Array.

Kind: global function
Returns: boolean - true if the value is an Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

toArray(arrayLike) ⇒ Array<T>

Converts an array-like object to an array.

Kind: global function

Param Type
arrayLike ArrayLike<T> | string

isInt8Array(value) ⇒ boolean

Determines whether the passed value is of type Int8Array.

Kind: global function
Returns: boolean - true if the value is an Int8Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isUint8Array(value) ⇒ boolean

Determines whether the passed value is of type Uint8Array.

Kind: global function
Returns: boolean - true if the value is a Uint8Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isUint8ClampedArray(value) ⇒ boolean

Determines whether the passed value is of type Uint8ClampedArray.

Kind: global function
Returns: boolean - true if the value is a Uint8ClampedArray; otherwise, false.

Param Type Description
value unknown The value to be checked.

isInt16Array(value) ⇒ boolean

Determines whether the passed value is of type Int16Array.

Kind: global function
Returns: boolean - true if the value is an Int16Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isUint16Array(value) ⇒ boolean

Determines whether the passed value is of type Uint16Array.

Kind: global function
Returns: boolean - true if the value is a Uint16Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isInt32Array(value) ⇒ boolean

Determines whether the passed value is of type Int32Array.

Kind: global function
Returns: boolean - true if the value is an Int32Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isUint32Array(value) ⇒ boolean

Determines whether the passed value is of type Uint32Array.

Kind: global function
Returns: boolean - true if the value is a Uint32Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isFloat32Array(value) ⇒ boolean

Determines whether the passed value is of type Float32Array.

Kind: global function
Returns: boolean - true if the value is a Float32Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isFloat64Array(value) ⇒ boolean

Determines whether the passed value is of type Float64Array.

Kind: global function
Returns: boolean - true if the value is a Float64Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isBigInt64Array(value) ⇒ boolean

Determines whether the passed value is of type BigInt64Array.

Kind: global function
Returns: boolean - true if the value is a BigInt64Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isBigUint64Array(value) ⇒ boolean

Determines whether the passed value is of type BigUint64Array.

Kind: global function
Returns: boolean - true if the value is a BigUint64Array; otherwise, false.

Param Type Description
value unknown The value to be checked.

isArrayBufferView(value) ⇒ boolean

Determines whether the passed value is an ArrayBufferView, which is a helper type representing any of the following JavaScript TypedArray types:

Kind: global function
Returns: boolean - true if the value is an ArrayBufferView; otherwise, false.

Param Type Description
value unknown The value to be checked.

isTypedArray(value) ⇒ boolean

Determines if value is one of the TypedArray element types:

Kind: global function
Returns: boolean - true if the value is one of the typed arrays; otherwise, false.

Param Type Description
value unknown The value to be checked.

isMap(value) ⇒ boolean

Determines whether the passed value is of type Map.

Kind: global function
Returns: boolean - true if the value is a Map; otherwise, false.

Param Type Description
value unknown The value to be checked.

isMapIterator(value) ⇒ boolean

Determines whether the passed value is of type Map Iterator.

Kind: global function
Returns: boolean - true if the value is a Map Iterator; otherwise, false.

Param Type Description
value unknown The value to be checked.

isSet(value) ⇒ boolean

Determines whether the passed value is of type Set.

Kind: global function
Returns: boolean - true if the value is a Set; otherwise, false.

Param Type Description
value unknown The value to be checked.

isSetIterator(value) ⇒ boolean

Determines whether the passed value is of type Set Iterator.

Kind: global function
Returns: boolean - true if the value is a Set Iterator; otherwise, false.

Param Type Description
value unknown The value to be checked.

isWeakMap(value) ⇒ boolean

Determines whether the passed value is of type WeakMap.

Kind: global function
Returns: boolean - true if the value is a WeakMap; otherwise, false.

Param Type Description
value unknown The value to be checked.

isWeakSet(value) ⇒ boolean

Determines whether the passed value is of type WeakSet.

Kind: global function
Returns: boolean - true if the value is a WeakSet; otherwise, false.

Param Type Description
value unknown The value to be checked.

isArrayBuffer(value) ⇒ boolean

Determines whether the passed value is of type ArrayBuffer.

Kind: global function
Returns: boolean - true if the value is an ArrayBuffer; otherwise, false.

Param Type Description
value unknown The value to be checked.

isSharedArrayBuffer(value) ⇒ boolean

Determines whether the passed value is of type SharedArrayBuffer.

Kind: global function
Returns: boolean - true if the value is a SharedArrayBuffer; otherwise, false.

Param Type Description
value unknown The value to be checked.

isAnyArrayBuffer(value) ⇒ boolean

Determines whether the passed value is one of either ArrayBuffer or SharedArrayBuffer.

Kind: global function
Returns: boolean - true if the value is one of the array buffers; otherwise, false.

Param Type Description
value unknown The value to be checked.

isDataView(value) ⇒ boolean

Determines whether the passed value is of type DataView.

Kind: global function
Returns: boolean - true if the value is a DataView; otherwise, false.

Param Type Description
value unknown The value to be checked.

isPromise(value) ⇒ boolean

Determines whether the passed value is of type Promise.

Kind: global function
Returns: boolean - true if the value is a Promise; otherwise, false.

Param Type Description
value unknown The value to be checked.

isGeneratorObject(value) ⇒ boolean

Determines whether the passed value is actually a Generator object.

Kind: global function
Returns: boolean - true if the value is a Generator; otherwise, false.

Param Type Description
value unknown The value to be checked.

isGeneratorFunction(value) ⇒ boolean

Determines whether the passed value is of type GeneratorFunction.

Kind: global function
Returns: boolean - true if the value is a GeneratorFunction; otherwise, false.

Param Type Description
value unknown The value to be checked.

isAsyncFunction(value) ⇒ boolean

Determines whether the passed value is of type AsyncFunction.

Kind: global function
Returns: boolean - true if the value is an AsyncFunction; otherwise, false.

Param Type Description
value unknown The value to be checked.

isArgumentsObject(value) ⇒ boolean

Determines whether the passed value is actually an arguments object.

Kind: global function
Returns: boolean - true if the value is an arguments object; otherwise, false.

Param Type Description
value unknown The value to be checked.

isBoxedPrimitive(value) ⇒ boolean

Determines whether the passed value is a primitive wrapped by its object equivalent (a.k.a. "boxed"). Except for null and undefined, all primitive values have object equivalents that wrap around the primitive values:

Kind: global function
Returns: boolean - true if the value is one of the boxed primitives; otherwise, false.
See: https://developer.mozilla.org/en-US/docs/Glossary/Primitive#primitive_wrapper_objects_in_javascript

Param Type Description
value unknown The value to be checked.

isModuleNamespaceObject(value) ⇒ boolean

Determines whether the passed value is a Module namespace object.

Kind: global function
Returns: boolean - true if the value is a Module; otherwise, false.

Param Type Description
value unknown The value to be checked.

isPrimitive(value) ⇒ boolean

Determines whether the passed value is of a primitive data type.

Kind: global function
Returns: boolean - true if the value is a primitive; otherwise, false.

Param Type Description
value unknown The value to be checked.





Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. If for whatever reason you spot something to fix but cannot patch it yourself, please open an issue.


License

This project is licensed under either of

at your option.

The SPDX license identifier for this project is MIT OR Apache-2.0.





Show Your Support


If you like the project (or want to bookmark it) —
— give it a star ⭐️ — it will greatly encourage us.



The OpenINF logo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.