hatch-surf/node_modules/which-builtin-type
Riley Zhang df378d33ef
Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Merge GitHub main into Gitea repo (allow unrelated histories)
Resolved conflicts by taking GitHub versions for:
- .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml

Kept deploy.sh updated to:
- Pull from GitHub (primary source)
- Push to Gitea (push-mirror)
- Build from site/ directory (GitHub structure)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-25 05:20:46 +02:00
..
test Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
.eslintrc Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
.nycrc Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
CHANGELOG.md Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
index.d.ts Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
index.js Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
LICENSE Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
package.json Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
README.md Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00
tsconfig.json Merge GitHub main into Gitea repo (allow unrelated histories) 2026-06-25 05:20:46 +02:00

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