There's loads of implementations of a BigMap on npm, but I didn't really like any of them.
Well, honestly, I just wanted to make my own for the fun of it.
https://www.npmjs.com/package/bigbigmapset
https://github.com/JesseRussell411/BigBigMapSet
There's a BigMap and BigSet.
Here's why I like my implementation:
typescript support
runtime independent (theoretically) so long as Map and Set throw a RangeError when they're full.
They actually extend Map and Set so instanceof works and typescript won't complain if you use them where a Map or Set were expected. Thanks to extending Map and Set, they ARE Map and Set.
They exactly copy Map and Set's interface, including giving the constructor an Iterable of entries. You just add "Big" to the constructor call in your source code and the rest should just work.
probably relatively performant. There aren't any lambdas, forEach()s, map()s, filter()s, etc in the source code because they tend to be slow and this is the kind of thing that needs to be as fast as possible. Of course, it's still a very simple implementation that just stores an un-indexed list of maps or sets and searches through them linearly for each operation.