which-builtin-type (1.2.1)

Published 2026-02-24 14:08:36 +00:00 by atheaadmin

Installation

registry=
npm install which-builtin-type@1.2.1
"which-builtin-type": "1.2.1"

About this package

which-builtin-type Version Badge

github actions coverage License Downloads

npm badge

What is the type of this builtin JavaScript value? Works cross-realm, without instanceof, and can not be fooled by a constructor property.

Example

var whichBuiltinType = require('which-builtin-type');
var assert = require('assert');

assert.equal(undefined, whichBuiltinType(undefined));
assert.equal(null, whichBuiltinType(null));
assert.equal('Boolean', whichBuiltinType(false));
assert.equal('Boolean', whichBuiltinType(true));
assert.equal('Array', whichBuiltinType([]));
assert.equal('Object', whichBuiltinType({}));
assert.equal('RegExp', whichBuiltinType(/a/g));
assert.equal('RegExp', whichBuiltinType(new RegExp('a', 'g')));
assert.equal('Date', whichBuiltinType(new Date()));
assert.equal('Number', whichBuiltinType(42));
assert.equal('Number', whichBuiltinType(NaN));
assert.equal('Number', whichBuiltinType(Infinity));
assert.equal('Number', whichBuiltinType(new Number(42)));
assert.equal('String', whichBuiltinType('foo'));
assert.equal('String', whichBuiltinType(Object('foo')));
assert.equal('Function', whichBuiltinType(function () {}));
assert.equal('GeneratorFunction', whichBuiltinType(function* () {}));
assert.equal('Function', whichBuiltinType(x => x * x));
assert.equal('Array', whichBuiltinType([]));
assert.equal('Int8Array', whichBuiltinType(new Int8Array()));
assert.equal('Uint8Array', whichBuiltinType(new Uint8Array()));
assert.equal('Uint8ClampedArray', whichBuiltinType(new Uint8ClampedArray()));
assert.equal('Int16Array', whichBuiltinType(new Int16Array()));
assert.equal('Uint16Array', whichBuiltinType(new Uint16Array()));
assert.equal('Int32Array', whichBuiltinType(new Int32Array()));
assert.equal('Uint32Array', whichBuiltinType(new Uint32Array()));
assert.equal('Float32Array', whichBuiltinType(new Float32Array()));
assert.equal('Float64Array', whichBuiltinType(new Float64Array()));
assert.equal('BigInt64Array', whichBuiltinType(new BigInt64Array()));
assert.equal('BigUint64Array', whichBuiltinType(new BigUint64Array()));

Tests

Simply clone the repo, npm install, and run npm test

Dependencies

Dependencies

ID Version
call-bound ^1.0.2
function.prototype.name ^1.1.6
has-tostringtag ^1.0.2
is-async-function ^2.0.0
is-date-object ^1.1.0
is-finalizationregistry ^1.1.0
is-generator-function ^1.0.10
is-regex ^1.2.1
is-weakref ^1.0.2
isarray ^2.0.5
which-boxed-primitive ^1.1.0
which-collection ^1.0.2
which-typed-array ^1.1.16

Development Dependencies

ID Version
@arethetypeswrong/cli ^0.17.1
@ljharb/eslint-config ^21.1.1
@ljharb/tsconfig ^0.2.2
@types/for-each ^0.3.3
@types/function.prototype.name ^1.1.4
@types/is-async-function ^2.0.3
@types/is-date-object ^1.0.4
@types/is-generator-function ^1.0.3
@types/is-weakref ^1.0.0
@types/make-arrow-function ^1.2.2
@types/make-async-function ^1.0.2
@types/object-inspect ^1.13.0
@types/object.assign ^4.1.0
@types/tape ^5.6.5
@types/which-boxed-primitive ^1.0.3
auto-changelog ^2.5.0
available-typed-arrays ^1.0.7
encoding ^0.1.13
eslint =8.8.0
evalmd ^0.0.19
for-each ^0.3.3
has-bigints ^1.0.2
has-symbols ^1.1.0
in-publish ^2.0.1
make-arrow-function ^1.2.0
make-async-function ^1.0.0
make-generator-function ^2.0.0
npmignore ^0.3.1
nyc ^10.3.2
object-inspect ^1.13.3
object.assign ^4.1.5
safe-publish-latest ^2.0.0
tape ^5.9.0
typescript next

Keywords

type builtin ecmascript
Details
npm
2026-02-24 14:08:36 +00:00
0
Jordan Harband
MIT
latest
9.2 KiB
Assets (1)
Versions (1) View all
1.2.1 2026-02-24