diff --git a/src/index.ts b/src/index.ts index ae31389..0159b31 100644 --- a/src/index.ts +++ b/src/index.ts @@ -37,15 +37,15 @@ export const Context = function(fn:ContextMutationFunction_T) : ContextMutation_ -export interface Interpreter_T { +export interface Interpreter_T { machine: Machine_T; state: string; - context: any; + context: C; eventQueue:Array; subscriptions: Record; isTransitioning: boolean; isPaused: boolean; - start: ()=>Interpreter_T; + start: ()=>Interpreter_T; } /** @@ -53,14 +53,14 @@ export interface Interpreter_T { * * @export * @param {Machine_T} machine - * @param {InitialContextFunction_T} initialContextFunction - in the form of a function rather than a direct value, so as to facilitate co-initialization of peer interpreters. Otherwise, the "parent" interpreter will start, but without a reference to a running child interpreter which it might expect to exist. + * @param {any} initialContext * @param {?string} [initialStateName] * @returns {Interpreter_T} */ -export function Interpreter(machine:Machine_T, initialContext:any, initialStateName?:string) : Interpreter_T{ +export function Interpreter(machine:Machine_T, initialContext:any, initialStateName?:string) : Interpreter_T{ if(typeof initialStateName === 'undefined'){ initialStateName = machine.states[0].name; } //@ts-expect-error - const interpreter : Interpreter_T = {machine, state: initialStateName, context:initialContext, eventQueue:[], isTransitioning:false, subscriptions: {}, isPaused: true}; + const interpreter : Interpreter_T = {machine, state: initialStateName, context:initialContext, eventQueue:[], isTransitioning:false, subscriptions: {}, isPaused: true}; interpreter.start = ()=>{ start(interpreter); return interpreter; } send(interpreter, ['entry', null] ); return interpreter;