conset.js
An ordered conditional set (you can provide your own hash) for typescript/javascript
Features
- Provide your own hash function which returns a string. This will be used as the identifier of the item.
- Maintain order.
- Newly added values override existing ones and update order.
- Barebones functional API.
- compute intersection and union
Usage
conset.addmyset, conset.addmyset, conset.addmyset, conset.getItemsmyset/* [ {id: 1, data: ["whatever", "something"]} {id: 2, data: ["something", "whatever"]} {id: 3, data: ["something", "whatever", "balls"]}] */ conset.containsmyset, /*true*/conset.removemyset, conset.getItemsmyset/* [ {id: 1, data: ["whatever", "something"]} {id: 2, data: ["something", "whatever"]}] */ for of conset.itermyset /*{id: 1, data: ["whatever", "something"]}{id: 2, data: ["something", "whatever"]}*/ conset.getItemsconset.intersectc,d/*[ { a: 1 }, { a: 2 } ]*/conset.getItemsconset.unionc,d/*[ { a: 3 }, { a: 9 }, { a: 10 }, { a: 1 }, { a: 2 }, { a: 7 } ]*/>
API overview [TODO use JSDoc for this]
declare ;declare ;declare ;declare ;declare ;declare ;declare ;declare ;declare ;declare ;declare ;