UNPKG

@dbml/parse

Version:
26 lines (25 loc) 1.25 kB
import { default as SymbolFactory } from '../../symbol/factory'; import { CompileError } from '../../../errors'; import { BlockExpressionNode, ElementDeclarationNode, FunctionApplicationNode, ListExpressionNode } from '../../../parser/nodes'; import { SyntaxToken } from '../../../lexer/tokens'; import { ElementValidator } from '../types'; import { default as SymbolTable } from '../../../analyzer/symbol/symbolTable'; export default class EnumValidator implements ElementValidator { private declarationNode; private publicSymbolTable; private symbolFactory; constructor(declarationNode: ElementDeclarationNode & { type: SyntaxToken; }, publicSymbolTable: SymbolTable, symbolFactory: SymbolFactory); validate(): CompileError[]; private validateContext; private validateName; private validateAlias; registerElement(): CompileError[]; private validateSettingList; validateBody(body?: FunctionApplicationNode | BlockExpressionNode): CompileError[]; validateFields(fields: FunctionApplicationNode[]): CompileError[]; validateFieldSettings(settings: ListExpressionNode): CompileError[]; private validateSubElements; registerField(field: FunctionApplicationNode): CompileError[]; }