JavaScript library to efficiently mutate data without changing the original source

This page summarizes the projects mentioned and recommended in the original post on /r/javascript

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • immutability-helper

    mutate a copy of data without changing the original source

  • ramda

    :ram: Practical functional Javascript

  • if you want to write immutable code https://ramdajs.com/ is a great library

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • immutable-js

    Immutable persistent data collections for Javascript which increase efficiency and simplicity.

  • However, the way Immer uses that phrase seems to be different than how Immutable.js uses that phrase: https://immutable-js.github.io/immutable-js/ , https://medium.com/@dtinth/immutable-js-persistent-data-structures-and-structural-sharing-6d163fbd73d2. It specifically points to the use of specialized data structures like "hash mapped tries" as a mechanism to reuse existing references. Immer definitely doesn't use any of those.

  • Immer

    Create the next immutable state by mutating the current one

  • Yes, Immer's docs say it uses "structural sharing": https://immerjs.github.io/immer/ . Specifically, it just leaves existing references as-is if they don't need to be updated.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts