awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rtfeldman avatar

rtfeldman/seamless-immutableArchived

0
View on GitHub↗
5,339 stars·198 forks·JavaScript·BSD-3-Clause·5 views

Seamless Immutable

This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves as an immutable state manager and object wrapper designed to ensure data consistency by blocking modifications while remaining compatible with standard JavaScript syntax.

The library functions as a converter that transforms standard mutable data into frozen structures and can convert them back for local modifications. This allows for a workflow where data is switched between immutable and mutable versions to perform bulk edits before locking the state again.

The project provides capabilities for nested data transformation, including path-based updates, deep merging of objects, and querying values within deep hierarchies. It also supports array-to-object transformations, property removal via predicates, and the ability to detect whether a structure is immutable.

Features

  • Immutability Converters - Transforms plain JavaScript objects and arrays into immutable data structures that block mutation.
  • Immutable Data Management - Prevents accidental state changes by providing objects and arrays that cannot be modified after creation.
  • Immutability Converters - Creates shallow or deep mutable copies of immutable structures to enable standard JavaScript modifications.
  • Immutable Array Updates - Produces new immutable structures by setting values or applying transformer functions to nested paths.
  • Path-Based Value Retrieval - Fetches a specific value from a nested path within an immutable structure with default value fallback.
  • Nested Data Extractors - Retrieves values from deep nested paths within immutable structures, providing a default value if the path is missing.
  • Recursive Structure Processors - Traverses and transforms nested JavaScript objects and arrays into immutable versions using recursive locking.
  • Mutable Stores - Transforms immutable objects and arrays back into standard mutable structures for state updates.
  • Immutable Data Libraries - Provides a comprehensive set of immutable objects and arrays compatible with standard JavaScript syntax.
  • Mutation Blocking Mechanisms - Prevents object modifications by overriding prototypes with frozen states or write-blocking proxies.
  • Immutable Data Structures - Creates objects and arrays that cannot be modified after creation to ensure total data consistency.
  • Immutable State Utilities - Provides tools for managing application state through deep merging and path-based immutable updates.
  • Nested Data Transformers - Provides utilities for recursively traversing and transforming nested dictionaries and lists without mutation.
  • Path-Based Tree Traversers - Implements algorithms for navigating and updating deep tree structures using specific access paths.
  • Path-Based Nested Updates - Provides utilities for updating specific values within deeply nested objects using key paths.
  • Predicate-Based Element Filtering - Allows removing elements from immutable collections based on a boolean predicate function.
  • Immutability Wrappers - Wraps standard JavaScript collections to block direct modifications and ensure data consistency.
  • Immutable Mutation Batching - Optimizes immutable updates by applying multiple changes to a temporary mutable copy before re-freezing.
  • Map Key Removals - Excludes specific keys or elements from immutable objects or arrays based on a provided predicate.
  • Object Property Omission - Creates new immutable objects by excluding specific keys or elements that match a predicate.
  • State Consistency Patterns - Implements patterns to ensure predictable application state by enforcing immutable data structures.
  • Immutable Value Transformers - Allows applying transformer functions to properties to calculate new values while maintaining immutability.
  • Object Merging - Combines multiple objects into a single immutable structure with support for deep merge configurations.
  • Immutable Object Merging - Provides logic to combine multiple data sources into a new frozen object without mutating original inputs.

Star history

Star history chart for rtfeldman/seamless-immutableStar history chart for rtfeldman/seamless-immutable

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Seamless Immutable

Similar open-source projects, ranked by how many features they share with Seamless Immutable.
  • kolodny/immutability-helperkolodny avatar

    kolodny/immutability-helper

    5,187View on GitHub↗

    immutability-helper is an immutable data manipulation library and object utility used for creating modified copies of objects and arrays. It functions as a command-based state manager and functional data transformer that ensures original source data remains unchanged during updates. The library distinguishes itself by using a declarative set of mutation commands and descriptors to specify changes. It preserves reference equality by returning the original object reference if no actual changes occur during the mutation process. It provides capabilities for deep cloning nested structures and pe

    TypeScript
    View on GitHub↗5,187
  • lightbend/configlightbend avatar

    lightbend/config

    6,309View on GitHub↗

    This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an immutable tree structure. It resolves ${...} placeholders by traversing the configuration tree and falling back to environment variables and system properties, and validates loaded configurations against a reference schema. The library loads configuration from classpath resources, files, URLs, system properties, and environment variables, merging them with priority-based override semantics. It provides typed value access with automatic type coercion, supports dot-path navigation,

    Javaconfiguration-libraryhoconsupported
    View on GitHub↗6,309
  • angus-c/justangus-c avatar

    angus-c/just

    6,204View on GitHub↗

    Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The

    JavaScript
    View on GitHub↗6,204
  • louthy/language-extlouthy avatar

    louthy/language-ext

    7,057View on GitHub↗

    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

    C#
    View on GitHub↗7,057
See all 30 alternatives to Seamless Immutable→

Frequently asked questions

What does rtfeldman/seamless-immutable do?

This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves as an immutable state manager and object wrapper designed to ensure data consistency by blocking modifications while remaining compatible with standard JavaScript syntax.

What are the main features of rtfeldman/seamless-immutable?

The main features of rtfeldman/seamless-immutable are: Immutability Converters, Immutable Data Management, Immutable Array Updates, Path-Based Value Retrieval, Nested Data Extractors, Recursive Structure Processors, Mutable Stores, Immutable Data Libraries.

What are some open-source alternatives to rtfeldman/seamless-immutable?

Open-source alternatives to rtfeldman/seamless-immutable include: kolodny/immutability-helper — immutability-helper is an immutable data manipulation library and object utility used for creating modified copies of… lightbend/config — This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an… angus-c/just — Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming,… louthy/language-ext — language-ext is a functional programming framework for C# that provides a suite of immutable data structures and… d5/tengo — Tengo is a dynamic, embeddable scripting language for Go applications that allows for the execution of custom scripts… caiorss/functional-programming — This repository serves as an educational resource and tutorial collection focused on the principles and implementation…

Curated searches featuring Seamless Immutable

Hand-picked collections where Seamless Immutable appears.
  • Frontend State Management Libraries