@virid/core 0.1.4 → 0.2.0

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/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @virid/core v0.1.3
2
+ * @virid/core v0.1.4
3
3
  * A lightweight and powerful message core built using dependency injection and CCS concepts
4
4
  */
5
5
  var T=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var ue=Object.prototype.hasOwnProperty;var de=(s,e,t)=>e in s?T(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e)=>T(s,"name",{value:e,configurable:!0});var fe=(s,e)=>{for(var t in e)T(s,t,{get:e[t],enumerable:!0})},pe=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of he(e))!ue.call(s,n)&&n!==t&&T(s,n,{get:()=>e[n],enumerable:!(r=le(e,n))||r.enumerable});return s};var ge=s=>pe(T({},"__esModule",{value:!0}),s);var i=(s,e,t)=>de(s,typeof e!="symbol"?e+"":e,t);var $e={};fe($e,{BaseMessage:()=>x,Component:()=>we,Controller:()=>Ee,ErrorMessage:()=>v,EventMessage:()=>m,InfoMessage:()=>S,Message:()=>be,MessageInternal:()=>w,MessageRegistry:()=>E,MessageWriter:()=>a,Observer:()=>ke,Safe:()=>Se,SingleMessage:()=>y,System:()=>ve,VIRID_METADATA:()=>p,WarnMessage:()=>b,activateInstance:()=>z,bindObservers:()=>H,createVirid:()=>Me,handleResult:()=>A,publisher:()=>se});module.exports=ge($e);var B=class B{static send(...e){a.write(this,...e)}};o(B,"BaseMessage");var x=B,G=class G extends x{constructor(){super();i(this,"__kind","SingleMessage")}};o(G,"SingleMessage");var y=G,j=class j extends x{constructor(){super();i(this,"__kind","EventMessage")}};o(j,"EventMessage");var m=j,L=class L extends m{constructor(t,r){super();i(this,"error");i(this,"context");this.error=t,this.context=r}};o(L,"ErrorMessage");var v=L,W=class W extends m{constructor(t){super();i(this,"context");this.context=t}};o(W,"WarnMessage");var b=W,Q=class Q extends m{constructor(t){super();i(this,"context");this.context=t}};o(Q,"InfoMessage");var S=Q;var V=null;function z(s){V=s}o(z,"activateInstance");var se=new Proxy({},{get(s,e){return e==="dispatch"?t=>{if(!V){console.error(`[Virid] Message dispatched before system init: ${t.constructor.name}`);return}return V.dispatch(t)}:Reflect.get(V||{},e)}}),F=class F{static write(e,...t){let r=typeof e=="function"?new e(...t):e;se.dispatch(r)}static error(e,t=""){this.write(new v(e,t))}static warn(e){this.write(new b(e))}static info(e){this.write(new S(e))}};o(F,"MessageWriter");var a=F;var U=class U{constructor(e){i(this,"dirtySignalTypes",new Set);i(this,"eventQueue",[]);i(this,"isRunning",!1);i(this,"globalTick",0);i(this,"internalDepth",0);i(this,"eventHub");i(this,"tickPayload",{});i(this,"beforeExecuteHooks",[]);i(this,"afterExecuteHooks",[]);i(this,"beforeTickHooks",[]);i(this,"afterTickHooks",[]);this.eventHub=e}addBeforeExecute(e,t,r){r?this.beforeExecuteHooks.unshift({type:e,handler:t}):this.beforeExecuteHooks.push({type:e,handler:t})}addAfterExecute(e,t,r){r?this.afterExecuteHooks.unshift({type:e,handler:t}):this.afterExecuteHooks.push({type:e,handler:t})}addBeforeTick(e,t){t?this.beforeTickHooks.unshift(e):this.beforeTickHooks.push(e)}addAfterTick(e,t){t?this.afterTickHooks.unshift(e):this.afterTickHooks.push(e)}markDirty(e){e instanceof m?this.eventQueue.push(e):e instanceof y&&this.dirtySignalTypes.add(e.constructor)}tick(e){if(!(this.isRunning||this.dirtySignalTypes.size===0&&this.eventQueue.length===0)){if(this.internalDepth>100){this.internalDepth=0,this.dirtySignalTypes.clear(),this.eventQueue=[],this.eventHub.reset(),a.error(new Error("[Virid Dispatcher] Deadlock: Recursive loop detected \u{1F4A5}."));return}this.isRunning=!0,this.internalDepth++,queueMicrotask(()=>{let t,r;try{this.internalDepth==1&&(this.tickPayload={},this.executeTickHooks(this.beforeTickHooks));let n=this.prepareSnapshot();t=n.signalSnapshot,r=n.eventSnapshot;let u=this.collectTasks(r,t,e);this.executeTasks(u)}catch(n){a.error(n,"[Virid Dispatcher] Unhandled Error")}finally{t&&r&&this.clear(r,t),this.isRunning=!1,this.dirtySignalTypes.size>0||this.eventQueue.length>0?this.tick(e):(this.executeTickHooks(this.afterTickHooks),this.globalTick++,this.internalDepth=0)}})}}collectTasks(e,t,r){let n=[];for(let l of e)(r.get(l.constructor)||[]).forEach(f=>{n.push(new D(f.fn,f.priority,l,{context:f.fn.systemContext,tick:this.globalTick,payload:{}}))});let u=new Set;for(let l of t)(r.get(l)||[]).forEach(f=>{u.has(f.fn)||(n.push(new D(f.fn,f.priority,this.eventHub.peekSignal(l),{context:f.fn.systemContext,tick:this.globalTick,payload:{}})),u.add(f.fn))});return n}executeTasks(e){e.sort((t,r)=>r.priority-t.priority);for(let t of e)try{let r=t.execute(this.beforeExecuteHooks,this.afterExecuteHooks);r instanceof Promise&&r.catch(n=>a.error(n,`[Virid Dispatcher]: Async System Error.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @virid/core v0.1.3
2
+ * @virid/core v0.1.4
3
3
  * A lightweight and powerful message core built using dependency injection and CCS concepts
4
4
  */
5
5
  var te=Object.defineProperty;var ce=(s,e,t)=>e in s?te(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e)=>te(s,"name",{value:e,configurable:!0});var i=(s,e,t)=>ce(s,typeof e!="symbol"?e+"":e,t);var N=class N{static send(...e){a.write(this,...e)}};o(N,"BaseMessage");var x=N,B=class B extends x{constructor(){super();i(this,"__kind","SingleMessage")}};o(B,"SingleMessage");var y=B,G=class G extends x{constructor(){super();i(this,"__kind","EventMessage")}};o(G,"EventMessage");var m=G,j=class j extends m{constructor(t,r){super();i(this,"error");i(this,"context");this.error=t,this.context=r}};o(j,"ErrorMessage");var v=j,L=class L extends m{constructor(t){super();i(this,"context");this.context=t}};o(L,"WarnMessage");var b=L,W=class W extends m{constructor(t){super();i(this,"context");this.context=t}};o(W,"InfoMessage");var S=W;var C=null;function re(s){C=s}o(re,"activateInstance");var le=new Proxy({},{get(s,e){return e==="dispatch"?t=>{if(!C){console.error(`[Virid] Message dispatched before system init: ${t.constructor.name}`);return}return C.dispatch(t)}:Reflect.get(C||{},e)}}),Q=class Q{static write(e,...t){let r=typeof e=="function"?new e(...t):e;le.dispatch(r)}static error(e,t=""){this.write(new v(e,t))}static warn(e){this.write(new b(e))}static info(e){this.write(new S(e))}};o(Q,"MessageWriter");var a=Q;var z=class z{constructor(e){i(this,"dirtySignalTypes",new Set);i(this,"eventQueue",[]);i(this,"isRunning",!1);i(this,"globalTick",0);i(this,"internalDepth",0);i(this,"eventHub");i(this,"tickPayload",{});i(this,"beforeExecuteHooks",[]);i(this,"afterExecuteHooks",[]);i(this,"beforeTickHooks",[]);i(this,"afterTickHooks",[]);this.eventHub=e}addBeforeExecute(e,t,r){r?this.beforeExecuteHooks.unshift({type:e,handler:t}):this.beforeExecuteHooks.push({type:e,handler:t})}addAfterExecute(e,t,r){r?this.afterExecuteHooks.unshift({type:e,handler:t}):this.afterExecuteHooks.push({type:e,handler:t})}addBeforeTick(e,t){t?this.beforeTickHooks.unshift(e):this.beforeTickHooks.push(e)}addAfterTick(e,t){t?this.afterTickHooks.unshift(e):this.afterTickHooks.push(e)}markDirty(e){e instanceof m?this.eventQueue.push(e):e instanceof y&&this.dirtySignalTypes.add(e.constructor)}tick(e){if(!(this.isRunning||this.dirtySignalTypes.size===0&&this.eventQueue.length===0)){if(this.internalDepth>100){this.internalDepth=0,this.dirtySignalTypes.clear(),this.eventQueue=[],this.eventHub.reset(),a.error(new Error("[Virid Dispatcher] Deadlock: Recursive loop detected \u{1F4A5}."));return}this.isRunning=!0,this.internalDepth++,queueMicrotask(()=>{let t,r;try{this.internalDepth==1&&(this.tickPayload={},this.executeTickHooks(this.beforeTickHooks));let n=this.prepareSnapshot();t=n.signalSnapshot,r=n.eventSnapshot;let u=this.collectTasks(r,t,e);this.executeTasks(u)}catch(n){a.error(n,"[Virid Dispatcher] Unhandled Error")}finally{t&&r&&this.clear(r,t),this.isRunning=!1,this.dirtySignalTypes.size>0||this.eventQueue.length>0?this.tick(e):(this.executeTickHooks(this.afterTickHooks),this.globalTick++,this.internalDepth=0)}})}}collectTasks(e,t,r){let n=[];for(let l of e)(r.get(l.constructor)||[]).forEach(f=>{n.push(new V(f.fn,f.priority,l,{context:f.fn.systemContext,tick:this.globalTick,payload:{}}))});let u=new Set;for(let l of t)(r.get(l)||[]).forEach(f=>{u.has(f.fn)||(n.push(new V(f.fn,f.priority,this.eventHub.peekSignal(l),{context:f.fn.systemContext,tick:this.globalTick,payload:{}})),u.add(f.fn))});return n}executeTasks(e){e.sort((t,r)=>r.priority-t.priority);for(let t of e)try{let r=t.execute(this.beforeExecuteHooks,this.afterExecuteHooks);r instanceof Promise&&r.catch(n=>a.error(n,`[Virid Dispatcher]: Async System Error.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@virid/core",
3
3
  "type": "module",
4
- "version": "0.1.4",
4
+ "version": "0.2.0",
5
5
  "description": "A lightweight and powerful message core built using dependency injection and CCS concepts",
6
6
  "author": "Ailrid",
7
7
  "license": "Apache 2.0",