Files
qhmes/deploy-qhmes/frontend/js/tableMerge-CpKVscEF.js
2026-05-15 11:34:12 +08:00

2 lines
871 B
Java

import{g as l}from"./tableBuilder-lOY0L2dW.js";function u(n,a=[]){const g=new Map(n.map(e=>[String((e==null?void 0:e.key)||""),e])),i=a.map(e=>g.get(String(e||""))).filter(Boolean).map(e=>String((e==null?void 0:e.bindField)||(e==null?void 0:e.field)||"")).filter(Boolean);return i.length?i:n.filter(e=>e.mergeByValue).map(e=>String(e.bindField||e.field||"")).filter(Boolean)}function p(n,a,g){const i=[],e={};return g.forEach(s=>{let t=s.start;for(;t<s.end;){const f=l(n[t]||{},a);let r=t+1;for(;r<s.end&&l(n[r]||{},a)===f;)r+=1;e[`${t}_${a}`]=r-t;for(let d=t+1;d<r;d+=1)e[`${d}_${a}`]=0;i.push({start:t,end:r}),t=r}}),{map:e,nextRanges:i}}function m(n,a,g=[],i=!1){const e={};if(!n.length)return e;const s=u(a,g);if(!s.length)return e;let t=[{start:0,end:n.length}];return s.forEach(f=>{const{map:r,nextRanges:d}=p(n,f,t);Object.assign(e,r),i&&(t=d)}),e}export{m as b};