import * as bindingTypes from "../../internal_binding/types.ts";export { isCryptoKey, isKeyObject } from "../crypto/keys.ts";
const _toString = Object.prototype.toString;
const _isObjectLike = (value: unknown): boolean => value !== null && typeof value === "object";
export function isArrayBufferView(value: unknown): boolean { return ArrayBuffer.isView(value);}
export function isBigInt64Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object BigInt64Array]" );}
export function isBigUint64Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object BigUint64Array]" );}
export function isFloat32Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object Float32Array]" );}
export function isFloat64Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object Float64Array]" );}
export function isInt8Array(value: unknown): boolean { return _isObjectLike(value) && _toString.call(value) === "[object Int8Array]";}
export function isInt16Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object Int16Array]" );}
export function isInt32Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object Int32Array]" );}
export function isTypedArray(value: unknown): boolean { const reTypedTag = /^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)Array\]$/; return _isObjectLike(value) && reTypedTag.test(_toString.call(value));}
export function isUint8Array(value: unknown): value is Uint8Array { return ( _isObjectLike(value) && _toString.call(value) === "[object Uint8Array]" );}
export function isUint8ClampedArray(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object Uint8ClampedArray]" );}
export function isUint16Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object Uint16Array]" );}
export function isUint32Array(value: unknown): boolean { return ( _isObjectLike(value) && _toString.call(value) === "[object Uint32Array]" );}
export const { isDate, isArgumentsObject, isBigIntObject, isBooleanObject, isNumberObject, isStringObject, isSymbolObject, isNativeError, isRegExp, isAsyncFunction, isGeneratorFunction, isGeneratorObject, isPromise, isMap, isSet, isMapIterator, isSetIterator, isWeakMap, isWeakSet, isArrayBuffer, isDataView, isSharedArrayBuffer, isModuleNamespaceObject, isAnyArrayBuffer, isBoxedPrimitive,} = bindingTypes;