webhook/node_modules/fast-diff
2020-08-26 09:57:08 +10:00
..
.travis.yml Add node_modules until bundler is added 2020-08-26 09:57:08 +10:00
diff.d.ts Add node_modules until bundler is added 2020-08-26 09:57:08 +10:00
diff.js Add node_modules until bundler is added 2020-08-26 09:57:08 +10:00
package.json Add node_modules until bundler is added 2020-08-26 09:57:08 +10:00
README.md Add node_modules until bundler is added 2020-08-26 09:57:08 +10:00
test.js Add node_modules until bundler is added 2020-08-26 09:57:08 +10:00

Fast Diff Build Status

This is a simplified import of the excellent diff-match-patch library by Neil Fraser into the Node.js environment. The match and patch parts are removed, as well as all the extra diff options. What remains is incredibly fast diffing between two strings.

The diff function is an implementation of "An O(ND) Difference Algorithm and its Variations" (Myers, 1986) with the suggested divide and conquer strategy along with several optimizations Neil added.

var diff = require('fast-diff');

var good = 'Good dog';
var bad = 'Bad dog';

var result = diff(good, bad);
// [[-1, "Goo"], [1, "Ba"], [0, "d dog"]]

// Respect suggested edit location (cursor position), added in v1.1
diff('aaa', 'aaaa', 1)
// [[0, "a"], [1, "a"], [0, "aa"]]

// For convenience
diff.INSERT === 1;
diff.EQUAL === 0;
diff.DELETE === -1;