@dbml/parse
Version:
> TODO: description
26 lines (25 loc) • 1.03 kB
TypeScript
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;
}