{"_id":"side-channel-list","_rev":"2-aae03cb36c32c301bef178f60a401056","name":"side-channel-list","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"side-channel-list","version":"1.0.0","keywords":[],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"license":"MIT","_id":"side-channel-list@1.0.0","maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"homepage":"https://github.com/ljharb/side-channel-list#readme","bugs":{"url":"https://github.com/ljharb/side-channel-list/issues"},"dist":{"shasum":"10cb5984263115d3b7a0e336591e290a830af8ad","tarball":"https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz","fileCount":13,"integrity":"sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==","signatures":[{"sig":"MEQCIQCEbYLueEqQgC2W2ADBUY7qFxILlurdtKbgX+rGwu2GAQIfBBk7jjnu67EZEHrZtBSxBPMyxt6Qp46T9wNJkflUrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14741},"main":"index.js","types":"./index.d.ts","engines":{"node":">= 0.4"},"exports":{".":"./index.js","./package.json":"./package.json"},"funding":{"url":"https://github.com/sponsors/ljharb"},"gitHead":"d4879491c2533a30961ba464c2613f7d7c7cf936","scripts":{"lint":"eslint --ext=js,mjs .","test":"npm run tests-only","prelint":"evalmd README.md && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')","prepack":"npmignore --auto --commentLines=autogenerated","pretest":"npm run lint","version":"auto-changelog && git add CHANGELOG.md","postlint":"tsc -p . && attw -P","posttest":"npx npm@'>= 10.2' audit --production","prepublish":"not-in-publish || npm run prepublishOnly","tests-only":"nyc tape 'test/**/*.js'","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"","prepublishOnly":"safe-publish-latest"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"repository":{"url":"git+https://github.com/ljharb/side-channel-list.git","type":"git"},"_npmVersion":"10.9.0","description":"Store information about any JS value in a side channel, using a linked list","directories":{},"_nodeVersion":"23.3.0","dependencies":{"es-errors":"^1.3.0","object-inspect":"^1.13.3"},"publishConfig":{"ignore":[".github/workflows"]},"_hasShrinkwrap":false,"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","hideCredit":true,"unreleased":false,"commitLimit":false,"backfillLimit":false},"devDependencies":{"nyc":"^10.3.2","tape":"^5.9.0","eclint":"^2.8.1","eslint":"=8.8.0","evalmd":"^0.0.19","encoding":"^0.1.13","npmignore":"^0.3.1","in-publish":"^2.0.1","typescript":"next","@types/tape":"^5.6.5","auto-changelog":"^2.5.0","@ljharb/tsconfig":"^0.2.2","safe-publish-latest":"^2.0.0","@arethetypeswrong/cli":"^0.17.1","@ljharb/eslint-config":"^21.1.1","@types/object-inspect":"^1.13.0"},"_npmOperationalInternal":{"tmp":"tmp/side-channel-list_1.0.0_1733862024904_0.5380686564616168","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"side-channel-list","version":"1.0.1","description":"Store information about any JS value in a side channel, using a linked list","main":"index.js","exports":{".":"./index.js","./package.json":"./package.json"},"types":"./index.d.ts","scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","prelint":"evalmd README.md && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')","lint":"eslint --ext=js,mjs .","postlint":"tsc -p . && attw -P","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"npx npm@'>= 10.2' audit --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/side-channel-list.git"},"keywords":[],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/side-channel-list/issues"},"homepage":"https://github.com/ljharb/side-channel-list#readme","dependencies":{"es-errors":"^1.3.0","object-inspect":"^1.13.4"},"devDependencies":{"@arethetypeswrong/cli":"^0.18.2","@ljharb/eslint-config":"^22.2.2","@ljharb/tsconfig":"^0.3.2","@types/object-inspect":"^1.13.0","@types/tape":"^5.8.1","auto-changelog":"^2.5.0","eclint":"^2.8.1","encoding":"^0.1.13","eslint":"^8.57.1","evalmd":"^0.0.19","in-publish":"^2.0.1","npmignore":"^0.3.5","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.9.0","typescript":"next"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"engines":{"node":">= 0.4"},"gitHead":"0d8f74e4b2ee518b682cbf859b3ec7b8a6ec48f0","_id":"side-channel-list@1.0.1","_nodeVersion":"25.8.2","_npmVersion":"11.11.1","dist":{"integrity":"sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==","shasum":"c2e0b5a14a540aebee3bbc6c3f8666cc9b509127","tarball":"https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz","fileCount":13,"unpackedSize":16973,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAYN379SU3KnWDnwCRBV3nOVgfmWBBGpaUKYlT5tarEmAiBW54BSDTi8R42vbNrblf+NiQsSwZO6pjDRV5HA8rI/kg=="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/side-channel-list_1.0.1_1775667313421_0.4562659460495886"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-10T20:20:24.903Z","modified":"2026-04-08T16:55:13.730Z","1.0.0":"2024-12-10T20:20:25.133Z","1.0.1":"2026-04-08T16:55:13.603Z"},"bugs":{"url":"https://github.com/ljharb/side-channel-list/issues"},"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"license":"MIT","homepage":"https://github.com/ljharb/side-channel-list#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/ljharb/side-channel-list.git"},"description":"Store information about any JS value in a side channel, using a linked list","maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"readme":"# side-channel-list <sup>[![Version Badge][npm-version-svg]][package-url]</sup>\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\nStore information about any JS value in a side channel, using a linked list.\n\nWarning: this implementation will leak memory until you `delete` the `key`.\nUse [`side-channel`](https://npmjs.com/side-channel) for the best available strategy.\n\n## Getting started\n\n```sh\nnpm install --save side-channel-list\n```\n\n## Usage/Examples\n\n```js\nconst assert = require('assert');\nconst getSideChannelList = require('side-channel-list');\n\nconst channel = getSideChannelList();\n\nconst key = {};\nassert.equal(channel.has(key), false);\nassert.throws(() => channel.assert(key), TypeError);\n\nchannel.set(key, 42);\n\nchannel.assert(key); // does not throw\nassert.equal(channel.has(key), true);\nassert.equal(channel.get(key), 42);\n\nchannel.delete(key);\nassert.equal(channel.has(key), false);\nassert.throws(() => channel.assert(key), TypeError);\n```\n\n## Tests\n\nClone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/side-channel-list\n[npm-version-svg]: https://versionbadg.es/ljharb/side-channel-list.svg\n[deps-svg]: https://david-dm.org/ljharb/side-channel-list.svg\n[deps-url]: https://david-dm.org/ljharb/side-channel-list\n[dev-deps-svg]: https://david-dm.org/ljharb/side-channel-list/dev-status.svg\n[dev-deps-url]: https://david-dm.org/ljharb/side-channel-list#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/side-channel-list.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/side-channel-list.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/side-channel-list.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=side-channel-list\n[codecov-image]: https://codecov.io/gh/ljharb/side-channel-list/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/ljharb/side-channel-list/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/side-channel-list\n[actions-url]: https://github.com/ljharb/side-channel-list/actions\n","readmeFilename":"README.md"}