util/types
Usage in Deno
import * as mod from "node:util/types";
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";
isArgumentsObject(object: unknown): object is IArgumentsReturns true if the value is an arguments object.
function foo() {
util.types.isArgumentsObject(arguments); // Returns true
}
Parameters
object: unknown Return Type
object is IArguments 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 BigInt64ArrayReturns true if the value is a BigInt64Array instance.
util.types.isBigInt64Array(new BigInt64Array()); // Returns true
util.types.isBigInt64Array(new BigUint64Array()); // Returns false
Parameters
value: unknown Return Type
value is BigInt64Array function 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 BigUint64ArrayReturns true if the value is a BigUint64Array instance.
util.types.isBigUint64Array(new BigInt64Array()); // Returns false
util.types.isBigUint64Array(new BigUint64Array()); // Returns true
Parameters
value: unknown Return Type
value is BigUint64Array function 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
| Symbol
Returns 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";
isCryptoKey(object: unknown): object is webcrypto.CryptoKeyReturns true if value is a CryptoKey, false otherwise.
Parameters
object: unknown Return Type
object is webcrypto.CryptoKey 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 Int8ArrayReturns true if the value is a built-in Int8Array instance.
util.types.isInt8Array(new ArrayBuffer()); // Returns false
util.types.isInt8Array(new Int8Array()); // Returns true
util.types.isInt8Array(new Float64Array()); // Returns false
Parameters
object: unknown Return Type
object is Int8Array function isKeyObject
Usage in Deno
import { isKeyObject } from "node:util/types";
function isMap
Usage in Deno
import { isMap } from "node:util/types";
isMap<T>(object: T | { }): object is T extends ReadonlyMap<any, any> ? (unknown extends T ? never : ReadonlyMap<any, any>) : Map<unknown, unknown>
function 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";
isNumberObject(object: unknown): object is NumberReturns true if the value is a number object, e.g. created by new Number().
util.types.isNumberObject(0); // Returns false
util.types.isNumberObject(new Number(0)); // Returns true
Parameters
object: unknown Return Type
object is Number function isPromise
Usage in Deno
import { isPromise } from "node:util/types";
isPromise(object: unknown): object is Promise<unknown>Returns true if the value is a built-in Promise.
util.types.isPromise(Promise.resolve(42)); // Returns true
Parameters
object: unknown Return Type
object is Promise<unknown> function isProxy
Usage in Deno
import { isProxy } from "node:util/types";
isProxy(object: unknown): booleanReturns true if the value is a Proxy instance.
const target = {};
const proxy = new Proxy(target, {});
util.types.isProxy(target); // Returns false
util.types.isProxy(proxy); // Returns true
Parameters
object: unknown Return Type
boolean function isRegExp
Usage in Deno
import { isRegExp } from "node:util/types";
isRegExp(object: unknown): object is RegExpReturns true if the value is a regular expression object.
util.types.isRegExp(/abc/); // Returns true
util.types.isRegExp(new RegExp('abc')); // Returns true
Parameters
object: unknown Return Type
object is RegExp function isSet
Usage in Deno
import { isSet } from "node:util/types";
isSet<T>(object: T | { }): object is T extends ReadonlySet<any> ? (unknown extends T ? never : ReadonlySet<any>) : Set<unknown>
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";
isStringObject(object: unknown): object is StringReturns true if the value is a string object, e.g. created by new String().
util.types.isStringObject('foo'); // Returns false
util.types.isStringObject(new String('foo')); // Returns true
Parameters
object: unknown Return Type
object is String function isSymbolObject
Usage in Deno
import { isSymbolObject } from "node:util/types";
isSymbolObject(object: unknown): object is SymbolReturns true if the value is a symbol object, created by calling Object() on a Symbol primitive.
const symbol = Symbol('foo');
util.types.isSymbolObject(symbol); // Returns false
util.types.isSymbolObject(Object(symbol)); // Returns true
Parameters
object: unknown Return Type
object is Symbol function 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";
isWeakMap(object: unknown): object is WeakMap<object, unknown>Returns true if the value is a built-in WeakMap instance.
util.types.isWeakMap(new WeakMap()); // Returns true
Parameters
object: unknown Return Type
object is WeakMap<object, unknown> function isWeakSet
Usage in Deno
import { isWeakSet } from "node:util/types";
isWeakSet(object: unknown): object is WeakSet<object>Returns true if the value is a built-in WeakSet instance.
util.types.isWeakSet(new WeakSet()); // Returns true
Parameters
object: unknown Return Type
object is WeakSet<object>
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/node/util/types