This site describes solve-engine as it is on main: 2.43.0, which npm does not have yet. npm installs 2.40.0, so a page may show an answer that version does not give yet.
WorkerEngine
Defined in: packages/engine/src/worker/client.ts:106
An async proxy of ExpressionEngine’s core evaluate methods.
Each method mirrors its synchronous counterpart but returns a Promise of the
serialisable DTO rather than a live Value, and accepts an AbortSignal.
Methods
Section titled “Methods”evaluateDocument()
Section titled “evaluateDocument()”evaluateDocument(input, options?): Promise<SerializedParsingResult>;Defined in: packages/engine/src/worker/client.ts:119
Evaluate a whole document off-thread through the incremental pass, which
can re-run a line, so goal seek resolves. Mirrors the evaluateDocument
helper from solve-engine/engine, and answers value for value as it does
on the main thread.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input | string |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<SerializedParsingResult>
evaluateExpression()
Section titled “evaluateExpression()”evaluateExpression(expression, options?): Promise<SerializedWorkerValue>;Defined in: packages/engine/src/worker/client.ts:112
Evaluate a single expression off-thread. Mirrors ExpressionEngine.evaluateExpression.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
expression | string |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<SerializedWorkerValue>
evaluateLines()
Section titled “evaluateLines()”evaluateLines(lines, options?): Promise<SerializedParsedLine[]>;Defined in: packages/engine/src/worker/client.ts:110
Evaluate an array of lines off-thread. Mirrors ExpressionEngine.evaluateLines.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
lines | string[] |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<SerializedParsedLine[]>
explainLine()
Section titled “explainLine()”explainLine(expression, options?): Promise<SerializedExplanation>;Defined in: packages/engine/src/worker/client.ts:128
The derivation of how a line reached its answer. Mirrors ExpressionEngine.explainLine.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
expression | string |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<SerializedExplanation>
findReferences()
Section titled “findReferences()”findReferences( text, position, options?): Promise<VariableReference[]>;Defined in: packages/engine/src/worker/client.ts:150
Every place the variable at position is named. Mirrors LanguageService.findReferences.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
text | string |
position | DocumentPosition |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<VariableReference[]>
getCompletions()
Section titled “getCompletions()”getCompletions( lineText, cursorOffset, options?): Promise<CompletionItem[]>;Defined in: packages/engine/src/worker/client.ts:148
Completions at a cursor. Mirrors LanguageService.getCompletions on the worker’s engine.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
lineText | string |
cursorOffset | number |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<CompletionItem[]>
getDefinition()
Section titled “getDefinition()”getDefinition( text, position, options?): Promise< | VariableReference| null>;Defined in: packages/engine/src/worker/client.ts:152
The definition the variable at position reads. Mirrors LanguageService.getDefinition.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
text | string |
position | DocumentPosition |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<
| VariableReference
| null>
getSemanticTokens()
Section titled “getSemanticTokens()”getSemanticTokens( lineText, lineNumber, options?): Promise<SemanticToken[]>;Defined in: packages/engine/src/worker/client.ts:146
Highlighting for one line. Mirrors LanguageService.getSemanticTokens on the worker’s engine.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
lineText | string |
lineNumber | number |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<SemanticToken[]>
onAsyncError()
Section titled “onAsyncError()”onAsyncError(listener): () => void;Defined in: packages/engine/src/worker/client.ts:173
Subscribe to live-data resolutions that failed. Returns an unsubscribe function. See onResolved; this is its failure channel.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
listener | (error) => void |
Returns
Section titled “Returns”() => void
onResolved()
Section titled “onResolved()”onResolved(listener): () => void;Defined in: packages/engine/src/worker/client.ts:168
Subscribe to live-data resolutions that land after a request already answered.
A currency, weather or historical-rate value resolves inside the worker some
time after parseDocument returned its pending result. When it does, the
affected lines are re-evaluated worker-side and their fresh values arrive
here as one batch. This is a subscription rather than a per-request promise
because a resolution is tied to no single request: it belongs to whichever
document is current when the value lands. Returns an unsubscribe function.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
listener | (lines) => void |
Returns
Section titled “Returns”() => void
parseDocument()
Section titled “parseDocument()”parseDocument(input, options?): Promise<SerializedParsingResult>;Defined in: packages/engine/src/worker/client.ts:108
Parse a whole document off-thread. Mirrors ExpressionEngine.parseDocument.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input | string |
options? | Partial<UnifiedParsingOptions> & WorkerCallOptions |
Returns
Section titled “Returns”Promise<SerializedParsingResult>
rename()
Section titled “rename()”rename( text, position, newName, options?): Promise<RenameResult>;Defined in: packages/engine/src/worker/client.ts:154
Rename the variable at position. Mirrors LanguageService.rename, refusals included.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
text | string |
position | DocumentPosition |
newName | string |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<RenameResult>
settle()
Section titled “settle()”settle(options?): Promise<void>;Defined in: packages/engine/src/worker/client.ts:144
Wait until the worker’s in-flight live values have settled. Mirrors
ExpressionEngine.settle: rejects with SETTLE_TIMEOUT at the deadline,
and the settled values arrive through onResolved as ever.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options? | { timeoutMs?: number; } & WorkerCallOptions |
Returns
Section titled “Returns”Promise<void>
shiftLineReferences()
Section titled “shiftLineReferences()”shiftLineReferences( text, change, options?): Promise<LineShiftResult>;Defined in: packages/engine/src/worker/client.ts:156
The edits that keep line N references in place after lines move. Mirrors LanguageService.shiftLineReferences.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
text | string |
change | LineShift |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<LineShiftResult>
terminate()
Section titled “terminate()”terminate(): void;Defined in: packages/engine/src/worker/client.ts:175
Reject every in-flight request and tear the transport down. Idempotent.
Returns
Section titled “Returns”void
traceLine()
Section titled “traceLine()”traceLine( input, lineNumber, options?): Promise<SerializedLineTrace>;Defined in: packages/engine/src/worker/client.ts:134
Where line lineNumber of input got its answer. Mirrors
ExpressionEngine.traceLine, reading the document through the incremental
pass (the one just evaluated, when input is the same text).
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input | string |
lineNumber | number |
options? | { maxDepth?: number; maxLines?: number; } & WorkerCallOptions |
Returns
Section titled “Returns”Promise<SerializedLineTrace>
whatIf()
Section titled “whatIf()”whatIf( input, overrides, options?): Promise<SerializedParsingResult>;Defined in: packages/engine/src/worker/client.ts:126
Re-run a document with some inputs changed, off-thread. Mirrors
ExpressionEngine.whatIf. Each override is a finite number or text the
worker evaluates on its own ("$120"); a Value cannot cross the
boundary with its type, so send its text instead.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
input | string |
overrides | WorkerWhatIfOverrides |
options? | WorkerCallOptions |
Returns
Section titled “Returns”Promise<SerializedParsingResult>