internal-slot
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/internal-slot package

    1.0.3 • Public • Published

    internal-slot Version Badge

    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.

    Install

    npm i internal-slot

    DownloadsWeekly Downloads

    10,371,584

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    15.5 kB

    Total Files

    11

    Last publish

    Collaborators

    • ljharb