186 GB
47,027 files
Updated 3 months ago
Name
Size
.github
test
.editorconfig145 Bytes
xet
.eslintrc185 Bytes
xet
.nycrc216 Bytes
xet
CHANGELOG.md1.19 kB
xet
LICENSE1.07 kB
xet
README.md2.28 kB
xet
index.d.ts367 Bytes
xet
index.js1.98 kB
xet
package.json2.34 kB
xet
tsconfig.json116 Bytes
xet
README.md

side-channel-map Version Badge

github actions coverage License Downloads

npm badge

Store information about any JS value in a side channel, using a Map.

Warning: if the key is an object, this implementation will leak memory until you delete it. Use side-channel for the best available strategy.

Getting started

npm install --save side-channel-map

Usage/Examples

const assert = require('assert');
const getSideChannelMap = require('side-channel-map');

const channel = getSideChannelMap();

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