alexgurr / deep-object-changes

Compares two objects, an original and an updated version and returns an object with only the changes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

deep-object-changes

npm size issues stars

Compares two objects, an original and an updated version and returns an object with only the changes.

Will deep compare objects recursively, but will only shallow compare arrays.

This module is useful for working out the bare minimum payload needed to send to a server.

Example

  import deepObjectChanges from 'deep-object-changes';
  
  const EXAMPLE_USER_RES = {
    firstName: 'Emperor',
    lastName: 'Palpatine',
    age: 75,
    location: {
      street: 'Death Star',
      postCode: 'SPACE'
    }
  };
  
  const EXAMPLE_CHANGED_USER = {
    firstName: 'Emperor',
    lastName: 'Palpatine',
    age: 85,
     location: {
      street: 'Death Star',
      postCode: 'GALAXY'
    }
  }
  
  deepObjectChanges(EXAMPLE_USER_RES, EXAMPLE_CHANGED_USER);
  
  /**
    Outputs: 
    
    {
      age: 85,
       location: {
        postCode: 'GALAXY'
      }
    }
 */
  

About

Compares two objects, an original and an updated version and returns an object with only the changes.


Languages

Language:JavaScript 100.0%