186 GB
47,027 files
Updated 3 months ago
Name
Size
.github
test
.editorconfig145 Bytes
xet
.eslintrc185 Bytes
xet
.nycrc216 Bytes
xet
CHANGELOG.md1.63 kB
xet
LICENSE1.07 kB
xet
README.md2.29 kB
xet
index.d.ts335 Bytes
xet
index.js3.29 kB
xet
list.d.ts721 Bytes
xet
package.json2.26 kB
xet
tsconfig.json116 Bytes
xet
README.md

side-channel-list Version Badge

github actions coverage License Downloads

npm badge

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

Warning: this implementation will leak memory until you delete the key. Use side-channel for the best available strategy.

Getting started

npm install --save side-channel-list

Usage/Examples

const assert = require('assert');
const getSideChannelList = require('side-channel-list');

const channel = getSideChannelList();

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