@dbml/parse
Version:
> TODO: description
29 lines (28 loc) • 1.41 kB
TypeScript
import { ColumnSymbol } from '../analyzer/symbol/symbols';
import { LiteralNode, PrimaryExpressionNode, SyntaxNode } from '../parser/nodes';
import { RelationCardinality, Table, TokenPosition } from './types';
import { SyntaxTokenKind } from '../lexer/tokens';
export declare function extractNamesFromRefOperand(operand: SyntaxNode, owner?: Table): {
schemaName: string | null;
tableName: string;
fieldNames: string[];
};
export declare function getMultiplicities(op: string): [RelationCardinality, RelationCardinality];
export declare function getTokenPosition(node: SyntaxNode): TokenPosition;
export declare function getColumnSymbolsOfRefOperand(ref: SyntaxNode): ColumnSymbol[];
export declare function extractElementName(nameNode: SyntaxNode): {
schemaName: string[];
name: string;
};
export declare function extractColor(node: PrimaryExpressionNode & {
expression: LiteralNode;
} & {
literal: {
kind: SyntaxTokenKind.COLOR_LITERAL;
};
}): string;
export declare function getRefId(sym1: ColumnSymbol, sym2: ColumnSymbol): string;
export declare function getRefId(sym1: ColumnSymbol[], sym2: ColumnSymbol[]): string;
export declare function isSameEndpoint(sym1: ColumnSymbol, sym2: ColumnSymbol): boolean;
export declare function isSameEndpoint(sym1: ColumnSymbol[], sym2: ColumnSymbol[]): boolean;
export declare function normalizeNoteContent(content: string): string;