ifc-expressions 2.0.1-beta.4 → 2.0.1-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/expression/function/impl/PROPERTY.js +1 -1
- package/dist/cjs/expression/function/impl/PROPERTY.js.map +1 -1
- package/dist/cjs/expression/function/impl/TYPE.js +1 -1
- package/dist/cjs/expression/function/impl/TYPE.js.map +1 -1
- package/dist/mjs/expression/function/impl/PROPERTY.js +1 -1
- package/dist/mjs/expression/function/impl/PROPERTY.js.map +1 -1
- package/dist/mjs/expression/function/impl/TYPE.js +1 -1
- package/dist/mjs/expression/function/impl/TYPE.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,7 +34,7 @@ class PROPERTY extends Func_js_1.Func {
|
|
|
34
34
|
return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(ExprKind_js_1.ExprKind.FUNCTION_ARGUMENTS, "Property name must be a string", propertyNameVal, callingExpr.getTextSpan());
|
|
35
35
|
}
|
|
36
36
|
const propertyName = propertyNameVal.stringValue;
|
|
37
|
-
const resultingObjectAccessor = accessorFun(propertyName);
|
|
37
|
+
const resultingObjectAccessor = accessorFun.call(objectRef, propertyName);
|
|
38
38
|
if ((0, IfcExpressionUtils_js_1.isNullish)(resultingObjectAccessor)) {
|
|
39
39
|
return new ExprEvalResult_js_1.ExprEvalFunctionEvaluationObjectNotFoundErrorObj(ExprKind_js_1.ExprKind.FUNCTION, ExprEvalResult_js_1.ExprEvalStatus.IFC_PROPERTY_NOT_FOUND, `No ifc property found with name '${propertyName}'`, this.getName(), propertyName, callingExpr.getTextSpan());
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/expression/function/impl/PROPERTY.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAClC,8CAAwC;AAExC,+DAOiC;AACjC,kFAA4E;AAC5E,mDAA6C;AAC7C,8EAAwE;AACxE,kEAA4D;AAC5D,+EAAgE;AAChE,qDAAqD;AAIrD,MAAa,QAAS,SAAQ,cAAI;IAIhC;QACE,KAAK,CAAC,UAAU,EAAE;YAChB,IAAI,gDAAqB,CACvB,IAAI,EACJ,QAAQ,CAAC,cAAc,EACvB,gBAAK,CAAC,EAAE,CACN,eAAI,CAAC,eAAe,EACpB,eAAI,CAAC,oBAAoB,EACzB,eAAI,CAAC,mBAAmB,CACzB,CACF;YACD,IAAI,oBAAO,CAAS,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,eAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,SAAS,GAAG,kBAAkB;aACjC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC5B,QAAQ,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAC5C,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;YACF,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE;gBACxC,OAAO,IAAI,mEAA+C,CACxD,sBAAQ,CAAC,kBAAkB,EAC3B,2CAA2C,EAC3C,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,CAAC,iBAAiB,EAC1B,CAAC,EACD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,IAAI,CAAC,4BAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;gBACnD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,gCAAgC,EAChC,eAAe,EACf,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,MAAM,YAAY,GAAW,eAAe,CAAC,WAAW,CAAC;YACzD,MAAM,uBAAuB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../src/expression/function/impl/PROPERTY.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAClC,8CAAwC;AAExC,+DAOiC;AACjC,kFAA4E;AAC5E,mDAA6C;AAC7C,8EAAwE;AACxE,kEAA4D;AAC5D,+EAAgE;AAChE,qDAAqD;AAIrD,MAAa,QAAS,SAAQ,cAAI;IAIhC;QACE,KAAK,CAAC,UAAU,EAAE;YAChB,IAAI,gDAAqB,CACvB,IAAI,EACJ,QAAQ,CAAC,cAAc,EACvB,gBAAK,CAAC,EAAE,CACN,eAAI,CAAC,eAAe,EACpB,eAAI,CAAC,oBAAoB,EACzB,eAAI,CAAC,mBAAmB,CACzB,CACF;YACD,IAAI,oBAAO,CAAS,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,eAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,SAAS,GAAG,kBAAkB;aACjC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC5B,QAAQ,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAC5C,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;YACF,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE;gBACxC,OAAO,IAAI,mEAA+C,CACxD,sBAAQ,CAAC,kBAAkB,EAC3B,2CAA2C,EAC3C,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,CAAC,iBAAiB,EAC1B,CAAC,EACD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,IAAI,CAAC,4BAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;gBACnD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,gCAAgC,EAChC,eAAe,EACf,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,MAAM,YAAY,GAAW,eAAe,CAAC,WAAW,CAAC;YACzD,MAAM,uBAAuB,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC1E,IAAI,IAAA,iCAAS,EAAC,uBAAuB,CAAC,EAAE;gBACtC,OAAO,IAAI,oEAAgD,CACzD,sBAAQ,CAAC,QAAQ,EACjB,kCAAc,CAAC,sBAAsB,EACrC,oCAAoC,YAAY,GAAG,EACnD,IAAI,CAAC,OAAO,EAAE,EACd,YAAY,EACZ,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,sCAAkB,CAC3B,4CAAmB,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAChD,CAAC;aACH;SACF;QACD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,6DAA6D,EAC7D,SAAS,EACT,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;;AA5EH,4BA6EC;AA5EiB,uBAAc,GAAG,WAAW,CAAC;AAC7B,0BAAiB,GAAG,cAAc,CAAC","file":"expression/function/impl/PROPERTY.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { FuncArg } from \"../FuncArg.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalFunctionEvaluationObjectNotFoundErrorObj,\n ExprEvalMissingRequiredFunctionArgumentErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n ExprEvalSuccessObj,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { ObjectAccessorValue } from \"../../../value/ObjectAccessorValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { FuncArgObjectAccessor } from \"../arg/FuncArgObjectAccessor.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\n\nexport class PROPERTY extends Func {\n static readonly KEY_OBJECT_REF = \"objectRef\";\n static readonly KEY_PROPERTY_NAME = \"propertyName\";\n\n constructor() {\n super(\"PROPERTY\", [\n new FuncArgObjectAccessor(\n true,\n PROPERTY.KEY_OBJECT_REF,\n Types.or(\n Type.IFC_ELEMENT_REF,\n Type.IFC_PROPERTY_SET_REF,\n Type.IFC_TYPE_OBJECT_REF\n )\n ),\n new FuncArg<string>(false, PROPERTY.KEY_PROPERTY_NAME),\n ]);\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n return Type.IFC_PROPERTY_REF;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const objectRef = evaluatedArguments\n .get(PROPERTY.KEY_OBJECT_REF)\n .getValue();\n const accessorFun = objectRef[\"getIfcPropertyAccessor\"];\n if (typeof accessorFun === \"function\") {\n const propertyNameVal = evaluatedArguments.get(\n PROPERTY.KEY_PROPERTY_NAME\n );\n if (typeof propertyNameVal === undefined) {\n return new ExprEvalMissingRequiredFunctionArgumentErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n \"Cannot access property: no name specified\",\n this.getName(),\n PROPERTY.KEY_PROPERTY_NAME,\n 1,\n callingExpr.getTextSpan()\n );\n }\n if (!StringValue.isStringValueType(propertyNameVal)) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n \"Property name must be a string\",\n propertyNameVal,\n callingExpr.getTextSpan()\n );\n }\n const propertyName: string = propertyNameVal.stringValue;\n const resultingObjectAccessor = accessorFun.call(objectRef, propertyName);\n if (isNullish(resultingObjectAccessor)) {\n return new ExprEvalFunctionEvaluationObjectNotFoundErrorObj(\n ExprKind.FUNCTION,\n ExprEvalStatus.IFC_PROPERTY_NOT_FOUND,\n `No ifc property found with name '${propertyName}'`,\n this.getName(),\n propertyName,\n callingExpr.getTextSpan()\n );\n } else {\n return new ExprEvalSuccessObj(\n ObjectAccessorValue.of(resultingObjectAccessor)\n );\n }\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n \"Cannot evaluate function 'property' on the specified object\",\n objectRef,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
|
|
@@ -21,7 +21,7 @@ class TYPE extends Func_js_1.Func {
|
|
|
21
21
|
const objectRef = evaluatedArguments.get(TYPE.KEY_OBJECT_REF).getValue();
|
|
22
22
|
const accessorFun = objectRef["getIfcTypeObjectAccessor"];
|
|
23
23
|
if (typeof accessorFun === "function") {
|
|
24
|
-
const resultingObjectAccessor = accessorFun();
|
|
24
|
+
const resultingObjectAccessor = accessorFun.call(objectRef);
|
|
25
25
|
if ((0, IfcExpressionUtils_js_1.isNullish)(resultingObjectAccessor)) {
|
|
26
26
|
return new ExprEvalResult_js_1.ExprEvalFunctionEvaluationObjectNotFoundErrorObj(ExprKind_js_1.ExprKind.FUNCTION, ExprEvalResult_js_1.ExprEvalStatus.IFC_TYPE_OBJECT_NOT_FOUND, `No type object found`, this.getName(), "[Type of IFC element]", callingExpr.getTextSpan());
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/expression/function/impl/TYPE.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAElC,+DAMiC;AACjC,kFAA4E;AAC5E,mDAA6C;AAC7C,8EAAwE;AACxE,+EAAgE;AAChE,qDAA8C;AAI9C,MAAa,IAAK,SAAQ,cAAI;IAG5B;QACE,KAAK,CAAC,MAAM,EAAE;YACZ,IAAI,gDAAqB,CACvB,IAAI,EACJ,IAAI,CAAC,cAAc,EACnB,eAAI,CAAC,eAAe,CACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,eAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,WAAW,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,MAAM,uBAAuB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"sources":["../../src/expression/function/impl/TYPE.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAElC,+DAMiC;AACjC,kFAA4E;AAC5E,mDAA6C;AAC7C,8EAAwE;AACxE,+EAAgE;AAChE,qDAA8C;AAI9C,MAAa,IAAK,SAAQ,cAAI;IAG5B;QACE,KAAK,CAAC,MAAM,EAAE;YACZ,IAAI,gDAAqB,CACvB,IAAI,EACJ,IAAI,CAAC,cAAc,EACnB,eAAI,CAAC,eAAe,CACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,eAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,WAAW,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,MAAM,uBAAuB,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,IAAA,iCAAS,EAAC,uBAAuB,CAAC,EAAE;gBACtC,OAAO,IAAI,oEAAgD,CACzD,sBAAQ,CAAC,QAAQ,EACjB,kCAAc,CAAC,yBAAyB,EACxC,sBAAsB,EACtB,IAAI,CAAC,OAAO,EAAE,EACd,uBAAuB,EACvB,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,sCAAkB,CAC3B,4CAAmB,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAChD,CAAC;aACH;SACF;QACD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,4BAA4B,IAAI,CAAC,OAAO,EAAE,0BAA0B,EACpE,SAAS,EACT,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;;AA9CH,oBA+CC;AA9CiB,mBAAc,GAAG,WAAW,CAAC","file":"expression/function/impl/TYPE.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalFunctionEvaluationObjectNotFoundErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n ExprEvalSuccessObj,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { ObjectAccessorValue } from \"../../../value/ObjectAccessorValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { FuncArgObjectAccessor } from \"../arg/FuncArgObjectAccessor.js\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils.js\";\nimport { Type } from \"../../../type/Types.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\n\nexport class TYPE extends Func {\n static readonly KEY_OBJECT_REF = \"objectRef\";\n\n constructor() {\n super(\"TYPE\", [\n new FuncArgObjectAccessor(\n true,\n TYPE.KEY_OBJECT_REF,\n Type.IFC_ELEMENT_REF\n ),\n ]);\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n return Type.IFC_TYPE_OBJECT_REF;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const objectRef = evaluatedArguments.get(TYPE.KEY_OBJECT_REF).getValue();\n const accessorFun = objectRef[\"getIfcTypeObjectAccessor\"];\n if (typeof accessorFun === \"function\") {\n const resultingObjectAccessor = accessorFun.call(objectRef);\n if (isNullish(resultingObjectAccessor)) {\n return new ExprEvalFunctionEvaluationObjectNotFoundErrorObj(\n ExprKind.FUNCTION,\n ExprEvalStatus.IFC_TYPE_OBJECT_NOT_FOUND,\n `No type object found`,\n this.getName(),\n \"[Type of IFC element]\",\n callingExpr.getTextSpan()\n );\n } else {\n return new ExprEvalSuccessObj(\n ObjectAccessorValue.of(resultingObjectAccessor)\n );\n }\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Cannot evaluate function ${this.getName()} on the specified object`,\n objectRef,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
|
|
@@ -31,7 +31,7 @@ export class PROPERTY extends Func {
|
|
|
31
31
|
return new ExprEvalTypeErrorObj(ExprKind.FUNCTION_ARGUMENTS, "Property name must be a string", propertyNameVal, callingExpr.getTextSpan());
|
|
32
32
|
}
|
|
33
33
|
const propertyName = propertyNameVal.stringValue;
|
|
34
|
-
const resultingObjectAccessor = accessorFun(propertyName);
|
|
34
|
+
const resultingObjectAccessor = accessorFun.call(objectRef, propertyName);
|
|
35
35
|
if (isNullish(resultingObjectAccessor)) {
|
|
36
36
|
return new ExprEvalFunctionEvaluationObjectNotFoundErrorObj(ExprKind.FUNCTION, ExprEvalStatus.IFC_PROPERTY_NOT_FOUND, `No ifc property found with name '${propertyName}'`, this.getName(), propertyName, callingExpr.getTextSpan());
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/function/impl/PROPERTY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,gDAAgD,EAChD,+CAA+C,EAE/C,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAIrD,MAAM,OAAO,QAAS,SAAQ,IAAI;IAIhC;QACE,KAAK,CAAC,UAAU,EAAE;YAChB,IAAI,qBAAqB,CACvB,IAAI,EACJ,QAAQ,CAAC,cAAc,EACvB,KAAK,CAAC,EAAE,CACN,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,mBAAmB,CACzB,CACF;YACD,IAAI,OAAO,CAAS,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,SAAS,GAAG,kBAAkB;aACjC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC5B,QAAQ,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAC5C,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;YACF,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE;gBACxC,OAAO,IAAI,+CAA+C,CACxD,QAAQ,CAAC,kBAAkB,EAC3B,2CAA2C,EAC3C,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,CAAC,iBAAiB,EAC1B,CAAC,EACD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;gBACnD,OAAO,IAAI,oBAAoB,CAC7B,QAAQ,CAAC,kBAAkB,EAC3B,gCAAgC,EAChC,eAAe,EACf,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,MAAM,YAAY,GAAW,eAAe,CAAC,WAAW,CAAC;YACzD,MAAM,uBAAuB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"sources":["expression/function/impl/PROPERTY.ts"],"names":[],"mappings":"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","file":"expression/function/impl/PROPERTY.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { FuncArg } from \"../FuncArg.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalFunctionEvaluationObjectNotFoundErrorObj,\n ExprEvalMissingRequiredFunctionArgumentErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n ExprEvalSuccessObj,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { ObjectAccessorValue } from \"../../../value/ObjectAccessorValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { FuncArgObjectAccessor } from \"../arg/FuncArgObjectAccessor.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\n\nexport class PROPERTY extends Func {\n static readonly KEY_OBJECT_REF = \"objectRef\";\n static readonly KEY_PROPERTY_NAME = \"propertyName\";\n\n constructor() {\n super(\"PROPERTY\", [\n new FuncArgObjectAccessor(\n true,\n PROPERTY.KEY_OBJECT_REF,\n Types.or(\n Type.IFC_ELEMENT_REF,\n Type.IFC_PROPERTY_SET_REF,\n Type.IFC_TYPE_OBJECT_REF\n )\n ),\n new FuncArg<string>(false, PROPERTY.KEY_PROPERTY_NAME),\n ]);\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n return Type.IFC_PROPERTY_REF;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const objectRef = evaluatedArguments\n .get(PROPERTY.KEY_OBJECT_REF)\n .getValue();\n const accessorFun = objectRef[\"getIfcPropertyAccessor\"];\n if (typeof accessorFun === \"function\") {\n const propertyNameVal = evaluatedArguments.get(\n PROPERTY.KEY_PROPERTY_NAME\n );\n if (typeof propertyNameVal === undefined) {\n return new ExprEvalMissingRequiredFunctionArgumentErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n \"Cannot access property: no name specified\",\n this.getName(),\n PROPERTY.KEY_PROPERTY_NAME,\n 1,\n callingExpr.getTextSpan()\n );\n }\n if (!StringValue.isStringValueType(propertyNameVal)) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n \"Property name must be a string\",\n propertyNameVal,\n callingExpr.getTextSpan()\n );\n }\n const propertyName: string = propertyNameVal.stringValue;\n const resultingObjectAccessor = accessorFun.call(objectRef, propertyName);\n if (isNullish(resultingObjectAccessor)) {\n return new ExprEvalFunctionEvaluationObjectNotFoundErrorObj(\n ExprKind.FUNCTION,\n ExprEvalStatus.IFC_PROPERTY_NOT_FOUND,\n `No ifc property found with name '${propertyName}'`,\n this.getName(),\n propertyName,\n callingExpr.getTextSpan()\n );\n } else {\n return new ExprEvalSuccessObj(\n ObjectAccessorValue.of(resultingObjectAccessor)\n );\n }\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n \"Cannot evaluate function 'property' on the specified object\",\n objectRef,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
|
|
@@ -18,7 +18,7 @@ export class TYPE extends Func {
|
|
|
18
18
|
const objectRef = evaluatedArguments.get(TYPE.KEY_OBJECT_REF).getValue();
|
|
19
19
|
const accessorFun = objectRef["getIfcTypeObjectAccessor"];
|
|
20
20
|
if (typeof accessorFun === "function") {
|
|
21
|
-
const resultingObjectAccessor = accessorFun();
|
|
21
|
+
const resultingObjectAccessor = accessorFun.call(objectRef);
|
|
22
22
|
if (isNullish(resultingObjectAccessor)) {
|
|
23
23
|
return new ExprEvalFunctionEvaluationObjectNotFoundErrorObj(ExprKind.FUNCTION, ExprEvalStatus.IFC_TYPE_OBJECT_NOT_FOUND, `No type object found`, this.getName(), "[Type of IFC element]", callingExpr.getTextSpan());
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/function/impl/TYPE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EACL,gDAAgD,EAEhD,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9C,MAAM,OAAO,IAAK,SAAQ,IAAI;IAG5B;QACE,KAAK,CAAC,MAAM,EAAE;YACZ,IAAI,qBAAqB,CACvB,IAAI,EACJ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,CACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,WAAW,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,MAAM,uBAAuB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"sources":["expression/function/impl/TYPE.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EACL,gDAAgD,EAEhD,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9C,MAAM,OAAO,IAAK,SAAQ,IAAI;IAG5B;QACE,KAAK,CAAC,MAAM,EAAE;YACZ,IAAI,qBAAqB,CACvB,IAAI,EACJ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,CACrB;SACF,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,WAAW,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YACrC,MAAM,uBAAuB,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,SAAS,CAAC,uBAAuB,CAAC,EAAE;gBACtC,OAAO,IAAI,gDAAgD,CACzD,QAAQ,CAAC,QAAQ,EACjB,cAAc,CAAC,yBAAyB,EACxC,sBAAsB,EACtB,IAAI,CAAC,OAAO,EAAE,EACd,uBAAuB,EACvB,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,kBAAkB,CAC3B,mBAAmB,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAChD,CAAC;aACH;SACF;QACD,OAAO,IAAI,oBAAoB,CAC7B,QAAQ,CAAC,kBAAkB,EAC3B,4BAA4B,IAAI,CAAC,OAAO,EAAE,0BAA0B,EACpE,SAAS,EACT,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;;AA7Ce,mBAAc,GAAG,WAAW,CAAC","file":"expression/function/impl/TYPE.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalFunctionEvaluationObjectNotFoundErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n ExprEvalSuccessObj,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { ObjectAccessorValue } from \"../../../value/ObjectAccessorValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { FuncArgObjectAccessor } from \"../arg/FuncArgObjectAccessor.js\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils.js\";\nimport { Type } from \"../../../type/Types.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\n\nexport class TYPE extends Func {\n static readonly KEY_OBJECT_REF = \"objectRef\";\n\n constructor() {\n super(\"TYPE\", [\n new FuncArgObjectAccessor(\n true,\n TYPE.KEY_OBJECT_REF,\n Type.IFC_ELEMENT_REF\n ),\n ]);\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n return Type.IFC_TYPE_OBJECT_REF;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const objectRef = evaluatedArguments.get(TYPE.KEY_OBJECT_REF).getValue();\n const accessorFun = objectRef[\"getIfcTypeObjectAccessor\"];\n if (typeof accessorFun === \"function\") {\n const resultingObjectAccessor = accessorFun.call(objectRef);\n if (isNullish(resultingObjectAccessor)) {\n return new ExprEvalFunctionEvaluationObjectNotFoundErrorObj(\n ExprKind.FUNCTION,\n ExprEvalStatus.IFC_TYPE_OBJECT_NOT_FOUND,\n `No type object found`,\n this.getName(),\n \"[Type of IFC element]\",\n callingExpr.getTextSpan()\n );\n } else {\n return new ExprEvalSuccessObj(\n ObjectAccessorValue.of(resultingObjectAccessor)\n );\n }\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Cannot evaluate function ${this.getName()} on the specified object`,\n objectRef,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
|