olova 2.0.13 → 2.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/olova.js +1 -1
- package/package.json +1 -1
package/dist/olova.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let BATCH_UPDATES=Symbol("BATCH_UPDATES"),SIGNAL_TYPE=Symbol("SIGNAL_TYPE");class SubscriptionManager{constructor(){this.globalSubs=new Set,this.propSubs=new Map,this.weakPropSubs=new WeakMap,this.dependencies=new WeakMap,this.batchMode=!1,this.pendingDeps=new Set}subscribe(e,t){if(!t)return;this.dependencies.has(t)||this.dependencies.set(t,new Set);let n=this.dependencies.get(t);if(!n.has(e)){if(n.add(e),!e)return void this.globalSubs.add(t);let r="object"==typeof e?this.weakPropSubs:this.propSubs;r.has(e)||r.set(e,new Set),r.get(e).add(t)}}notify(e,t=new Set){if(this.batchMode)return this.pendingDeps.add(e),t;if(e){let n=this.propSubs.get(e);if(n&&this.notifyDependentSubs(n,e,t),"object"==typeof e){let n=this.weakPropSubs.get(e);n&&this.notifyDependentSubs(n,e,t)}}return this.notifyDependentSubs(this.globalSubs,e,t),t}startBatch(){this.batchMode=!0,this.pendingDeps.clear()}endBatch(){this.batchMode=!1;let e=new Set;for(let t of this.pendingDeps)this.notify(t,e);return this.pendingDeps.clear(),e}notifyDependentSubs(e,t,n){for(let r of e)if(!n.has(r)){let e=this.dependencies.get(r);(!t||!e||e.has(t))&&(r(),n.add(r))}}cleanup(e){if(e)for(let[t,n]of(this.propSubs.delete(e),this.dependencies))n.delete(e),0===n.size&&this.dependencies.delete(t)}}class BatchQueue{constructor(){this.updates=new Map,this.priorities=new Map,this.timeouts=new Map,this.debounceTime=16}add(e,t,n=0,r=!1){if(r)return this.timeouts.has(e)&&clearTimeout(this.timeouts.get(e)),void this.timeouts.set(e,setTimeout((()=>{this.addImmediate(e,t,n),this.timeouts.delete(e)}),this.debounceTime));this.addImmediate(e,t,n)}addImmediate(e,t,n){if(this.updates.has(e)){let r=this.updates.get(e),i=this.priorities.get(e)||0;"object"==typeof r&&"object"==typeof t&&(t={...r,...t}),n=Math.max(i,n)}this.updates.set(e,t),this.priorities.set(e,n)}process(e){if(0!==this.updates.size){if(this.timeouts.size>0)return void Promise.all(Array.from(this.timeouts.values()).map((e=>new Promise((t=>{let n=setInterval((()=>{this.timeouts.has(e)||(clearInterval(n),t())}),0)}))))).then((()=>this.processImmediate(e)));this.processImmediate(e)}}processImmediate(e){let t=[...this.updates.entries()].sort(((e,t)=>(this.priorities.get(t[0])||0)-(this.priorities.get(e[0])||0)));e.startBatch();let n=new Set;for(let[r,i]of t)"function"==typeof i&&i(),e.notify(r,n);e.endBatch(),this.updates.clear(),this.priorities.clear()}clear(){this.timeouts.forEach((e=>clearTimeout(e))),this.timeouts.clear(),this.updates.clear(),this.priorities.clear()}}let createSignal=(e,t={})=>{let{equals:n=Object.is,immediate:r=!0,batched:i=!1,debounce:o=!1}=t,a=e,l=new SubscriptionManager,s=new BatchQueue,c=e=>{let t=getCurrentContext();return t&&l.subscribe(e,t),e?a[e]:a};return c[BATCH_UPDATES]=()=>(l.startBatch(),()=>{l.endBatch(),s.clear()}),c[SIGNAL_TYPE]=!0,[c,(e,t,r=0)=>{let c="function"==typeof e?e(t?a[t]:a):e;(t?!n(a[t],c):!n(a,c))&&(a=t?{...a,[t]:c}:c,i?(s.add(t,c,r,o),queueMicrotask((()=>{s.process(l)}))):l.notify(t))}]};function createEffect(e,t={defer:!1}){let n=null,r=new Set,i=()=>{n&&n(),r.clear(),currentContext=i;try{n=e()||null}finally{currentContext=null}};return t.defer||i(),i}function createMemo(e,t={}){let[n,r]=createSignal(void 0,t),i=!1,o=new Set;return createEffect((()=>{o.clear();let a=e();i&&t.equals&&t.equals(n(),a)||(r(a),i=!0)})),n}function createResource(e,t={}){let{initialValue:n=null,cacheTime:r=5e3,retries:i=3,retryDelay:o=1e3,lazy:a=!1}=t,[l,s]=createSignal(n),[c,d]=createSignal(!1),[u,f]=createSignal(null),h=new Map,p=new Map,m=0,g=e=>{e?(h.delete(e),p.has(e)&&(clearTimeout(p.get(e)),p.delete(e))):(h.clear(),p.forEach((e=>clearTimeout(e))),p.clear())},y=async t=>{let n=JSON.stringify(t);if(h.has(n))return h.get(n);d(!0),f(null),m=0;let a=async()=>{try{let i=await e(t);return s(i),h.set(n,i),r>0&&p.set(n,setTimeout((()=>g(n)),r)),i}catch(e){if(m<i)return await new Promise((e=>setTimeout(e,o*++m))),a();throw f(e),e}finally{d(!1)}};return a()};return a||y(),{data:l,loading:c,error:u,refetch:y,clearCache:g}}let eventDelegation=new Map;function delegateEvent(e,t,n){if(!eventDelegation.has(e)){let t=t=>{let n=eventDelegation.get(e);for(let[e,r]of n)t.target.matches(e)&&r(t)};document.addEventListener(e,t),eventDelegation.set(e,new Map)}eventDelegation.get(e).set(t,n)}function h(e,t,...n){let r="http://www.w3.org/2000/svg",i=new Set(["svg","path","circle","rect","line","polygon","polyline","ellipse","g","text","tspan","defs","use","mask","clipPath"]);if("function"==typeof e)return e({...t,children:n});if(e===Fragment){let e=document.createDocumentFragment();return n.flat().forEach((t=>{let n=processChild(t);n&&e.appendChild(n)})),e}if("string"!=typeof e)throw Error(`Invalid element type: ${e}`);let o=i.has(e.toLowerCase())||t&&t.xmlns===r,a=o?document.createElementNS(r,e):document.createElement(e);if(t)for(let[e,n]of Object.entries(t))if("ref"===e)"function"==typeof n?n(a):n&&(n.current=a);else if(e.startsWith("on")){let t=e.slice(2).toLowerCase();a.addEventListener(t,n)}else if("style"===e)"string"==typeof n?a.style.cssText=n:Object.assign(a.style,n);else if("classList"===e){if(Array.isArray(n))a.classList.add(...n.filter(Boolean));else if("object"==typeof n)for(let[e,t]of Object.entries(n))t?a.classList.add(e):a.classList.remove(e)}else"class"===e||"className"===e?a.setAttribute("class",n):["key"].includes(e)||("function"==typeof n&&n[SIGNAL_TYPE]?createEffect((()=>{o?a.setAttribute(e,n()):a[e]=n()})):o?!0===n?a.setAttribute(e,""):!1!==n&&null!=n&&a.setAttribute(e,n):a[e]=n);return n.flat().forEach((e=>{if(null==e)return;let t=processChild(e);t&&(o&&t instanceof SVGElement||t instanceof Node?a.appendChild(t):a.appendChild(document.createTextNode(String(t))))})),a}let Fragment=Symbol("Fragment");function render(e,t,n={}){let{hydrate:r=!1,onError:i=console.error,suspense:o=!0,beforeMount:a,afterMount:l}=n;if(!r)for(;t.firstChild;)t.removeChild(t.firstChild);let[s]=createSignal(null),c=s[BATCH_UPDATES]();a?.();try{let n=e();if(o&&n instanceof Promise)return void n.then((e=>{mountChildren(e,t,r),l?.()})).catch(i);mountChildren(n,t,r),l?.()}catch(e){i(e)}finally{c()}return()=>{for(;t.firstChild;)t.removeChild(t.firstChild)}}function mountChildren(e,t,n){if(!e)return;let r=Array.isArray(e)?e.flat(1/0):[e],i=Array.from(t.childNodes),o=0;if(r.filter(Boolean).forEach((e=>{"string"==typeof e||"number"==typeof e?n&&i[o]?.nodeType===Node.TEXT_NODE?i[o].textContent=String(e):t.appendChild(document.createTextNode(String(e))):e instanceof Node?n&&i[o]?e.isEqualNode(i[o])||t.replaceChild(e,i[o]):t.appendChild(e):Array.isArray(e)?mountChildren(e,t,n):e&&"object"==typeof e&&t.appendChild(document.createTextNode(JSON.stringify(e))),o++})),!n)for(;o<i.length;)t.removeChild(i[o]),o++}let currentContext=null,getCurrentContext=()=>currentContext;function createContext(e){let t=Symbol("context");return{Provider({value:e,children:n}){let r=useContext(t);return currentContext=e,currentContext=r,n},Context:t,defaultValue:e}}function useContext(e){return currentContext||e.defaultValue}function ErrorBoundary({fallback:e,children:t}){try{return t}catch(t){return e(t)}}function lazy(e){let t=null,n=null;return function(r){if(!t)throw n||(n=e().then((e=>{t=e.default||e}))),n;return h(t,r)}}"undefined"!=typeof window?(window.h=h,window.Fragment=Fragment):"undefined"!=typeof global&&(global.h=h,global.Fragment=Fragment);export default{h:h,Fragment:Fragment};let processChild=e=>{if(null==e||!1===e||!0===e)return null;let t=()=>{let e=Math.random().toString(36).slice(2,8),t=document.createComment(`start:${e}`),n=document.createComment(`end:${e}`),r=document.createDocumentFragment();return r.appendChild(t),r.appendChild(n),{fragment:r,startNode:t,endNode:n}};if("function"==typeof e){let{fragment:n,startNode:r,endNode:i}=t(),o=null,a=null;return createEffect((()=>{let t=(e[SIGNAL_TYPE],e());if((null==t||!1===t||!0===t)&&(t=null),t===a)return;if(o){if(o.nodeType===Node.TEXT_NODE&&("string"==typeof t||"number"==typeof t)){let e=String(t);return o.textContent!==e&&(o.textContent=e),void(a=t)}if(o instanceof Element&&t instanceof Element&&o.tagName===t.tagName){let e=o.attributes,n=t.attributes;for(let n of e)t.hasAttribute(n.name)||o.removeAttribute(n.name);for(let e of n)o.getAttribute(e.name)!==e.value&&o.setAttribute(e.name,e.value);if(o.childNodes.length===t.childNodes.length){let e=!1;for(let n=0;n<o.childNodes.length;n++){let r=o.childNodes[n],i=t.childNodes[n];if(r.nodeType!==Node.TEXT_NODE||i.nodeType!==Node.TEXT_NODE){e=!0;break}r.textContent!==i.textContent&&(r.textContent=i.textContent)}if(!e)return void(a=t)}}}let n=i.parentNode,l=document.createDocumentFragment();if(null!=t){let e=processContent(t);e&&l.appendChild(e)}if(r.nextSibling!==i){let e=r.nextSibling,t=[];for(;e&&e!==i;)t.push(e),e=e.nextSibling;t.forEach((e=>e.remove()))}l.firstChild?(n.insertBefore(l,i),o=r.nextSibling):o=null,a=t})),n}if(Array.isArray(e)){let{fragment:n,startNode:r,endNode:i}=t(),o=[],a=new Map;return createEffect((()=>{let t=e.filter(Boolean);if(0===t.length){if(0===o.length)return;let e=r.nextSibling,t=[];for(;e&&e!==i;)t.push(e),e=e.nextSibling;return t.forEach((e=>e.remove())),o=[],void a.clear()}if(o.length===t.length&&o.length<5){let e=!1,n=[],a=r.nextSibling;for(;a&&a!==i;)n.push(a),a=a.nextSibling;for(let r=0;r<t.length;r++){let i=o[r],a=t[r],l=n[r];if(i!==a){if(l.nodeType!==Node.TEXT_NODE||"string"!=typeof a&&"number"!=typeof a){e=!0;break}l.textContent=String(a)}}if(!e)return void(o=[...t])}let n=document.createDocumentFragment(),l=new Map;t.forEach(((e,t)=>{let r,i=e?.key||`${typeof e}:${String(e)}`;a.has(i)?(r=a.get(i),a.delete(i)):r=processChild(e),r&&(l.set(i,r),n.appendChild(r))})),a.clear(),a=l;let s=r.nextSibling,c=[];for(;s&&s!==i;)c.push(s),s=s.nextSibling;c.forEach((e=>e.remove())),i.parentNode.insertBefore(n,i),o=[...t]})),n}return e instanceof Node?e:document.createTextNode(String(e))},processContent=e=>{if(Array.isArray(e)){let t=document.createDocumentFragment();return e.forEach((e=>{let n=processChild(e);n&&t.appendChild(n)})),t}return e instanceof Node?e:document.createTextNode(String(e))};export{createSignal,createEffect,createMemo,createResource,createContext,useContext,h,Fragment,render,ErrorBoundary,lazy};
|
|
1
|
+
const e=Symbol("BATCH_UPDATES"),t=Symbol("SIGNAL_TYPE");class n{constructor(){this.globalSubs=new Set,this.propSubs=new Map,this.weakPropSubs=new WeakMap,this.dependencies=new WeakMap,this.batchMode=!1,this.pendingDeps=new Set}subscribe(e,t){if(!t)return;this.dependencies.has(t)||this.dependencies.set(t,new Set);const n=this.dependencies.get(t);if(!n.has(e)){if(n.add(e),!e)return void this.globalSubs.add(t);const i="object"==typeof e?this.weakPropSubs:this.propSubs;i.has(e)||i.set(e,new Set),i.get(e).add(t)}}notify(e,t=new Set){if(this.batchMode)return this.pendingDeps.add(e),t;if(e){const n=this.propSubs.get(e);if(n&&this.notifyDependentSubs(n,e,t),"object"==typeof e){const n=this.weakPropSubs.get(e);n&&this.notifyDependentSubs(n,e,t)}}return this.notifyDependentSubs(this.globalSubs,e,t),t}startBatch(){this.batchMode=!0,this.pendingDeps.clear()}endBatch(){this.batchMode=!1;const e=new Set;for(const t of this.pendingDeps)this.notify(t,e);return this.pendingDeps.clear(),e}notifyDependentSubs(e,t,n){for(const i of e)if(!n.has(i)){const e=this.dependencies.get(i);t&&e&&!e.has(t)||(i(),n.add(i))}}cleanup(e){if(e){this.propSubs.delete(e);for(const[t,n]of this.dependencies)n.delete(e),0===n.size&&this.dependencies.delete(t)}}}class i{constructor(){this.updates=new Map,this.priorities=new Map,this.timeouts=new Map,this.debounceTime=16}add(e,t,n=0,i=!1){if(i)return this.timeouts.has(e)&&clearTimeout(this.timeouts.get(e)),void this.timeouts.set(e,setTimeout((()=>{this.addImmediate(e,t,n),this.timeouts.delete(e)}),this.debounceTime));this.addImmediate(e,t,n)}addImmediate(e,t,n){if(this.updates.has(e)){const i=this.updates.get(e),o=this.priorities.get(e)||0;"object"==typeof i&&"object"==typeof t&&(t={...i,...t}),n=Math.max(o,n)}this.updates.set(e,t),this.priorities.set(e,n)}process(e){0!==this.updates.size&&(this.timeouts.size>0?Promise.all(Array.from(this.timeouts.values()).map((e=>new Promise((t=>{const n=setInterval((()=>{this.timeouts.has(e)||(clearInterval(n),t())}),0)}))))).then((()=>this.processImmediate(e))):this.processImmediate(e))}processImmediate(e){const t=[...this.updates.entries()].sort(((e,t)=>(this.priorities.get(t[0])||0)-(this.priorities.get(e[0])||0)));e.startBatch();const n=new Set;for(const[i,o]of t)"function"==typeof o&&o(),e.notify(i,n);e.endBatch(),this.updates.clear(),this.priorities.clear()}clear(){this.timeouts.forEach((e=>clearTimeout(e))),this.timeouts.clear(),this.updates.clear(),this.priorities.clear()}}const o=(o,r={})=>{const{equals:s=Object.is,immediate:a=!0,batched:c=!1,debounce:l=!1}=r;let d=o;const u=new n,f=new i,h=e=>{const t=p();return t&&u.subscribe(e,t),e?d[e]:d};return h[e]=()=>(u.startBatch(),()=>{u.endBatch(),f.clear()}),h[t]=!0,[h,(e,t,n=0)=>{const i="function"==typeof e?e(t?d[t]:d):e;(t?!s(d[t],i):!s(d,i))&&(d=t?{...d,[t]:i}:i,c?(f.add(t,i,n,l),queueMicrotask((()=>{f.process(u)}))):u.notify(t))}]};function r(e,t={defer:!1}){let n=null,i=new Set,o=new Set;const r=()=>{n&&n(),o.forEach((e=>e())),o.clear(),i.clear(),h=r;try{n=e()||null}finally{h=null}};return t.defer||r(),r}function s(e){const t=p();if(!t)throw new Error("onCleanup must be called within a reactive context");if(!t.cleanupFns)return e;t.cleanupFns.add(e)}function a(e,t={}){const[n,i]=o(void 0,t);let s=!1,a=new Set;return r((()=>{a.clear();const o=e();s&&t.equals&&t.equals(n(),o)||(i(o),s=!0)})),n}function c(e,t={}){const{initialValue:n=null,cacheTime:i=5e3,retries:r=3,retryDelay:s=1e3,lazy:a=!1}=t,[c,l]=o(n),[d,u]=o(!1),[f,h]=o(null);let p=new Map,m=new Map,g=0;const y=e=>{e?(p.delete(e),m.has(e)&&(clearTimeout(m.get(e)),m.delete(e))):(p.clear(),m.forEach((e=>clearTimeout(e))),m.clear())},b=async t=>{const n=JSON.stringify(t);if(p.has(n))return p.get(n);u(!0),h(null),g=0;const o=async()=>{try{const o=await e(t);return l(o),p.set(n,o),i>0&&m.set(n,setTimeout((()=>y(n)),i)),o}catch(e){if(g<r)return g++,await new Promise((e=>setTimeout(e,s*g))),o();throw h(e),e}finally{u(!1)}};return o()};return a||b(),{data:c,loading:d,error:f,refetch:b,clearCache:y}}new Map;function l(e,n,...i){const o="http://www.w3.org/2000/svg",s=new Set(["svg","path","circle","rect","line","polygon","polyline","ellipse","g","text","tspan","defs","use","mask","clipPath"]);if("function"==typeof e)return e({...n,children:i});if(e===d){const e=document.createDocumentFragment();return i.flat().forEach((t=>{const n=w(t);n&&e.appendChild(n)})),e}if("string"!=typeof e)throw new Error(`Invalid element type: ${e}`);const a=s.has(e.toLowerCase())||n&&n.xmlns===o,c=a?document.createElementNS(o,e):document.createElement(e);if(n)for(const[e,i]of Object.entries(n))if("ref"===e)"function"==typeof i?i(c):i&&(i.current=c);else if(e.startsWith("on")){const t=e.slice(2).toLowerCase();c.addEventListener(t,i)}else if("style"===e)"string"==typeof i?c.style.cssText=i:Object.assign(c.style,i);else if("classList"===e){if(Array.isArray(i))c.classList.add(...i.filter(Boolean));else if("object"==typeof i)for(const[e,t]of Object.entries(i))t?c.classList.add(e):c.classList.remove(e)}else"class"===e||"className"===e?c.setAttribute("class",i):["key"].includes(e)||("function"==typeof i&&i[t]?r((()=>{a?c.setAttribute(e,i()):c[e]=i()})):a?!0===i?c.setAttribute(e,""):!1!==i&&null!=i&&c.setAttribute(e,i):c[e]=i);return i.flat().forEach((e=>{if(null==e)return;const t=w(e);t&&(a&&t instanceof SVGElement||t instanceof Node?c.appendChild(t):c.appendChild(document.createTextNode(String(t))))})),c}const d=Symbol("Fragment");function u(t,n,i={}){const{hydrate:r=!1,onError:s=console.error,suspense:a=!0,beforeMount:c,afterMount:l}=i;if(!r)for(;n.firstChild;)n.removeChild(n.firstChild);const[d]=o(null),u=d[e]();c?.();try{let e=t();if(a&&e instanceof Promise)return void e.then((e=>{f(e,n,r),l?.()})).catch(s);f(e,n,r),l?.()}catch(e){s(e)}finally{u()}return()=>{for(;n.firstChild;)n.removeChild(n.firstChild)}}function f(e,t,n){if(!e)return;const i=Array.isArray(e)?e.flat(1/0):[e],o=Array.from(t.childNodes);let r=0;if(i.filter(Boolean).forEach((e=>{"string"==typeof e||"number"==typeof e?n&&o[r]?.nodeType===Node.TEXT_NODE?o[r].textContent=String(e):t.appendChild(document.createTextNode(String(e))):e instanceof Node?n&&o[r]?e.isEqualNode(o[r])||t.replaceChild(e,o[r]):t.appendChild(e):Array.isArray(e)?f(e,t,n):e&&"object"==typeof e&&t.appendChild(document.createTextNode(JSON.stringify(e))),r++})),!n)for(;r<o.length;)t.removeChild(o[r]),r++}let h=null;const p=()=>h;function m(e){const t=Symbol("context");new Map;return{Provider:({value:e,children:n})=>{const i=g(t);h=e;return h=i,n},Context:t,defaultValue:e}}function g(e){return h||e.defaultValue}function y({fallback:e,children:t}){try{return t}catch(t){return e(t)}}function b(e){let t=null,n=null;return function(i){if(!t)throw n||(n=e().then((e=>{t=e.default||e}))),n;return l(t,i)}}function S(e=null){return{current:e}}"undefined"!=typeof window?(window.h=l,window.Fragment=d):"undefined"!=typeof global&&(global.h=l,global.Fragment=d);export{o as createSignal,r as createEffect,a as createMemo,c as createResource,m as createContext,g as useContext,l as h,d as Fragment,u as render,y as ErrorBoundary,b as lazy,s as onCleanup,S as createRef};export default{h:l,Fragment:d};const w=e=>{if(null==e||!1===e||!0===e)return null;const n=()=>{const e=Math.random().toString(36).slice(2,8),t=document.createComment(`start:${e}`),n=document.createComment(`end:${e}`),i=document.createDocumentFragment();return i.appendChild(t),i.appendChild(n),{fragment:i,startNode:t,endNode:n}};if("function"==typeof e){const{fragment:i,startNode:o,endNode:s}=n();let a=null,c=null;return r((()=>{let n=(e[t],e());if(null!=n&&!1!==n&&!0!==n||(n=null),n===c)return;if(a){if(a.nodeType===Node.TEXT_NODE&&("string"==typeof n||"number"==typeof n)){const e=String(n);return a.textContent!==e&&(a.textContent=e),void(c=n)}if(a instanceof Element&&n instanceof Element&&a.tagName===n.tagName){const e=a.attributes,t=n.attributes;for(const t of e)n.hasAttribute(t.name)||a.removeAttribute(t.name);for(const e of t)a.getAttribute(e.name)!==e.value&&a.setAttribute(e.name,e.value);if(a.childNodes.length===n.childNodes.length){let e=!1;for(let t=0;t<a.childNodes.length;t++){const i=a.childNodes[t],o=n.childNodes[t];if(i.nodeType!==Node.TEXT_NODE||o.nodeType!==Node.TEXT_NODE){e=!0;break}i.textContent!==o.textContent&&(i.textContent=o.textContent)}if(!e)return void(c=n)}}}const i=s.parentNode,r=document.createDocumentFragment();if(null!=n){const e=N(n);e&&r.appendChild(e)}if(o.nextSibling!==s){let e=o.nextSibling;const t=[];for(;e&&e!==s;)t.push(e),e=e.nextSibling;t.forEach((e=>e.remove()))}r.firstChild?(i.insertBefore(r,s),a=o.nextSibling):a=null,c=n})),i}if(Array.isArray(e)){const{fragment:t,startNode:i,endNode:o}=n();let s=[],a=new Map;return r((()=>{const t=e.filter(Boolean);if(0===t.length){if(0===s.length)return;let e=i.nextSibling;const t=[];for(;e&&e!==o;)t.push(e),e=e.nextSibling;return t.forEach((e=>e.remove())),s=[],void a.clear()}if(s.length===t.length&&s.length<5){let e=!1;const n=[];let r=i.nextSibling;for(;r&&r!==o;)n.push(r),r=r.nextSibling;for(let i=0;i<t.length;i++){const o=s[i],r=t[i],a=n[i];if(o!==r){if(a.nodeType!==Node.TEXT_NODE||"string"!=typeof r&&"number"!=typeof r){e=!0;break}a.textContent=String(r)}}if(!e)return void(s=[...t])}const n=document.createDocumentFragment(),r=new Map;t.forEach(((e,t)=>{const i=e?.key||`${typeof e}:${String(e)}`;let o;a.has(i)?(o=a.get(i),a.delete(i)):o=w(e),o&&(r.set(i,o),n.appendChild(o))})),a.clear(),a=r;let c=i.nextSibling;const l=[];for(;c&&c!==o;)l.push(c),c=c.nextSibling;l.forEach((e=>e.remove())),o.parentNode.insertBefore(n,o),s=[...t]})),t}return e instanceof Node?e:document.createTextNode(String(e))},N=e=>{if(Array.isArray(e)){const t=document.createDocumentFragment();return e.forEach((e=>{const n=w(e);n&&t.appendChild(n)})),t}return e instanceof Node?e:document.createTextNode(String(e))};
|