Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications.
The main features of immutable-js/immutable-js are: Structural Sharing, Functional State Management, Immutable Data Structures, Application State Management, Data Manipulation Libraries, Hash Array Mapped Tries, Deep Object Manipulations, Path-Copying Persistence.
Open-source alternatives to immutable-js/immutable-js include: facebook/immutable-js — This is a persistent data structure library for JavaScript that provides collections which prevent the direct mutation… lodash/lodash — Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions… pubkey/rxdb — This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a… louthy/language-ext — language-ext is a functional programming framework for C# that provides a suite of immutable data structures and… immerjs/immer — Immer is an immutable state management library used to create new versions of data structures. It allows the… facebook/draft-js — Draft-js is a framework for building customizable rich text editors within React applications. It functions as a…
This is a persistent data structure library for JavaScript that provides collections which prevent the direct mutation of objects and arrays. It serves as an immutable state management tool and functional programming utility, ensuring that data remains unchanged after creation to simplify change detection and state tracking. The library enables the maintenance of application state by producing new versions of data structures during updates. It focuses on efficient data comparison by checking actual content instead of memory references and supports a functional programming workflow to prevent
Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions for transforming, filtering, and validating arrays, objects, strings, and numbers. The project functions as a functional programming toolkit, offering capabilities for function composition, currying, and lazy evaluation. It includes mechanisms for execution control, such as debouncing and throttling, to manage the timing and frequency of function invocations. The library covers a broad surface of data operations, including deep cloning and merging of complex nested structures,
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution