Sha256: 7f23e5d2fe0c383827f5074bd2cc71e7742be4f74f0b5c84d04aa799611e69b5
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
/*! * UI development toolkit for HTML5 (OpenUI5) * (c) Copyright 2009-2018 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ sap.ui.define(['sap/base/util/deepEqual','sap/base/strings/hash'],function(d,h){"use strict";var D=function(o,n,s){var S={},O=[],N=[],a,v,b,c=0,e=0,f,g,j,k,l=[];if(o===n||d(o,n)){return l;}s=s||function(V){if(typeof V!=="string"){V=JSON.stringify(V)||"";}return h(V);};for(var i=0;i<n.length;i++){v=s(n[i]);b=S[v];if(!b){b=S[v]={iNewCount:0,iOldCount:0};}b.iNewCount++;N[i]={symbol:b};}for(var i=0;i<o.length;i++){v=s(o[i]);b=S[v];if(!b){b=S[v]={iNewCount:0,iOldCount:0};}b.iOldCount++;b.iOldLine=i;O[i]={symbol:b};}for(var i=0;i<N.length;i++){b=N[i].symbol;if(b.iNewCount===1&&b.iOldCount===1){N[i].line=b.iOldLine;O[b.iOldLine].line=i;}}for(var i=0;i<N.length-1;i++){a=N[i].line;if(a!==undefined&&a<O.length-1){if(O[a+1].symbol===N[i+1].symbol){O[a+1].line=i+1;N[i+1].line=a+1;}}}for(var i=N.length-1;i>0;i--){a=N[i].line;if(a!==undefined&&a>0){if(O[a-1].symbol===N[i-1].symbol){O[a-1].line=i-1;N[i-1].line=a-1;}}}while(c<o.length||e<n.length){g=O[c]&&O[c].line;f=N[e]&&N[e].line;if(c<o.length&&(g===undefined||g<e)){l.push({index:e,type:"delete"});c++;}else if(e<n.length&&(f===undefined||f<c)){l.push({index:e,type:"insert"});e++;}else if(e===g){e++;c++;}else{k=g-e;j=f-c;if(k<=j){l.push({index:e,type:"insert"});e++;}else{l.push({index:e,type:"delete"});c++;}}}return l;};return D;});
Version data entries
3 entries across 3 versions & 1 rubygems