import { ValueRequirement } from "./ValueRequirement.js"; import { Field } from "../Field.js"; export class Term extends Field { separator = null; position = null; valueRequirement = ValueRequirement.REQUIRED; constructor(key) { super(key) } inputToString(fieldInputId) { const input = this.getInputValue(fieldInputId); const qualifier = this.getInputQualifier(fieldInputId); return qualifier + this.key + (input ? this.separator + input : ""); } isValidInput(fieldInputId) { const input = this.getInputValue(fieldInputId); const qualifier = this.getInputQualifier(fieldInputId); if (this.valueRequirement !== ValueRequirement.REQUIRED && qualifier) return true; try { return this.validate(input); } catch(e) { return false; } } // Virtual methods getInputQualifier(fieldId) { return ""; } // Builder methods pos(i) { this.position = i; return this; } value(requirement) { this.valueRequirement = requirement; return this; } }