UNPKG

@dbml/parse

Version:
26 lines (25 loc) 1.03 kB
import { ElementDeclarationNode, SyntaxNode } from '../../../parser/nodes'; import { ArgumentBinderRule, BinderRule, SettingListBinderRule } from '../types'; import { CompileError } from '../../../errors'; import { default as SymbolFactory } from '../../symbol/factory'; export default abstract class ElementBinder { protected abstract subfield: { arg: ArgumentBinderRule; settingList: SettingListBinderRule; }; protected abstract settingList: SettingListBinderRule; protected injectionBinderRule?: BinderRule; private errors; private declarationNode; constructor(declarationNode: ElementDeclarationNode, errors: CompileError[]); bind(): void; private bindSettingList; private bindBody; private bindSubfield; private bindPartialInjection; private scanAndBind; private bindFragments; private resolveIndexStack; protected logError(node: SyntaxNode, message: string, ignoreError: boolean): void; resolveInjections(symbolFactory: SymbolFactory): void; }