学习?学个屁 06c63c15cc 初始化提交 10 months ago
..
.github 06c63c15cc 初始化提交 10 months ago
test 06c63c15cc 初始化提交 10 months ago
.attw.json 06c63c15cc 初始化提交 10 months ago
.editorconfig 06c63c15cc 初始化提交 10 months ago
.eslintrc 06c63c15cc 初始化提交 10 months ago
.nycrc 06c63c15cc 初始化提交 10 months ago
CHANGELOG.md 06c63c15cc 初始化提交 10 months ago
LICENSE 06c63c15cc 初始化提交 10 months ago
README.md 06c63c15cc 初始化提交 10 months ago
index.d.ts 06c63c15cc 初始化提交 10 months ago
index.js 06c63c15cc 初始化提交 10 months ago
package.json 06c63c15cc 初始化提交 10 months ago
tsconfig.json 06c63c15cc 初始化提交 10 months ago

README.md

internal-slot Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

Truly private storage, akin to the JS spec’s concept of internal slots.

Uses a WeakMap when available; a Map when not; and a regular object in even older engines. Performance and garbage collection behavior will reflect the environment’s capabilities accordingly.

Example

var SLOT = require('internal-slot');
var assert = require('assert');

var o = {};

assert.throws(function () { SLOT.assert(o, 'foo'); });

assert.equal(SLOT.has(o, 'foo'), false);
assert.equal(SLOT.get(o, 'foo'), undefined);

SLOT.set(o, 'foo', 42);

assert.equal(SLOT.has(o, 'foo'), true);
assert.equal(SLOT.get(o, 'foo'), 42);

assert.doesNotThrow(function () { SLOT.assert(o, 'foo'); });

Tests

Simply clone the repo, npm install, and run npm test

Security

Please email @ljharb or see https://tidelift.com/security if you have a potential security vulnerability to report.