export const h=(t,m,...c)=>({...m,t,m,c}) export const render=(e,d,t=d.t||(d.t={}),m,r,c)=> // arrays [e].flat(1/0).map((e)=> // components e.t.call?(e.i=render((render.c=e).t({children:e.c,...e.m},e.s=t.s||{},t=> render((e.s={...e.s,...t})&&e,d,e)),t.i||d,t?.i||{}),e):( // create notes e.d=t.d||(e.t?document.createElement(e.t):new Text(e.m)), // diff props e.m!=t.m&&(e.t?Object.keys(e.m||{}).map((d)=> (c=e.m[d])!=(t.m?.[d])&&(d in e.d?e.d[d]=c:e.d.setAttribute(d,c))):e.d.data=e.m), // insert at position t.d&&m==r||d.insertBefore(e.d,d.childNodes[m+1]), // diff children (typed/keyed) e.o=e.c.concat.call([],...e.c).map((d,p)=>render(d=d.c?d:h('',d),e.d, t.o?.find((e,c)=>e?.t==d.t&&e.key==d.key&&(c==p&&(p=r),t.o[c]=0,e))||{},p)), // remove stragglers t.o?.map(e=>e&&e.d.remove()),{...t,...e} ))[0]