node package manager


An abstraction layer for patching using DiffMatchPatch



Patchy uses Google's DiffMatchPatch code to provide two basic, easy to use methods:

The Code

To install

npm install patchy
cd node_modules/patchy
npm install

To use

// get a patchy object
var patchy = require('patchy');

// make a patch: makePatch( original_string, new_string ); 
patchy.makePatch('', 'Hello world'); // returns '@@ -0,0 +1,11 @@\n+Hello world\n'

// apply a patch: applyPatch( original_string, patch_string );
patchy.applyPatch('', '@@ -0,0 +1,11 @@\n+Hello world\n'); // returns 'Hello world'

// apply an array of patches: applyPatch(original_string, array_of_patch_strings );
patchy.applyPatch('', [
	'@@ -0,0 +1,11 @@\n+Hello world\n',
	'@@ -1,9 +1,17 @@\n-Hello\n+Goodbye cruel\n  wor\n',
	'@@ -12,8 +12,24 @@\n el world\n+, we\'ll miss you\n'
// returns "Goodbye cruel world, we'll miss you"

Run the tests

You need mocha and should.js. Google's DiffMatchPatch is extensively unit-tested so these tests merely confirm that patchy isn't adding or removing anything

make test