subay 0.0.11 → 0.0.13

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/dev.d.ts CHANGED
@@ -1,4 +1,8 @@
1
- export * from './index.js';
2
- export declare const S: <T>(fn: (pv: T | undefined) => T, value?: T) => import("./s.js").IS<T>;
3
- export declare const o: <T>(value: T) => import("./s.js").IO<T>;
1
+ import { cleanup, isComputed, isListening, isObservable, isReactive, root, sample, subscribe, transaction, unsubscribe } from './s.js';
2
+ export declare const S: (...args: any[]) => any;
3
+ export declare const o: (...args: any[]) => any;
4
+ export declare const observable: (...args: any[]) => any;
5
+ export declare const computed: (...args: any[]) => any;
6
+ export { cleanup, isComputed, isListening, isObservable, isReactive, root, sample, subscribe, transaction, unsubscribe };
7
+ export * from './h.js';
4
8
  //# sourceMappingURL=dev.d.ts.map
package/lib/dev.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AA+DA,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,CAAC,wEAAgB,CAAC;AAC/B,eAAO,MAAM,CAAC,yCAAgB,CAAC"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAmEA,OAAO,EAGH,OAAO,EACP,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,MAAM,EACN,SAAS,EACT,WAAW,EACX,WAAW,EACd,MAAM,QAAQ,CAAC;AAEhB,eAAO,MAAM,CAAC,YApBO,GAAG,EAAE,QAoBY,CAAC;AACvC,eAAO,MAAM,CAAC,YArBO,GAAG,EAAE,QAqBY,CAAC;AACvC,eAAO,MAAM,UAAU,YAtBF,GAAG,EAAE,QAsBC,CAAC;AAC5B,eAAO,MAAM,QAAQ,YAvBA,GAAG,EAAE,QAuBD,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACzH,cAAc,QAAQ,CAAC"}
package/lib/dev.js CHANGED
@@ -50,13 +50,20 @@ const namedFunc = (f, fallback) => {
50
50
  if (!leftName) {
51
51
  return f;
52
52
  }
53
- const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
54
- g._ = f;
53
+ const g = new Function(`return function ${leftName} (...args) {return this(...args)}`)().bind(f);
55
54
  Object.setPrototypeOf(g, f);
56
55
  return g;
57
56
  };
58
- import { S as _S, o as _o } from './s.js';
59
- export * from './index.js';
60
- export const S = namedFunc(_S);
61
- export const o = namedFunc(_o);
57
+ const namedReturnedFunc = (func) => {
58
+ return (...args) => {
59
+ return namedFunc(func(...args));
60
+ };
61
+ };
62
+ import { S as _S, o as _o, cleanup, isComputed, isListening, isObservable, isReactive, root, sample, subscribe, transaction, unsubscribe, } from './s.js';
63
+ export const S = namedReturnedFunc(_S);
64
+ export const o = namedReturnedFunc(_o);
65
+ export const observable = o;
66
+ export const computed = S;
67
+ export { cleanup, isComputed, isListening, isObservable, isReactive, root, sample, subscribe, transaction, unsubscribe };
68
+ export * from './h.js';
62
69
  //# sourceMappingURL=dev.js.map
package/lib/dev.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1 +1,3 @@
1
- var f,L=Symbol(),R=Symbol(),A,k=new WeakMap,K=0,Y=e=>{let n=f,t=(()=>{});U(t),t.r=!1,f=t;let r=e(()=>{$(t),f=void 0});return f=n,r},N=(e,n)=>{let t=U(r=>{if(r===R||t.r){t.a=K++;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,f&&f.u.push(t),t(R),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(A)return t.s===L&&A.push(t),t.s=r,r;e=r;let o=f;f=void 0;let l=new Set,a=(s,u)=>{!s.o.has(u)||l.has(s)||(l.add(s),s.e.forEach(d=>a(d,s)))};t.e.forEach(s=>a(s,t));let c=Array.from(l);return c.forEach(s=>{s.r=!0}),t.e=[],c.sort(X).forEach(s=>{s.r&&s()}),f=o,e}let t=n;return t.e=[],t.s=L,t.$o=181,t},X=(e,n)=>e.a-n.a,$=e=>{e.u.forEach($),e.r=!1,e.f.forEach(n=>n()),U(e)},U=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),x=e=>(f?.f.push(e),e),le=e=>{let n=A;A=[];let t=e(),r=A;return A=n,r.forEach(o=>{if(o.s!==L){let l=o.s;o.s=L,o(l)}}),t};var H=e=>{let n=f;f=void 0;let t=e();return f=n,t},ae=()=>!!f,ue=e=>(N(e),()=>Z(e)),Z=e=>{let n=k.get(e);n&&$(n)},fe=e=>e?.$o===181,de=e=>e?.$o===3075,v=e=>e?.$o;var j=new Map;function Q(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var P=Q(),V=Q(),ee=new RegExp(`([\\s\\S]*?)${P}(\\d+)${V}([\\s\\S]*?)(?=${P}\\d+${V}|$)`,"g"),te=/\s*\n\s*/g,ne=new DOMParser,C=e=>{let n=[];if(e=e.replace(te,""),e.includes(P)&&e.includes(V))for(let t of e.matchAll(ee)){let[,r,o,l]=t;r&&n.push(r),o&&n.push(Number(o)),l&&n.push(l)}else e&&n.push(e);return n},E=(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("")),re=(e,n,t,r,o)=>{if(j.has(r))return j.get(r);let l=r.flatMap((h,g,{length:p})=>g===p-1?[h]:[h,P,o[g],V]).join(""),a=n(l),c=ne.parseFromString(a,e),s=h=>{let g=[];for(let p=h.item(0),I=p?.nextSibling,w=0;p!=null;p=I,I=I?.nextSibling,w++)do e:{if(p.nodeType===1){let m=p,b=C(m.tagName.toLowerCase()),S=b.length>1||typeof b[0]=="number";if(g.push({T:m.namespaceURI,c:2,y:b,h:Array.from(m.attributes).flatMap(i=>{let T=C(i.nodeName),y=C(i.value),_=T.length>1||typeof T[0]=="number"||y.length>1||typeof y[0]=="number";return!S&&!_?[]:(m.removeAttribute(i.nodeName),[{d:T,p:y.length===0?[!0]:y}])}),l:m.childNodes.length>0?s(m.childNodes):[],i:S?null:m,g:w}),!S)break e}else if(p.nodeType===3){let m=p.data,b=C(m);b.length>0&&g.push({c:1,b})}p.remove(),w--}while(!1);return g},u=t(c),d=s(u);return j.set(r,d),d},F=(e,n,t,r,o,l)=>{if(typeof t=="function")return v(t)?M(()=>{let c=t();return F(e,null,c,r,o,l)}):M(()=>t(...r.flatMap(({d:c,p:s})=>c[0]==="..."&&typeof c[1]=="number"?E(c.slice(1),o):E(s,o)),l));if(typeof t!="string")return[];let a=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"?ie(a,E(s.slice(1),o)):B(a,E(s,o),E(u,o));let c=l();if(c.length!==0)if(!a.firstChild)a.append(...c);else for(let s=a.firstElementChild,u=0;u<c.length;u++){let d=c[u];s===d?s=s.nextElementSibling:a.insertBefore(d,s)}}),x(()=>a.remove()),[a]},G=null,M=e=>{let n=new Comment("");x(()=>n.remove());let t=[n];return N(()=>{G=n;let r=e(),l=(Array.isArray(r)?r:[r]).map(a=>{if(a instanceof Node)return a;let c=new Text(a);return x(()=>c.remove()),c});n.isConnected?n.after(...l):t.push(...l)}),t};function oe(e,n,t,r,o){let l=e.length,a=n.length;if(e===n||l===0&&a===0)return;let c=0,s=Math.min(l,a);for(;c<s&&e[c]===n[c];)c++;let u=0;for(;u<s-c&&e[l-1-u]===n[a-1-u];)u++;let d=l-c-u,h=a-c-u;if(d===0&&h===0){for(let i=0;i<c;i++)o(e[i]);for(let i=0;i<u;i++)o(e[l-u+i]);return}let g=new Map;for(let i=0;i<h;i++)g.set(n[c+i],i);let p=[];for(let i=0;i<d;i++){let T=e[c+i],y=g.get(T);y!==void 0&&p.push(y)}let I=[],w=new Array(p.length).fill(-1),m=[];for(let i=0;i<p.length;i++){let T=p[i],y=0,_=I.length;for(;y<_;){let D=y+_>>1;I[D]<T?y=D+1:_=D}let O=y;O===I.length?(I.push(T),m.push(i)):(I[O]=T,m[O]=i),O>0&&(w[i]=m[O-1])}let b=new Set,S=m.length>0?m[m.length-1]:-1;for(;S!==-1;){let i=p[S];b.add(n[c+i]),S=w[S]}for(let i=0;i<c;i++)o(e[i]);for(let i=0;i<d;i++){let T=e[c+i];b.has(T)||r(T)}for(let i=0;i<h;i++){let T=n[c+i];b.has(T)?o(T):t(T)}for(let i=0;i<u;i++)o(e[l-u+i])}var Te=(e,n)=>M(()=>{let t=G;x(()=>{o().t.forEach(l=>l())});let r=l=>Y(a=>{let c=n(l);return[a,c]}),o=N((l={m:[],n:[],t:[]})=>{let a=e(),c=l.m,s={m:a,n:[],t:[]};return oe(c,a,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=c.indexOf(u);l.t[d]()},u=>{let d=c.indexOf(u);s.n.push(l.n[d]),s.t.push(l.t[d])}),s});return H(()=>o().n.flat())}),se=(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)},B=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(se(e,n)){let o=e[n];e[n]=t,x(()=>{e[n]=o})}else e.setAttribute(n,String(t)),x(()=>{e.removeAttribute(n)})}else N(()=>{B(e,typeof n=="function"?n():n,v(t)?t():t)})},ie=(e,n)=>{N(()=>{let t=n();for(let r in t)B(e,r,t[r])})},W=(e,n,t)=>{if(n.c===1)return n.b.flatMap(r=>{if(typeof r=="string"){let o=new Text(r);return x(()=>o.remove()),o}else if(typeof r=="number"){let o=t[r];if(typeof o=="function")return v(o)?M(()=>o()):M(o);if(typeof o!="object"){let l=new Text(String(o));return x(()=>l.remove()),l}return o}});{let{h:r,l:o,y:l,i:a}=n,c=E(l,t),s=n.T??e;return F(s,a,c,r,t,()=>o.flatMap(u=>W(s,u,t)))}},z=(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=>z(r,t))}}},J=(e,n,t,r)=>(o,...l)=>{let c=re(n,t,r,o,l.map(s=>l.indexOf(s))).map(s=>z(s,null));return M(()=>c.flatMap(s=>W(e,s,l)))},q="http://www.w3.org/2000/svg",ye=J(q,"text/xml",e=>`<svg xmlns="${q}">${e}</svg>`,e=>e.firstChild.childNodes),he=J(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,x as cleanup,he as html,de as isComputed,ae as isListening,fe as isObservable,v as isReactive,Te as map,ce as o,ce as observable,Y as root,H as sample,ue as subscribe,ye as svg,le as transaction,Z as unsubscribe};
1
+ export * from './s.js';
2
+ export * from './h.js';
3
+ //# sourceMappingURL=index.js.map
package/lib/s.d.ts CHANGED
@@ -32,7 +32,7 @@ export declare const S: <T>(fn: (pv: T | undefined) => T, value?: T) => IS<T>;
32
32
  export declare const o: <T>(value: T) => IO<T>;
33
33
  export declare const cleanup: <T extends () => void>(f: T) => T;
34
34
  export declare const transaction: <T>(f: () => T) => T;
35
- export { o as observable };
35
+ export { o as observable, S as computed };
36
36
  export declare const sample: <T>(f: () => T) => T;
37
37
  export declare const isListening: () => boolean;
38
38
  export declare const subscribe: (f: () => void) => () => void;
package/lib/s.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG;IACvB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI;IAC7B,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG;IACvB,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,aAAa,EAAE,CAAC,GAAG,OAAO,OAAO,CAAC;IAClC,EAAE,EAAE,MAAM,CAAC;CACd;AAGD,QAAA,MAAM,OAAO,EAAE,OAAO,MAAiB,CAAC;AACxC,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,CAuBlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAgDnC,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,EAAqB,CAAC;AACjE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAqB,CAAC;AAC/D,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,GAAG,EAAW,CAAC"}
1
+ {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG;IACvB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI;IAC7B,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG;IACvB,IAAI,CAAC,CAAC;IACN,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,aAAa,EAAE,CAAC,GAAG,OAAO,OAAO,CAAC;IAClC,EAAE,EAAE,MAAM,CAAC;CACd;AAGD,QAAA,MAAM,OAAO,EAAE,OAAO,MAAiB,CAAC;AACxC,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,CAuBlE,CAAC;AACF,eAAO,MAAM,CAAC,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,EAAE,CAAC,CAAC,CAgDnC,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,IAAI,QAAQ,EAAE,CAAC;AAE1C,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,EAAqB,CAAC;AACjE,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAqB,CAAC;AAC/D,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,EAAE,GAAG,EAAW,CAAC"}
package/lib/s.js CHANGED
@@ -122,7 +122,7 @@ export const transaction = (f) => {
122
122
  });
123
123
  return result;
124
124
  };
125
- export { o as observable };
125
+ export { o as observable, S as computed };
126
126
  export const sample = (f) => {
127
127
  const fallback = currentUpdate;
128
128
  currentUpdate = undefined;
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.11",
3
+ "version": "0.0.13",
4
4
  "description": "A lightweight reactive UI library with state management and template rendering",
5
5
  "keywords": [
6
6
  "reactive",
@@ -36,10 +36,6 @@
36
36
  "scripts": {
37
37
  "test": "npx http-server -c-1 -o /test/test.html",
38
38
  "dev": "tsc --build --watch ./tsconfig.json",
39
- "types": "tsc -d --outDir lib",
40
- "bundle-dev": "npx esbuild src/dev.ts --outfile=lib/index.dev.js --format=esm --define:__SUBAY_DEV__=true",
41
- "bundle-prod": "npx esbuild --bundle src/index.ts --outfile=lib/index.js --minify \"--mangle-props=^_\" --format=esm --define:__SUBAY_DEV__=false",
42
- "bundle": "npm run bundle-dev & npm run bundle-prod",
43
- "build": "npm run types && npm run bundle"
39
+ "build": "tsc --build ./tsconfig.json"
44
40
  }
45
41
  }
package/src/dev.ts CHANGED
@@ -54,14 +54,35 @@ const namedFunc = <F extends (...args: any[]) => any>(f: F, fallback?: string):
54
54
  if (!leftName) {
55
55
  return f;
56
56
  }
57
- const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
58
- g._ = f;
57
+ const g = new Function(`return function ${leftName} (...args) {return this(...args)}`)().bind(f);
59
58
  Object.setPrototypeOf(g, f);
60
59
  return g;
61
60
  };
62
61
 
63
- import { S as _S, o as _o } from './s.js';
64
- export * from './index.js';
62
+ const namedReturnedFunc = <T extends (...args: any[]) => any>(func: T) => {
63
+ return (...args: any[]) => {
64
+ return namedFunc(func(...args));
65
+ };
66
+ };
67
+
68
+ import {
69
+ S as _S,
70
+ o as _o,
71
+ cleanup,
72
+ isComputed,
73
+ isListening,
74
+ isObservable,
75
+ isReactive,
76
+ root,
77
+ sample,
78
+ subscribe,
79
+ transaction,
80
+ unsubscribe,
81
+ } from './s.js';
65
82
 
66
- export const S = namedFunc(_S);
67
- export const o = namedFunc(_o);
83
+ export const S = namedReturnedFunc(_S);
84
+ export const o = namedReturnedFunc(_o);
85
+ export const observable = o;
86
+ export const computed = S;
87
+ export { cleanup, isComputed, isListening, isObservable, isReactive, root, sample, subscribe, transaction, unsubscribe };
88
+ export * from './h.js';
package/src/s.ts CHANGED
@@ -159,7 +159,7 @@ export const transaction = <T>(f: () => T): T => {
159
159
  return result;
160
160
  };
161
161
 
162
- export { o as observable };
162
+ export { o as observable, S as computed };
163
163
 
164
164
  export const sample = <T>(f: () => T): T => {
165
165
  const fallback = currentUpdate;
package/lib/index.dev.js DELETED
@@ -1,65 +0,0 @@
1
- const url2src = /* @__PURE__ */ new Map();
2
- const getLeftName = function getLeftName2() {
3
- const stack = new Error().stack;
4
- if (!stack) {
5
- return null;
6
- }
7
- const urlRegex = /((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/;
8
- const lines = stack.split("\n");
9
- const currentLineIndex = lines.findIndex((line) => {
10
- return line.includes(import.meta.url) && line.includes(getLeftName2.name);
11
- });
12
- if (currentLineIndex > -1) {
13
- const offset = 3;
14
- const line = lines[currentLineIndex + offset];
15
- if (!line) {
16
- return null;
17
- }
18
- const location = line.match(urlRegex);
19
- if (!location) {
20
- return null;
21
- }
22
- const url = location[1];
23
- const lineNo = location[2];
24
- const colNo = location[3];
25
- if (!url || !lineNo || !colNo) {
26
- return null;
27
- }
28
- let src;
29
- if (url2src.has(url)) {
30
- src = url2src.get(url);
31
- } else {
32
- const xhr = new XMLHttpRequest();
33
- xhr.open("GET", url, false);
34
- xhr.send();
35
- src = xhr.responseText;
36
- url2src.set(url, src);
37
- }
38
- const reg = new RegExp(`(?:.*\r?
39
- ){${Number(lineNo) - 1}}.{${Number(colNo) - 1}}`);
40
- const segment = src.match(reg);
41
- if (!segment) {
42
- return null;
43
- }
44
- return segment[0].match(/(\w+)\s*=\s*$/)?.[1];
45
- }
46
- return null;
47
- };
48
- const namedFunc = (f, fallback) => {
49
- const leftName = getLeftName() ?? fallback;
50
- if (!leftName) {
51
- return f;
52
- }
53
- const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
54
- g._ = f;
55
- Object.setPrototypeOf(g, f);
56
- return g;
57
- };
58
- import { S as _S, o as _o } from "./s.js";
59
- export * from "./index.js";
60
- const S = namedFunc(_S);
61
- const o = namedFunc(_o);
62
- export {
63
- S,
64
- o
65
- };
package/lib/name.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const namedFunc: <F extends (...args: any[]) => any>(f: F, fallback?: string) => F;
2
- //# sourceMappingURL=name.d.ts.map
package/lib/name.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,MAAM,KAAG,CAStF,CAAC"}
package/lib/name.js DELETED
@@ -1,58 +0,0 @@
1
- const url2src = new Map();
2
- const getLeftName = function getLeftName() {
3
- const stack = new Error().stack;
4
- if (!stack) {
5
- return null;
6
- }
7
- const urlRegex = /((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/;
8
- const lines = stack.split('\n');
9
- const currentLineIndex = lines.findIndex((line) => {
10
- return line.includes(import.meta.url) && line.includes(getLeftName.name);
11
- });
12
- if (currentLineIndex > -1) {
13
- const offset = 3;
14
- const line = lines[currentLineIndex + offset];
15
- if (!line) {
16
- return null;
17
- }
18
- const location = line.match(urlRegex);
19
- if (!location) {
20
- return null;
21
- }
22
- const url = location[1];
23
- const lineNo = location[2];
24
- const colNo = location[3];
25
- if (!url || !lineNo || !colNo) {
26
- return null;
27
- }
28
- let src;
29
- if (url2src.has(url)) {
30
- src = url2src.get(url);
31
- }
32
- else {
33
- const xhr = new XMLHttpRequest();
34
- xhr.open('GET', url, false);
35
- xhr.send();
36
- src = xhr.responseText;
37
- url2src.set(url, src);
38
- }
39
- const reg = new RegExp(`(?:.*\r?\n){${Number(lineNo) - 1}}.{${Number(colNo) - 1}}`);
40
- const segment = src.match(reg);
41
- if (!segment) {
42
- return null;
43
- }
44
- return segment[0].match(/(\w+)\s*=\s*$/)?.[1];
45
- }
46
- return null;
47
- };
48
- export const namedFunc = (f, fallback) => {
49
- const leftName = getLeftName() ?? fallback;
50
- if (!leftName) {
51
- return f;
52
- }
53
- const g = new Function(`return function ${leftName} (...args) {return ${leftName}._(...args)}`)();
54
- g._ = f;
55
- Object.setPrototypeOf(g, f);
56
- return g;
57
- };
58
- //# sourceMappingURL=name.js.map
package/lib/name.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"name.js","sourceRoot":"","sources":["../src/name.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC1C,MAAM,WAAW,GAAG,SAAS,WAAW;IACpC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,gFAAgF,CAAC;IAClG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAoC,CAAI,EAAE,QAAiB,EAAK,EAAE;IACvF,MAAM,QAAQ,GAAG,WAAW,EAAE,IAAI,QAAQ,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,mBAAmB,QAAQ,sBAAsB,QAAQ,cAAc,CAAC,EAAE,CAAC;IAClG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACR,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACb,CAAC,CAAC"}