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