htc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
..
.github 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
test 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
.eslintrc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
.nycrc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
CHANGELOG.md 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
LICENSE 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
README.md 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
index.d.ts 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
index.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
package.json 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前
tsconfig.json 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 月之前

README.md

which-collection Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

Which kind of Collection (Map, Set, WeakMap, WeakSet) is this JavaScript value? Works cross-realm, without instanceof, and despite Symbol.toStringTag.

Example

var whichCollection = require('which-collection');
var assert = require('assert');

assert.equal(false, whichCollection(undefined));
assert.equal(false, whichCollection(null));
assert.equal(false, whichCollection(false));
assert.equal(false, whichCollection(true));
assert.equal(false, whichCollection([]));
assert.equal(false, whichCollection({}));
assert.equal(false, whichCollection(/a/g));
assert.equal(false, whichCollection(new RegExp('a', 'g')));
assert.equal(false, whichCollection(new Date()));
assert.equal(false, whichCollection(42));
assert.equal(false, whichCollection(NaN));
assert.equal(false, whichCollection(Infinity));
assert.equal(false, whichCollection(new Number(42)));
assert.equal(false, whichCollection(42n));
assert.equal(false, whichCollection(Object(42n)));
assert.equal(false, whichCollection('foo'));
assert.equal(false, whichCollection(Object('foo')));
assert.equal(false, whichCollection(function () {}));
assert.equal(false, whichCollection(function* () {}));
assert.equal(false, whichCollection(x => x * x));
assert.equal(false, whichCollection([]));

assert.equal('Map', whichCollection(new Map()));
assert.equal('Set', whichCollection(new Set()));
assert.equal('WeakMap', whichCollection(new WeakMap()));
assert.equal('WeakSet', whichCollection(new WeakSet()));

Tests

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