Type Alias LangiumValidationRules<Specifics>

LangiumValidationRules: {
    [K in keyof Specifics["AstTypes"]]?: Specifics["AstTypes"][K] extends Specifics["LanguageType"]
        ? | ValidationRule<Specifics, Specifics["AstTypes"][K]>
        | ValidationRule<Specifics, Specifics["AstTypes"][K]>[]
        : never
} & {
    AstNode?: | ValidationRule<Specifics, Specifics["LanguageType"]>
    | ValidationRule<Specifics, Specifics["LanguageType"]>[];
}

Taken and adapted from 'ValidationChecks' from 'langium'.

A utility type for associating non-primitive AST types to corresponding validation rules. For example:

  addValidationRulesForAstNodes({
VariableDeclaration: (node, typir) => { return [...]; },
});

Type Parameters

a type definition mapping language specific type names (keys) to the corresponding types (values)