facebook/immutable-js
▻https://github.com/facebook/immutable-js
Immutable data cannot be changed once created, leading to much simpler application development and enabling techniques from functional programming such as lazy evaluation. Immutable JS provides a lazy Sequence, allowing efficient chaining of sequence methods like map and filter without creating intermediate representations.
immutable provides Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector by using lazy sequences and hash maps tries. They achieve efficiency by using structural sharing and minimizing the need to copy or cache data.