Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

diff-immutability-helper

1.1.0 • Public • Published

diff-immutability-helper

Creates a diff between 2 JavaScript objects, allowing you to mutate one object to another using immutability-helper

npm package Build Status Coverage Status

Overview

diff-immutability-helper creates an immutability-helper compatible diff object between 2 JavaScript variables.

This diff object would then allow you to mutate the base object to the target object.

Installation

$ npm install diff-immutability-helper --save

Example

Given:

  import diff from 'diff-immutability-helper';
 
  const base = {
    a: [1, 2, { b: 1 }, 4, 5, 6],
    b: 'test',
    c: 'prev'
  };
 
  const target = {
    a: [1, 2, { b: 2 }, 4, 6],
    b: 'test 2',
    d: 'new'
  };
 
  const change = diff(base, target);

will give a result of:

  const change = {
    a: {
      $splice: [[4, 1], [2, 1, { b: 2 }]]
    },
    b: {$set: 'test 2'},
    $apply: (v) => omit(v, ['c']),
    $merge: {
      d: 'new'
    }
  }

thus, we can then do:

  import update from 'immutability-helper';
  update(base, change); // to match target

Notes

  • Array diffing uses LCS
  • Only CommonJS format (for node.js) is provided. This is to minimize library size when you bundle with your application.

License

diff-immutability-helper is MIT licensed

install

npm i diff-immutability-helper

Downloadsweekly downloads

1

version

1.1.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability