@dbml/parse
Version:
> TODO: description
26 lines (25 loc) • 1.24 kB
TypeScript
import { default as SymbolFactory } from '../../symbol/factory';
import { CompileError } from '../../../errors';
import { BlockExpressionNode, ElementDeclarationNode, ExpressionNode, FunctionApplicationNode } from '../../../parser/nodes';
import { ElementValidator } from '../types';
import { SyntaxToken } from '../../../lexer/tokens';
import { default as SymbolTable } from '../../symbol/symbolTable';
export default class TablePartialValidator implements ElementValidator {
private declarationNode;
private symbolFactory;
private publicSymbolTable;
constructor(declarationNode: ElementDeclarationNode & {
type: SyntaxToken;
}, publicSymbolTable: SymbolTable, symbolFactory: SymbolFactory);
validate(): CompileError[];
private validateContext;
private validateName;
private validateAlias;
private validateSettingList;
registerElement(): CompileError[];
validateBody(body?: FunctionApplicationNode | BlockExpressionNode): CompileError[];
validateFields(fields: FunctionApplicationNode[]): CompileError[];
registerField(field: FunctionApplicationNode): CompileError[];
validateFieldSetting(parts: ExpressionNode[]): CompileError[];
private validateSubElements;
}