A suite of high-performance, persistent immutable data structures for modern JavaScript and TypeScript applications.
Collectable.js is a library of high-performance, persistent immutable data structures for JavaScript and TypeScript. It provides functional alternatives to native mutable collections like arrays and objects, enabling efficient state updates through structural sharing. The library includes implementations of lists, maps, sets, and trees optimized for performance and memory usage.
JavaScript and TypeScript developers building applications that require predictable state management, such as frontend frameworks, data-intensive applications, or systems following functional programming principles.
Developers choose Collectable.js for its combination of performance, comprehensive TypeScript support, and functional API design. It offers a robust suite of data structures with tree-shakeable modules, reducing bundle size while providing efficient immutable operations.
High-performance immutable data structures for modern JavaScript and TypeScript applications. Functional interfaces, deep/composite operations API, mixed mutability API, TypeScript definitions, ES2015 module exports.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements advanced structures like RRB Trees and hash array mapped tries for efficient persistent updates, as highlighted in the philosophy section.
Built-in complete type definitions ensure type safety and enhance the developer experience, with no additional setup required.
ES2015 module exports allow for minimal bundle size by including only the data structures used, optimizing for modern web applications.
Curried and composable functions with parameter ordering suited for functional programming, enabling clean, declarative code.
The README explicitly states documentation is 'somewhat lacking and out of date,' which can hinder learning and effective usage.
As an ongoing work in progress, the README warns of potential breaking changes in future versions to iron out API inconsistencies.
Deep operations on nested structures are marked as under construction, limiting functionality for complex data manipulation needs.