7 lines
1.4 KiB
JavaScript
7 lines
1.4 KiB
JavaScript
import{dN as e,dO as s,e4 as t,e5 as r,e6 as l,e7 as n,e8 as o,e9 as i,dP as a}from"./card-b98d578d.js";
|
|
/**
|
|
* @license
|
|
* Copyright 2017 Google LLC
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/const u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},f=e(class extends s{constructor(e){if(super(e),e.type!==t.CHILD)throw Error("repeat() can only be used in text expressions")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],n=[];let o=0;for(const s of e)l[o]=r?r(s,o):o,n[o]=t(s,o),o++;return{values:n,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(e,[s,t,f]){const c=r(e),{values:d,keys:h}=this.dt(s,t,f);if(!Array.isArray(c))return this.ut=h,d;const p=this.ut??=[],v=[];let y,x,g=0,k=c.length-1,m=0,w=d.length-1;for(;g<=k&&m<=w;)if(null===c[g])g++;else if(null===c[k])k--;else if(p[g]===h[m])v[m]=l(c[g],d[m]),g++,m++;else if(p[k]===h[w])v[w]=l(c[k],d[w]),k--,w--;else if(p[g]===h[w])v[w]=l(c[g],d[w]),n(e,v[w+1],c[g]),g++,w--;else if(p[k]===h[m])v[m]=l(c[k],d[m]),n(e,c[g],c[k]),k--,m++;else if(void 0===y&&(y=u(h,m,w),x=u(p,g,k)),y.has(p[g]))if(y.has(p[k])){const s=x.get(h[m]),t=void 0!==s?c[s]:null;if(null===t){const s=n(e,c[g]);l(s,d[m]),v[m]=s}else v[m]=l(t,d[m]),n(e,c[g],t),c[s]=null;m++}else o(c[k]),k--;else o(c[g]),g++;for(;m<=w;){const s=n(e,v[w+1]);l(s,d[m]),v[m++]=s}for(;g<=k;){const e=c[g++];null!==e&&o(e)}return this.ut=h,i(e,v),a}});export{f as c};
|