ifc-expressions
Version:
Parsing and evaluation of IFC expressions
29 lines (28 loc) • 1.33 kB
JavaScript
import { Func } from "../Func.js";
import { FuncArgString } from "../arg/FuncArgString.js";
import { FuncArgSimpleRegex } from "../arg/FuncArgSimpleRegex.js";
import { FuncArgRegex } from "../arg/FuncArgRegex.js";
import { FuncArgBoolean } from "../arg/FuncArgBoolean.js";
import { BooleanValue } from "../../../value/BooleanValue.js";
import { StringValue } from "../../../value/StringValue.js";
import { FuncArgRegexFlag } from "../arg/FuncArgRegexFlag.js";
export class ApplyRegex extends Func {
constructor(name, simplePattern, requireFullMatch) {
super(name, [
new FuncArgString(true, ApplyRegex.KEY_INPUT),
simplePattern
? new FuncArgSimpleRegex(true, ApplyRegex.KEY_PATTERN)
: new FuncArgRegex(true, ApplyRegex.KEY_PATTERN),
simplePattern
? new FuncArgBoolean(false, ApplyRegex.KEY_CASE_INSENSITIVE, BooleanValue.of(false))
: new FuncArgRegexFlag(false, ApplyRegex.KEY_FLAGS, new StringValue("gim")),
]);
this.requireFullMatch = requireFullMatch;
this.simplePattern = simplePattern;
}
}
ApplyRegex.KEY_INPUT = "input";
ApplyRegex.KEY_PATTERN = "pattern";
ApplyRegex.KEY_CASE_INSENSITIVE = "caseInsensitive";
ApplyRegex.KEY_FLAGS = "flags";
//# sourceMappingURL=ApplyRegex.js.map