UNPKG

@dbml/parse

Version:
47 lines (46 loc) 2.09 kB
import { SyntaxToken, SyntaxTokenKind } from '../lexer/tokens'; import { Option } from '../option'; import { default as NodeFactory } from './factory'; import { ElementDeclarationNode, ExpressionNode, IdentiferStreamNode, InfixExpressionNode, LiteralNode, NormalExpressionNode, PrimaryExpressionNode, SyntaxNode, VariableNode } from './nodes'; export declare function convertFuncAppToElem(callee: ExpressionNode | undefined, args: NormalExpressionNode[], factory: NodeFactory): Option<ElementDeclarationNode>; export declare function isAsKeyword(token: SyntaxToken): token is SyntaxToken & { kind: SyntaxTokenKind.IDENTIFIER; value: 'as'; }; export declare function markInvalid(nodeOrToken?: SyntaxNode | SyntaxToken): void; export declare function isInvalidToken(token?: SyntaxToken): boolean; export declare function getMemberChain(node: SyntaxNode): Readonly<(SyntaxNode | SyntaxToken)[]>; export declare function extractVariableNode(value?: unknown): Option<SyntaxToken>; export declare function isExpressionAQuotedString(value?: unknown): value is PrimaryExpressionNode & ({ expression: VariableNode & { variable: SyntaxToken & { kind: SyntaxTokenKind.QUOTED_STRING; }; }; } | { expression: LiteralNode & { literal: SyntaxToken & { kind: SyntaxTokenKind.STRING_LITERAL; }; }; }); export declare function isExpressionAVariableNode(value?: unknown): value is PrimaryExpressionNode & { expression: VariableNode & { variable: SyntaxToken; }; }; export declare function isExpressionAnIdentifierNode(value?: unknown): value is PrimaryExpressionNode & { expression: VariableNode & { variable: { kind: SyntaxTokenKind.IDENTIFIER; }; }; }; export declare function isAccessExpression(node: SyntaxNode): node is InfixExpressionNode & { leftExpression: SyntaxNode; rightExpression: SyntaxNode; op: SyntaxToken & { value: '.'; }; }; export declare function extractStringFromIdentifierStream(stream?: IdentiferStreamNode): Option<string>;