import { ConstantField } from "../fields/ConstantField.js"; import { DomainField } from "../fields/DomainField.js"; import { DnsTool } from "./DnsTool.js"; export class SpfTool extends DnsTool { static allowWhitespaceAroundSeparator = false; static fields = [ new ConstantField("v", "spf1") .required() .pos(0), new DomainField("include", ":") .multiple() .pos(1), new DomainField("a", ":") .multiple() .pos(1), new DomainField("mx", ":") .multiple() .pos(2), new DomainField("ptr", ":") .multiple() .pos(2), new DomainField("ipv4", ":") .multiple() .pos(2), new DomainField("ipv6", ":") .multiple() .pos(2), new DomainField("exists", ":") .multiple() .pos(2), new DomainField("redirect", "=") .pos(3), new DomainField("exp", "=") .pos(3), // TODO all ]; constructor(text) { super(text); } tokenize() { return this.text.split(/\s+/); } }