Skip to content

rune-langium / core/src / DeferredModelProvider

Interface: DeferredModelProvider ​

Defined in: packages/core/src/services/rune-dsl-linker.ts:25

Contract for on-demand corpus document materialization (ADR 007).

The RuneDslLinker calls getModel when Langium encounters a cross-reference to a corpus document that has not yet been deserialized. The implementation in the parser worker reads raw JSON from the deferredModelJson map and hydrates it through Core's shared serializer boundary at that moment.

Providers may register a complete batch before returning its root, including cyclic dependencies. The linker reuses that registered document. consume is called immediately after so the worker can drop the JSON string and avoid double-deserialization on subsequent linking passes.

Methods ​

consume() ​

ts
consume(uri): void;

Defined in: packages/core/src/services/rune-dsl-linker.ts:27

Parameters ​

ParameterType
uristring

Returns ​

void


getModel() ​

ts
getModel(uri): AstNode | undefined;

Defined in: packages/core/src/services/rune-dsl-linker.ts:26

Parameters ​

ParameterType
uristring

Returns ​

AstNode | undefined

Core packages released under MIT. Studio app released under FSL-1.1-ALv2.