ifc-expressions
Version:
Parsing and evaluation of IFC expressions
22 lines (21 loc) • 785 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NOT = void 0;
const Func_js_1 = require("../Func.js");
const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
const FuncArgLogicalOrBoolean_js_1 = require("../arg/FuncArgLogicalOrBoolean.js");
class NOT extends Func_js_1.Func {
constructor() {
super("NOT", [new FuncArgLogicalOrBoolean_js_1.FuncArgLogicalOrBoolean(true, NOT.KEY_ARG)]);
}
getReturnType(argumentTypes) {
return argumentTypes[0];
}
calculateResult(callingExpr, evaluatedArguments) {
const arg = evaluatedArguments.get(NOT.KEY_ARG);
return new ExprEvalResult_js_1.ExprEvalSuccessObj(arg.not());
}
}
exports.NOT = NOT;
NOT.KEY_ARG = "arg";
//# sourceMappingURL=NOT.js.map