@textlint/ast-node-types
Version:
textlint AST node type definition.
69 lines • 3.32 kB
TypeScript
import type { ASTNodeTypes } from "./ASTNodeTypes.js";
import type { AnyTxtNode, TxtBlockQuoteNode, TxtBreakNode, TxtCodeBlockNode, TxtCommentNode, TxtDeleteNode, TxtDocumentNode, TxtEmphasisNode, TxtHeaderNode, TxtHorizontalRuleNode, TxtHtmlNode, TxtImageNode, TxtImageReferenceNode, TxtDefinitionNode, TxtCodeNode, TxtLinkNode, TxtLinkReferenceNode, TxtListItemNode, TxtListNode, TxtParagraphNode, TxtStrNode, TxtStrongNode, TxtTableCellNode, TxtTableNode, TxtTableRowNode } from "./NodeType.js";
/**
* Mapping from ASTNodeTypes (enter/exit) to the corresponding TxtNode interface.
*/
interface TxtNodeTypeMap {
[]: TxtDocumentNode;
[]: TxtDocumentNode;
[]: TxtParagraphNode;
[]: TxtParagraphNode;
[]: TxtBlockQuoteNode;
[]: TxtBlockQuoteNode;
[]: TxtListNode;
[]: TxtListNode;
[]: TxtListItemNode;
[]: TxtListItemNode;
[]: TxtHeaderNode;
[]: TxtHeaderNode;
[]: TxtCodeBlockNode;
[]: TxtCodeBlockNode;
[]: TxtHtmlNode;
[]: TxtHtmlNode;
[]: TxtLinkNode;
[]: TxtLinkNode;
[]: TxtLinkReferenceNode;
[]: TxtLinkReferenceNode;
[]: TxtDeleteNode;
[]: TxtDeleteNode;
[]: TxtEmphasisNode;
[]: TxtEmphasisNode;
[]: TxtStrongNode;
[]: TxtStrongNode;
[]: TxtBreakNode;
[]: TxtBreakNode;
[]: TxtImageNode;
[]: TxtImageNode;
[]: TxtImageReferenceNode;
[]: TxtImageReferenceNode;
[]: TxtDefinitionNode;
[]: TxtDefinitionNode;
[]: TxtHorizontalRuleNode;
[]: TxtHorizontalRuleNode;
[]: TxtCommentNode;
[]: TxtCommentNode;
[]: TxtStrNode;
[]: TxtStrNode;
[]: TxtCodeNode;
[]: TxtCodeNode;
[]: TxtHtmlNode;
[]: TxtHtmlNode;
[]: TxtTableNode;
[]: TxtTableNode;
[]: TxtTableRowNode;
[]: TxtTableRowNode;
[]: TxtTableCellNode;
[]: TxtTableCellNode;
}
/**
* Type utility for TxtNodeType
* Return TxtNode interface for the TxtNodeType
*
* @example
* ```ts
* type NodeType = TypeofTxtNode<ASTNodeTypes.Document>;
* ```
*/
export type TypeofTxtNode<T extends ASTNodeTypes | string> = T extends keyof TxtNodeTypeMap ? TxtNodeTypeMap[T] : AnyTxtNode;
export {};
//# sourceMappingURL=TypeofTxtNode.d.ts.map