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()
consume(uri): void;Defined in: packages/core/src/services/rune-dsl-linker.ts:27
Parameters
| Parameter | Type |
|---|---|
uri | string |
Returns
void
getModel()
getModel(uri): AstNode | undefined;Defined in: packages/core/src/services/rune-dsl-linker.ts:26
Parameters
| Parameter | Type |
|---|---|
uri | string |
Returns
AstNode | undefined