awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
immutable-js avatar

immutable-js/immutable-js

0
View on GitHub↗
33,060 stars·1,850 forks·TypeScript·MIT·4 vuesimmutable-js.com↗

Immutable Js

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 library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning an immutable version.

The toolkit covers a broad range of capabilities, including deep nested data updates, functional data manipulation, and value-based equality checking. It provides utilities for type conversion between persistent collections and native JavaScript objects and arrays, as well as tools for sorting, partitioning, and merging data structures.

Features

  • Structural Sharing - Employs structural sharing to reuse unchanged nodes between versions of persistent data structures, minimizing memory overhead.
  • Functional State Management - Provides a toolkit for managing application state using pure functions and immutable data structures.
  • Immutable Data Structures - Provides a suite of immutable data structures that transform plain JavaScript objects and arrays into persistent collections.
  • Application State Management - Provides a toolkit for application state management using persistent structures to ensure predictable updates in JavaScript.
  • Data Manipulation Libraries - Provides a comprehensive toolkit for transforming, filtering, and querying structured data while maintaining immutability.
  • Hash Array Mapped Tries - Implements Hash Array Mapped Tries to enable efficient updates of persistent collections through structural sharing.
  • Deep Object Manipulations - Provides utilities for recursive property updates and structural modifications of deeply nested data structures.
  • Path-Copying Persistence - Uses path-copying persistence to create new versions of data structures while preserving previous state.
  • Persistent Application State - Maintains persistent application state using immutable collections to ensure predictable updates and prevent direct mutation.
  • Persistent Data Structures - Implements persistent data structures that use structural sharing to efficiently preserve previous versions of state.
  • Value-Based Equality Checking - Implements value-based equality checking to optimize rendering and change detection by comparing content instead of references.
  • Lazy Sequence Processors - Ships a system for chaining data transformations that execute only when values are requested.
  • Immutable Mutation Batching - Supports batch mutation processing using temporary mutable copies to optimize performance during multiple rapid updates.
  • Lazy Iterators - Implements memory-efficient lazy iterators that defer data transformations until values are explicitly requested.
  • Path-Based Data Access - Enables path-based data access to read and update values deep within nested data trees without manual traversal.
  • Deep Equality Checks - Implements deep equality checks to determine if two collections are identical based on content rather than memory reference.
  • Deep Equality Comparison - Provides utilities for deep equality comparison of nested data structures by value.
  • Lazy Evaluation Patterns - Provides lazy sequence evaluation to defer map and filter computations until values are explicitly requested.
  • State Management - Persistent data collections for JavaScript.
  • Functional Programming - Library for creating and managing immutable data structures.
  • State Management - Listed in the “State Management” section of the Awesome React awesome list.
  • Utilities and Helpers - Immutable data collections for JavaScript.

Historique des stars

Graphique de l'historique des stars pour immutable-js/immutable-jsGraphique de l'historique des stars pour immutable-js/immutable-js

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Immutable Js

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Immutable Js.
  • facebook/immutable-jsAvatar de facebook

    facebook/immutable-js

    33,060Voir sur GitHub↗

    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

    TypeScript
    Voir sur GitHub↗33,060
  • lodash/lodashAvatar de lodash

    lodash/lodash

    61,235Voir sur GitHub↗

    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,

    JavaScriptjavascriptlodashmodules
    Voir sur GitHub↗61,235
  • pubkey/rxdbAvatar de pubkey

    pubkey/rxdb

    23,048Voir sur GitHub↗

    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

    TypeScriptangularbrowser-databasecouchdb
    Voir sur GitHub↗23,048
  • kotlin/kotlinx.collections.immutableAvatar de Kotlin

    Kotlin/kotlinx.collections.immutable

    1,409Voir sur GitHub↗

    Kotlinx.collections.immutable is a persistent data structure library for Kotlin that provides immutable lists, sets, and maps for state management. It enforces strict immutability by exposing read-only interfaces that block unauthorized modifications at compile time, while persistent structural sharing allows modified copies to efficiently reuse underlying memory storage with the original collection. Multiple insertions and removals can be batched through temporary mutable builder interfaces to instantly produce new persistent collections without intermediate allocations. Additionally, stand

    Kotlincollectionsimmutableimmutable-collections
    Voir sur GitHub↗1,409
Voir les 30 alternatives à Immutable Js→

Questions fréquentes

Que fait immutable-js/immutable-js ?

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.

Quelles sont les fonctionnalités principales de immutable-js/immutable-js ?

Les fonctionnalités principales de immutable-js/immutable-js sont : Structural Sharing, Functional State Management, Immutable Data Structures, Application State Management, Data Manipulation Libraries, Hash Array Mapped Tries, Deep Object Manipulations, Path-Copying Persistence.

Quelles sont les alternatives open-source à immutable-js/immutable-js ?

Les alternatives open-source à immutable-js/immutable-js incluent : 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… kotlin/kotlinx.collections.immutable — Kotlinx.collections.immutable is a persistent data structure library for Kotlin that provides immutable lists, sets,… 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…