From 74c9c438e31e427475746d2428300d0afffd0a3a Mon Sep 17 00:00:00 2001 From: Avraham Sakal Date: Thu, 18 May 2023 11:54:05 -0400 Subject: [PATCH] add inline Peer definition to Interpreter() --- src/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.ts b/src/index.ts index 66adeee..3b9625e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -56,6 +56,8 @@ export interface Interpreter_T { isTransitioning: boolean; isPaused: boolean; start: ()=>Interpreter_T; + Peer: (name:string, peer:Interpreter_T)=>Interpreter_T; + Peers: (name:string, peers:Array>)=>Interpreter_T; } /** @@ -72,6 +74,8 @@ export function Interpreter(machine:Machine_T, initialContext:any, initial //@ts-expect-error const interpreter : Interpreter_T = {machine, state: initialStateName, context:initialContext, eventQueue:[], isTransitioning:false, peers:{}, peerSubscriptionIds:new Map(), subscriptionsToEvents: {}, subscriptionsToState: {}, subscriptionsToSettledState: {}, isPaused: true}; interpreter.start = ()=>{ start(interpreter); return interpreter; } + interpreter.Peer = (name:string, peer:Interpreter_T)=>{ setPeer(interpreter, name, peer); return interpreter; } + interpreter.Peers = (name:string, peers:Array>)=>{ setPeers(interpreter, name, peers); return interpreter; } send(interpreter, ['entry', null] ); return interpreter; }