9 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):((e=e||self).eg=e.eg||{},e.eg.ListDiffer=t())}(this,function(){"use strict";var x=function(){function e(){this.keys=[],this.values=[]}var t=e.prototype;return t.get=function(e){return this.values[this.keys.indexOf(e)]},t.set=function(e,t){var n=this.keys,i=this.values,r=n.indexOf(e),c=-1===r?n.length:r;n[c]=e,i[c]=t},e}(),b=function(){function e(){this.object={}}var t=e.prototype;return t.get=function(e){return this.object[e]},t.set=function(e,t){this.object[e]=t},e}(),m="function"==typeof Map,r=function(){function e(){}var t=e.prototype;return t.connect=function(e,t){this.prev=e,this.next=t,e&&(e.next=this),t&&(t.prev=this)},t.disconnect=function(){var e=this.prev,t=this.next;e&&(e.next=t),t&&(t.prev=e)},t.getIndex=function(){for(var e=this,t=-1;e;)e=e.prev,++t;return t},e}();var O=function(){function e(e,t,n,i,r,c,o,u){this.prevList=e,this.list=t,this.added=n,this.removed=i,this.changed=r,this.maintained=c,this.changedBeforeAdded=o,this.fixed=u}var t=e.prototype;return Object.defineProperty(t,"ordered",{get:function(){return this.cacheOrdered||this.caculateOrdered(),this.cacheOrdered},enumerable:!0,configurable:!0}),Object.defineProperty(t,"pureChanged",{get:function(){return this.cachePureChanged||this.caculateOrdered(),this.cachePureChanged},enumerable:!0,configurable:!0}),t.caculateOrdered=function(){var e=function(e,n){var u=[],s=[];return e.forEach(function(e){var t=e[0],n=e[1],i=new r;u[t]=i,s[n]=i}),u.forEach(function(e,t){e.connect(u[t-1])}),e.filter(function(e,t){return!n[t]}).map(function(e,t){var n=e[0],i=e[1];if(n===i)return[0,0];var r=u[n],c=s[i-1],o=r.getIndex();return r.disconnect(),c?r.connect(c,c.next):r.connect(void 0,u[0]),[o,r.getIndex()]})}(this.changedBeforeAdded,this.fixed),u=this.changed,s=[];this.cacheOrdered=e.filter(function(e,t){var n=e[0],i=e[1],r=u[t],c=r[0],o=r[1];if(n!==i)return s.push([c,o]),!0}),this.cachePureChanged=s},e}();function i(e,t,n){var i=m?Map:n?b:x,r=n||function(e){return e},c=[],o=[],u=[],s=e.map(r),f=t.map(r),a=new i,h=new i,d=[],p=[],v={},l=[],g=0,y=0;return s.forEach(function(e,t){a.set(e,t)}),f.forEach(function(e,t){h.set(e,t)}),s.forEach(function(e,t){var n=h.get(e);void 0===n?(++y,o.push(t)):v[n]=y}),f.forEach(function(e,t){var n=a.get(e);void 0===n?(c.push(t),++g):(u.push([n,t]),y=v[t]||0,d.push([n-y,t-g]),p.push(t===n),n!==t&&l.push([n,t]))}),o.reverse(),new O(e,t,c,o,l,u,d,p)}var e=function(){function e(e,t){void 0===e&&(e=[]),this.findKeyCallback=t,this.list=[].slice.call(e)}return e.prototype.update=function(e){var t=[].slice.call(e),n=i(this.list,t,this.findKeyCallback);return this.list=t,n},e}();return e.diff=i,e});
|