0.1.1 • Published 6 years ago

just-the-diff v0.1.1

Weekly downloads
7
License
-
Repository
github
Last release
6 years ago

objectDiff Build Status

Usage

objectDiff will get the extra and different properties of the first object

ex.

objectDiff(
  {
    steel: {
      sword: {
        weight: 20
      }
    }
  },
  {
    steel: {
      train: {
        contains: "coal"
      }
    }
  });

yields

  {
    steel: {
      sword: {
        weight: 20
      }
    }
  }

because all the stuff in a is not in b (this diff shows extra or different, only for the first object). You can get the same for the second object by reversing the order in your call

if two objects are are the same, objectDiff yields undefined

ex.

  objectDiff({}, {}) === undefined //true

more examples.

  objectDiff(
  {
    steel: {
      sword:{
        weight: 10
      },
      train: {
        hasCoal: true
      }
    }
  },
  {
    steel: {
      sword: {
        weight: 10
      }
    }
  });

yields

{
  steel: {
    train: {
      hasCoal: true
    }
  }
}

because the first object is only different in the path steel.train.hasCoal

Warning

make sure you run tests with data that resembles your application

There are things that may not be implemented. Circular structures come to mind as they have not been tested.

Developing

get the dependencies

yarn

lint

yarn run lint

test

yarn run test
yarn run test -- --watch