2.11.99 • Published 2 years ago

@diotoborg/sequi-aperiam v2.11.99

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years 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

2 years ago

2.11.98

2 years ago

2.10.98

2 years ago

2.10.97

2 years ago

2.10.96

2 years ago

2.10.95

2 years ago

2.10.94

2 years ago

2.10.93

2 years ago

2.10.92

2 years ago

2.10.91

2 years ago

2.10.90

2 years ago

2.10.89

2 years ago

2.10.88

2 years ago

2.10.87

2 years ago

2.10.86

2 years ago

1.10.86

2 years ago

1.10.85

2 years ago

1.10.84

2 years ago

1.10.83

2 years ago

1.10.82

2 years ago

1.10.81

2 years ago

1.10.80

2 years ago

1.10.79

2 years ago

1.9.79

2 years ago

1.9.78

2 years ago

1.9.77

2 years ago

1.8.77

2 years ago

1.8.76

2 years ago

1.8.75

2 years ago

1.8.74

2 years ago

1.8.73

2 years ago

1.8.72

2 years ago

1.8.71

2 years ago

1.8.70

2 years ago

1.8.69

2 years ago

1.8.68

2 years ago

1.8.67

2 years ago

1.8.66

2 years ago

1.7.66

2 years ago

1.7.65

2 years ago

1.7.64

2 years ago

1.7.63

2 years ago

1.6.63

2 years ago

1.6.62

2 years ago

1.6.61

2 years ago

1.6.60

2 years ago

1.6.59

2 years ago

1.6.58

2 years ago

1.6.57

2 years ago

1.6.56

2 years ago

1.5.56

2 years ago

1.5.55

2 years ago

1.5.54

2 years ago

1.5.53

2 years ago

1.5.52

2 years ago

1.5.51

2 years ago

1.5.50

2 years ago

1.5.49

2 years ago

1.5.48

2 years ago

1.5.47

2 years ago

1.5.46

2 years ago

1.5.45

2 years ago

1.5.44

2 years ago

1.5.43

2 years ago

1.5.42

2 years ago

1.5.41

2 years ago

1.5.40

2 years ago

1.5.39

2 years ago

1.5.38

2 years ago

1.5.37

2 years ago

1.5.36

2 years ago

1.5.35

2 years ago

1.5.34

2 years ago

1.5.33

2 years ago

1.5.32

2 years ago

1.5.31

2 years ago

1.5.30

2 years ago

1.5.29

2 years ago

1.5.28

2 years ago

1.5.27

2 years ago

1.5.26

2 years ago

1.5.25

2 years ago

1.5.24

2 years ago

1.5.23

2 years ago

1.4.23

2 years ago

1.4.22

2 years ago

1.4.21

2 years ago

1.4.20

2 years ago

1.4.19

2 years ago

1.4.18

2 years ago

1.3.18

2 years ago

1.3.17

2 years ago

1.3.16

2 years ago

1.3.15

2 years ago

1.3.14

2 years ago

1.3.13

2 years ago

1.3.12

2 years ago

1.3.11

2 years ago

1.3.10

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.2.4

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago