Catalog npm
PACKAGE EXPLORERView in registry

3-way-diff

npm

3-way diffing of JavaScript objects

3 way diff3-way diffthree way diffthree-way diff
Versions collected9
Direct dependencies2From release 1.0.8
Last observed20 Oct, 19:21 UTC

README

Current package documentation

3-way-diff

Build Status

https://github.com/lodash/lodash/blob/master/lodash.js#L11220 Note: This method supports comparing arrays, array buffers, booleans, date objects, error objects, maps, numbers, Object objects, regexes, sets, strings, symbols, and typed arrays. Object objects are compared by their own, not inherited, enumerable properties. Functions and DOM nodes are not supported.

Structure of return object is loosely based on https://github.com/flitbit/diff

Some comparison is based on https://github.com/falsecz/3-way-merge/blob/master/test/test.coffee

Concestor comes from https://github.com/dominictarr/xdiff

Differences

Differences are reported as one or more change records. Change records have the following structure:

  • kind - indicates the kind of change; will be one of the following:
    • N - indicates a newly added property/element
    • D - indicates a property/element was deleted
    • E - indicates a property/element was edited
    • C - indicates a conflicting change was made to both mine and theirs
  • path - the property path (from the parent)
  • parent - the value on parent
  • theirs - the value on theirs (undefined if kind === 'N')
  • mine - the value on mine (undefined if kind === 'D')

Options

Options object can be used to denote certain flags. Object should be replica of mine with flags set on specific keys

Example

Mine:

{ 
  key1: { 
    childKey1: { 
      key: value
    },
    childKey2: value
  },
  key2: {
    childKey1: value
  }
}

Options:

{ 
  key1: { 
    childKey1: { 
      ignoreKey: true 
    },
    ignoreOrder: true, 
  },
  key2: {
    ignoreKey: true
  }
}

Flags

  • ignoreKey - Do not diff this key
  • ignoreOrder - Compares arrays without maintaining order
  • falsy - Allow values to be compared as falsy (0, '', false, undefined, NaN and null are equal)

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 9

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.8Registry latest9 May 20172
1.0.71 May 20172
1.0.626 Apr 20172
1.0.528 Feb 20172
1.0.42 Feb 20172
1.0.319 Dec 20162
1.0.216 Dec 20164
1.0.116 Dec 20164
0.0.116 Dec 20164

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
wennermedia/3-way-diff

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:21 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:61b39cccc5bca6037cca14f9a72db51543574291a6b49d9ecdf24e60a3c19e73