From cab81d52144524c9dd6c0694724fc2f5c44637c4 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 2 Apr 2024 22:37:02 +0200 Subject: [PATCH] Small code reduction in Knockout --- .../build/output/knockout-latest.debug.js | 6 +-- .../knockout/build/output/knockout-latest.js | 38 +++++++++---------- .../editDetection/arrayToDomNodeChildren.js | 6 +-- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/vendors/knockout/build/output/knockout-latest.debug.js b/vendors/knockout/build/output/knockout-latest.debug.js index 197be8e89..18366c092 100644 --- a/vendors/knockout/build/output/knockout-latest.debug.js +++ b/vendors/knockout/build/output/knockout-latest.debug.js @@ -3551,10 +3551,10 @@ ko.utils.compareArrays = (() => { // Try to reduce overall moved nodes by first moving the ones that were marked as moved by the edit script if (itemsToMoveFirstIndexes.length) { - while ((i = itemsToMoveFirstIndexes.shift()) != undefined) { + while ((i = itemsToMoveFirstIndexes.shift()) != null) { mapData = newMappingResult[i]; - for (lastNode = undefined; i; ) { - mappedNodes = newMappingResult[--i].mappedNodes; + while (i--) { + mappedNodes = newMappingResult[i].mappedNodes; if (mappedNodes?.length) { lastNode = mappedNodes[mappedNodes.length - 1]; break; diff --git a/vendors/knockout/build/output/knockout-latest.js b/vendors/knockout/build/output/knockout-latest.js index 7d50b3fcb..bddcfd120 100644 --- a/vendors/knockout/build/output/knockout-latest.js +++ b/vendors/knockout/build/output/knockout-latest.js @@ -7,8 +7,8 @@ (R=>{function L(a,b){return a===b&&a!==Object(a)}function ca(a,b){var d;return()=>{d||(d=setTimeout(()=>{d=0;a()},b))}}function da(a,b){var d;return()=>{clearTimeout(d);d=setTimeout(a,b)}}function ea(a,b){b?.dispose?.()}function fa(a,b){var d=this.Lb,e=d[x];e.X||(this.Ma&&this.va[b]?(d.kb(b,a,this.va[b]),this.va[b]=null,--this.Ma):e.v[b]||d.kb(b,a,e.A?{T:a}:d.Db(a)),a.ea&&a.Hb())}function S(a){a=c.g.l.get(a,E);var b=a?.D;b&&(a.D=null,b.xb())}function T(a,b){for(var d,e=c.m.firstChild(b);d=e;)e=c.m.nextSibling(d), U(a,d);c.j.notify(b,c.j.F)}function U(a,b){var d=a;if(1===b.nodeType||c.pb.Xb(b))d=V(b,null,a);d&&!b.matches?.("SCRIPT,TEXTAREA,TEMPLATE")&&T(d,b)}function ha(a){var b=[],d={},e=[];c.g.K(a,function f(l){if(!d[l]){var h=c.i[l];h&&(h.after&&(e.push(l),h.after.forEach(k=>{if(a[k]){if(e.includes(k))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+e.join(", "));f(k)}}),e.length--),b.push({key:l,vb:h}));d[l]=!0}});return b}function V(a,b,d){var e=c.g.l.Ra(a,E, {}),g=e.Ib;if(!b){if(g)throw Error("You cannot apply bindings multiple times to the same element.");e.Ib=!0}g||(e.context=d);e.Va||(e.Va={});if(b&&"function"!==typeof b)var l=b;else{var f=c.o(()=>{if(l=b?b(d,a):c.pb.Ob(a,d))d[F]?.(),d[W]?.();return l},{s:a});l&&f.isActive()||(f=null)}var h=d,k;if(l){var n=f?m=>()=>f()[m]():m=>l[m],p={get:m=>l[m]&&n(m)(),has:m=>m in l};c.j.F in l&&c.j.subscribe(a,c.j.F,()=>{var m=l[c.j.F]();if(m){var q=c.m.childNodes(a);q.length&&m(q,c.dataFor(q[0]))}});c.j.ca in l&& -(h=c.j.$a(a,d),c.j.subscribe(a,c.j.ca,()=>{var m=l[c.j.ca]();m&&c.m.firstChild(a)&&m(a)}));ha(l).forEach(m=>{var q=m.vb.init,r=m.vb.update,t=m.key;if(8===a.nodeType&&!c.m.aa[t])throw Error("The binding '"+t+"' cannot be used with comment nodes");try{"function"==typeof q&&c.u.I(()=>{var u=q(a,n(t),p,h.$data,h);if(u&&u.controlsDescendantBindings){if(void 0!==k)throw Error("Multiple bindings ("+k+" and "+t+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element."); -k=t}}),"function"==typeof r&&c.o(()=>r(a,n(t),p,h.$data,h),{s:a})}catch(u){throw u.message='Unable to process binding "'+t+": "+l[t]+'"\nMessage: '+u.message,u;}})}return void 0===k&&h}function M(a,b){return a&&a instanceof c.ba?a:new c.ba(a,null,b)}var G=R.document,N={},c="undefined"!==typeof N?N:{};c.P=(a,b)=>{a=a.split(".");for(var d=c,e=0,g=a.length-1;eb?Object.assign(a,b):a,K:(a,b)=>a&&Object.entries(a).forEach(d=>b(d[0],d[1])),Qa:a=>[...a.childNodes].forEach(b=> +(h=c.j.$a(a,d),c.j.subscribe(a,c.j.ca,()=>{var m=l[c.j.ca]();m&&c.m.firstChild(a)&&m(a)}));ha(l).forEach(m=>{var q=m.vb.init,r=m.vb.update,u=m.key;if(8===a.nodeType&&!c.m.aa[u])throw Error("The binding '"+u+"' cannot be used with comment nodes");try{"function"==typeof q&&c.u.I(()=>{var t=q(a,n(u),p,h.$data,h);if(t&&t.controlsDescendantBindings){if(void 0!==k)throw Error("Multiple bindings ("+k+" and "+u+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element."); +k=u}}),"function"==typeof r&&c.o(()=>r(a,n(u),p,h.$data,h),{s:a})}catch(t){throw t.message='Unable to process binding "'+u+": "+l[u]+'"\nMessage: '+t.message,t;}})}return void 0===k&&h}function M(a,b){return a&&a instanceof c.ba?a:new c.ba(a,null,b)}var G=R.document,N={},c="undefined"!==typeof N?N:{};c.P=(a,b)=>{a=a.split(".");for(var d=c,e=0,g=a.length-1;eb?Object.assign(a,b):a,K:(a,b)=>a&&Object.entries(a).forEach(d=>b(d[0],d[1])),Qa:a=>[...a.childNodes].forEach(b=> c.removeNode(b)),Wb:a=>{a=[...a];var b=(a[0]?.ownerDocument||G).createElement("div");a.forEach(d=>b.append(c.ha(d)));return b},ua:(a,b)=>Array.prototype.map.call(a,b?d=>c.ha(d.cloneNode(!0)):d=>d.cloneNode(!0)),pa:(a,b)=>{c.g.Qa(a);b&&a.append(...b)},xa:(a,b)=>{if(a.length){for(b=8===b.nodeType&&b.parentNode||b;a.length&&a[0].parentNode!==b;)a.splice(0,1);for(;1null==a?"":a.trim?a.trim():a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,""),Pa:a=>a.ownerDocument.documentElement.contains(1!==a.nodeType?a.parentNode:a),Eb:(a,b)=>{if(!a?.nodeType)throw Error("element must be a DOM node when calling triggerEvent");a.dispatchEvent(new Event(b))},h:a=>c.W(a)?a():a,Za:(a,b)=>a.textContent=c.g.h(b)};c.P("utils",c.g);c.P("unwrap",c.g.h);(()=>{let a=0,b="__ko__"+Date.now(),d=new WeakMap;c.g.l={get:(e,g)=>(d.get(e)||{})[g],set:(e,g,l)=>{d.has(e)? d.get(e)[g]=l:d.set(e,{[g]:l});return l},Ra(e,g,l){return this.get(e,g)||this.set(e,g,l)},clear:e=>d.delete(e),Z:()=>a++ +b}})();c.g.N=(()=>{var a=c.g.l.Z(),b={1:1,8:1,9:1},d={1:1,9:1};const e=(f,h)=>{var k=c.g.l.get(f,a);h&&!k&&(k=new Set,c.g.l.set(f,a,k));return k},g=f=>{var h=e(f);h&&(new Set(h)).forEach(k=>k(f));c.g.l.clear(f);d[f.nodeType]&&l(f.childNodes,!0)},l=(f,h)=>{for(var k=[],n,p=0;p{a.ka="always"==b?null:L}};class ia{constructor(a,b,d){this.T=a;this.eb=b;this.za=d;this.Ha=!1;this.H=this.da=null}dispose(){this.Ha||(this.H&&c.g.N.Ya(this.da,this.H),this.Ha=!0,this.za(),this.T=this.eb=this.za=this.da=this.H=null)}s(a){this.da=a;c.g.N.addDisposeCallback(a,this.H=this.dispose.bind(this))}}c.R=function(){Object.setPrototypeOf(this,O);O.init(this)};var O={init:a=>{a.S=new Map;a.S.set("change",new Set);a.jb=1},subscribe:function(a,b,d){var e=this;d=d||"change"; var g=new ia(e,b?a.bind(b):a,()=>{e.S.get(d).delete(g);e.Ia?.(d)});e.Ja?.(d);e.S.has(d)||e.S.set(d,new Set);e.S.get(d).add(g);return g},B(a,b){b=b||"change";"change"===b&&this.Ea();if(this.na(b)){b="change"===b&&this.Fb||new Set(this.S.get(b));try{c.u.ob(),b.forEach(d=>{d.Ha||d.eb(a)})}finally{c.u.end()}}},ya(){return this.jb},Rb(a){return this.ya()!==a},Ea(){++this.jb},Da(a){var b=this,d=c.W(b),e,g,l,f,h;b.ra||(b.ra=b.B,b.B=(n,p)=>{p&&"change"!==p?"beforeChange"===p?b.gb(n):b.ra(n,p):b.hb(n)});var k= a(()=>{b.ea=!1;d&&f===b&&(f=b.fb?b.fb():b());var n=g||h&&b.Ba(l,f);h=g=e=!1;n&&b.ra(l=f)});b.hb=(n,p)=>{p&&b.ea||(h=!p);b.Fb=new Set(b.S.get("change"));b.ea=e=!0;f=n;k()};b.gb=n=>{e||(l=n,b.ra(n,"beforeChange"))};b.ib=()=>{h=!0};b.Hb=()=>{b.Ba(l,b.L(!0))&&(g=!0)}},na(a){return(this.S.get(a)||[]).size},Ba(a,b){return!this.ka||!this.ka(a,b)},toString:()=>"[object Object]",extend:function(a){var b=this;a&&c.g.K(a,(d,e)=>{d=c.extenders[d];"function"==typeof d&&(b=d(b,e)||b)});return b}};c.R.fn=Object.setPrototypeOf(O, -Function.prototype);c.Vb=a=>"function"==typeof a?.subscribe&&"function"==typeof a.B;(()=>{let a=[],b,d=0;c.u={ob:e=>{a.push(b);b=e},end:()=>b=a.pop(),Ab:e=>{if(b){if(!c.Vb(e))throw Error("Only subscribable things can act as dependencies");b.Jb.call(b.Kb,e,e.Gb||(e.Gb=++d))}},I(e,g,l){try{return a.push(b),b=void 0,e.apply(g,l||[])}finally{b=a.pop()}},ma:()=>b?.o.ma(),Ca:()=>b?.Ca,o:()=>b?.o}})();const B=Symbol("_latestValue");c.$=a=>{function b(){if(0b[B]?.length});c.R.fn.init(b);return Object.setPrototypeOf(b,H)};var H={toJSON:function(){let a=this[B];return a?.toJSON?.()||a},ka:L,L(){return this[B]},valueHasMutated:function(){this.B(this[B],"spectate");this.B(this[B])},cb(){this.B(this[B],"beforeChange")}};Object.setPrototypeOf(H,c.R.fn);var D=c.$.Zb="__ko_proto__";H[D]=c.$;c.W=a=>{if((a="function"==typeof a&&a[D])&&a!== +Function.prototype);c.Vb=a=>"function"==typeof a?.subscribe&&"function"==typeof a.B;(()=>{let a=[],b,d=0;c.u={ob:e=>{a.push(b);b=e},end:()=>b=a.pop(),Ab:e=>{if(b){if(!c.Vb(e))throw Error("Only subscribable things can act as dependencies");b.Jb.call(b.Kb,e,e.Gb||(e.Gb=++d))}},I(e,g,l){try{return a.push(b),b=void 0,e.apply(g,l||[])}finally{b=a.pop()}},ma:()=>b?.o.ma(),Ca:()=>b?.Ca,o:()=>b?.o}})();const A=Symbol("_latestValue");c.$=a=>{function b(){if(0b[A]?.length});c.R.fn.init(b);return Object.setPrototypeOf(b,H)};var H={toJSON:function(){let a=this[A];return a?.toJSON?.()||a},ka:L,L(){return this[A]},valueHasMutated:function(){this.B(this[A],"spectate");this.B(this[A])},cb(){this.B(this[A],"beforeChange")}};Object.setPrototypeOf(H,c.R.fn);var D=c.$.Zb="__ko_proto__";H[D]=c.$;c.W=a=>{if((a="function"==typeof a&&a[D])&&a!== H[D]&&a!==c.o.fn[D])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!a};c.wb=a=>"function"==typeof a&&(a[D]===H[D]||a[D]===c.o.fn[D]&&a.Sb);c.P("observable",c.$);c.P("isObservable",c.W);c.P("observable.fn",H);c.observableArray=a=>{a=a||[];if(!Array.isArray(a))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return Object.setPrototypeOf(c.$(a),c.observableArray.fn).extend({trackArrayChanges:!0})}; const X=Symbol("IS_OBSERVABLE_ARRAY");c.observableArray.fn=Object.setPrototypeOf({[X]:1,remove:function(a){for(var b=this.L(),d=!1,e="function"!=typeof a||c.W(a)?f=>f===a:a,g=b.length;g--;){var l=b[g];if(e(l)){if(b[g]!==l)throw Error("Array modified during remove; cannot remove item");d||this.cb();d=!0;b.splice(g,1)}}d&&this.valueHasMutated()}},c.$.fn);Object.getOwnPropertyNames(Array.prototype).forEach(a=>{"function"===typeof Array.prototype[a]&&"constructor"!=a&&("copyWithin fill pop push reverse shift sort splice unshift".split(" ").includes(a)? c.observableArray.fn[a]=function(...b){var d=this.L();this.cb();this.qb(d,a,b);b=d[a](...b);this.valueHasMutated();return b===d?this:b}:c.observableArray.fn[a]=function(...b){return this()[a](...b)})});c.isObservableArray=a=>!(!a||!a[X]);c.extenders.trackArrayChanges=(a,b)=>{function d(){if(k){var q=[].concat(a.L()||[]);if(a.na("arrayChange")){if(!l||1++k,null,"spectate"),n=[].concat(a.L()|| -[]),l=null,f=a.subscribe(d))}a.Ka={};"object"==typeof b&&c.g.extend(a.Ka,b);a.Ka.sparse=!0;if(!a.qb){var g=!1,l=null,f,h,k=0,n,p=a.Ja,m=a.Ia;a.Ja=q=>{p?.call(a,q);"arrayChange"===q&&e()};a.Ia=q=>{m?.call(a,q);"arrayChange"!==q||a.na("arrayChange")||(f?.dispose(),h?.dispose(),h=f=null,g=!1,n=void 0)};a.qb=(q,r,t)=>{if(g&&!k){var u=[],y=q.length,v=t.length,z=0,A=(ja,ka,la)=>u[u.length]={status:ja,value:ka,index:la};switch(r){case "push":z=y;case "unshift":for(q=0;qt[0]?y+t[0]:t[0]),y);y=1===v?y:Math.min(z+(t[1]||0),y);v=z+v-2;r=Math.max(y,v);for(var w=[],I=[],C=2;z{function d(){if(0{p?.call(a,q);"arrayChange"===q&&e()};a.Ia=q=>{m?.call(a,q);"arrayChange"!==q||a.na("arrayChange")||(f?.dispose(),h?.dispose(),h=f=null,g=!1,n=void 0)};a.qb=(q,r,u)=>{if(g&&!k){var t=[],z=q.length,w=u.length,y=0,B=(ja,ka,la)=>t[t.length]={status:ja,value:ka,index:la};switch(r){case "push":y=z;case "unshift":for(q=0;qu[0]?z+u[0]:u[0]),z);z=1===w?z:Math.min(y+(u[1]||0),z);w=y+w-2;r=Math.max(z,w);for(var v=[],I=[],C=2;y{function d(){if(0{d.dispose()});return d};var K={ka:L,ma(){return this[x].G},Pb(){var a=[];c.g.K(this[x].v,(b,d)=>a[d.fa]=d.T);return a},Sa(a){if(!this[x].G)return!1;var b=this.Pb();return b.includes(a)||!!b.find(d=>d.Sa&&d.Sa(a))},kb(a,b,d){if(this[x].Xa&&b===this)throw Error("A 'pure' computed must not be called recursively");this[x].v[a]=d;d.fa=this[x].G++;d.ga=b.ya()},oa(){var a,b=this[x].v;for(a in b)if(Object.prototype.hasOwnProperty.call(b, a)){var d=b[a];if(this.qa&&d.T.ea||d.T.Rb(d.ga))return!0}},dc(){this[x].Aa||this.qa?.(!1)},isActive(){var a=this[x];return a.V||0{e[J]=d})}};c.$b=a=>(a=c.g.l.get(a,E))&&a.context;c.applyBindingAccessorsToNode=(a,b,d)=>V(a,b,M(d));c.nb=(a,b)=>{1!==b.nodeType&&8!==b.nodeType||T(M(a),b)};c.mb=function(a,b,d){if(2>arguments.length){if(b=G.body,!b)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!b||1!==b.nodeType&&8!==b.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"); U(M(a,d),b)};c.dataFor=a=>(a=a&&[1,8].includes(a.nodeType)&&c.$b(a))?a.$data:void 0;c.P("bindingHandlers",c.i);c.P("applyBindings",c.mb);(()=>{var a=Object.create(null),b=new Map;c.components={get:(l,f)=>{if(b.has(l))f(b.get(l));else{var h=a[l];h?h.subscribe(f):(h=a[l]=new c.R,h.subscribe(f),g(l,k=>{b.set(l,k);delete a[l];h.B(k)}))}},register:(l,f)=>{if(!f)throw Error("Invalid configuration for "+l);if(d[l])throw Error("Component "+l+" is already registered");d[l]=f}};var d=Object.create(null),e= (l,f)=>{throw Error(`Component '${l}': ${f}`);},g=(l,f)=>{var h={},k=d[l]||{},n=k.template;k=k.viewModel;if(n){n.element||e(l,"Unknown template value: "+n);n=n.element;var p=G.getElementById(n);p||e(l,"Cannot find element with ID "+n);p.matches("TEMPLATE")||e(l,"Template Source Element not a