subay 0.0.8 → 0.0.10

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/lib/index.dev.js CHANGED
@@ -1,3 +1,3 @@
1
- var ne=Object.defineProperty;var re=(e,n)=>()=>(e&&(n=e(e=0)),n);var oe=(e,n)=>{for(var t in n)ne(e,t,{get:n[t],enumerable:!0})};var j={};oe(j,{namedFunc:()=>ie});var B,se,ie,k=re(()=>{"use strict";B=new Map,se=function e(){let n=new Error().stack;if(!n)return null;let t=/((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/,r=n.split(`
2
- `),s=r.findIndex(c=>c.includes(import.meta.url)&&c.includes(e.name));if(s>-1){let l=r[s+3];if(!l)return null;let i=l.match(t);if(!i)return null;let o=i[1],u=i[2],d=i[3];if(!o||!u||!d)return null;let p;if(B.has(o))p=B.get(o);else{let T=new XMLHttpRequest;T.open("GET",o,!1),T.send(),p=T.responseText,B.set(o,p)}let g=new RegExp(`(?:.*\r?
3
- ){${Number(u)-1}}.{${Number(d)-1}}`),m=p.match(g);return m?m[0].match(/(\w+)\s*=\s*$/)?.[1]:null}return null},ie=(e,n)=>{let t=se()??n;if(!t)return e;let r=new Function(`return function ${t} (...args) {return ${t}._(...args)}`)();return r.I=e,Object.setPrototypeOf(r,e),r}});var H=(await Promise.resolve().then(()=>(k(),j))).namedFunc,f,$=Symbol(),U=Symbol(),_,q=new WeakMap,G=0,Q=e=>{let n=f,t=(()=>{});F(t),t.r=!1,f=t;let r=e(()=>{L(t),f=void 0});return f=n,r},N=(e,n)=>{let t=H(F(r=>{if(r===U||t.r){let s=f;L(t),t.r=!1,f=t,n=e(n),f=s}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n}));return t.$o=3075,t.c=G++,f&&f.u.push(t),t(U),q.set(e,t),t},Te=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if(_)return t.s===$&&_.push(t),t.s=r,r;e=r;let s=f;f=void 0;let c=new Set,l=(o,u)=>{!o.o.has(u)||c.has(o)||(c.add(o),o.e.forEach(d=>l(d,o)))};t.e.forEach(o=>l(o,t));let i=Array.from(c);return i.forEach(o=>{o.r=!0}),t.e=[],i.sort(ce).forEach(o=>{o.r&&o()}),f=s,e}let t=H(n);return t.e=[],t.s=$,t.$o=181,t.c=G++,t},ce=(e,n)=>e.c-n.c,L=e=>{e.u.forEach(L),e.r=!1,e.f.forEach(n=>n()),F(e)},F=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),x=e=>(f?.f.push(e),e),ge=e=>{let n=_;_=[];let t=e(),r=_;return _=n,r.forEach(s=>{if(s.s!==$){let c=s.s;s.s=$,s(c)}}),t};var z=e=>{let n=f;f=void 0;let t=e();return f=n,t},be=()=>!!f,Ie=e=>(N(e),()=>ae(e)),ae=e=>{let n=q.get(e);n&&L(n)},xe=e=>e?.$o===181,Se=e=>e?.$o===3075,v=e=>e?.$o;var R=new Map;function X(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var V=X(),P=X(),le=new RegExp(`([\\s\\S]*?)${V}(\\d+)${P}([\\s\\S]*?)(?=${V}\\d+${P}|$)`,"g"),ue=/\s*\n\s*/g,fe=new DOMParser,C=e=>{let n=[];if(e=e.replace(ue,""),e.includes(V)&&e.includes(P))for(let t of e.matchAll(le)){let[,r,s,c]=t;r&&n.push(r),s&&n.push(Number(s)),c&&n.push(c)}else e&&n.push(e);return n},A=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),de=(e,n,t,r,s)=>{if(R.has(r))return R.get(r);let c=r.flatMap((p,g,{length:m})=>g===m-1?[p]:[p,V,s[g],P]).join(""),l=n(c),i=fe.parseFromString(l,e),o=p=>{let g=[];for(let m=p.item(0),T=m?.nextSibling,w=0;m!=null;m=T,T=T?.nextSibling,w++)do e:{if(m.nodeType===1){let y=m,I=C(y.tagName.toLowerCase()),S=I.length>1||typeof I[0]=="number";if(g.push({y:y.namespaceURI,a:2,h:I,T:Array.from(y.attributes).flatMap(a=>{let h=C(a.nodeName),b=C(a.value),M=h.length>1||typeof h[0]=="number"||b.length>1||typeof b[0]=="number";return!S&&!M?[]:(y.removeAttribute(a.nodeName),[{d:h,m:b.length===0?[!0]:b}])}),l:y.childNodes.length>0?o(y.childNodes):[],i:S?null:y,g:w}),!S)break e}else if(m.nodeType===3){let y=m.data,I=C(y);I.length>0&&g.push({a:1,b:I})}m.remove(),w--}while(!1);return g},u=t(i),d=o(u);return R.set(r,d),d},Z=(e,n,t,r,s,c)=>{if(typeof t=="function")return v(t)?E(()=>{let i=t();return Z(e,null,i,r,s,c)}):E(()=>t(...r.flatMap(({d:i,m:o})=>i[0]==="..."&&typeof i[1]=="number"?A(i.slice(1),s):A(o,s)),c));if(typeof t!="string")return[];let l=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:o,m:u}of r)o[0]==="..."&&typeof o[1]=="number"?ye(l,A(o.slice(1),s)):Y(l,A(o,s),A(u,s));let i=c();if(i.length!==0)if(!l.firstChild)l.append(...i);else for(let o=l.firstElementChild,u=0;u<i.length;u++){let d=i[u];o===d?o=o.nextElementSibling:l.insertBefore(d,o)}}),x(()=>l.remove()),[l]},J=null,E=e=>{let n=new Comment("");x(()=>n.remove());let t=[n];return N(()=>{J=n;let r=e(),c=(Array.isArray(r)?r:[r]).map(l=>{if(l instanceof Node)return l;let i=new Text(l);return x(()=>i.remove()),i});n.isConnected?n.after(...c):t.push(...c)}),t};function me(e,n,t,r,s){let c=e.length,l=n.length;if(e===n||c===0&&l===0)return;let i=0,o=Math.min(c,l);for(;i<o&&e[i]===n[i];)i++;let u=0;for(;u<o-i&&e[c-1-u]===n[l-1-u];)u++;let d=c-i-u,p=l-i-u;if(d===0&&p===0){for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<u;a++)s(e[c-u+a]);return}let g=new Map;for(let a=0;a<p;a++)g.set(n[i+a],a);let m=[];for(let a=0;a<d;a++){let h=e[i+a],b=g.get(h);b!==void 0&&m.push(b)}let T=[],w=new Array(m.length).fill(-1),y=[];for(let a=0;a<m.length;a++){let h=m[a],b=0,M=T.length;for(;b<M;){let D=b+M>>1;T[D]<h?b=D+1:M=D}let O=b;O===T.length?(T.push(h),y.push(a)):(T[O]=h,y[O]=a),O>0&&(w[a]=y[O-1])}let I=new Set,S=y.length>0?y[y.length-1]:-1;for(;S!==-1;){let a=m[S];I.add(n[i+a]),S=w[S]}for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<d;a++){let h=e[i+a];I.has(h)||r(h)}for(let a=0;a<p;a++){let h=n[i+a];I.has(h)?s(h):t(h)}for(let a=0;a<u;a++)s(e[c-u+a])}var _e=(e,n)=>E(()=>{let t=J;x(()=>{s().t.forEach(c=>c())});let r=c=>Q(l=>{let i=n(c);return[l,i]}),s=N((c={p:[],n:[],t:[]})=>{let l=e(),i=c.p,o={p:l,n:[],t:[]};return me(i,l,u=>{let[d,p]=r(u);(o.n.at(-1)?.at(-1)??t).after(...p),o.n.push(p),o.t.push(d)},u=>{let d=i.indexOf(u);c.t[d]()},u=>{let d=i.indexOf(u);o.n.push(c.n[d]),o.t.push(c.t[d])}),o});return z(()=>s().n.flat())}),pe=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},Y=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(pe(e,n)){let s=e[n];e[n]=t,x(()=>{e[n]=s})}else e.setAttribute(n,String(t)),x(()=>{e.removeAttribute(n)})}else N(()=>{Y(e,typeof n=="function"?n():n,v(t)?t():t)})},ye=(e,n)=>{N(()=>{let t=n();for(let r in t)Y(e,r,t[r])})},K=(e,n,t)=>{if(n.a===1)return n.b.flatMap(r=>{if(typeof r=="string"){let s=new Text(r);return x(()=>s.remove()),s}else if(typeof r=="number"){let s=t[r];if(typeof s=="function")return v(s)?E(()=>s()):E(s);if(typeof s!="object"){let c=new Text(String(s));return x(()=>c.remove()),c}return s}});{let{T:r,l:s,h:c,i:l}=n,i=A(c,t),o=n.y??e;return Z(o,l,i,r,t,()=>s.flatMap(u=>K(o,u,t)))}},ee=(e,n)=>{if(e.a===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.g):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>ee(r,t))}}},te=(e,n,t,r)=>(s,...c)=>{let i=de(n,t,r,s,c.map(o=>c.indexOf(o))).map(o=>ee(o,null));return E(()=>i.flatMap(o=>K(e,o,c)))},W="http://www.w3.org/2000/svg",Ae=te(W,"text/xml",e=>`<svg xmlns="${W}">${e}</svg>`,e=>e.firstChild.childNodes),Ee=te(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,x as cleanup,Ee as html,Se as isComputed,be as isListening,xe as isObservable,v as isReactive,_e as map,Te as o,Te as observable,Q as root,z as sample,Ie as subscribe,Ae as svg,ge as transaction,ae as unsubscribe};
1
+ var ne=Object.defineProperty;var re=(e,n)=>()=>(e&&(n=e(e=0)),n);var oe=(e,n)=>{for(var t in n)ne(e,t,{get:n[t],enumerable:!0})};var k={};oe(k,{namedFunc:()=>ie});var F,se,ie,U=re(()=>{"use strict";F=new Map,se=function e(){let n=new Error().stack;if(!n)return null;let t=/((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/,r=n.split(`
2
+ `),s=r.findIndex(c=>c.includes(import.meta.url)&&c.includes(e.name));if(s>-1){let l=r[s+3];if(!l)return null;let i=l.match(t);if(!i)return null;let o=i[1],u=i[2],d=i[3];if(!o||!u||!d)return null;let p;if(F.has(o))p=F.get(o);else{let g=new XMLHttpRequest;g.open("GET",o,!1),g.send(),p=g.responseText,F.set(o,p)}let h=new RegExp(`(?:.*\r?
3
+ ){${Number(u)-1}}.{${Number(d)-1}}`),m=p.match(h);return m?m[0].match(/(\w+)\s*=\s*$/)?.[1]:null}return null},ie=(e,n)=>{let t=se()??n;if(!t)return e;let r=new Function(`return function ${t} (...args) {return ${t}._(...args)}`)();return r.I=e,Object.setPrototypeOf(r,e),r}});var q=(await Promise.resolve().then(()=>(U(),k))).namedFunc,f,$=Symbol(),H=Symbol(),A,G=new WeakMap,L=0,Q=e=>{let n=f,t=(()=>{});R(t),t.r=!1,f=t;let r=e(()=>{C(t),f=void 0});return f=n,r},N=(e,n)=>{let t=q(R(r=>{if(r===H||t.r){t.c=L;let s=f;C(t),t.r=!1,f=t,n=e(n),f=s}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n}));return t.$o=3075,t.c=L++,f&&f.u.push(t),t(H),G.set(e,t),t},ge=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if(L++,A)return t.s===$&&A.push(t),t.s=r,r;e=r;let s=f;f=void 0;let c=new Set,l=(o,u)=>{!o.o.has(u)||c.has(o)||(c.add(o),o.e.forEach(d=>l(d,o)))};t.e.forEach(o=>l(o,t));let i=Array.from(c);return i.forEach(o=>{o.r=!0}),t.e=[],i.sort(ce).forEach(o=>{o.r&&o()}),f=s,e}let t=q(n);return t.e=[],t.s=$,t.$o=181,L++,t},ce=(e,n)=>e.c-n.c,C=e=>{e.u.forEach(C),e.r=!1,e.f.forEach(n=>n()),R(e)},R=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),x=e=>(f?.f.push(e),e),he=e=>{let n=A;A=[];let t=e(),r=A;return A=n,r.forEach(s=>{if(s.s!==$){let c=s.s;s.s=$,s(c)}}),t};var z=e=>{let n=f;f=void 0;let t=e();return f=n,t},be=()=>!!f,Ie=e=>(N(e),()=>ae(e)),ae=e=>{let n=G.get(e);n&&C(n)},xe=e=>e?.$o===181,Se=e=>e?.$o===3075,v=e=>e?.$o;var Y=new Map;function X(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var P=X(),D=X(),le=new RegExp(`([\\s\\S]*?)${P}(\\d+)${D}([\\s\\S]*?)(?=${P}\\d+${D}|$)`,"g"),ue=/\s*\n\s*/g,fe=new DOMParser,V=e=>{let n=[];if(e=e.replace(ue,""),e.includes(P)&&e.includes(D))for(let t of e.matchAll(le)){let[,r,s,c]=t;r&&n.push(r),s&&n.push(Number(s)),c&&n.push(c)}else e&&n.push(e);return n},_=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),de=(e,n,t,r,s)=>{if(Y.has(r))return Y.get(r);let c=r.flatMap((p,h,{length:m})=>h===m-1?[p]:[p,P,s[h],D]).join(""),l=n(c),i=fe.parseFromString(l,e),o=p=>{let h=[];for(let m=p.item(0),g=m?.nextSibling,w=0;m!=null;m=g,g=g?.nextSibling,w++)do e:{if(m.nodeType===1){let y=m,I=V(y.tagName.toLowerCase()),S=I.length>1||typeof I[0]=="number";if(h.push({y:y.namespaceURI,a:2,T:I,g:Array.from(y.attributes).flatMap(a=>{let T=V(a.nodeName),b=V(a.value),M=T.length>1||typeof T[0]=="number"||b.length>1||typeof b[0]=="number";return!S&&!M?[]:(y.removeAttribute(a.nodeName),[{d:T,m:b.length===0?[!0]:b}])}),l:y.childNodes.length>0?o(y.childNodes):[],i:S?null:y,h:w}),!S)break e}else if(m.nodeType===3){let y=m.data,I=V(y);I.length>0&&h.push({a:1,b:I})}m.remove(),w--}while(!1);return h},u=t(i),d=o(u);return Y.set(r,d),d},Z=(e,n,t,r,s,c)=>{if(typeof t=="function")return v(t)?E(()=>{let i=t();return Z(e,null,i,r,s,c)}):E(()=>t(...r.flatMap(({d:i,m:o})=>i[0]==="..."&&typeof i[1]=="number"?_(i.slice(1),s):_(o,s)),c));if(typeof t!="string")return[];let l=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:o,m:u}of r)o[0]==="..."&&typeof o[1]=="number"?ye(l,_(o.slice(1),s)):j(l,_(o,s),_(u,s));let i=c();if(i.length!==0)if(!l.firstChild)l.append(...i);else for(let o=l.firstElementChild,u=0;u<i.length;u++){let d=i[u];o===d?o=o.nextElementSibling:l.insertBefore(d,o)}}),x(()=>l.remove()),[l]},J=null,E=e=>{let n=new Comment("");x(()=>n.remove());let t=[n];return N(()=>{J=n;let r=e(),c=(Array.isArray(r)?r:[r]).map(l=>{if(l instanceof Node)return l;let i=new Text(l);return x(()=>i.remove()),i});n.isConnected?n.after(...c):t.push(...c)}),t};function me(e,n,t,r,s){let c=e.length,l=n.length;if(e===n||c===0&&l===0)return;let i=0,o=Math.min(c,l);for(;i<o&&e[i]===n[i];)i++;let u=0;for(;u<o-i&&e[c-1-u]===n[l-1-u];)u++;let d=c-i-u,p=l-i-u;if(d===0&&p===0){for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<u;a++)s(e[c-u+a]);return}let h=new Map;for(let a=0;a<p;a++)h.set(n[i+a],a);let m=[];for(let a=0;a<d;a++){let T=e[i+a],b=h.get(T);b!==void 0&&m.push(b)}let g=[],w=new Array(m.length).fill(-1),y=[];for(let a=0;a<m.length;a++){let T=m[a],b=0,M=g.length;for(;b<M;){let B=b+M>>1;g[B]<T?b=B+1:M=B}let O=b;O===g.length?(g.push(T),y.push(a)):(g[O]=T,y[O]=a),O>0&&(w[a]=y[O-1])}let I=new Set,S=y.length>0?y[y.length-1]:-1;for(;S!==-1;){let a=m[S];I.add(n[i+a]),S=w[S]}for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<d;a++){let T=e[i+a];I.has(T)||r(T)}for(let a=0;a<p;a++){let T=n[i+a];I.has(T)?s(T):t(T)}for(let a=0;a<u;a++)s(e[c-u+a])}var Ae=(e,n)=>E(()=>{let t=J;x(()=>{s().t.forEach(c=>c())});let r=c=>Q(l=>{let i=n(c);return[l,i]}),s=N((c={p:[],n:[],t:[]})=>{let l=e(),i=c.p,o={p:l,n:[],t:[]};return me(i,l,u=>{let[d,p]=r(u);(o.n.at(-1)?.at(-1)??t).after(...p),o.n.push(p),o.t.push(d)},u=>{let d=i.indexOf(u);c.t[d]()},u=>{let d=i.indexOf(u);o.n.push(c.n[d]),o.t.push(c.t[d])}),o});return z(()=>s().n.flat())}),pe=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},j=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(pe(e,n)){let s=e[n];e[n]=t,x(()=>{e[n]=s})}else e.setAttribute(n,String(t)),x(()=>{e.removeAttribute(n)})}else N(()=>{j(e,typeof n=="function"?n():n,v(t)?t():t)})},ye=(e,n)=>{N(()=>{let t=n();for(let r in t)j(e,r,t[r])})},K=(e,n,t)=>{if(n.a===1)return n.b.flatMap(r=>{if(typeof r=="string"){let s=new Text(r);return x(()=>s.remove()),s}else if(typeof r=="number"){let s=t[r];if(typeof s=="function")return v(s)?E(()=>s()):E(s);if(typeof s!="object"){let c=new Text(String(s));return x(()=>c.remove()),c}return s}});{let{g:r,l:s,T:c,i:l}=n,i=_(c,t),o=n.y??e;return Z(o,l,i,r,t,()=>s.flatMap(u=>K(o,u,t)))}},ee=(e,n)=>{if(e.a===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.h):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>ee(r,t))}}},te=(e,n,t,r)=>(s,...c)=>{let i=de(n,t,r,s,c.map(o=>c.indexOf(o))).map(o=>ee(o,null));return E(()=>i.flatMap(o=>K(e,o,c)))},W="http://www.w3.org/2000/svg",_e=te(W,"text/xml",e=>`<svg xmlns="${W}">${e}</svg>`,e=>e.firstChild.childNodes),Ee=te(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,x as cleanup,Ee as html,Se as isComputed,be as isListening,xe as isObservable,v as isReactive,Ae as map,ge as o,ge as observable,Q as root,z as sample,Ie as subscribe,_e as svg,he as transaction,ae as unsubscribe};
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- var R=e=>e,f,L=Symbol(),U=Symbol(),_,k=new WeakMap,F=0,H=e=>{let n=f,t=(()=>{});B(t),t.r=!1,f=t;let r=e(()=>{$(t),f=void 0});return f=n,r},N=(e,n)=>{let t=R(B(r=>{if(r===U||t.r){let o=f;$(t),t.r=!1,f=t,n=e(n),f=o}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n}));return t.$o=3075,t.a=F++,f&&f.u.push(t),t(U),k.set(e,t),t},ce=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if(_)return t.s===L&&_.push(t),t.s=r,r;e=r;let o=f;f=void 0;let c=new Set,l=(s,u)=>{!s.o.has(u)||c.has(s)||(c.add(s),s.e.forEach(d=>l(d,s)))};t.e.forEach(s=>l(s,t));let a=Array.from(c);return a.forEach(s=>{s.r=!0}),t.e=[],a.sort(Z).forEach(s=>{s.r&&s()}),f=o,e}let t=R(n);return t.e=[],t.s=L,t.$o=181,t.a=F++,t},Z=(e,n)=>e.a-n.a,$=e=>{e.u.forEach($),e.r=!1,e.f.forEach(n=>n()),B(e)},B=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),S=e=>(f?.f.push(e),e),le=e=>{let n=_;_=[];let t=e(),r=_;return _=n,r.forEach(o=>{if(o.s!==L){let c=o.s;o.s=L,o(c)}}),t};var q=e=>{let n=f;f=void 0;let t=e();return f=n,t},ue=()=>!!f,fe=e=>(N(e),()=>ee(e)),ee=e=>{let n=k.get(e);n&&$(n)},de=e=>e?.$o===181,me=e=>e?.$o===3075,v=e=>e?.$o;var Y=new Map;function G(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var V=G(),P=G(),te=new RegExp(`([\\s\\S]*?)${V}(\\d+)${P}([\\s\\S]*?)(?=${V}\\d+${P}|$)`,"g"),ne=/\s*\n\s*/g,re=new DOMParser,C=e=>{let n=[];if(e=e.replace(ne,""),e.includes(V)&&e.includes(P))for(let t of e.matchAll(te)){let[,r,o,c]=t;r&&n.push(r),o&&n.push(Number(o)),c&&n.push(c)}else e&&n.push(e);return n},w=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),oe=(e,n,t,r,o)=>{if(Y.has(r))return Y.get(r);let c=r.flatMap((h,b,{length:m})=>b===m-1?[h]:[h,V,o[b],P]).join(""),l=n(c),a=re.parseFromString(l,e),s=h=>{let b=[];for(let m=h.item(0),I=m?.nextSibling,A=0;m!=null;m=I,I=I?.nextSibling,A++)do e:{if(m.nodeType===1){let p=m,g=C(p.tagName.toLowerCase()),x=g.length>1||typeof g[0]=="number";if(b.push({y:p.namespaceURI,c:2,T:g,h:Array.from(p.attributes).flatMap(i=>{let y=C(i.nodeName),T=C(i.value),M=y.length>1||typeof y[0]=="number"||T.length>1||typeof T[0]=="number";return!x&&!M?[]:(p.removeAttribute(i.nodeName),[{d:y,m:T.length===0?[!0]:T}])}),l:p.childNodes.length>0?s(p.childNodes):[],i:x?null:p,b:A}),!x)break e}else if(m.nodeType===3){let p=m.data,g=C(p);g.length>0&&b.push({c:1,g})}m.remove(),A--}while(!1);return b},u=t(a),d=s(u);return Y.set(r,d),d},W=(e,n,t,r,o,c)=>{if(typeof t=="function")return v(t)?E(()=>{let a=t();return W(e,null,a,r,o,c)}):E(()=>t(...r.flatMap(({d:a,m:s})=>a[0]==="..."&&typeof a[1]=="number"?w(a.slice(1),o):w(s,o)),c));if(typeof t!="string")return[];let l=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:s,m:u}of r)s[0]==="..."&&typeof s[1]=="number"?ae(l,w(s.slice(1),o)):j(l,w(s,o),w(u,o));let a=c();if(a.length!==0)if(!l.firstChild)l.append(...a);else for(let s=l.firstElementChild,u=0;u<a.length;u++){let d=a[u];s===d?s=s.nextElementSibling:l.insertBefore(d,s)}}),S(()=>l.remove()),[l]},z=null,E=e=>{let n=new Comment("");S(()=>n.remove());let t=[n];return N(()=>{z=n;let r=e(),c=(Array.isArray(r)?r:[r]).map(l=>{if(l instanceof Node)return l;let a=new Text(l);return S(()=>a.remove()),a});n.isConnected?n.after(...c):t.push(...c)}),t};function se(e,n,t,r,o){let c=e.length,l=n.length;if(e===n||c===0&&l===0)return;let a=0,s=Math.min(c,l);for(;a<s&&e[a]===n[a];)a++;let u=0;for(;u<s-a&&e[c-1-u]===n[l-1-u];)u++;let d=c-a-u,h=l-a-u;if(d===0&&h===0){for(let i=0;i<a;i++)o(e[i]);for(let i=0;i<u;i++)o(e[c-u+i]);return}let b=new Map;for(let i=0;i<h;i++)b.set(n[a+i],i);let m=[];for(let i=0;i<d;i++){let y=e[a+i],T=b.get(y);T!==void 0&&m.push(T)}let I=[],A=new Array(m.length).fill(-1),p=[];for(let i=0;i<m.length;i++){let y=m[i],T=0,M=I.length;for(;T<M;){let D=T+M>>1;I[D]<y?T=D+1:M=D}let O=T;O===I.length?(I.push(y),p.push(i)):(I[O]=y,p[O]=i),O>0&&(A[i]=p[O-1])}let g=new Set,x=p.length>0?p[p.length-1]:-1;for(;x!==-1;){let i=m[x];g.add(n[a+i]),x=A[x]}for(let i=0;i<a;i++)o(e[i]);for(let i=0;i<d;i++){let y=e[a+i];g.has(y)||r(y)}for(let i=0;i<h;i++){let y=n[a+i];g.has(y)?o(y):t(y)}for(let i=0;i<u;i++)o(e[c-u+i])}var Te=(e,n)=>E(()=>{let t=z;S(()=>{o().t.forEach(c=>c())});let r=c=>H(l=>{let a=n(c);return[l,a]}),o=N((c={p:[],n:[],t:[]})=>{let l=e(),a=c.p,s={p:l,n:[],t:[]};return se(a,l,u=>{let[d,h]=r(u);(s.n.at(-1)?.at(-1)??t).after(...h),s.n.push(h),s.t.push(d)},u=>{let d=a.indexOf(u);c.t[d]()},u=>{let d=a.indexOf(u);s.n.push(c.n[d]),s.t.push(c.t[d])}),s});return q(()=>o().n.flat())}),ie=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},j=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(ie(e,n)){let o=e[n];e[n]=t,S(()=>{e[n]=o})}else e.setAttribute(n,String(t)),S(()=>{e.removeAttribute(n)})}else N(()=>{j(e,typeof n=="function"?n():n,v(t)?t():t)})},ae=(e,n)=>{N(()=>{let t=n();for(let r in t)j(e,r,t[r])})},J=(e,n,t)=>{if(n.c===1)return n.g.flatMap(r=>{if(typeof r=="string"){let o=new Text(r);return S(()=>o.remove()),o}else if(typeof r=="number"){let o=t[r];if(typeof o=="function")return v(o)?E(()=>o()):E(o);if(typeof o!="object"){let c=new Text(String(o));return S(()=>c.remove()),c}return o}});{let{h:r,l:o,T:c,i:l}=n,a=w(c,t),s=n.y??e;return W(s,l,a,r,t,()=>o.flatMap(u=>J(s,u,t)))}},K=(e,n)=>{if(e.c===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.b):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>K(r,t))}}},X=(e,n,t,r)=>(o,...c)=>{let a=oe(n,t,r,o,c.map(s=>c.indexOf(s))).map(s=>K(s,null));return E(()=>a.flatMap(s=>J(e,s,c)))},Q="http://www.w3.org/2000/svg",he=X(Q,"text/xml",e=>`<svg xmlns="${Q}">${e}</svg>`,e=>e.firstChild.childNodes),be=X(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,S as cleanup,be as html,me as isComputed,ue as isListening,de as isObservable,v as isReactive,Te as map,ce as o,ce as observable,H as root,q as sample,fe as subscribe,he as svg,le as transaction,ee as unsubscribe};
1
+ var k=e=>e,f,L=Symbol(),R=Symbol(),w,F=new WeakMap,$=0,H=e=>{let n=f,t=(()=>{});Y(t),t.r=!1,f=t;let r=e(()=>{C(t),f=void 0});return f=n,r},N=(e,n)=>{let t=k(Y(r=>{if(r===R||t.r){t.a=$;let o=f;C(t),t.r=!1,f=t,n=e(n),f=o}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n}));return t.$o=3075,t.a=$++,f&&f.u.push(t),t(R),F.set(e,t),t},ce=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if($++,w)return t.s===L&&w.push(t),t.s=r,r;e=r;let o=f;f=void 0;let c=new Set,l=(s,u)=>{!s.o.has(u)||c.has(s)||(c.add(s),s.e.forEach(d=>l(d,s)))};t.e.forEach(s=>l(s,t));let a=Array.from(c);return a.forEach(s=>{s.r=!0}),t.e=[],a.sort(Z).forEach(s=>{s.r&&s()}),f=o,e}let t=k(n);return t.e=[],t.s=L,t.$o=181,$++,t},Z=(e,n)=>e.a-n.a,C=e=>{e.u.forEach(C),e.r=!1,e.f.forEach(n=>n()),Y(e)},Y=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),S=e=>(f?.f.push(e),e),le=e=>{let n=w;w=[];let t=e(),r=w;return w=n,r.forEach(o=>{if(o.s!==L){let c=o.s;o.s=L,o(c)}}),t};var q=e=>{let n=f;f=void 0;let t=e();return f=n,t},ue=()=>!!f,fe=e=>(N(e),()=>ee(e)),ee=e=>{let n=F.get(e);n&&C(n)},de=e=>e?.$o===181,pe=e=>e?.$o===3075,v=e=>e?.$o;var j=new Map;function G(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var P=G(),D=G(),te=new RegExp(`([\\s\\S]*?)${P}(\\d+)${D}([\\s\\S]*?)(?=${P}\\d+${D}|$)`,"g"),ne=/\s*\n\s*/g,re=new DOMParser,V=e=>{let n=[];if(e=e.replace(ne,""),e.includes(P)&&e.includes(D))for(let t of e.matchAll(te)){let[,r,o,c]=t;r&&n.push(r),o&&n.push(Number(o)),c&&n.push(c)}else e&&n.push(e);return n},_=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),oe=(e,n,t,r,o)=>{if(j.has(r))return j.get(r);let c=r.flatMap((h,g,{length:p})=>g===p-1?[h]:[h,P,o[g],D]).join(""),l=n(c),a=re.parseFromString(l,e),s=h=>{let g=[];for(let p=h.item(0),I=p?.nextSibling,A=0;p!=null;p=I,I=I?.nextSibling,A++)do e:{if(p.nodeType===1){let m=p,b=V(m.tagName.toLowerCase()),x=b.length>1||typeof b[0]=="number";if(g.push({y:m.namespaceURI,c:2,T:b,h:Array.from(m.attributes).flatMap(i=>{let y=V(i.nodeName),T=V(i.value),M=y.length>1||typeof y[0]=="number"||T.length>1||typeof T[0]=="number";return!x&&!M?[]:(m.removeAttribute(i.nodeName),[{d:y,p:T.length===0?[!0]:T}])}),l:m.childNodes.length>0?s(m.childNodes):[],i:x?null:m,g:A}),!x)break e}else if(p.nodeType===3){let m=p.data,b=V(m);b.length>0&&g.push({c:1,b})}p.remove(),A--}while(!1);return g},u=t(a),d=s(u);return j.set(r,d),d},W=(e,n,t,r,o,c)=>{if(typeof t=="function")return v(t)?E(()=>{let a=t();return W(e,null,a,r,o,c)}):E(()=>t(...r.flatMap(({d:a,p:s})=>a[0]==="..."&&typeof a[1]=="number"?_(a.slice(1),o):_(s,o)),c));if(typeof t!="string")return[];let l=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:s,p:u}of r)s[0]==="..."&&typeof s[1]=="number"?ae(l,_(s.slice(1),o)):U(l,_(s,o),_(u,o));let a=c();if(a.length!==0)if(!l.firstChild)l.append(...a);else for(let s=l.firstElementChild,u=0;u<a.length;u++){let d=a[u];s===d?s=s.nextElementSibling:l.insertBefore(d,s)}}),S(()=>l.remove()),[l]},z=null,E=e=>{let n=new Comment("");S(()=>n.remove());let t=[n];return N(()=>{z=n;let r=e(),c=(Array.isArray(r)?r:[r]).map(l=>{if(l instanceof Node)return l;let a=new Text(l);return S(()=>a.remove()),a});n.isConnected?n.after(...c):t.push(...c)}),t};function se(e,n,t,r,o){let c=e.length,l=n.length;if(e===n||c===0&&l===0)return;let a=0,s=Math.min(c,l);for(;a<s&&e[a]===n[a];)a++;let u=0;for(;u<s-a&&e[c-1-u]===n[l-1-u];)u++;let d=c-a-u,h=l-a-u;if(d===0&&h===0){for(let i=0;i<a;i++)o(e[i]);for(let i=0;i<u;i++)o(e[c-u+i]);return}let g=new Map;for(let i=0;i<h;i++)g.set(n[a+i],i);let p=[];for(let i=0;i<d;i++){let y=e[a+i],T=g.get(y);T!==void 0&&p.push(T)}let I=[],A=new Array(p.length).fill(-1),m=[];for(let i=0;i<p.length;i++){let y=p[i],T=0,M=I.length;for(;T<M;){let B=T+M>>1;I[B]<y?T=B+1:M=B}let O=T;O===I.length?(I.push(y),m.push(i)):(I[O]=y,m[O]=i),O>0&&(A[i]=m[O-1])}let b=new Set,x=m.length>0?m[m.length-1]:-1;for(;x!==-1;){let i=p[x];b.add(n[a+i]),x=A[x]}for(let i=0;i<a;i++)o(e[i]);for(let i=0;i<d;i++){let y=e[a+i];b.has(y)||r(y)}for(let i=0;i<h;i++){let y=n[a+i];b.has(y)?o(y):t(y)}for(let i=0;i<u;i++)o(e[c-u+i])}var Te=(e,n)=>E(()=>{let t=z;S(()=>{o().t.forEach(c=>c())});let r=c=>H(l=>{let a=n(c);return[l,a]}),o=N((c={m:[],n:[],t:[]})=>{let l=e(),a=c.m,s={m:l,n:[],t:[]};return se(a,l,u=>{let[d,h]=r(u);(s.n.at(-1)?.at(-1)??t).after(...h),s.n.push(h),s.t.push(d)},u=>{let d=a.indexOf(u);c.t[d]()},u=>{let d=a.indexOf(u);s.n.push(c.n[d]),s.t.push(c.t[d])}),s});return q(()=>o().n.flat())}),ie=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},U=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(ie(e,n)){let o=e[n];e[n]=t,S(()=>{e[n]=o})}else e.setAttribute(n,String(t)),S(()=>{e.removeAttribute(n)})}else N(()=>{U(e,typeof n=="function"?n():n,v(t)?t():t)})},ae=(e,n)=>{N(()=>{let t=n();for(let r in t)U(e,r,t[r])})},J=(e,n,t)=>{if(n.c===1)return n.b.flatMap(r=>{if(typeof r=="string"){let o=new Text(r);return S(()=>o.remove()),o}else if(typeof r=="number"){let o=t[r];if(typeof o=="function")return v(o)?E(()=>o()):E(o);if(typeof o!="object"){let c=new Text(String(o));return S(()=>c.remove()),c}return o}});{let{h:r,l:o,T:c,i:l}=n,a=_(c,t),s=n.y??e;return W(s,l,a,r,t,()=>o.flatMap(u=>J(s,u,t)))}},K=(e,n)=>{if(e.c===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.g):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>K(r,t))}}},X=(e,n,t,r)=>(o,...c)=>{let a=oe(n,t,r,o,c.map(s=>c.indexOf(s))).map(s=>K(s,null));return E(()=>a.flatMap(s=>J(e,s,c)))},Q="http://www.w3.org/2000/svg",he=X(Q,"text/xml",e=>`<svg xmlns="${Q}">${e}</svg>`,e=>e.firstChild.childNodes),ge=X(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,S as cleanup,ge as html,pe as isComputed,ue as isListening,de as isObservable,v as isReactive,Te as map,ce as o,ce as observable,H as root,q as sample,fe as subscribe,he as svg,le as transaction,ee as unsubscribe};
package/lib/s.d.ts CHANGED
@@ -6,7 +6,7 @@ interface IS<T> {
6
6
  _dirty: boolean;
7
7
  _onCleanupCallback: Array<() => void>;
8
8
  $o: number;
9
- _birthtime: number;
9
+ _lastAccess: number;
10
10
  }
11
11
  interface IO<T> {
12
12
  (): T;
@@ -14,7 +14,6 @@ interface IO<T> {
14
14
  _whoNeedMe: Array<IS<any>>;
15
15
  _pendingValue: any;
16
16
  $o: number;
17
- _birthtime: number;
18
17
  }
19
18
  declare const Yes: unique symbol;
20
19
  export declare const root: <T>(fn: (destroy: () => void) => T) => T;
package/lib/s.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AAIA,UAAU,EAAE,CAAC,CAAC;IACV,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACtB;AAaD,UAAU,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACtB;AAID,QAAA,MAAM,GAAG,EAAE,OAAO,MAAiB,CAAC;AAKpC,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,KAAG,CAYxD,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAG,EAAE,CAAC,CAAC,CAyBlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAiDnC,CAAC;AAiBF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,IAAI,EAAE,GAAG,CAAC,KAAG,CAGpD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAc3C,CAAC;AAEF,OAAO,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;AAE3B,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAMtC,CAAC;AAEF,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,IAAI,eAGtC,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,IAAI,SAKxC,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAoB,CAAC;AACtE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAoB,CAAC;AACpE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAU,CAAC"}
1
+ {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AAIA,UAAU,EAAE,CAAC,CAAC;IACV,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACvB;AAaD,UAAU,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACd;AAID,QAAA,MAAM,GAAG,EAAE,OAAO,MAAiB,CAAC;AAKpC,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,KAAG,CAYxD,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAG,EAAE,CAAC,CAAC,CA0BlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAkDnC,CAAC;AAiBF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,IAAI,EAAE,GAAG,CAAC,KAAG,CAGpD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAc3C,CAAC;AAEF,OAAO,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;AAE3B,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAG,CAMtC,CAAC;AAEF,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,IAAI,eAGtC,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,IAAI,SAKxC,CAAC;AACF,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAoB,CAAC;AACtE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAoB,CAAC;AACpE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAU,CAAC"}
package/lib/s.js CHANGED
@@ -21,6 +21,7 @@ export const root = (fn) => {
21
21
  export const S = (fn, value) => {
22
22
  const data = namedFunc(resetS((force) => {
23
23
  if (force === Yes || data._dirty) {
24
+ data._lastAccess = clock;
24
25
  const backup = currentUpdate;
25
26
  recycleS(data);
26
27
  data._dirty = false;
@@ -35,7 +36,7 @@ export const S = (fn, value) => {
35
36
  return value;
36
37
  }));
37
38
  data.$o = 0xc03;
38
- data._birthtime = clock++;
39
+ data._lastAccess = clock++;
39
40
  if (currentUpdate) {
40
41
  currentUpdate._whoIOwn.push(data);
41
42
  }
@@ -52,6 +53,7 @@ export const o = (value) => {
52
53
  }
53
54
  return value;
54
55
  }
56
+ clock++;
55
57
  if (triggerQueue) {
56
58
  if (data._pendingValue === NoValue) {
57
59
  triggerQueue.push(data);
@@ -76,7 +78,7 @@ export const o = (value) => {
76
78
  u._dirty = true;
77
79
  });
78
80
  data._whoNeedMe = [];
79
- whoNeedMeLasttime.sort(byBirthTime).forEach((u) => {
81
+ whoNeedMeLasttime.sort(byLastAccess).forEach((u) => {
80
82
  if (u._dirty) {
81
83
  u();
82
84
  }
@@ -88,10 +90,10 @@ export const o = (value) => {
88
90
  data._whoNeedMe = [];
89
91
  data._pendingValue = NoValue;
90
92
  data.$o = 0x0b5;
91
- data._birthtime = clock++;
93
+ clock++;
92
94
  return data;
93
95
  };
94
- const byBirthTime = (a, b) => a._birthtime - b._birthtime;
96
+ const byLastAccess = (a, b) => a._lastAccess - b._lastAccess;
95
97
  const recycleS = (update) => {
96
98
  update._whoIOwn.forEach(recycleS);
97
99
  update._dirty = false;
package/lib/s.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "subay",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "A lightweight reactive UI library with state management and template rendering",
5
5
  "keywords": [
6
6
  "reactive",
@@ -22,10 +22,12 @@
22
22
  "types": "./src/index.d.ts",
23
23
  "exports": {
24
24
  ".": {
25
- "import": "./lib/index.js"
25
+ "import": "./lib/index.js",
26
+ "default": "./lib/index.js"
26
27
  },
27
28
  "./dev": {
28
- "import": "./lib/index.dev.js"
29
+ "import": "./lib/index.dev.js",
30
+ "default": "./lib/index.dev.js"
29
31
  }
30
32
  },
31
33
  "devDependencies": {
package/src/s.ts CHANGED
@@ -10,7 +10,7 @@ interface IS<T> {
10
10
  _dirty: boolean;
11
11
  _onCleanupCallback: Array<() => void>;
12
12
  $o: number;
13
- _birthtime: number;
13
+ _lastAccess: number;
14
14
  }
15
15
 
16
16
  type IPartialS<T> = {
@@ -21,7 +21,7 @@ type IPartialS<T> = {
21
21
  _dirty?: boolean;
22
22
  _onCleanupCallback?: Array<() => void>;
23
23
  $o?: number;
24
- _birthtime?: number;
24
+ _lastAccess?: number;
25
25
  };
26
26
 
27
27
  interface IO<T> {
@@ -30,7 +30,6 @@ interface IO<T> {
30
30
  _whoNeedMe: Array<IS<any>>;
31
31
  _pendingValue: any;
32
32
  $o: number;
33
- _birthtime: number;
34
33
  }
35
34
 
36
35
  let currentUpdate: IS<any> | undefined = undefined;
@@ -57,6 +56,7 @@ export const S = <T>(fn: (pv: T | undefined) => T, value?: T): IS<T> => {
57
56
  const data: IS<T> = namedFunc(
58
57
  resetS((force?: typeof Yes) => {
59
58
  if (force === Yes || data._dirty) {
59
+ data._lastAccess = clock;
60
60
  const backup = currentUpdate;
61
61
  recycleS(data);
62
62
  data._dirty = false;
@@ -71,7 +71,7 @@ export const S = <T>(fn: (pv: T | undefined) => T, value?: T): IS<T> => {
71
71
  }),
72
72
  );
73
73
  data.$o = 0xc03;
74
- data._birthtime = clock++;
74
+ data._lastAccess = clock++;
75
75
  if (currentUpdate) {
76
76
  currentUpdate._whoIOwn.push(data);
77
77
  }
@@ -90,6 +90,7 @@ export const o = <T>(value: T): IO<T> => {
90
90
  }
91
91
  return value;
92
92
  }
93
+ clock++;
93
94
  if (triggerQueue) {
94
95
  if (data._pendingValue === NoValue) {
95
96
  triggerQueue.push(data);
@@ -114,7 +115,7 @@ export const o = <T>(value: T): IO<T> => {
114
115
  u._dirty = true;
115
116
  });
116
117
  data._whoNeedMe = [];
117
- whoNeedMeLasttime.sort(byBirthTime).forEach((u) => {
118
+ whoNeedMeLasttime.sort(byLastAccess).forEach((u) => {
118
119
  if (u._dirty) {
119
120
  u();
120
121
  }
@@ -126,10 +127,10 @@ export const o = <T>(value: T): IO<T> => {
126
127
  data._whoNeedMe = [] as Array<IS<any>>;
127
128
  data._pendingValue = NoValue;
128
129
  data.$o = 0x0b5;
129
- data._birthtime = clock++;
130
+ clock++;
130
131
  return data;
131
132
  };
132
- const byBirthTime = (a: IO<any> | IS<any>, b: IO<any> | IS<any>) => a._birthtime - b._birthtime;
133
+ const byLastAccess = (a: IS<any>, b: IS<any>) => a._lastAccess - b._lastAccess;
133
134
  const recycleS = (update: IS<any>) => {
134
135
  update._whoIOwn.forEach(recycleS);
135
136
  update._dirty = false;