e 92fdcc4d2a ts 10 månader sedan
..
dist 92fdcc4d2a ts 10 månader sedan
LICENSE 92fdcc4d2a ts 10 månader sedan
README.md 92fdcc4d2a ts 10 månader sedan
package.json 92fdcc4d2a ts 10 månader sedan

README.md

@jridgewell/set-array

Like a Set, but provides the index of the key in the backing array

This is designed to allow synchronizing a second array with the contents of the backing array, like how in a sourcemap sourcesContent[i] is the source content associated with source[i], and there are never duplicates.

Installation

npm install @jridgewell/set-array

Usage

import { SetArray, get, put, pop } from '@jridgewell/set-array';

const sa = new SetArray();

let index = put(sa, 'first');
assert.strictEqual(index, 0);

index = put(sa, 'second');
assert.strictEqual(index, 1);

assert.deepEqual(sa.array, [ 'first', 'second' ]);

index = get(sa, 'first');
assert.strictEqual(index, 0);

pop(sa);
index = get(sa, 'second');
assert.strictEqual(index, undefined);
assert.deepEqual(sa.array, [ 'first' ]);