ifc-expressions
Version:
Parsing and evaluation of IFC expressions
33 lines (32 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ApplyRegex = void 0;
const Func_js_1 = require("../Func.js");
const FuncArgString_js_1 = require("../arg/FuncArgString.js");
const FuncArgSimpleRegex_js_1 = require("../arg/FuncArgSimpleRegex.js");
const FuncArgRegex_js_1 = require("../arg/FuncArgRegex.js");
const FuncArgBoolean_js_1 = require("../arg/FuncArgBoolean.js");
const BooleanValue_js_1 = require("../../../value/BooleanValue.js");
const StringValue_js_1 = require("../../../value/StringValue.js");
const FuncArgRegexFlag_js_1 = require("../arg/FuncArgRegexFlag.js");
class ApplyRegex extends Func_js_1.Func {
constructor(name, simplePattern, requireFullMatch) {
super(name, [
new FuncArgString_js_1.FuncArgString(true, ApplyRegex.KEY_INPUT),
simplePattern
? new FuncArgSimpleRegex_js_1.FuncArgSimpleRegex(true, ApplyRegex.KEY_PATTERN)
: new FuncArgRegex_js_1.FuncArgRegex(true, ApplyRegex.KEY_PATTERN),
simplePattern
? new FuncArgBoolean_js_1.FuncArgBoolean(false, ApplyRegex.KEY_CASE_INSENSITIVE, BooleanValue_js_1.BooleanValue.of(false))
: new FuncArgRegexFlag_js_1.FuncArgRegexFlag(false, ApplyRegex.KEY_FLAGS, new StringValue_js_1.StringValue("gim")),
]);
this.requireFullMatch = requireFullMatch;
this.simplePattern = simplePattern;
}
}
exports.ApplyRegex = ApplyRegex;
ApplyRegex.KEY_INPUT = "input";
ApplyRegex.KEY_PATTERN = "pattern";
ApplyRegex.KEY_CASE_INSENSITIVE = "caseInsensitive";
ApplyRegex.KEY_FLAGS = "flags";
//# sourceMappingURL=ApplyRegex.js.map