Constructors
constructor
• new ProgramController(nowMs, references, environments, responses, scenarioInput, adapter?, rootScope?, work?)
Parameters
Properties
issued
•Private issued: undefined | Issued
sequence
•Private sequence: number = 0
requests
•Private Readonly requests: WeakMap<object, { kind: "operation" ; id: string ; path: string ; invoke: ComputationFunction ; recover: ComputationFunction ; contractDigest: string ; args: ScenarioExpression }>
violation
•Private violation: undefined | Error
bodyFailed
•Private bodyFailed: boolean = false
contexts
•Private Readonly contexts: WeakMap<object, string>
results
•Private Readonly results: Map<object, { step: string ; path: string[] ; root: Value ; json: string }>
referenced
•Private Readonly referenced: Map<string, object>
environmentHandles
•Private Readonly environmentHandles: EnvironmentHandles
machinePaths
•Private Readonly machinePaths: Map<DurableMachine, string[]>
capturedMachines
•Private Readonly capturedMachines: Map<string, DurableMachine>
templates
•Private Readonly templates: Map<DurableTemplate, string[]>
capturedTemplates
•Private Readonly capturedTemplates: Map<string, DurableTemplate>
nowMs
•Private Readonly nowMs: number
references
•Private Readonly references: Record<string, Value>
environments
•Private Readonly environments: ReadonlySet<string>
responses
•Private Readonly responses: readonly EnvironmentResponse[]
scenarioInput
•Private Readonly scenarioInput: Value
adapter
•Private Optional Readonly adapter: ProgramContextAdapter
rootScope
•Private Readonly rootScope: string = ""
work
•Private Readonly work: Object
Type declaration
Methods
run
▸ run(program, input, frame, resumed): ProgramReply
Parameters
Returns
ProgramReply
advance
▸Private advance(stack, mode, value): ProgramReply
Parameters
Returns
ProgramReply
captureMachines
▸Private captureMachines(program): void
Parameters
Returns
void
map
▸Private map<T, U>(prefix, group, items, options, each): Promise<U[]>
Type parameters
Parameters
Returns
Promise<U[]>
advanceMap
▸Private advanceMap(parallel, answers, stack): { state: "complete" ; value: Value[] } | { state: "failed" ; failures: { key: string ; name: string ; message: string }[] } | Extract<ProgramReply, { state: "calls" }>
Parameters
Returns
{state: "complete" ; value: Value[] } | { state: "failed" ; failures: { key: string ; name: string ; message: string }[] } | Extract<ProgramReply, { state: "calls" }>
conform
▸Private conform(machine, side, value): void
Parameters
Returns
void
fatal
▸Private fatal(message): never
Parameters
Returns
never
issue
▸Private issue(issued): object
Parameters
Returns
object
instruction
▸Private instruction(step): any
Parameters
Returns
any
buildStep
▸Private buildStep(append): ExecutionInstruction
Parameters
Returns
ExecutionInstruction
build
▸Private build(append): any
Parameters
Returns
any
nextId
▸Private nextId(): string
Returns
string
operationRequest
▸Private operationRequest<T>(step): ProcedureRequest<T>
Type parameters
Parameters
Returns
ProcedureRequest<T>
context
▸ context(prefix): ProcedureContext
Parameters
Returns
ProcedureContext
deliver
▸Private deliver(step, value): unknown
Parameters
Returns
unknown
encode
▸Private encode(stack, reaction?, parallel?): Object
Parameters
Returns
Object
procedurePath
▸Private procedurePath(value): { path: string[] ; id: string } | undefined
Parameters
Returns
{path: string[] ; id: string } | undefined
binding
▸Private binding(value): string | undefined
Parameters
Returns
string | undefined
reference
▸Private reference(value, checked?): { step: string ; path: string[] } | undefined
Parameters
Returns
{step: string ; path: string[] } | undefined
decode
▸Private decode(text, program): Object
Parameters
Returns
Object
reactionStep
▸Private reactionStep(reaction): string
Parameters
Returns
string
heldCalls
▸Private heldCalls(value): ScenarioHeldCall[]
Parameters
Returns
ScenarioHeldCall[]
nextReaction
▸Private nextReaction(reaction, calls): Reaction | undefined
Parameters
Returns
Reaction | undefined
callStages
▸Private callStages(held): ResponseStage[]
Parameters
Returns
ResponseStage[]
referencedValue
▸Private referencedValue(step): Value
Parameters
Returns
Value
responseStep
▸Private responseStep(reaction): ExecutionInstruction
Parameters
Returns
ExecutionInstruction