ModelToAST<T>: T extends DotObjectModel<infer U>
    ? U extends "Graph"
        ? GraphASTNode | DotASTNode
        : U extends "AttributeList"
            ? AttributeListASTNode
            : U extends "Edge"
                ? EdgeASTNode
                : U extends "Node"
                    ? NodeASTNode
                    : U extends "Subgraph"
                        ? SubgraphASTNode
                        : never
    : never

ModelToAST is a type alias used to map a generic type T to a specific AST node type.

If T is a DotObjectModel, the type U is inferred and used to determine which AST node type to map to.

If U is 'Graph', the type is mapped to either a GraphASTNode or a DotASTNode. If U is 'AttributeList', the type is mapped to an AttributeListASTNode. If U is 'Edge', the type is mapped to an EdgeASTNode. If U is 'Node', the type is mapped to a NodeASTNode. If U is 'Subgraph', the type is mapped to a SubgraphASTNode.

If T is not a DotObjectModel, the type is mapped to never.

Type Parameters

  • T

Generated using TypeDoc