2.11.99 • Published 1 year ago

@diotoborg/sequi-aperiam v2.11.99

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@diotoborg/sequi-aperiam 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('@diotoborg/sequi-aperiam');
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

2.11.99

1 year ago

2.11.98

1 year ago

2.10.98

1 year ago

2.10.97

1 year ago

2.10.96

1 year ago

2.10.95

1 year ago

2.10.94

1 year ago

2.10.93

1 year ago

2.10.92

1 year ago

2.10.91

1 year ago

2.10.90

1 year ago

2.10.89

1 year ago

2.10.88

1 year ago

2.10.87

1 year ago

2.10.86

1 year ago

1.10.86

1 year ago

1.10.85

1 year ago

1.10.84

1 year ago

1.10.83

1 year ago

1.10.82

1 year ago

1.10.81

1 year ago

1.10.80

1 year ago

1.10.79

1 year ago

1.9.79

1 year ago

1.9.78

1 year ago

1.9.77

1 year ago

1.8.77

1 year ago

1.8.76

1 year ago

1.8.75

1 year ago

1.8.74

1 year ago

1.8.73

1 year ago

1.8.72

1 year ago

1.8.71

1 year ago

1.8.70

1 year ago

1.8.69

1 year ago

1.8.68

1 year ago

1.8.67

1 year ago

1.8.66

1 year ago

1.7.66

1 year ago

1.7.65

1 year ago

1.7.64

1 year ago

1.7.63

1 year ago

1.6.63

1 year ago

1.6.62

1 year ago

1.6.61

1 year ago

1.6.60

1 year ago

1.6.59

1 year ago

1.6.58

1 year ago

1.6.57

1 year ago

1.6.56

1 year ago

1.5.56

1 year ago

1.5.55

1 year ago

1.5.54

1 year ago

1.5.53

1 year ago

1.5.52

1 year ago

1.5.51

1 year ago

1.5.50

1 year ago

1.5.49

1 year ago

1.5.48

1 year ago

1.5.47

1 year ago

1.5.46

1 year ago

1.5.45

1 year ago

1.5.44

1 year ago

1.5.43

1 year ago

1.5.42

1 year ago

1.5.41

1 year ago

1.5.40

1 year ago

1.5.39

1 year ago

1.5.38

1 year ago

1.5.37

1 year ago

1.5.36

1 year ago

1.5.35

1 year ago

1.5.34

1 year ago

1.5.33

1 year ago

1.5.32

1 year ago

1.5.31

1 year ago

1.5.30

1 year ago

1.5.29

1 year ago

1.5.28

1 year ago

1.5.27

1 year ago

1.5.26

1 year ago

1.5.25

1 year ago

1.5.24

1 year ago

1.5.23

1 year ago

1.4.23

1 year ago

1.4.22

1 year ago

1.4.21

1 year ago

1.4.20

1 year ago

1.4.19

1 year ago

1.4.18

1 year ago

1.3.18

1 year ago

1.3.17

1 year ago

1.3.16

1 year ago

1.3.15

1 year ago

1.3.14

1 year ago

1.3.13

1 year ago

1.3.12

1 year ago

1.3.11

1 year ago

1.3.10

1 year ago

1.3.9

1 year ago

1.3.8

1 year ago

1.3.7

1 year ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.2.4

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago