element-vir - v26.14.0
    Preparing search index...

    Type Alias VerifyHtmlValues<Values, WaitingForEndTags>

    VerifyHtmlValues: Values extends [
        infer CurrentDefinition extends DeclarativeElementDefinition,
        ...(infer Rest extends HtmlInterpolation[]),
    ]
        ? CurrentDefinition extends DeclarativeElementDefinition<
            infer TagName,
            infer Inputs,
        >
            ? HasRequiredKeys<Inputs> extends true
                ? IsNever<Decrement<WaitingForEndTags[TagName]>> extends true
                    ? [
                        "ERROR: This element is missing its inputs.",
                        ...VerifyHtmlValues<Rest, WaitingForEndTags>,
                    ]
                    : [
                        CurrentDefinition,
                        ...VerifyHtmlValues<
                            Rest,
                            Overwrite<WaitingForEndTags, Record<TagName, Decrement<(...)[(...)]>>>,
                        >,
                    ]
                : [CurrentDefinition, ...VerifyHtmlValues<Rest, WaitingForEndTags>]
            : [CurrentDefinition, ...VerifyHtmlValues<Rest, WaitingForEndTags>]
        : Values extends [
            infer CurrentDefinition extends MinimalDefinitionWithInputs,
            ...(infer Rest extends HtmlInterpolation[]),
        ]
            ? [
                CurrentDefinition,
                ...VerifyHtmlValues<
                    Rest,
                    Overwrite<
                        WaitingForEndTags,
                        Record<
                            CurrentDefinition["definition"]["tagName"],
                            Increment<WaitingForEndTags[(...)[(...)]["tagName"]]>,
                        >,
                    >,
                >,
            ]
            : Values

    This type ensures that interpolated element definitions are not missing their inputs, when inputs are required.

    Type Parameters

    • Values extends HtmlInterpolation[]
    • WaitingForEndTags extends Record<string, number> = {}