Like a Set, but provides the index of the
keyin 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.
npm install @jridgewell/set-arrayimport{SetArray,get,put,pop}from'@jridgewell/set-array';constsa=newSetArray();letindex=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']);