util/types
Usage in Deno
import * as mod from "node:util/types";
Functions
Returns true if the value is a built-in ArrayBuffer instance.
This does not include SharedArrayBuffer instances. Usually, it is
desirable to test for both; See util.types.isAnyArrayBuffer() for that.
Returns true if the value is an instance of one of the ArrayBuffer views, such as typed
array objects or DataView. Equivalent to
ArrayBuffer.isView().
Returns true if the value is an async function.
This only reports back what the JavaScript engine is seeing;
in particular, the return value may not match the original source code if
a transpilation tool was used.
Returns true if the value is any boxed primitive object, e.g. created
by new Boolean(), new String() or Object(Symbol()).
Returns true if the value is a generator function.
This only reports back what the JavaScript engine is seeing;
in particular, the return value may not match the original source code if
a transpilation tool was used.
Returns true if the value is a generator object as returned from a
built-in generator function.
This only reports back what the JavaScript engine is seeing;
in particular, the return value may not match the original source code if
a transpilation tool was used.
Returns true if the value is a symbol object, created
by calling Object() on a Symbol primitive.
function isAnyArrayBuffer
Usage in Deno
import { isAnyArrayBuffer } from "node:util/types";
#isAnyArrayBuffer(object: unknown): object is ArrayBufferLikeReturns true if the value is a built-in ArrayBuffer or
SharedArrayBuffer instance.
See also util.types.isArrayBuffer() and util.types.isSharedArrayBuffer().
util.types.isAnyArrayBuffer(new ArrayBuffer()); // Returns true
util.types.isAnyArrayBuffer(new SharedArrayBuffer()); // Returns true
Parameters #
#object: unknown Return Type #
object is ArrayBufferLike function isArgumentsObject
Usage in Deno
import { isArgumentsObject } from "node:util/types";
function isArrayBuffer
Usage in Deno
import { isArrayBuffer } from "node:util/types";
#isArrayBuffer(object: unknown): object is ArrayBufferReturns true if the value is a built-in ArrayBuffer instance.
This does not include SharedArrayBuffer instances. Usually, it is
desirable to test for both; See util.types.isAnyArrayBuffer() for that.
util.types.isArrayBuffer(new ArrayBuffer()); // Returns true
util.types.isArrayBuffer(new SharedArrayBuffer()); // Returns false
Parameters #
#object: unknown Return Type #
object is ArrayBuffer function isArrayBufferView
Usage in Deno
import { isArrayBufferView } from "node:util/types";
#isArrayBufferView(object: unknown): object is ArrayBufferViewReturns true if the value is an instance of one of the ArrayBuffer views, such as typed
array objects or DataView. Equivalent to
ArrayBuffer.isView().
util.types.isArrayBufferView(new Int8Array()); // true
util.types.isArrayBufferView(Buffer.from('hello world')); // true
util.types.isArrayBufferView(new DataView(new ArrayBuffer(16))); // true
util.types.isArrayBufferView(new ArrayBuffer()); // false
Parameters #
#object: unknown Return Type #
object is ArrayBufferView function isAsyncFunction
Usage in Deno
import { isAsyncFunction } from "node:util/types";
#isAsyncFunction(object: unknown): booleanReturns true if the value is an async function.
This only reports back what the JavaScript engine is seeing;
in particular, the return value may not match the original source code if
a transpilation tool was used.
util.types.isAsyncFunction(function foo() {}); // Returns false
util.types.isAsyncFunction(async function foo() {}); // Returns true
Parameters #
#object: unknown Return Type #
boolean function isBigInt64Array
Usage in Deno
import { isBigInt64Array } from "node:util/types";
#isBigInt64Array(value: unknown): value is BigInt64Arrayfunction isBigIntObject
Usage in Deno
import { isBigIntObject } from "node:util/types";
#isBigIntObject(object: unknown): object is BigIntReturns true if the value is a BigInt object, e.g. created
by Object(BigInt(123)).
util.types.isBigIntObject(Object(BigInt(123))); // Returns true
util.types.isBigIntObject(BigInt(123)); // Returns false
util.types.isBigIntObject(123); // Returns false
Parameters #
#object: unknown Return Type #
object is BigInt function isBigUint64Array
Usage in Deno
import { isBigUint64Array } from "node:util/types";
#isBigUint64Array(value: unknown): value is BigUint64Arrayfunction isBooleanObject
Usage in Deno
import { isBooleanObject } from "node:util/types";
#isBooleanObject(object: unknown): object is BooleanReturns true if the value is a boolean object, e.g. created
by new Boolean().
util.types.isBooleanObject(false); // Returns false
util.types.isBooleanObject(true); // Returns false
util.types.isBooleanObject(new Boolean(false)); // Returns true
util.types.isBooleanObject(new Boolean(true)); // Returns true
util.types.isBooleanObject(Boolean(false)); // Returns false
util.types.isBooleanObject(Boolean(true)); // Returns false
Parameters #
#object: unknown Return Type #
object is Boolean function isBoxedPrimitive
Usage in Deno
import { isBoxedPrimitive } from "node:util/types";
#isBoxedPrimitive(object: unknown): object is String
| Number
| BigInt
| Boolean
| SymbolReturns true if the value is any boxed primitive object, e.g. created
by new Boolean(), new String() or Object(Symbol()).
For example:
util.types.isBoxedPrimitive(false); // Returns false
util.types.isBoxedPrimitive(new Boolean(false)); // Returns true
util.types.isBoxedPrimitive(Symbol('foo')); // Returns false
util.types.isBoxedPrimitive(Object(Symbol('foo'))); // Returns true
util.types.isBoxedPrimitive(Object(BigInt(5))); // Returns true
Parameters #
#object: unknown Return Type #
object is String
| Number
| BigInt
| Boolean
| Symbol function isCryptoKey
Usage in Deno
import { isCryptoKey } from "node:util/types";
function isDataView
Usage in Deno
import { isDataView } from "node:util/types";
#isDataView(object: unknown): object is DataViewReturns true if the value is a built-in DataView instance.
const ab = new ArrayBuffer(20);
util.types.isDataView(new DataView(ab)); // Returns true
util.types.isDataView(new Float64Array()); // Returns false
See also ArrayBuffer.isView().
Parameters #
#object: unknown Return Type #
object is DataView function isExternal
Usage in Deno
import { isExternal } from "node:util/types";
#isExternal(object: unknown): booleanReturns true if the value is a native External value.
A native External value is a special type of object that contains a
raw C++ pointer (void*) for access from native code, and has no other
properties. Such objects are created either by Node.js internals or native
addons. In JavaScript, they are frozen objects with anull prototype.
#include <js_native_api.h>
#include <stdlib.h>
napi_value result;
static napi_value MyNapi(napi_env env, napi_callback_info info) {
int* raw = (int*) malloc(1024);
napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result);
if (status != napi_ok) {
napi_throw_error(env, NULL, "napi_create_external failed");
return NULL;
}
return result;
}
...
DECLARE_NAPI_PROPERTY("myNapi", MyNapi)
...
const native = require('napi_addon.node');
const data = native.myNapi();
util.types.isExternal(data); // returns true
util.types.isExternal(0); // returns false
util.types.isExternal(new String('foo')); // returns false
For further information on napi_create_external, refer to napi_create_external().
Parameters #
#object: unknown Return Type #
boolean function isFloat32Array
Usage in Deno
import { isFloat32Array } from "node:util/types";
#isFloat32Array(object: unknown): object is Float32ArrayReturns true if the value is a built-in Float32Array instance.
util.types.isFloat32Array(new ArrayBuffer()); // Returns false
util.types.isFloat32Array(new Float32Array()); // Returns true
util.types.isFloat32Array(new Float64Array()); // Returns false
Parameters #
#object: unknown Return Type #
object is Float32Array function isFloat64Array
Usage in Deno
import { isFloat64Array } from "node:util/types";
#isFloat64Array(object: unknown): object is Float64ArrayReturns true if the value is a built-in Float64Array instance.
util.types.isFloat64Array(new ArrayBuffer()); // Returns false
util.types.isFloat64Array(new Uint8Array()); // Returns false
util.types.isFloat64Array(new Float64Array()); // Returns true
Parameters #
#object: unknown Return Type #
object is Float64Array function isGeneratorFunction
Usage in Deno
import { isGeneratorFunction } from "node:util/types";
#isGeneratorFunction(object: unknown): object is GeneratorFunctionReturns true if the value is a generator function.
This only reports back what the JavaScript engine is seeing;
in particular, the return value may not match the original source code if
a transpilation tool was used.
util.types.isGeneratorFunction(function foo() {}); // Returns false
util.types.isGeneratorFunction(function* foo() {}); // Returns true
Parameters #
#object: unknown Return Type #
object is GeneratorFunction function isGeneratorObject
Usage in Deno
import { isGeneratorObject } from "node:util/types";
#isGeneratorObject(object: unknown): object is GeneratorReturns true if the value is a generator object as returned from a
built-in generator function.
This only reports back what the JavaScript engine is seeing;
in particular, the return value may not match the original source code if
a transpilation tool was used.
function* foo() {}
const generator = foo();
util.types.isGeneratorObject(generator); // Returns true
Parameters #
#object: unknown Return Type #
object is Generator function isInt16Array
Usage in Deno
import { isInt16Array } from "node:util/types";
#isInt16Array(object: unknown): object is Int16ArrayReturns true if the value is a built-in Int16Array instance.
util.types.isInt16Array(new ArrayBuffer()); // Returns false
util.types.isInt16Array(new Int16Array()); // Returns true
util.types.isInt16Array(new Float64Array()); // Returns false
Parameters #
#object: unknown Return Type #
object is Int16Array function isInt32Array
Usage in Deno
import { isInt32Array } from "node:util/types";
#isInt32Array(object: unknown): object is Int32ArrayReturns true if the value is a built-in Int32Array instance.
util.types.isInt32Array(new ArrayBuffer()); // Returns false
util.types.isInt32Array(new Int32Array()); // Returns true
util.types.isInt32Array(new Float64Array()); // Returns false
Parameters #
#object: unknown Return Type #
object is Int32Array function isInt8Array
Usage in Deno
import { isInt8Array } from "node:util/types";
#isInt8Array(object: unknown): object is Int8Arrayfunction isMapIterator
Usage in Deno
import { isMapIterator } from "node:util/types";
#isMapIterator(object: unknown): booleanReturns true if the value is an iterator returned for a built-in Map instance.
const map = new Map();
util.types.isMapIterator(map.keys()); // Returns true
util.types.isMapIterator(map.values()); // Returns true
util.types.isMapIterator(map.entries()); // Returns true
util.types.isMapIterator(map[Symbol.iterator]()); // Returns true
Parameters #
#object: unknown Return Type #
boolean function isModuleNamespaceObject
Usage in Deno
import { isModuleNamespaceObject } from "node:util/types";
#isModuleNamespaceObject(value: unknown): booleanReturns true if the value is an instance of a Module Namespace Object.
import * as ns from './a.js';
util.types.isModuleNamespaceObject(ns); // Returns true
Parameters #
#value: unknown Return Type #
boolean function isNativeError
Usage in Deno
import { isNativeError } from "node:util/types";
#isNativeError(object: unknown): object is ErrorReturns true if the value was returned by the constructor of a built-in Error type.
console.log(util.types.isNativeError(new Error())); // true
console.log(util.types.isNativeError(new TypeError())); // true
console.log(util.types.isNativeError(new RangeError())); // true
Subclasses of the native error types are also native errors:
class MyError extends Error {}
console.log(util.types.isNativeError(new MyError())); // true
A value being instanceof a native error class is not equivalent to isNativeError() returning true for that value. isNativeError() returns true for errors
which come from a different realm while instanceof Error returns false for these errors:
import vm from 'node:vm';
const context = vm.createContext({});
const myError = vm.runInContext('new Error()', context);
console.log(util.types.isNativeError(myError)); // true
console.log(myError instanceof Error); // false
Conversely, isNativeError() returns false for all objects which were not
returned by the constructor of a native error. That includes values
which are instanceof native errors:
const myError = { __proto__: Error.prototype };
console.log(util.types.isNativeError(myError)); // false
console.log(myError instanceof Error); // true
Parameters #
#object: unknown Return Type #
object is Error function isNumberObject
Usage in Deno
import { isNumberObject } from "node:util/types";
function isPromise
Usage in Deno
import { isPromise } from "node:util/types";
function isProxy
Usage in Deno
import { isProxy } from "node:util/types";
function isRegExp
Usage in Deno
import { isRegExp } from "node:util/types";
function isSetIterator
Usage in Deno
import { isSetIterator } from "node:util/types";
#isSetIterator(object: unknown): booleanReturns true if the value is an iterator returned for a built-in Set instance.
const set = new Set();
util.types.isSetIterator(set.keys()); // Returns true
util.types.isSetIterator(set.values()); // Returns true
util.types.isSetIterator(set.entries()); // Returns true
util.types.isSetIterator(set[Symbol.iterator]()); // Returns true
Parameters #
#object: unknown Return Type #
boolean function isStringObject
Usage in Deno
import { isStringObject } from "node:util/types";
function isSymbolObject
Usage in Deno
import { isSymbolObject } from "node:util/types";
#isSymbolObject(object: unknown): object is Symbolfunction isTypedArray
Usage in Deno
import { isTypedArray } from "node:util/types";
#isTypedArray(object: unknown): object is TypedArrayReturns true if the value is a built-in TypedArray instance.
util.types.isTypedArray(new ArrayBuffer()); // Returns false
util.types.isTypedArray(new Uint8Array()); // Returns true
util.types.isTypedArray(new Float64Array()); // Returns true
See also ArrayBuffer.isView().
Parameters #
#object: unknown Return Type #
object is TypedArray function isUint16Array
Usage in Deno
import { isUint16Array } from "node:util/types";
#isUint16Array(object: unknown): object is Uint16ArrayReturns true if the value is a built-in Uint16Array instance.
util.types.isUint16Array(new ArrayBuffer()); // Returns false
util.types.isUint16Array(new Uint16Array()); // Returns true
util.types.isUint16Array(new Float64Array()); // Returns false
Parameters #
#object: unknown Return Type #
object is Uint16Array function isUint32Array
Usage in Deno
import { isUint32Array } from "node:util/types";
#isUint32Array(object: unknown): object is Uint32ArrayReturns true if the value is a built-in Uint32Array instance.
util.types.isUint32Array(new ArrayBuffer()); // Returns false
util.types.isUint32Array(new Uint32Array()); // Returns true
util.types.isUint32Array(new Float64Array()); // Returns false
Parameters #
#object: unknown Return Type #
object is Uint32Array function isUint8Array
Usage in Deno
import { isUint8Array } from "node:util/types";
#isUint8Array(object: unknown): object is Uint8ArrayReturns true if the value is a built-in Uint8Array instance.
util.types.isUint8Array(new ArrayBuffer()); // Returns false
util.types.isUint8Array(new Uint8Array()); // Returns true
util.types.isUint8Array(new Float64Array()); // Returns false
Parameters #
#object: unknown Return Type #
object is Uint8Array function isUint8ClampedArray
Usage in Deno
import { isUint8ClampedArray } from "node:util/types";
#isUint8ClampedArray(object: unknown): object is Uint8ClampedArrayReturns true if the value is a built-in Uint8ClampedArray instance.
util.types.isUint8ClampedArray(new ArrayBuffer()); // Returns false
util.types.isUint8ClampedArray(new Uint8ClampedArray()); // Returns true
util.types.isUint8ClampedArray(new Float64Array()); // Returns false
Parameters #
#object: unknown Return Type #
object is Uint8ClampedArray function isWeakMap
Usage in Deno
import { isWeakMap } from "node:util/types";
function isWeakSet
Usage in Deno
import { isWeakSet } from "node:util/types";