awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
facebook avatar

facebook/immutable-js

0
View on GitHub↗
33,060 estrellas·1,850 forks·TypeScript·MIT·3 vistasimmutable-js.com↗

Immutable Js

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 accidental side effects.

Capabilities include the manipulation of deep nested data using path-based accessors and the ability to convert between persistent and native JavaScript types. The project also supports large dataset transformations through the use of lazy operations and batched mutations.

Features

  • Immutable State Containers - Provides immutable state containers that enforce state changes through the creation of new objects.
  • Persistent Data Structures - Provides a comprehensive library of persistent data structures for JavaScript that prevent direct mutation.
  • Data Comparison - Enables efficient data comparison by checking values instead of references to optimize rendering and change detection.
  • Immutable Data Structures - Provides a comprehensive collection of persistent and immutable data structures for JavaScript.
  • Hash Array Mapped Tries - Implements Hash Array Mapped Tries (HAMT) to provide efficient persistent maps and sets.
  • Nested Data Manipulations - Offers functions for processing and updating complex, hierarchical data structures using path-based accessors.
  • Deep Object Manipulations - Provides utilities for performing deep updates and merges on nested data structures via path-based access.
  • Value Comparators - Provides tools to compare different object instances by their actual content rather than memory references.
  • Functional Utility Libraries - Functions as a functional utility library providing primitives for lazy sequences and value-based equality.
  • Structural Sharing - Uses structural sharing to minimize memory overhead when producing new versions of data structures.
  • Deep Equality Comparison - Implements deep equality comparison to determine if two different object references represent the same data by value.
  • Functional Programming - Facilitates a functional programming workflow using persistent collections to prevent accidental side effects.
  • Path-Based Tree Traversers - Enables reading and updating deeply nested data using path-based accessors to avoid manual traversal.
  • Immutable Mutation Batching - Enables batching multiple mutations into a temporary state to reduce the overhead of creating intermediate objects.
  • Transient-Based Batching - Allows temporary mutable state via transients to improve the performance of batch mutations.
  • Transformation Chains - Supports chaining transformations lazily to avoid the creation of expensive intermediate data structures.
  • Type Conversion Utilities - Provides methods to convert persistent collections into plain JavaScript objects and arrays.
  • Lazy Evaluation Patterns - Provides lazy sequence evaluation to defer expensive collection transformations until the results are explicitly requested.
  • Large Dataset Optimizations - Optimizes the processing of large datasets through lazy sequence evaluation and batched mutations.
  • Data Structures - Immutable data collections.
  • Persistent Data Structures - Persistent immutable data collections for JavaScript.
  • Data Structures - Immutable data collections for JavaScript.
  • Functional Programming - Immutable data collections.
  • JavaScript Utilities - Immutable data collections for frontend and backend.

Historial de estrellas

Gráfico del historial de estrellas de facebook/immutable-jsGráfico del historial de estrellas de facebook/immutable-js

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Immutable Js

Proyectos open-source similares, clasificados según cuántas características comparten con Immutable Js.
  • immutable-js/immutable-jsAvatar de immutable-js

    immutable-js/immutable-js

    33,060Ver en GitHub↗

    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

    TypeScript
    Ver en GitHub↗33,060
  • ramda/ramdaAvatar de ramda

    ramda/ramda

    24,072Ver en GitHub↗

    Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines. The library is distinguished by its use of automatic function currying and a data-last argument order. These design patterns allow multi-argument functions to be partially applied, simplifying the construction of processing chains where data is passed through a sequence of operations. The toolkit covers broad data manipulation capabilities, including list processin

    JavaScriptjavascriptramda
    Ver en GitHub↗24,072
  • ankurp/dollarAvatar de ankurp

    ankurp/Dollar

    4,240Ver en GitHub↗

    Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection manipulation, string processing, mathematical calculations, and date and time management. It serves as a utility suite for filtering, aggregating, and restructuring arrays and dictionaries. The project implements functional programming patterns such as currying, memoization, and function composition. It also features a chainable wrapper interface that allows multiple data transformations to be applied sequentially before extracting a final result. The library covers a wide range of capab

    Swift
    Ver en GitHub↗4,240
  • lodash/lodashAvatar de lodash

    lodash/lodash

    61,235Ver en 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
    Ver en GitHub↗61,235
Ver las 30 alternativas a Immutable Js→

Preguntas frecuentes

¿Qué hace facebook/immutable-js?

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.

¿Cuáles son las características principales de facebook/immutable-js?

Las características principales de facebook/immutable-js son: Immutable State Containers, Persistent Data Structures, Data Comparison, Immutable Data Structures, Hash Array Mapped Tries, Nested Data Manipulations, Deep Object Manipulations, Value Comparators.

¿Qué alternativas de código abierto existen para facebook/immutable-js?

Las alternativas de código abierto para facebook/immutable-js incluyen: immutable-js/immutable-js — Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a… ramda/ramda — Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It… ankurp/dollar — Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection… lodash/lodash — Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions… workiva/go-datastructures — go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance… louthy/language-ext — language-ext is a functional programming framework for C# that provides a suite of immutable data structures and…