npm.io
2.0.2 • Published 11 years ago

universal-diff

Licence
Apache
Version
2.0.2
Deps
0
Vulns
0
Weekly
0
Stars
61

universal-diff

diff & merge algorithm realized with Javascript

Usage

  • nodejs

     var _ = require('universal-diff'),
         compare = _.compare,
         merge = _.merge,
         compareStr = _.compareStr,
         mergeStr = _.mergeStr;
    
  • browser

     <script type="text/javascript" src="diff.min.js"></script>
     <script type="text/javascript">
         var _ = window.diff,
             compare = _.compare,
             merge = _.merge,
             compareStr = _.compareStr,
             mergeStr = _.mergeStr;
     </script>

Compare

var seq1 = [1, 2, 'a', 'b'],
	seq2 = [1, 2, 'c', 'b'];

var seqResult = compare(seq1, seq2); 			// seqResult: [[2, 1, ['c']]

var s1 = 'abc',
	s2 = 'abcd',
	splitter = '';

var strResult = compareStr(s1, s2, splitter); 	// strResult: { splitter: '', diff: [[3, 0, 'd']] }
Merge
var seq3 = merge(seq1, seqResult); 				// seq3: [1, 2, 'b']

var s3 = mergeStr(s1, strResult);				// s3: 'abcd'
Test
gulp test
Build
gulp
Algorithm

MYERS': https://neil.fraser.name/software/diff_match_patch/myers.pdf

Keywords