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.
PluginCallOptions
Defined in: packages/engine/src/parser/BytecodeBuilder.ts:162
How BytecodeBuilder.emitPluginCall emits a call.
Properties
Section titled “Properties”readsDocument?
Section titled “readsDocument?”readonly optional readsDocument?: boolean;Defined in: packages/engine/src/parser/BytecodeBuilder.ts:178
The handler reads other lines of the document (a line reference, prev,
a total above, a tag or a table column). Such a call still marks the
program, and a function body that makes one is refused for that reason
by name (FUNCTION_BODY_READS_LINES), rather than as a call that waits:
a body is run away from the line that wrote it, with no lines to read.
Ignored alongside synchronous, which a call that reads lines never is.
synchronous?
Section titled “synchronous?”readonly optional synchronous?: boolean;Defined in: packages/engine/src/parser/BytecodeBuilder.ts:169
The handler never returns a promise: it answers from its arguments as the line runs. Such a call does not mark the program as one that may wait for data, so it is allowed inside a held expression. A handler marked so that does return a promise breaks this contract.