UNPKG

ifc-expressions

Version:

Parsing and evaluation of IFC expressions

29 lines (28 loc) 1.33 kB
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