UNPKG

ifc-expressions

Version:

Parsing and evaluation of IFC expressions

28 lines (27 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AttributeAccessorFunction = void 0; const Func_js_1 = require("../Func.js"); const FuncArg_js_1 = require("../FuncArg.js"); const ExprEvalResult_js_1 = require("../../ExprEvalResult.js"); class AttributeAccessorFunction extends Func_js_1.Func { constructor(attributeName, returnType) { super(attributeName.toUpperCase(), [ new FuncArg_js_1.FuncArg(true, AttributeAccessorFunction.KEY_OBJECT_REF), ]); this.attributeName = attributeName; this.returnType = returnType; } getReturnType(argumentTypes) { return this.returnType; } calculateResult(callingExpr, evaluatedArguments) { const objectRef = evaluatedArguments .get(AttributeAccessorFunction.KEY_OBJECT_REF) .getValue(); return new ExprEvalResult_js_1.ExprEvalSuccessObj(objectRef.getAttribute(this.attributeName)); } } exports.AttributeAccessorFunction = AttributeAccessorFunction; AttributeAccessorFunction.KEY_OBJECT_REF = "objectRef"; //# sourceMappingURL=AttributeAccessorFunction.js.map