made with requirebin
Created
May 20, 2014 21:24
-
-
Save aaronshaf/97eace4a0a5e1189e032 to your computer and use it in GitHub Desktop.
requirebin sketch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const jsondiffpatch = require('jsondiffpatch').create({}) | |
| const domify = require('domify') | |
| document.body.innerHTML = '' | |
| function log(text) { | |
| document.body.innerHTML += '<p>' + text + '</p>' | |
| //'<pre>' + JSON.stringify(text,null,2) + '</pre>'; | |
| } | |
| var a = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in magna accumsan, varius lacus in, ornare lorem. Fusce ut metus ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam et metus sit amet arcu bibendum iaculis convallis nec diam. Donec erat urna, lacinia porttitor dui at, blandit sollicitudin odio. Suspendisse vel lectus est. Etiam interdum hendrerit ligula nec facilisis." | |
| var b = "Lorem ipsum dolor sit amet2, consectetur adipiscing elit. Curabitur in magna accumsan, varius lacus in, ornare lorem. Fusce ut metus ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam et metus sit amet arcu bibendum iaculis convallis nec diam. Donec erat urna, lacinia porttitor dui at, blandit sollicitudin odio. Suspendisse vel lectus est. Etiam interdum hendrerit ligula nec facilisis." | |
| var c = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in magna accumsan, varius lacus in, ornare lorem. Fusce ut metus ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam et metus sit amet arcu bibendum iaculis convallis nec diam. Donec erat urna, lacinia porttitor dui at, blandit sollicitudin odio. Suspendisse vel lectus est3. Etiam interdum hendrerit ligula nec facilisis." | |
| var delta1 = jsondiffpatch.diff(a, b) | |
| var delta2 = jsondiffpatch.diff(a, c) | |
| var result1 = jsondiffpatch.patch(a, delta1) | |
| log(result1) | |
| var result2 = jsondiffpatch.patch(a, delta2) | |
| log(result2) | |
| var result3 = jsondiffpatch.patch(result1, delta2) | |
| log(result3) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}if(canPost){var queue=[];window.addEventListener("message",function(ev){var source=ev.source;if((source===window||source===null)&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];function noop(){}process.on=noop;process.once=noop;process.off=noop;process.emit=noop;process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],2:[function(require,module,exports){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1e3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1;var DIFF_INSERT=1;var DIFF_EQUAL=0;diff_match_patch.Diff;diff_match_patch.prototype.diff_main=function(text1,text2,opt_checklines,opt_deadline){if(typeof opt_deadline=="undefined"){if(this.Diff_Timeout<=0){opt_deadline=Number.MAX_VALUE}else{opt_deadline=(new Date).getTime()+this.Diff_Timeout*1e3}}var deadline=opt_deadline;if(text1==null||text2==null){throw new Error("Null input. (diff_main)")}if(text1==text2){if(text1){return[[DIFF_EQUAL,text1]]}return[]}if(typeof opt_checklines=="undefined"){opt_checklines=true}var checklines=opt_checklines;var commonlength=this.diff_commonPrefix(text1,text2);var commonprefix=text1.substring(0,commonlength);text1=text1.substring(commonlength);text2=text2.substring(commonlength);commonlength=this.diff_commonSuffix(text1,text2);var commonsuffix=text1.substring(text1.length-commonlength);text1=text1.substring(0,text1.length-commonlength);text2=text2.substring(0,text2.length-commonlength);var diffs=this.diff_compute_(text1,text2,checklines,deadline);if(commonprefix){diffs.unshift([DIFF_EQUAL,commonprefix])}if(commonsuffix){diffs.push([DIFF_EQUAL,commonsuffix])}this.diff_cleanupMerge(diffs);return diffs};diff_match_patch.prototype.diff_compute_=function(text1,text2,checklines,deadline){var diffs;if(!text1){return[[DIFF_INSERT,text2]]}if(!text2){return[[DIFF_DELETE,text1]]}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[[DIFF_INSERT,longtext.substring(0,i)],[DIFF_EQUAL,shorttext],[DIFF_INSERT,longtext.substring(i+shorttext.length)]];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]}longtext=shorttext=null;var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([[DIFF_EQUAL,mid_common]],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a[0];text2=a[1];var linearray=a[2];var diffs=this.diff_bisect_(text1,text2,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer<diffs.length){switch(diffs[pointer][0]){case DIFF_INSERT:count_insert++;text_insert+=diffs[pointer][1];break;case DIFF_DELETE:count_delete++;text_delete+=diffs[pointer][1];break;case DIFF_EQUAL:if(count_delete>=1&&count_insert>=1){var a=this.diff_main(text_delete,text_insert,false,deadline);diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;for(var j=a.length-1;j>=0;j--){diffs.splice(pointer,0,a[j])}pointer=pointer+a.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;x<v_length;x++){v1[x]=-1;v2[x]=-1}v1[v_offset+1]=0;v2[v_offset+1]=0;var delta=text1_length-text2_length;var front=delta%2!=0;var k1start=0;var k1end=0;var k2start=0;var k2end=0;for(var d=0;d<max_d;d++){if((new Date).getTime()>deadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]<v1[k1_offset+1]){x1=v1[k1_offset+1]}else{x1=v1[k1_offset-1]+1}var y1=x1-k1;while(x1<text1_length&&y1<text2_length&&text1.charAt(x1)==text2.charAt(y1)){x1++;y1++}v1[k1_offset]=x1;if(x1>text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset<v_length&&v2[k2_offset]!=-1){var x2=text1_length-v2[k2_offset];if(x1>=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]<v2[k2_offset+1]){x2=v2[k2_offset+1]}else{x2=v2[k2_offset-1]+1}var y2=x2-k2;while(x2<text1_length&&y2<text2_length&&text1.charAt(text1_length-x2-1)==text2.charAt(text2_length-y2-1)){x2++;y2++}v2[k2_offset]=x2;if(x2>text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset<v_length&&v1[k1_offset]!=-1){var x1=v1[k1_offset];var y1=v_offset+x1-k1_offset;x2=text1_length-x2;if(x1>=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]};diff_match_patch.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x);var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)};diff_match_patch.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEnd<text.length-1){lineEnd=text.indexOf("\n",lineStart);if(lineEnd==-1){lineEnd=text.length-1}var line=text.substring(lineStart,lineEnd+1);lineStart=lineEnd+1;if(lineHash.hasOwnProperty?lineHash.hasOwnProperty(line):lineHash[line]!==undefined){chars+=String.fromCharCode(lineHash[line])}else{chars+=String.fromCharCode(lineArrayLength);lineHash[line]=lineArrayLength;lineArray[lineArrayLength++]=line}}return chars}var chars1=diff_linesToCharsMunge_(text1);var chars2=diff_linesToCharsMunge_(text2);return[chars1,chars2,lineArray]};diff_match_patch.prototype.diff_charsToLines_=function(diffs,lineArray){for(var x=0;x<diffs.length;x++){var chars=diffs[x][1];var text=[];for(var y=0;y<chars.length;y++){text[y]=lineArray[chars.charCodeAt(y)]}diffs[x][1]=text.join("")}};diff_match_patch.prototype.diff_commonPrefix=function(text1,text2){if(!text1||!text2||text1.charAt(0)!=text2.charAt(0)){return 0}var pointermin=0;var pointermax=Math.min(text1.length,text2.length);var pointermid=pointermax;var pointerstart=0;while(pointermin<pointermid){if(text1.substring(pointerstart,pointermid)==text2.substring(pointerstart,pointermid)){pointermin=pointermid;pointerstart=pointermin}else{pointermax=pointermid}pointermid=Math.floor((pointermax-pointermin)/2+pointermin)}return pointermid};diff_match_patch.prototype.diff_commonSuffix=function(text1,text2){if(!text1||!text2||text1.charAt(text1.length-1)!=text2.charAt(text2.length-1)){return 0}var pointermin=0;var pointermax=Math.min(text1.length,text2.length);var pointermid=pointermax;var pointerend=0;while(pointermin<pointermid){if(text1.substring(text1.length-pointermid,text1.length-pointerend)==text2.substring(text2.length-pointermid,text2.length-pointerend)){pointermin=pointermid;pointerend=pointermin}else{pointermax=pointermid}pointermid=Math.floor((pointermax-pointermin)/2+pointermin)}return pointermid};diff_match_patch.prototype.diff_commonOverlap_=function(text1,text2){var text1_length=text1.length;var text2_length=text2.length;if(text1_length==0||text2_length==0){return 0}if(text1_length>text2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_length<text2_length){text2=text2.substring(0,text1_length)}var text_length=Math.min(text1_length,text2_length);if(text1==text2){return text_length}var best=0;var length=1;while(true){var pattern=text1.substring(text_length-length);var found=text2.indexOf(pattern);if(found==-1){return best}length+=found;if(found==0||text1.substring(text_length-length)==text2.substring(0,length)){best=length;length++}}};diff_match_patch.prototype.diff_halfMatch_=function(text1,text2){if(this.Diff_Timeout<=0){return null}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2<longtext.length){return null}var dmp=this;function diff_halfMatchI_(longtext,shorttext,i){var seed=longtext.substring(i,i+Math.floor(longtext.length/4));var j=-1;var best_common="";var best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b;while((j=shorttext.indexOf(seed,j+1))!=-1){var prefixLength=dmp.diff_commonPrefix(longtext.substring(i),shorttext.substring(j));var suffixLength=dmp.diff_commonSuffix(longtext.substring(0,i),shorttext.substring(0,j));if(best_common.length<suffixLength+prefixLength){best_common=shorttext.substring(j-suffixLength,j)+shorttext.substring(j,j+prefixLength);best_longtext_a=longtext.substring(0,i-suffixLength);best_longtext_b=longtext.substring(i+prefixLength);best_shorttext_a=shorttext.substring(0,j-suffixLength);best_shorttext_b=shorttext.substring(j+prefixLength)}}if(best_common.length*2>=longtext.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]}else{return null}}var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer<diffs.length){if(diffs[pointer][0]==DIFF_EQUAL){equalities[equalitiesLength++]=pointer;length_insertions1=length_insertions2;length_deletions1=length_deletions2;length_insertions2=0;length_deletions2=0;lastequality=diffs[pointer][1]}else{if(diffs[pointer][0]==DIFF_INSERT){length_insertions2+=diffs[pointer][1].length}else{length_deletions2+=diffs[pointer][1].length}if(lastequality!==null&&lastequality.length<=Math.max(length_insertions1,length_deletions1)&&lastequality.length<=Math.max(length_insertions2,length_deletions2)){diffs.splice(equalities[equalitiesLength-1],0,[DIFF_DELETE,lastequality]);diffs[equalities[equalitiesLength-1]+1][0]=DIFF_INSERT;equalitiesLength--;equalitiesLength--;pointer=equalitiesLength>0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastequality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer<diffs.length){if(diffs[pointer-1][0]==DIFF_DELETE&&diffs[pointer][0]==DIFF_INSERT){var deletion=diffs[pointer-1][1];var insertion=diffs[pointer][1];var overlap_length=this.diff_commonOverlap_(deletion,insertion);if(overlap_length>=deletion.length/2||overlap_length>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,insertion.substring(0,overlap_length)]);diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length);diffs[pointer+1][1]=insertion.substring(overlap_length);pointer++}pointer++}pointer++}};diff_match_patch.prototype.diff_cleanupSemanticLossless=function(diffs){var punctuation=/[^a-zA-Z0-9]/;var whitespace=/\s/;var linebreak=/[\r\n]/;var blanklineEnd=/\n\r?\n$/;var blanklineStart=/^\r?\n\r?\n/;function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 5}var score=0;if(one.charAt(one.length-1).match(punctuation)||two.charAt(0).match(punctuation)){score++;if(one.charAt(one.length-1).match(whitespace)||two.charAt(0).match(whitespace)){score++;if(one.charAt(one.length-1).match(linebreak)||two.charAt(0).match(linebreak)){score++;if(one.match(blanklineEnd)||two.match(blanklineStart)){score++}}}}return score}var pointer=1;while(pointer<diffs.length-1){if(diffs[pointer-1][0]==DIFF_EQUAL&&diffs[pointer+1][0]==DIFF_EQUAL){var equality1=diffs[pointer-1][1];var edit=diffs[pointer][1];var equality2=diffs[pointer+1][1];var commonOffset=this.diff_commonSuffix(equality1,edit);if(commonOffset){var commonString=edit.substring(edit.length-commonOffset);equality1=equality1.substring(0,equality1.length-commonOffset);edit=commonString+edit.substring(0,edit.length-commonOffset);equality2=commonString+equality2}var bestEquality1=equality1;var bestEdit=edit;var bestEquality2=equality2;var bestScore=diff_cleanupSemanticScore_(equality1,edit)+diff_cleanupSemanticScore_(edit,equality2);while(edit.charAt(0)===equality2.charAt(0)){equality1+=edit.charAt(0);edit=edit.substring(1)+equality2.charAt(0);equality2=equality2.substring(1);var score=diff_cleanupSemanticScore_(equality1,edit)+diff_cleanupSemanticScore_(edit,equality2);if(score>=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality="";var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer<diffs.length){if(diffs[pointer][0]==DIFF_EQUAL){if(diffs[pointer][1].length<this.Diff_EditCost&&(post_ins||post_del)){equalities[equalitiesLength++]=pointer;pre_ins=post_ins;pre_del=post_del;lastequality=diffs[pointer][1]}else{equalitiesLength=0;lastequality=""}post_ins=post_del=false}else{if(diffs[pointer][0]==DIFF_DELETE){post_del=true}else{post_ins=true}if(lastequality&&(pre_ins&&pre_del&&post_ins&&post_del||lastequality.length<this.Diff_EditCost/2&&pre_ins+pre_del+post_ins+post_del==3)){diffs.splice(equalities[equalitiesLength-1],0,[DIFF_DELETE,lastequality]);diffs[equalities[equalitiesLength-1]+1][0]=DIFF_INSERT;equalitiesLength--;lastequality="";if(pre_ins&&pre_del){post_ins=post_del=true;equalitiesLength=0}else{equalitiesLength--;pointer=equalitiesLength>0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_cleanupMerge=function(diffs){diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer<diffs.length){switch(diffs[pointer][0]){case DIFF_INSERT:count_insert++;text_insert+=diffs[pointer][1];pointer++;break;case DIFF_DELETE:count_delete++;text_delete+=diffs[pointer][1];pointer++;break;case DIFF_EQUAL:if(count_delete+count_insert>1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,[DIFF_EQUAL,text_insert.substring(0,commonlength)]);pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}if(count_delete===0){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_INSERT,text_insert])}else if(count_insert===0){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete])}else{diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete],[DIFF_INSERT,text_insert])}pointer=pointer-count_delete-count_insert+(count_delete?1:0)+(count_insert?1:0)+1}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointer<diffs.length-1){if(diffs[pointer-1][0]==DIFF_EQUAL&&diffs[pointer+1][0]==DIFF_EQUAL){if(diffs[pointer][1].substring(diffs[pointer][1].length-diffs[pointer-1][1].length)==diffs[pointer-1][1]){diffs[pointer][1]=diffs[pointer-1][1]+diffs[pointer][1].substring(0,diffs[pointer][1].length-diffs[pointer-1][1].length);diffs[pointer+1][1]=diffs[pointer-1][1]+diffs[pointer+1][1];diffs.splice(pointer-1,1);changes=true}else if(diffs[pointer][1].substring(0,diffs[pointer+1][1].length)==diffs[pointer+1][1]){diffs[pointer-1][1]+=diffs[pointer+1][1];diffs[pointer][1]=diffs[pointer][1].substring(diffs[pointer+1][1].length)+diffs[pointer+1][1];diffs.splice(pointer+1,1);changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_xIndex=function(diffs,loc){var chars1=0;var chars2=0;var last_chars1=0;var last_chars2=0;var x;for(x=0;x<diffs.length;x++){if(diffs[x][0]!==DIFF_INSERT){chars1+=diffs[x][1].length}if(diffs[x][0]!==DIFF_DELETE){chars2+=diffs[x][1].length}if(chars1>loc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch.prototype.diff_prettyHtml=function(diffs){var html=[];var i=0;var pattern_amp=/&/g;var pattern_lt=/</g;var pattern_gt=/>/g;var pattern_para=/\n/g;for(var x=0;x<diffs.length;x++){var op=diffs[x][0];var data=diffs[x][1];var text=data.replace(pattern_amp,"&").replace(pattern_lt,"<").replace(pattern_gt,">").replace(pattern_para,"¶<br>");switch(op){case DIFF_INSERT:html[x]='<ins style="background:#e6ffe6;">'+text+"</ins>";break;case DIFF_DELETE:html[x]='<del style="background:#ffe6e6;">'+text+"</del>";break;case DIFF_EQUAL:html[x]="<span>"+text+"</span>";break}if(op!==DIFF_DELETE){i+=data.length}}return html.join("")};diff_match_patch.prototype.diff_text1=function(diffs){var text=[];for(var x=0;x<diffs.length;x++){if(diffs[x][0]!==DIFF_INSERT){text[x]=diffs[x][1]}}return text.join("")};diff_match_patch.prototype.diff_text2=function(diffs){var text=[];for(var x=0;x<diffs.length;x++){if(diffs[x][0]!==DIFF_DELETE){text[x]=diffs[x][1]}}return text.join("")};diff_match_patch.prototype.diff_levenshtein=function(diffs){var levenshtein=0;var insertions=0;var deletions=0;for(var x=0;x<diffs.length;x++){var op=diffs[x][0];var data=diffs[x][1];switch(op){case DIFF_INSERT:insertions+=data.length;break;case DIFF_DELETE:deletions+=data.length;break;case DIFF_EQUAL:levenshtein+=Math.max(insertions,deletions);insertions=0;deletions=0;break}}levenshtein+=Math.max(insertions,deletions);return levenshtein};diff_match_patch.prototype.diff_toDelta=function(diffs){var text=[];for(var x=0;x<diffs.length;x++){switch(diffs[x][0]){case DIFF_INSERT:text[x]="+"+encodeURI(diffs[x][1]);break;case DIFF_DELETE:text[x]="-"+diffs[x][1].length;break;case DIFF_EQUAL:text[x]="="+diffs[x][1].length;break}}return text.join(" ").replace(/%20/g," ")};diff_match_patch.prototype.diff_fromDelta=function(text1,delta){var diffs=[];var diffsLength=0;var pointer=0;var tokens=delta.split(/\t/g);for(var x=0;x<tokens.length;x++){var param=tokens[x].substring(1);switch(tokens[x].charAt(0)){case"+":try{diffs[diffsLength++]=[DIFF_INSERT,decodeURI(param)]}catch(ex){throw new Error("Illegal escape in diff_fromDelta: "+param)}break;case"-":case"=":var n=parseInt(param,10);if(isNaN(n)||n<0){throw new Error("Invalid number in diff_fromDelta: "+param)}var text=text1.substring(pointer,pointer+=n);if(tokens[x].charAt(0)=="="){diffs[diffsLength++]=[DIFF_EQUAL,text]}else{diffs[diffsLength++]=[DIFF_DELETE,text]}break;default:if(tokens[x]){throw new Error("Invalid diff operation in diff_fromDelta: "+tokens[x])}}}if(pointer!=text1.length){throw new Error("Delta length ("+pointer+") does not equal source text length ("+text1.length+").")}return diffs};diff_match_patch.prototype.match_main=function(text,pattern,loc){if(text==null||pattern==null||loc==null){throw new Error("Null input. (match_main)")}loc=Math.max(0,Math.min(loc,text.length));if(text==pattern){return 0}else if(!text.length){return-1}else if(text.substring(loc,loc+pattern.length)==pattern){return loc}else{return this.match_bitap_(text,pattern,loc)}};diff_match_patch.prototype.match_bitap_=function(text,pattern,loc){if(pattern.length>this.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp.Match_Distance}var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<<pattern.length-1;best_loc=-1;var bin_min,bin_mid;var bin_max=pattern.length+text.length;var last_rd;for(var d=0;d<pattern.length;d++){bin_min=0;bin_mid=bin_max;while(bin_min<bin_mid){if(match_bitapScore_(d,loc+bin_mid)<=score_threshold){bin_min=bin_mid}else{bin_max=bin_mid}bin_mid=Math.floor((bin_max-bin_min)/2+bin_min)}bin_max=bin_mid;var start=Math.max(1,loc-bin_mid+1);var finish=Math.min(loc+bin_mid,text.length)+pattern.length;var rd=Array(finish+2);rd[finish+1]=(1<<d)-1;for(var j=finish;j>=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i<pattern.length;i++){s[pattern.charAt(i)]=0}for(var i=0;i<pattern.length;i++){s[pattern.charAt(i)]|=1<<pattern.length-i-1}return s};diff_match_patch.prototype.patch_addContext_=function(patch,text){if(text.length==0){return}var pattern=text.substring(patch.start2,patch.start2+patch.length1);var padding=0;while(text.indexOf(pattern)!=text.lastIndexOf(pattern)&&pattern.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin){padding+=this.Patch_Margin;pattern=text.substring(patch.start2-padding,patch.start2+patch.length1+padding)}padding+=this.Patch_Margin;var prefix=text.substring(patch.start2-padding,patch.start2);if(prefix){patch.diffs.unshift([DIFF_EQUAL,prefix])}var suffix=text.substring(patch.start2+patch.length1,patch.start2+patch.length1+padding);if(suffix){patch.diffs.push([DIFF_EQUAL,suffix])}patch.start1-=prefix.length;patch.start2-=prefix.length;patch.length1+=prefix.length+suffix.length;patch.length2+=prefix.length+suffix.length};diff_match_patch.prototype.patch_make=function(a,opt_b,opt_c){var text1,diffs;if(typeof a=="string"&&typeof opt_b=="string"&&typeof opt_c=="undefined"){text1=a;diffs=this.diff_main(text1,opt_b,true);if(diffs.length>2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&typeof a=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&typeof opt_b=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&typeof opt_c=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch=new diff_match_patch.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x<diffs.length;x++){var diff_type=diffs[x][0];var diff_text=diffs[x][1];if(!patchDiffLength&&diff_type!==DIFF_EQUAL){patch.start1=char_count1;patch.start2=char_count2}switch(diff_type){case DIFF_INSERT:patch.diffs[patchDiffLength++]=diffs[x];patch.length2+=diff_text.length;postpatch_text=postpatch_text.substring(0,char_count2)+diff_text+postpatch_text.substring(char_count2);break;case DIFF_DELETE:patch.length1+=diff_text.length;patch.diffs[patchDiffLength++]=diffs[x];postpatch_text=postpatch_text.substring(0,char_count2)+postpatch_text.substring(char_count2+diff_text.length);break;case DIFF_EQUAL:if(diff_text.length<=2*this.Patch_Margin&&patchDiffLength&&diffs.length!=x+1){patch.diffs[patchDiffLength++]=diffs[x];patch.length1+=diff_text.length;patch.length2+=diff_text.length}else if(diff_text.length>=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch);patch=new diff_match_patch.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch)}return patches};diff_match_patch.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;x<patches.length;x++){var patch=patches[x];var patchCopy=new diff_match_patch.patch_obj;patchCopy.diffs=[];for(var y=0;y<patch.diffs.length;y++){patchCopy.diffs[y]=patch.diffs[y].slice()}patchCopy.start1=patch.start1;patchCopy.start2=patch.start2;patchCopy.length1=patch.length1;patchCopy.length2=patch.length2;patchesCopy[x]=patchCopy}return patchesCopy};diff_match_patch.prototype.patch_apply=function(patches,text){if(patches.length==0){return[text,[]]}patches=this.patch_deepCopy(patches);var nullPadding=this.patch_addPadding(patches);text=nullPadding+text+nullPadding;this.patch_splitMax(patches);var delta=0;var results=[];for(var x=0;x<patches.length;x++){var expected_loc=patches[x].start2+delta;var text1=this.diff_text1(patches[x].diffs);var start_loc;var end_loc=-1;if(text1.length>this.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;y<patches[x].diffs.length;y++){var mod=patches[x].diffs[y];if(mod[0]!==DIFF_EQUAL){index2=this.diff_xIndex(diffs,index1)}if(mod[0]===DIFF_INSERT){text=text.substring(0,start_loc+index2)+mod[1]+text.substring(start_loc+index2)}else if(mod[0]===DIFF_DELETE){text=text.substring(0,start_loc+index2)+text.substring(start_loc+this.diff_xIndex(diffs,index1+mod[1].length))}if(mod[0]!==DIFF_DELETE){index1+=mod[1].length}}}}}}text=text.substring(nullPadding.length,text.length-nullPadding.length);return[text,results]};diff_match_patch.prototype.patch_addPadding=function(patches){var paddingLength=this.Patch_Margin;var nullPadding="";for(var x=1;x<=paddingLength;x++){nullPadding+=String.fromCharCode(x)}for(var x=0;x<patches.length;x++){patches[x].start1+=paddingLength;patches[x].start2+=paddingLength}var patch=patches[0];var diffs=patch.diffs;if(diffs.length==0||diffs[0][0]!=DIFF_EQUAL){diffs.unshift([DIFF_EQUAL,nullPadding]);patch.start1-=paddingLength;patch.start2-=paddingLength;patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch.start1-=extraLength;patch.start2-=extraLength;patch.length1+=extraLength;patch.length2+=extraLength}patch=patches[patches.length-1];diffs=patch.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push([DIFF_EQUAL,nullPadding]);patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch.length1+=extraLength;patch.length2+=extraLength}return nullPadding};diff_match_patch.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;x<patches.length;x++){if(patches[x].length1>patch_size){var bigpatch=patches[x];patches.splice(x--,1);var start1=bigpatch.start1;var start2=bigpatch.start2;var precontext="";while(bigpatch.diffs.length!==0){var patch=new diff_match_patch.patch_obj;var empty=true;patch.start1=start1-precontext.length;patch.start2=start2-precontext.length;if(precontext!==""){patch.length1=patch.length2=precontext.length;patch.diffs.push([DIFF_EQUAL,precontext])}while(bigpatch.diffs.length!==0&&patch.length1<patch_size-this.Patch_Margin){var diff_type=bigpatch.diffs[0][0];var diff_text=bigpatch.diffs[0][1];if(diff_type===DIFF_INSERT){patch.length2+=diff_text.length;start2+=diff_text.length;patch.diffs.push(bigpatch.diffs.shift());empty=false}else if(diff_type===DIFF_DELETE&&patch.diffs.length==1&&patch.diffs[0][0]==DIFF_EQUAL&&diff_text.length>2*patch_size){patch.length1+=diff_text.length; | |
| start1+=diff_text.length;empty=false;patch.diffs.push([diff_type,diff_text]);bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch.length1-this.Patch_Margin);patch.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch.diffs.push([diff_type,diff_text]);if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch.length1+=postcontext.length;patch.length2+=postcontext.length;if(patch.diffs.length!==0&&patch.diffs[patch.diffs.length-1][0]===DIFF_EQUAL){patch.diffs[patch.diffs.length-1][1]+=postcontext}else{patch.diffs.push([DIFF_EQUAL,postcontext])}}if(!empty){patches.splice(++x,0,patch)}}}}};diff_match_patch.prototype.patch_toText=function(patches){var text=[];for(var x=0;x<patches.length;x++){text[x]=patches[x]}return text.join("")};diff_match_patch.prototype.patch_fromText=function(textline){var patches=[];if(!textline){return patches}var text=textline.split("\n");var textPointer=0;var patchHeader=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;while(textPointer<text.length){var m=text[textPointer].match(patchHeader);if(!m){throw new Error("Invalid patch string: "+text[textPointer])}var patch=new diff_match_patch.patch_obj;patches.push(patch);patch.start1=parseInt(m[1],10);if(m[2]===""){patch.start1--;patch.length1=1}else if(m[2]=="0"){patch.length1=0}else{patch.start1--;patch.length1=parseInt(m[2],10)}patch.start2=parseInt(m[3],10);if(m[4]===""){patch.start2--;patch.length2=1}else if(m[4]=="0"){patch.length2=0}else{patch.start2--;patch.length2=parseInt(m[4],10)}textPointer++;while(textPointer<text.length){var sign=text[textPointer].charAt(0);try{var line=decodeURI(text[textPointer].substring(1))}catch(ex){throw new Error("Illegal escape in patch_fromText: "+line)}if(sign=="-"){patch.diffs.push([DIFF_DELETE,line])}else if(sign=="+"){patch.diffs.push([DIFF_INSERT,line])}else if(sign==" "){patch.diffs.push([DIFF_EQUAL,line])}else if(sign=="@"){break}else if(sign===""){}else{throw new Error('Invalid patch mode "'+sign+'" in: '+line)}textPointer++}}return patches};diff_match_patch.patch_obj=function(){this.diffs=[];this.start1=null;this.start2=null;this.length1=0;this.length2=0};diff_match_patch.patch_obj.prototype.toString=function(){var coords1,coords2;if(this.length1===0){coords1=this.start1+",0"}else if(this.length1==1){coords1=this.start1+1}else{coords1=this.start1+1+","+this.length1}if(this.length2===0){coords2=this.start2+",0"}else if(this.length2==1){coords2=this.start2+1}else{coords2=this.start2+1+","+this.length2}var text=["@@ -"+coords1+" +"+coords2+" @@\n"];var op;for(var x=0;x<this.diffs.length;x++){switch(this.diffs[x][0]){case DIFF_INSERT:op="+";break;case DIFF_DELETE:op="-";break;case DIFF_EQUAL:op=" ";break}text[x+1]=op+encodeURI(this.diffs[x][1])+"\n"}return text.join("").replace(/%20/g," ")};this["diff_match_patch"]=diff_match_patch;this["DIFF_DELETE"]=DIFF_DELETE;this["DIFF_INSERT"]=DIFF_INSERT;this["DIFF_EQUAL"]=DIFF_EQUAL},{}],3:[function(require,module,exports){var Pipe=require("../pipe").Pipe;var Context=function Context(){};Context.prototype.setResult=function(result){this.result=result;this.hasResult=true;return this};Context.prototype.exit=function(){this.exiting=true;return this};Context.prototype.switchTo=function(next,pipe){if(typeof next==="string"||next instanceof Pipe){this.nextPipe=next}else{this.next=next;if(pipe){this.nextPipe=pipe}}return this};Context.prototype.push=function(child,name){child.parent=this;if(typeof name!=="undefined"){child.childName=name}child.root=this.root||this;child.options=child.options||this.options;if(!this.children){this.children=[child];this.nextAfterChildren=this.next||null;this.next=child}else{this.children[this.children.length-1].next=child;this.children.push(child)}child.next=this;return this};exports.Context=Context},{"../pipe":17}],4:[function(require,module,exports){var Context=require("./context").Context;var DiffContext=function DiffContext(left,right){this.left=left;this.right=right;this.pipe="diff"};DiffContext.prototype=new Context;exports.DiffContext=DiffContext},{"./context":3}],5:[function(require,module,exports){var Context=require("./context").Context;var PatchContext=function PatchContext(left,delta){this.left=left;this.delta=delta;this.pipe="patch"};PatchContext.prototype=new Context;exports.PatchContext=PatchContext},{"./context":3}],6:[function(require,module,exports){var Context=require("./context").Context;var ReverseContext=function ReverseContext(delta){this.delta=delta;this.pipe="reverse"};ReverseContext.prototype=new Context;exports.ReverseContext=ReverseContext},{"./context":3}],7:[function(require,module,exports){module.exports=function dateReviver(key,value){var a;if(typeof value==="string"){a=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)(Z|([+\-])(\d{2}):(\d{2}))$/.exec(value);if(a){return new Date(Date.UTC(+a[1],+a[2]-1,+a[3],+a[4],+a[5],+a[6]))}}return value}},{}],8:[function(require,module,exports){var Processor=require("./processor").Processor;var Pipe=require("./pipe").Pipe;var DiffContext=require("./contexts/diff").DiffContext;var PatchContext=require("./contexts/patch").PatchContext;var ReverseContext=require("./contexts/reverse").ReverseContext;var trivial=require("./filters/trivial");var nested=require("./filters/nested");var arrays=require("./filters/arrays");var dates=require("./filters/dates");var texts=require("./filters/texts");var DiffPatcher=function DiffPatcher(options){this.processor=new Processor(options);this.processor.pipe(new Pipe("diff").append(nested.collectChildrenDiffFilter,trivial.diffFilter,dates.diffFilter,texts.diffFilter,nested.objectsDiffFilter,arrays.diffFilter).shouldHaveResult());this.processor.pipe(new Pipe("patch").append(nested.collectChildrenPatchFilter,arrays.collectChildrenPatchFilter,trivial.patchFilter,texts.patchFilter,nested.patchFilter,arrays.patchFilter).shouldHaveResult());this.processor.pipe(new Pipe("reverse").append(nested.collectChildrenReverseFilter,arrays.collectChildrenReverseFilter,trivial.reverseFilter,texts.reverseFilter,nested.reverseFilter,arrays.reverseFilter).shouldHaveResult())};DiffPatcher.prototype.options=function(){return this.processor.options.apply(this.processor,arguments)};DiffPatcher.prototype.diff=function(left,right){return this.processor.process(new DiffContext(left,right))};DiffPatcher.prototype.patch=function(left,delta){return this.processor.process(new PatchContext(left,delta))};DiffPatcher.prototype.reverse=function(delta){return this.processor.process(new ReverseContext(delta))};DiffPatcher.prototype.unpatch=function(right,delta){return this.patch(right,this.reverse(delta))};exports.DiffPatcher=DiffPatcher},{"./contexts/diff":4,"./contexts/patch":5,"./contexts/reverse":6,"./filters/arrays":9,"./filters/dates":10,"./filters/nested":12,"./filters/texts":13,"./filters/trivial":14,"./pipe":17,"./processor":18}],9:[function(require,module,exports){var DiffContext=require("../contexts/diff").DiffContext;var PatchContext=require("../contexts/patch").PatchContext;var ReverseContext=require("../contexts/reverse").ReverseContext;var lcs=require("./lcs");var ARRAY_MOVE=3;var isArray=typeof Array.isArray==="function"?Array.isArray:function(a){return a instanceof Array};var arrayIndexOf=typeof Array.prototype.indexOf==="function"?function(array,item){return array.indexOf(item)}:function(array,item){var length=array.length;for(var i=0;i<length;i++){if(array[i]===item){return i}}return-1};var diffFilter=function arraysDiffFilter(context){if(!context.leftIsArray){return}var objectHash=context.options&&context.options.objectHash;var match=function(array1,array2,index1,index2,context){var value1=array1[index1];var value2=array2[index2];if(value1===value2){return true}if(typeof value1!=="object"||typeof value2!=="object"){return false}if(!objectHash){return false}var hash1,hash2;if(typeof index1==="number"){context.hashCache1=context.hashCache1||[];hash1=context.hashCache1[index1];if(typeof hash1==="undefined"){context.hashCache1[index1]=hash1=objectHash(value1,index1)}}else{hash1=objectHash(value1)}if(typeof hash1==="undefined"){return false}if(typeof index2==="number"){context.hashCache2=context.hashCache2||[];hash2=context.hashCache2[index2];if(typeof hash2==="undefined"){context.hashCache2[index2]=hash2=objectHash(value2,index2)}}else{hash2=objectHash(value2)}if(typeof hash2==="undefined"){return false}return hash1===hash2};var matchContext={};var commonHead=0,commonTail=0,index,index1,index2;var array1=context.left;var array2=context.right;var len1=array1.length;var len2=array2.length;var child;while(commonHead<len1&&commonHead<len2&&match(array1,array2,commonHead,commonHead,matchContext)){index=commonHead;child=new DiffContext(context.left[index],context.right[index]);context.push(child,index);commonHead++}while(commonTail+commonHead<len1&&commonTail+commonHead<len2&&match(array1,array2,len1-1-commonTail,len2-1-commonTail,matchContext)){index1=len1-1-commonTail;index2=len2-1-commonTail;child=new DiffContext(context.left[index1],context.right[index2]);context.push(child,index2);commonTail++}var result;if(commonHead+commonTail===len1){if(len1===len2){context.setResult(undefined).exit();return}result=result||{_t:"a"};for(index=commonHead;index<len2-commonTail;index++){result[index]=[array2[index]]}context.setResult(result).exit();return}if(commonHead+commonTail===len2){result=result||{_t:"a"};for(index=commonHead;index<len1-commonTail;index++){result["_"+index]=[array1[index],0,0]}context.setResult(result).exit();return}matchContext={};var trimmed1=array1.slice(commonHead,len1-commonTail);var trimmed2=array2.slice(commonHead,len2-commonTail);var seq=lcs.get(trimmed1,trimmed2,match,matchContext);var removedItems=[];result=result||{_t:"a"};for(index=commonHead;index<len1-commonTail;index++){if(arrayIndexOf(seq.indices1,index-commonHead)<0){result["_"+index]=[array1[index],0,0];removedItems.push(index)}}var detectMove=true;if(context.options&&context.options.arrays&&context.options.arrays.detectMove===false){detectMove=false}var includeValueOnMove=false;if(context.options&&context.options.arrays&&context.options.arrays.includeValueOnMove){includeValueOnMove=true}var removedItemsLength=removedItems.length;for(index=commonHead;index<len2-commonTail;index++){var indexOnArray2=arrayIndexOf(seq.indices2,index-commonHead);if(indexOnArray2<0){var isMove=false;if(detectMove&&removedItemsLength>0){for(index1=0;index1<removedItemsLength;index1++){if(match(trimmed1,trimmed2,removedItems[index1]-commonHead,index-commonHead,matchContext)){result["_"+removedItems[index1]].splice(1,2,index,ARRAY_MOVE);if(!includeValueOnMove){result["_"+removedItems[index1]][0]=""}index1=removedItems[index1];index2=index;child=new DiffContext(context.left[index1],context.right[index2]);context.push(child,index2);removedItems.splice(index1,1);isMove=true;break}}}if(!isMove){result[index]=[array2[index]]}}else{index1=seq.indices1[indexOnArray2]+commonHead;index2=seq.indices2[indexOnArray2]+commonHead;child=new DiffContext(context.left[index1],context.right[index2]);context.push(child,index2)}}context.setResult(result).exit()};diffFilter.filterName="arrays";var compare={numerically:function(a,b){return a-b},numericallyBy:function(name){return function(a,b){return a[name]-b[name]}}};var patchFilter=function nestedPatchFilter(context){if(!context.nested){return}if(context.delta._t!=="a"){return}var index,index1;var delta=context.delta;var array=context.left;var toRemove=[];var toInsert=[];var toModify=[];for(index in delta){if(index!=="_t"){if(index[0]==="_"){if(delta[index][2]===0||delta[index][2]===ARRAY_MOVE){toRemove.push(parseInt(index.slice(1),10))}else{throw new Error("only removal or move can be applied at original array indices"+", invalid diff type: "+delta[index][2])}}else{if(delta[index].length===1){toInsert.push({index:parseInt(index,10),value:delta[index][0]})}else{toModify.push({index:parseInt(index,10),delta:delta[index]})}}}}toRemove=toRemove.sort(compare.numerically);for(index=toRemove.length-1;index>=0;index--){index1=toRemove[index];var indexDiff=delta["_"+index1];var removedValue=array.splice(index1,1)[0];if(indexDiff[2]===ARRAY_MOVE){toInsert.push({index:indexDiff[1],value:removedValue})}}toInsert=toInsert.sort(compare.numericallyBy("index"));var toInsertLength=toInsert.length;for(index=0;index<toInsertLength;index++){var insertion=toInsert[index];array.splice(insertion.index,0,insertion.value)}var toModifyLength=toModify.length;var child;if(toModifyLength>0){for(index=0;index<toModifyLength;index++){var modification=toModify[index];child=new PatchContext(context.left[modification.index],modification.delta);context.push(child,modification.index)}}if(!context.children){context.setResult(context.left).exit();return}context.exit()};patchFilter.filterName="arrays";var collectChildrenPatchFilter=function collectChildrenPatchFilter(context){if(!context||!context.children){return}if(context.delta._t!=="a"){return}var length=context.children.length;var child;for(var index=0;index<length;index++){child=context.children[index];context.left[child.childName]=child.result}context.setResult(context.left).exit()};collectChildrenPatchFilter.filterName="arraysCollectChildren";var reverseFilter=function arraysReverseFilter(context){if(!context.nested){if(context.delta[2]===ARRAY_MOVE){context.newName="_"+context.delta[1];context.setResult([context.delta[0],parseInt(context.childName.substr(1),10),ARRAY_MOVE]).exit()}return}if(context.delta._t!=="a"){return}var name,child;for(name in context.delta){if(name==="_t"){continue}child=new ReverseContext(context.delta[name]);context.push(child,name)}context.exit()};reverseFilter.filterName="arrays";var reverseArrayDeltaIndex=function(delta,index,itemDelta){var newIndex=index;if(typeof index==="string"&&index[0]==="_"){newIndex=parseInt(index.substr(1),10)}else{var uindex="_"+index;if(isArray(itemDelta)&&itemDelta[2]===0){newIndex=uindex}else{for(var index2 in delta){var itemDelta2=delta[index2];if(isArray(itemDelta2)&&itemDelta2[2]===ARRAY_MOVE&&itemDelta2[1].toString()===index){newIndex=index2.substr(1)}}}}return newIndex};var collectChildrenReverseFilter=function collectChildrenReverseFilter(context){if(!context||!context.children){return}if(context.delta._t!=="a"){return}var length=context.children.length;var child;var delta={_t:"a"};for(var index=0;index<length;index++){child=context.children[index];var name=child.newName;if(typeof name==="undefined"){name=reverseArrayDeltaIndex(context.delta,child.childName,child.result)}if(delta[name]!==child.result){delta[name]=child.result}}context.setResult(delta).exit()};collectChildrenReverseFilter.filterName="arraysCollectChildren";exports.diffFilter=diffFilter;exports.patchFilter=patchFilter;exports.collectChildrenPatchFilter=collectChildrenPatchFilter;exports.reverseFilter=reverseFilter;exports.collectChildrenReverseFilter=collectChildrenReverseFilter},{"../contexts/diff":4,"../contexts/patch":5,"../contexts/reverse":6,"./lcs":11}],10:[function(require,module,exports){var diffFilter=function datesDiffFilter(context){if(context.left instanceof Date){if(context.right instanceof Date){if(context.left.getTime()!==context.right.getTime()){context.setResult([context.left,context.right])}else{context.setResult(undefined)}}else{context.setResult([context.left,context.right])}context.exit()}else if(context.right instanceof Date){context.setResult([context.left,context.right]).exit()}};diffFilter.filterName="dates";exports.diffFilter=diffFilter},{}],11:[function(require,module,exports){var defaultMatch=function(array1,array2,index1,index2){return array1[index1]===array2[index2]};var lengthMatrix=function(array1,array2,match,context){var len1=array1.length;var len2=array2.length;var x,y;var matrix=[len1+1];for(x=0;x<len1+1;x++){matrix[x]=[len2+1];for(y=0;y<len2+1;y++){matrix[x][y]=0}}matrix.match=match;for(x=1;x<len1+1;x++){for(y=1;y<len2+1;y++){if(match(array1,array2,x-1,y-1,context)){matrix[x][y]=matrix[x-1][y-1]+1}else{matrix[x][y]=Math.max(matrix[x-1][y],matrix[x][y-1])}}}return matrix};var backtrack=function(matrix,array1,array2,index1,index2,context){if(index1===0||index2===0){return{sequence:[],indices1:[],indices2:[]}}if(matrix.match(array1,array2,index1-1,index2-1,context)){var subsequence=backtrack(matrix,array1,array2,index1-1,index2-1,context);subsequence.sequence.push(array1[index1-1]);subsequence.indices1.push(index1-1);subsequence.indices2.push(index2-1);return subsequence}if(matrix[index1][index2-1]>matrix[index1-1][index2]){return backtrack(matrix,array1,array2,index1,index2-1,context)}else{return backtrack(matrix,array1,array2,index1-1,index2,context)}};var get=function(array1,array2,match,context){context=context||{};var matrix=lengthMatrix(array1,array2,match||defaultMatch,context);var result=backtrack(matrix,array1,array2,array1.length,array2.length,context);if(typeof array1==="string"&&typeof array2==="string"){result.sequence=result.sequence.join("")}return result};exports.get=get},{}],12:[function(require,module,exports){var DiffContext=require("../contexts/diff").DiffContext;var PatchContext=require("../contexts/patch").PatchContext;var ReverseContext=require("../contexts/reverse").ReverseContext;var collectChildrenDiffFilter=function collectChildrenDiffFilter(context){if(!context||!context.children){return}var length=context.children.length;var child;var result=context.result;for(var index=0;index<length;index++){child=context.children[index];if(typeof child.result==="undefined"){continue}result=result||{};result[child.childName]=child.result}if(result&&context.leftIsArray){result._t="a"}context.setResult(result).exit()};collectChildrenDiffFilter.filterName="collectChildren";var objectsDiffFilter=function objectsDiffFilter(context){if(context.leftIsArray||context.leftType!=="object"){return}var name,child;for(name in context.left){child=new DiffContext(context.left[name],context.right[name]);context.push(child,name)}for(name in context.right){if(typeof context.left[name]==="undefined"){child=new DiffContext(undefined,context.right[name]);context.push(child,name)}}if(!context.children||context.children.length===0){context.setResult(undefined).exit();return}context.exit()};objectsDiffFilter.filterName="objects";var patchFilter=function nestedPatchFilter(context){if(!context.nested){return}if(context.delta._t){return}var name,child;for(name in context.delta){child=new PatchContext(context.left[name],context.delta[name]);context.push(child,name)}context.exit()};patchFilter.filterName="objects";var collectChildrenPatchFilter=function collectChildrenPatchFilter(context){if(!context||!context.children){return}if(context.delta._t){return}var length=context.children.length;var child;for(var index=0;index<length;index++){child=context.children[index];if(context.left[child.childName]!==child.result){context.left[child.childName]=child.result}}context.setResult(context.left).exit()};collectChildrenPatchFilter.filterName="collectChildren";var reverseFilter=function nestedReverseFilter(context){if(!context.nested){return}if(context.delta._t){return}var name,child;for(name in context.delta){child=new ReverseContext(context.delta[name]);context.push(child,name)}context.exit()};reverseFilter.filterName="objects";var collectChildrenReverseFilter=function collectChildrenReverseFilter(context){if(!context||!context.children){return}if(context.delta._t){return}var length=context.children.length;var child;var delta={};for(var index=0;index<length;index++){child=context.children[index];if(delta[child.childName]!==child.result){delta[child.childName]=child.result}}context.setResult(delta).exit()};collectChildrenReverseFilter.filterName="collectChildren";exports.collectChildrenDiffFilter=collectChildrenDiffFilter;exports.objectsDiffFilter=objectsDiffFilter;exports.patchFilter=patchFilter;exports.collectChildrenPatchFilter=collectChildrenPatchFilter;exports.reverseFilter=reverseFilter;exports.collectChildrenReverseFilter=collectChildrenReverseFilter},{"../contexts/diff":4,"../contexts/patch":5,"../contexts/reverse":6}],13:[function(require,module,exports){var TEXT_DIFF=2;var DEFAULT_MIN_LENGTH=60;var cachedDiffPatch=null;var getDiffMatchPatch=function(){if(!cachedDiffPatch){var instance;if(typeof diff_match_patch!=="undefined"){instance=new diff_match_patch}else if(typeof require==="function"){var dmp=require("../../external/diff_match_patch_uncompressed");instance=new dmp.diff_match_patch}if(!instance){var error=new Error("text diff_match_patch library not found");error.diff_match_patch_not_found=true;throw error}cachedDiffPatch={diff:function(txt1,txt2){return instance.patch_toText(instance.patch_make(txt1,txt2))},patch:function(txt1,patch){var results=instance.patch_apply(instance.patch_fromText(patch),txt1);for(var i=0;i<results[1].length;i++){if(!results[1][i]){var error=new Error("text patch failed");error.textPatchFailed=true}}return results[0]}}}return cachedDiffPatch};var diffFilter=function textsDiffFilter(context){if(context.leftType!=="string"){return}var minLength=context.options&&context.options.textDiff&&context.options.textDiff.minLength||DEFAULT_MIN_LENGTH;if(context.left.length<minLength||context.right.length<minLength){context.setResult([context.left,context.right]).exit();return}var diff=getDiffMatchPatch().diff;context.setResult([diff(context.left,context.right),0,TEXT_DIFF]).exit()};diffFilter.filterName="texts";var patchFilter=function textsPatchFilter(context){if(context.nested){return}if(context.delta[2]!==TEXT_DIFF){return}var patch=getDiffMatchPatch().patch;context.setResult(patch(context.left,context.delta[0])).exit()};patchFilter.filterName="texts";var textDeltaReverse=function(delta){var i,l,lines,line,lineTmp,header=null,headerRegex=/^@@ +\-(\d+),(\d+) +\+(\d+),(\d+) +@@$/,lineHeader,lineAdd,lineRemove;lines=delta.split("\n");for(i=0,l=lines.length;i<l;i++){line=lines[i];var lineStart=line.slice(0,1);if(lineStart==="@"){header=headerRegex.exec(line);lineHeader=i;lineAdd=null;lineRemove=null;lines[lineHeader]="@@ -"+header[3]+","+header[4]+" +"+header[1]+","+header[2]+" @@"}else if(lineStart==="+"){lineAdd=i;lines[i]="-"+lines[i].slice(1);if(lines[i-1].slice(0,1)==="+"){lineTmp=lines[i];lines[i]=lines[i-1];lines[i-1]=lineTmp}}else if(lineStart==="-"){lineRemove=i;lines[i]="+"+lines[i].slice(1)}}return lines.join("\n")};var reverseFilter=function textsReverseFilter(context){if(context.nested){return}if(context.delta[2]!==TEXT_DIFF){return}context.setResult([textDeltaReverse(context.delta[0]),0,TEXT_DIFF]).exit()};reverseFilter.filterName="texts";exports.diffFilter=diffFilter;exports.patchFilter=patchFilter;exports.reverseFilter=reverseFilter},{"../../external/diff_match_patch_uncompressed":2}],14:[function(require,module,exports){var isArray=typeof Array.isArray==="function"?Array.isArray:function(a){return a instanceof Array};var diffFilter=function trivialMatchesDiffFilter(context){if(context.left===context.right){context.setResult(undefined).exit();return}if(typeof context.left==="undefined"){if(typeof context.right==="function"){throw new Error("functions are not supported")}context.setResult([context.right]).exit();return}if(typeof context.right==="undefined"){context.setResult([context.left,0,0]).exit();return}if(typeof context.left==="function"||typeof context.right==="function"){throw new Error("functions are not supported")}context.leftType=context.left===null?"null":typeof context.left;context.rightType=context.right===null?"null":typeof context.right;if(context.leftType!==context.rightType){context.setResult([context.left,context.right]).exit();return}if(context.leftType==="boolean"||context.leftType==="number"){context.setResult([context.left,context.right]).exit();return}if(context.leftType==="object"){context.leftIsArray=isArray(context.left)}if(context.rightType==="object"){context.rightIsArray=isArray(context.right)}if(context.leftIsArray!==context.rightIsArray){context.setResult([context.left,context.right]).exit();return}};diffFilter.filterName="trivial";var patchFilter=function trivialMatchesPatchFilter(context){if(typeof context.delta==="undefined"){context.setResult(context.left).exit();return}context.nested=!isArray(context.delta);if(context.nested){return}if(context.delta.length===1){context.setResult(context.delta[0]).exit();return}if(context.delta.length===2){context.setResult(context.delta[1]).exit();return}if(context.delta.length===3&&context.delta[2]===0){context.setResult(undefined).exit();return}};patchFilter.filterName="trivial";var reverseFilter=function trivialReferseFilter(context){if(typeof context.delta==="undefined"){context.setResult(context.delta).exit();return}context.nested=!isArray(context.delta);if(context.nested){return}if(context.delta.length===1){context.setResult([context.delta[0],0,0]).exit();return}if(context.delta.length===2){context.setResult([context.delta[1],context.delta[0]]).exit();return}if(context.delta.length===3&&context.delta[2]===0){context.setResult([context.delta[0]]).exit();return}};reverseFilter.filterName="trivial";exports.diffFilter=diffFilter;exports.patchFilter=patchFilter;exports.reverseFilter=reverseFilter},{}],jsondiffpatch:[function(require,module,exports){module.exports=require("25mJsk")},{}],"25mJsk":[function(require,module,exports){(function(process){var DiffPatcher=require("./diffpatcher").DiffPatcher;exports.DiffPatcher=DiffPatcher;exports.create=function(options){return new DiffPatcher(options)};exports.dateReviver=require("./date-reviver");var defaultInstance;exports.diff=function(){if(!defaultInstance){defaultInstance=new DiffPatcher}return defaultInstance.diff.apply(defaultInstance,arguments)};exports.patch=function(){if(!defaultInstance){defaultInstance=new DiffPatcher}return defaultInstance.patch.apply(defaultInstance,arguments)};exports.unpatch=function(){if(!defaultInstance){defaultInstance=new DiffPatcher}return defaultInstance.unpatch.apply(defaultInstance,arguments)};exports.reverse=function(){if(!defaultInstance){defaultInstance=new DiffPatcher}return defaultInstance.reverse.apply(defaultInstance,arguments)};var inNode=typeof process!=="undefined"&&typeof process.execPath==="string";if(inNode){var formatters=require("./formatters"+"/index");exports.formatters=formatters;exports.console=formatters.console}else{exports.homepage="{{package-homepage}}";exports.version="{{package-version}}"}}).call(this,require("/home/admin/browserify-cdn/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))},{"./date-reviver":7,"./diffpatcher":8,"/home/admin/browserify-cdn/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":1}],17:[function(require,module,exports){var Pipe=function Pipe(name){this.name=name;this.filters=[]};Pipe.prototype.process=function(input){if(!this.processor){throw new Error("add this pipe to a processor before using it")}var debug=this.debug;var length=this.filters.length;var context=input;for(var index=0;index<length;index++){var filter=this.filters[index];if(debug){this.log("filter: "+filter.filterName)}filter(context);if(typeof context==="object"&&context.exiting){context.exiting=false;break}}if(!context.next&&this.resultCheck){this.resultCheck(context)}};Pipe.prototype.log=function(msg){console.log("[jsondiffpatch] "+this.name+" pipe, "+msg)};Pipe.prototype.append=function(){this.filters.push.apply(this.filters,arguments);return this};Pipe.prototype.prepend=function(){this.filters.unshift.apply(this.filters,arguments);return this};Pipe.prototype.indexOf=function(filterName){if(!filterName){throw new Error("a filter name is required")}for(var index=0;index<this.filters.length;index++){var filter=this.filters[index];if(filter.filterName===filterName){return index}}throw new Error("filter not found: "+filterName)};Pipe.prototype.list=function(){var names=[];for(var index=0;index<this.filters.length;index++){var filter=this.filters[index];names.push(filter.filterName)}return names};Pipe.prototype.after=function(filterName){var index=this.indexOf(filterName);var params=Array.prototype.slice.call(arguments,1);if(!params.length){throw new Error("a filter is required")}params.unshift(index+1,0);Array.prototype.splice.apply(this.filters,params);return this};Pipe.prototype.before=function(filterName){var index=this.indexOf(filterName);var params=Array.prototype.slice.call(arguments,1);if(!params.length){throw new Error("a filter is required")}params.unshift(index,0);Array.prototype.splice.apply(this.filters,params);return this};Pipe.prototype.clear=function(){this.filters.length=0;return this};Pipe.prototype.shouldHaveResult=function(should){if(should===false){this.resultCheck=null;return}if(this.resultCheck){return}var pipe=this;this.resultCheck=function(context){if(!context.hasResult){console.log(context);var error=new Error(pipe.name+" failed");error.noResult=true;throw error}};return this};exports.Pipe=Pipe},{}],18:[function(require,module,exports){var Processor=function Processor(options){this.selfOptions=options;this.pipes={}};Processor.prototype.options=function(options){if(options){this.selfOptions=options}return this.selfOptions};Processor.prototype.pipe=function(name,pipe){if(typeof name==="string"){if(typeof pipe==="undefined"){return this.pipes[name]}else{this.pipes[name]=pipe}}if(name&&name.name){pipe=name;if(pipe.processor===this){return pipe}this.pipes[pipe.name]=pipe}pipe.processor=this;return pipe};Processor.prototype.process=function(input,pipe){var context=input;context.options=this.options();var nextPipe=pipe||input.pipe||"default";var lastPipe,lastContext;while(nextPipe){if(typeof context.nextAfterChildren!=="undefined"){context.next=context.nextAfterChildren;context.nextAfterChildren=null}if(typeof nextPipe==="string"){nextPipe=this.pipe(nextPipe)}nextPipe.process(context);lastContext=context;lastPipe=nextPipe;nextPipe=null;if(context){if(context.next){context=context.next;nextPipe=lastContext.nextPipe||context.pipe||lastPipe}}}return context.hasResult?context.result:undefined};exports.Processor=Processor},{}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({"6cIyZX":[function(require,module,exports){module.exports=parse;var map={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:[0,"",""]};map.td=map.th=[3,"<table><tbody><tr>","</tr></tbody></table>"];map.option=map.optgroup=[1,'<select multiple="multiple">',"</select>"];map.thead=map.tbody=map.colgroup=map.caption=map.tfoot=[1,"<table>","</table>"];map.text=map.circle=map.ellipse=map.line=map.path=map.polygon=map.polyline=map.rect=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"];function parse(html){if("string"!=typeof html)throw new TypeError("String expected");var m=/<([\w:]+)/.exec(html);if(!m)return document.createTextNode(html);html=html.replace(/^\s+|\s+$/g,"");var tag=m[1];if(tag=="body"){var el=document.createElement("html");el.innerHTML=html;return el.removeChild(el.lastChild)}var wrap=map[tag]||map._default;var depth=wrap[0];var prefix=wrap[1];var suffix=wrap[2];var el=document.createElement("div");el.innerHTML=prefix+html+suffix;while(depth--)el=el.lastChild;if(el.firstChild==el.lastChild){return el.removeChild(el.firstChild) | |
| }var fragment=document.createDocumentFragment();while(el.firstChild){fragment.appendChild(el.removeChild(el.firstChild))}return fragment}},{}],domify:[function(require,module,exports){module.exports=require("6cIyZX")},{}]},{},[]);const jsondiffpatch=require("jsondiffpatch").create({});const domify=require("domify");document.body.innerHTML="";function log(text){document.body.innerHTML+="<p>"+text+"</p>"}var a="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in magna accumsan, varius lacus in, ornare lorem. Fusce ut metus ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam et metus sit amet arcu bibendum iaculis convallis nec diam. Donec erat urna, lacinia porttitor dui at, blandit sollicitudin odio. Suspendisse vel lectus est. Etiam interdum hendrerit ligula nec facilisis.";var b="Lorem ipsum dolor sit amet2, consectetur adipiscing elit. Curabitur in magna accumsan, varius lacus in, ornare lorem. Fusce ut metus ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam et metus sit amet arcu bibendum iaculis convallis nec diam. Donec erat urna, lacinia porttitor dui at, blandit sollicitudin odio. Suspendisse vel lectus est. Etiam interdum hendrerit ligula nec facilisis.";var c="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in magna accumsan, varius lacus in, ornare lorem. Fusce ut metus ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam et metus sit amet arcu bibendum iaculis convallis nec diam. Donec erat urna, lacinia porttitor dui at, blandit sollicitudin odio. Suspendisse vel lectus est3. Etiam interdum hendrerit ligula nec facilisis.";var delta1=jsondiffpatch.diff(a,b);var delta2=jsondiffpatch.diff(a,c);var result1=jsondiffpatch.patch(a,delta1);log(result1);var result2=jsondiffpatch.patch(a,delta2);log(result2);var result3=jsondiffpatch.patch(result1,delta2);log(result3); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "name": "requirebin-sketch", | |
| "version": "1.0.0", | |
| "dependencies": { | |
| "jsondiffpatch": "0.1.5", | |
| "domify": "1.2.2" | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <style type='text/css'>html, body { margin: 0; padding: 0; border: 0; } | |
| body, html { height: 100%; width: 100%; }</style> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment