deep-object-changes

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

Usage no npm install needed!

<script type="module">
  import deepObjectChanges from 'https://cdn.skypack.dev/deep-object-changes';
</script>

README

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'
      }
    }
 */