186 GB
47,027 files
Updated 3 months ago
Name
Size
.github
test
.editorconfig145 Bytes
xet
.eslintrc203 Bytes
xet
.nycrc216 Bytes
xet
CHANGELOG.md10.5 kB
xet
LICENSE1.07 kB
xet
README.md2.15 kB
xet
index.d.ts486 Bytes
xet
index.js1.19 kB
xet
package.json2.36 kB
xet
tsconfig.json116 Bytes
xet
README.md

side-channel Version Badge

github actions coverage License Downloads

npm badge

Store information about any JS value in a side channel. Uses WeakMap if available.

Warning: in an environment that lacks WeakMap, this implementation will leak memory until you delete the key.

Getting started

npm install --save side-channel

Usage/Examples

const assert = require('assert');
const getSideChannel = require('side-channel');

const channel = getSideChannel();

const key = {};
assert.equal(channel.has(key), false);
assert.throws(() => channel.assert(key), TypeError);

channel.set(key, 42);

channel.assert(key); // does not throw
assert.equal(channel.has(key), true);
assert.equal(channel.get(key), 42);

channel.delete(key);
assert.equal(channel.has(key), false);
assert.throws(() => channel.assert(key), TypeError);

Tests

Clone the repo, npm install, and run npm test

Total size
186 GB
Files
47,027
Last updated
May 1
Pre-warmed CDN
US EU US EU

Contributors