ifc-expressions 0.3.1 → 0.3.2
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/Expr0.js +4 -4
- package/dist/cjs/expression/Expr0.js.map +1 -1
- package/dist/cjs/expression/Expr1.js +10 -10
- package/dist/cjs/expression/Expr1.js.map +1 -1
- package/dist/cjs/expression/Expr2.js +13 -13
- package/dist/cjs/expression/Expr2.js.map +1 -1
- package/dist/cjs/expression/Expr2LeftBeforeRight.js +15 -15
- package/dist/cjs/expression/Expr2LeftBeforeRight.js.map +1 -1
- package/dist/cjs/expression/ExprBase.js +3 -3
- package/dist/cjs/expression/ExprBase.js.map +1 -1
- package/dist/cjs/expression/ExprEvalResult.js +2 -2
- package/dist/cjs/expression/ExprEvalResult.js.map +1 -1
- package/dist/cjs/expression/LiteralExpr.js +4 -4
- package/dist/cjs/expression/LiteralExpr.js.map +1 -1
- package/dist/cjs/expression/function/Func.js +9 -9
- package/dist/cjs/expression/function/Func.js.map +1 -1
- package/dist/cjs/expression/function/FuncArg.js +2 -2
- package/dist/cjs/expression/function/FuncArg.js.map +1 -1
- package/dist/cjs/expression/function/FunctionExpr.js +5 -5
- package/dist/cjs/expression/function/FunctionExpr.js.map +1 -1
- package/dist/cjs/expression/function/IfcExpressionFunctions.js +4 -4
- package/dist/cjs/expression/function/IfcExpressionFunctions.js.map +1 -1
- package/dist/cjs/expression/function/arg/FuncArgBase.js +2 -2
- package/dist/cjs/expression/function/arg/FuncArgBase.js.map +1 -1
- package/dist/cjs/expression/function/arg/FuncArgInt.js +5 -5
- package/dist/cjs/expression/function/arg/FuncArgInt.js.map +1 -1
- package/dist/cjs/expression/function/arg/FuncArgNumeric.js +4 -4
- package/dist/cjs/expression/function/arg/FuncArgNumeric.js.map +1 -1
- package/dist/cjs/expression/function/impl/MAP.js +6 -6
- package/dist/cjs/expression/function/impl/MAP.js.map +1 -1
- package/dist/cjs/expression/numeric/DivideExpr.js +2 -2
- package/dist/cjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js +7 -7
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js +9 -9
- package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -1
- package/dist/cjs/expression/reference/NestedObjectChainExpr.js +14 -14
- package/dist/cjs/expression/reference/NestedObjectChainExpr.js.map +1 -1
- package/dist/cjs/expression/structure/ArrayExpr.js +3 -3
- package/dist/cjs/expression/structure/ArrayExpr.js.map +1 -1
- package/dist/expression/Expr0.d.ts +2 -2
- package/dist/expression/Expr1.d.ts +2 -2
- package/dist/expression/Expr2.d.ts +2 -2
- package/dist/expression/Expr2LeftBeforeRight.d.ts +2 -2
- package/dist/expression/ExprBase.d.ts +1 -1
- package/dist/expression/LiteralExpr.d.ts +2 -2
- package/dist/expression/function/Func.d.ts +1 -1
- package/dist/expression/function/IfcExpressionFunctions.d.ts +1 -1
- package/dist/expression/function/arg/FuncArgBase.d.ts +1 -1
- package/dist/expression/function/arg/FuncArgInt.d.ts +2 -2
- package/dist/expression/function/arg/FuncArgNumeric.d.ts +2 -2
- package/dist/expression/function/impl/MAP.d.ts +1 -1
- package/dist/expression/numeric/DivideExpr.d.ts +1 -1
- package/dist/expression/reference/AttributeReferenceExpr.d.ts +1 -1
- package/dist/expression/reference/NestedObjectChainEndExpr.d.ts +1 -1
- package/dist/expression/reference/NestedObjectChainExpr.d.ts +1 -1
- package/dist/expression/structure/ArrayExpr.d.ts +1 -1
- package/dist/mjs/expression/Expr0.js +2 -2
- package/dist/mjs/expression/Expr0.js.map +1 -1
- package/dist/mjs/expression/Expr1.js +3 -3
- package/dist/mjs/expression/Expr1.js.map +1 -1
- package/dist/mjs/expression/Expr2.js +3 -3
- package/dist/mjs/expression/Expr2.js.map +1 -1
- package/dist/mjs/expression/Expr2LeftBeforeRight.js +3 -3
- package/dist/mjs/expression/Expr2LeftBeforeRight.js.map +1 -1
- package/dist/mjs/expression/ExprBase.js +1 -1
- package/dist/mjs/expression/ExprBase.js.map +1 -1
- package/dist/mjs/expression/ExprEvalResult.js +1 -1
- package/dist/mjs/expression/ExprEvalResult.js.map +1 -1
- package/dist/mjs/expression/LiteralExpr.js +2 -2
- package/dist/mjs/expression/LiteralExpr.js.map +1 -1
- package/dist/mjs/expression/function/Func.js +2 -2
- package/dist/mjs/expression/function/Func.js.map +1 -1
- package/dist/mjs/expression/function/FuncArg.js +1 -1
- package/dist/mjs/expression/function/FuncArg.js.map +1 -1
- package/dist/mjs/expression/function/FunctionExpr.js +2 -2
- package/dist/mjs/expression/function/FunctionExpr.js.map +1 -1
- package/dist/mjs/expression/function/IfcExpressionFunctions.js +2 -2
- package/dist/mjs/expression/function/IfcExpressionFunctions.js.map +1 -1
- package/dist/mjs/expression/function/arg/FuncArgBase.js +1 -1
- package/dist/mjs/expression/function/arg/FuncArgBase.js.map +1 -1
- package/dist/mjs/expression/function/arg/FuncArgInt.js +2 -2
- package/dist/mjs/expression/function/arg/FuncArgInt.js.map +1 -1
- package/dist/mjs/expression/function/arg/FuncArgNumeric.js +2 -2
- package/dist/mjs/expression/function/arg/FuncArgNumeric.js.map +1 -1
- package/dist/mjs/expression/function/impl/MAP.js +1 -1
- package/dist/mjs/expression/function/impl/MAP.js.map +1 -1
- package/dist/mjs/expression/numeric/DivideExpr.js +1 -1
- package/dist/mjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js +2 -2
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js +3 -3
- package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -1
- package/dist/mjs/expression/reference/NestedObjectChainExpr.js +3 -3
- package/dist/mjs/expression/reference/NestedObjectChainExpr.js.map +1 -1
- package/dist/mjs/expression/structure/ArrayExpr.js +1 -1
- package/dist/mjs/expression/structure/ArrayExpr.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Expr2 } from "../Expr2.js";
|
|
2
2
|
import { NumericValue } from "../../value/NumericValue.js";
|
|
3
3
|
import { ExprKind } from "../ExprKind.js";
|
|
4
|
-
import { ExprEvalError2Obj, ExprEvalStatus, } from "../ExprEvalResult";
|
|
4
|
+
import { ExprEvalError2Obj, ExprEvalStatus, } from "../ExprEvalResult.js";
|
|
5
5
|
export class DivideExpr extends Expr2 {
|
|
6
6
|
constructor(left, right) {
|
|
7
7
|
super(ExprKind.NUM_DIVIDE, left, right);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/numeric/DivideExpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,iBAAiB,EAEjB,cAAc,GACf,MAAM,
|
|
1
|
+
{"version":3,"sources":["expression/numeric/DivideExpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,iBAAiB,EAEjB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,UAAW,SAAQ,KAI/B;IACC,YAAY,IAAwB,EAAE,KAAyB;QAC7D,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAES,eAAe,CACvB,GAAyB,EACzB,QAA0B,EAC1B,IAAkB,EAClB,KAAmB;QAEnB,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAES,WAAW,CACnB,KAAU,EACV,UAAwC,EACxC,WAAyC;QAEzC,OAAO,IAAI,iBAAiB,CAC1B,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,CAAC,UAAU,EACzB,KAAK,CACN,CAAC;IACJ,CAAC;CACF","file":"expression/numeric/DivideExpr.js","sourcesContent":["import { Expr2 } from \"../Expr2.js\";\nimport { Expr } from \"../Expr.js\";\nimport { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { NumericValue } from \"../../value/NumericValue.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport {\n ExprEvalError,\n ExprEvalError2Obj,\n ExprEvalResult,\n ExprEvalStatus,\n} from \"../ExprEvalResult.js\";\n\nexport class DivideExpr extends Expr2<\n NumericValue,\n NumericValue,\n NumericValue\n> {\n constructor(left: Expr<NumericValue>, right: Expr<NumericValue>) {\n super(ExprKind.NUM_DIVIDE, left, right);\n }\n\n protected calculateResult(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>,\n left: NumericValue,\n right: NumericValue\n ): NumericValue | ExprEvalError {\n return NumericValue.of(left.getValue().dividedBy(right.getValue()));\n }\n\n protected handleError(\n error: any,\n leftResult: ExprEvalResult<NumericValue>,\n rightResult: ExprEvalResult<NumericValue>\n ): ExprEvalError {\n return new ExprEvalError2Obj(\n error,\n leftResult,\n rightResult,\n ExprEvalStatus.MATH_ERROR,\n error\n );\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Expr2 } from "../Expr2.js";
|
|
2
2
|
import { ExprKind } from "../ExprKind.js";
|
|
3
|
-
import { ExprEvalError2Obj, ExprEvalRefChainErrorObj, ExprEvalStatus, isExprEvalRefChainError, isExprEvalSuccess, } from "../ExprEvalResult";
|
|
4
|
-
import { LocalContextKeys } from "../LocalContextKeys";
|
|
3
|
+
import { ExprEvalError2Obj, ExprEvalRefChainErrorObj, ExprEvalStatus, isExprEvalRefChainError, isExprEvalSuccess, } from "../ExprEvalResult.js";
|
|
4
|
+
import { LocalContextKeys } from "../LocalContextKeys.js";
|
|
5
5
|
export class AttributeReferenceExpr extends Expr2 {
|
|
6
6
|
constructor(left, right) {
|
|
7
7
|
super(ExprKind.REF_ATTRIBUTE, left, right);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/reference/AttributeReferenceExpr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,iBAAiB,EACjB,wBAAwB,EAExB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,
|
|
1
|
+
{"version":3,"sources":["expression/reference/AttributeReferenceExpr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,iBAAiB,EACjB,wBAAwB,EAExB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,OAAO,sBAAuB,SAAQ,KAI3C;IACC,YAAY,IAA0B,EAAE,KAAiC;QACvE,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAES,oBAAoB,CAC5B,GAAyB,EACzB,QAA0B,EAC1B,UAA0B;QAE1B,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,eAAe,CACb,GAAyB,EACzB,QAAQ,EACR,cAA8B,EAC9B,iBAAuC;QAEvC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAES,8BAA8B,CACtC,GAAyB,EACzB,QAA0B,EAC1B,UAA0C,EAC1C,WAA0B;QAE1B,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,uBAAuB,CAAC,WAAW,CAAC,EAAE;YACzE,OAAO,wBAAwB,CAAC,QAAQ,CACtC,WAAW,EACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CACpB,CAAC;SACH;QACD,OAAO,KAAK,CAAC,8BAA8B,CACzC,GAAG,EACH,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;IACJ,CAAC;IAES,WAAW,CACnB,KAAU,EACV,UAA0C,EAC1C,WAAiD;QAEjD,OAAO,IAAI,iBAAiB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,UAAU,EACV,WAAW,EACX,cAAc,CAAC,eAAe,EAC9B,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAClD,CAAC;IACJ,CAAC;CACF","file":"expression/reference/AttributeReferenceExpr.js","sourcesContent":["import { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { Expr2 } from \"../Expr2.js\";\nimport { LiteralValueAnyArity } from \"../../value/LiteralValueAnyArity.js\";\nimport { ObjectAccessor } from \"../../context/ObjectAccessor.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport {\n ExprEvalError,\n ExprEvalError2Obj,\n ExprEvalRefChainErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n isExprEvalRefChainError,\n isExprEvalSuccess,\n} from \"../ExprEvalResult.js\";\nimport { Expr } from \"../Expr.js\";\nimport { LocalContextKeys } from \"../LocalContextKeys.js\";\n\nexport class AttributeReferenceExpr extends Expr2<\n ObjectAccessor,\n LiteralValueAnyArity,\n LiteralValueAnyArity\n> {\n constructor(left: Expr<ObjectAccessor>, right: Expr<LiteralValueAnyArity>) {\n super(ExprKind.REF_ATTRIBUTE, left, right);\n }\n\n protected onAfterLeftRecursion(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>,\n leftResult: ObjectAccessor\n ) {\n localCtx.set(LocalContextKeys.OBJECT_ACCESSOR, leftResult);\n }\n\n calculateResult(\n ctx: IfcExpressionContext,\n localCtx,\n objectAccessor: ObjectAccessor,\n dereferencedValue: LiteralValueAnyArity\n ): LiteralValueAnyArity | ExprEvalError {\n localCtx.delete(LocalContextKeys.OBJECT_ACCESSOR);\n return dereferencedValue;\n }\n\n protected makeResultForRightSubExprError(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>,\n leftResult: ExprEvalResult<ObjectAccessor>,\n rightResult: ExprEvalError\n ): ExprEvalResult<LiteralValueAnyArity> {\n if (isExprEvalSuccess(leftResult) && isExprEvalRefChainError(rightResult)) {\n return ExprEvalRefChainErrorObj.bubbleUp(\n rightResult,\n this.left.getKind()\n );\n }\n return super.makeResultForRightSubExprError(\n ctx,\n localCtx,\n leftResult,\n rightResult\n );\n }\n\n protected handleError(\n error: any,\n leftResult: ExprEvalResult<ObjectAccessor>,\n rightResult: ExprEvalResult<LiteralValueAnyArity>\n ): ExprEvalError {\n return new ExprEvalError2Obj(\n this.getKind(),\n leftResult,\n rightResult,\n ExprEvalStatus.REFERENCE_ERROR,\n [\"Unable to resolve attribute reference:\", error]\n );\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ExprKind } from "../ExprKind.js";
|
|
2
|
-
import { ExprEvalErrorObj, ExprEvalRefChainErrorObj, ExprEvalStatus, } from "../ExprEvalResult";
|
|
3
|
-
import { isNullish } from "../../IfcExpressionUtils";
|
|
2
|
+
import { ExprEvalErrorObj, ExprEvalRefChainErrorObj, ExprEvalStatus, } from "../ExprEvalResult.js";
|
|
3
|
+
import { isNullish } from "../../IfcExpressionUtils.js";
|
|
4
4
|
import { Expr0 } from "../Expr0.js";
|
|
5
|
-
import { LocalContextKeys } from "../LocalContextKeys";
|
|
5
|
+
import { LocalContextKeys } from "../LocalContextKeys.js";
|
|
6
6
|
export class NestedObjectChainEndExpr extends Expr0 {
|
|
7
7
|
constructor(value) {
|
|
8
8
|
super(ExprKind.REF_NESTED_OBJECT_CHAIN_END);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/reference/NestedObjectChainEndExpr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,
|
|
1
|
+
{"version":3,"sources":["expression/reference/NestedObjectChainEndExpr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,OAAO,wBAAyB,SAAQ,KAA2B;IAEvE,YAAY,KAAa;QACvB,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAES,UAAU,CAClB,GAAyB,EACzB,QAA0B;QAE1B,MAAM,cAAc,GAAmB,QAAQ,CAAC,GAAG,CACjD,gBAAgB,CAAC,eAAe,CACjC,CAAC;QACF,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE;YAC7B,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,OAAO,EAAE,EACd,cAAc,CAAC,eAAe,EAC9B,qFAAqF,IAAI,CAAC,aAAa,EAAE,CAC1G,CAAC;SACH;QACD,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE;YAC7B,OAAO,IAAI,wBAAwB,CACjC,IAAI,CAAC,OAAO,EAAE,EACd,cAAc,CAAC,eAAe,EAC9B,IAAI,CAAC,aAAa,EAClB,2BAA2B,IAAI,CAAC,aAAa,GAAG,CACjD,CAAC;SACH;QACD,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,cAAc,CAAC;IACxB,CAAC;CACF","file":"expression/reference/NestedObjectChainEndExpr.js","sourcesContent":["import { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { LiteralValueAnyArity } from \"../../value/LiteralValueAnyArity.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport {\n ExprEvalError,\n ExprEvalErrorObj,\n ExprEvalRefChainErrorObj,\n ExprEvalStatus,\n} from \"../ExprEvalResult.js\";\nimport { isNullish } from \"../../IfcExpressionUtils.js\";\nimport { Expr0 } from \"../Expr0.js\";\nimport { LocalContextKeys } from \"../LocalContextKeys.js\";\nimport { ObjectAccessor } from \"../../context/ObjectAccessor.js\";\n\nexport class NestedObjectChainEndExpr extends Expr0<LiteralValueAnyArity> {\n private readonly attributeName: string;\n constructor(value: string) {\n super(ExprKind.REF_NESTED_OBJECT_CHAIN_END);\n this.attributeName = value;\n }\n\n protected doEvaluate(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>\n ): ExprEvalError | LiteralValueAnyArity {\n const objectAccessor: ObjectAccessor = localCtx.get(\n LocalContextKeys.OBJECT_ACCESSOR\n );\n if (isNullish(objectAccessor)) {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.MISSING_OPERAND,\n `No ObjectAccessor found in localContext when trying to access attribute with name'${this.attributeName}`\n );\n }\n const attributeValue = objectAccessor.getAttribute(this.attributeName);\n if (isNullish(attributeValue)) {\n return new ExprEvalRefChainErrorObj(\n this.getKind(),\n ExprEvalStatus.REFERENCE_ERROR,\n this.attributeName,\n `No such nested object: '${this.attributeName}'`\n );\n }\n localCtx.delete(LocalContextKeys.OBJECT_ACCESSOR);\n return attributeValue;\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ExprKind } from "../ExprKind.js";
|
|
2
|
-
import { ExprEvalErrorObj, ExprEvalRefChainErrorObj, ExprEvalStatus, isExprEvalRefChainError, mapErrorObjectToMessage, } from "../ExprEvalResult";
|
|
2
|
+
import { ExprEvalErrorObj, ExprEvalRefChainErrorObj, ExprEvalStatus, isExprEvalRefChainError, mapErrorObjectToMessage, } from "../ExprEvalResult.js";
|
|
3
3
|
import { Expr1 } from "../Expr1.js";
|
|
4
|
-
import { isNullish } from "../../IfcExpressionUtils";
|
|
5
|
-
import { LocalContextKeys } from "../LocalContextKeys";
|
|
4
|
+
import { isNullish } from "../../IfcExpressionUtils.js";
|
|
5
|
+
import { LocalContextKeys } from "../LocalContextKeys.js";
|
|
6
6
|
export class NestedObjectChainExpr extends Expr1 {
|
|
7
7
|
constructor(literalObjectRef, nextLink) {
|
|
8
8
|
super(ExprKind.REF_NESTED_OBJECT_CHAIN, nextLink);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/reference/NestedObjectChainExpr.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,gBAAgB,EAChB,wBAAwB,EAExB,cAAc,EACd,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,
|
|
1
|
+
{"version":3,"sources":["expression/reference/NestedObjectChainExpr.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAEL,gBAAgB,EAChB,wBAAwB,EAExB,cAAc,EACd,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,OAAO,qBAAsB,SAAQ,KAG1C;IAEC,YAAY,gBAAwB,EAAE,QAA+B;QACnE,KAAK,CAAC,QAAQ,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAES,gBAAgB,CACxB,GAAyB,EACzB,QAA0B;QAE1B,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CACjC,gBAAgB,CAAC,eAAe,CACf,CAAC;QACpB,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE;YAC7B,OAAO,IAAI,gBAAgB,CACzB,IAAI,CAAC,OAAO,EAAE,EACd,cAAc,CAAC,eAAe,EAC9B,yFAAyF,IAAI,CAAC,gBAAgB,EAAE,CACjH,CAAC;SACH;QACD,MAAM,oBAAoB,GAAG,cAAc,CAAC,uBAAuB,CACjE,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,IAAI,SAAS,CAAC,oBAAoB,CAAC,EAAE;YACnC,OAAO,IAAI,wBAAwB,CACjC,IAAI,CAAC,OAAO,EAAE,EACd,cAAc,CAAC,eAAe,EAC9B,IAAI,CAAC,gBAAgB,EACrB,2BAA2B,IAAI,CAAC,gBAAgB,GAAG,CACpD,CAAC;SACH;QACD,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,eAAe,CACb,GAAyB,EACzB,QAA0B,EAC1B,MAA4B;QAE5B,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,iCAAiC,CACzC,GAAyB,EACzB,QAA0B,EAC1B,mBAAkC;QAElC,IAAI,uBAAuB,CAAC,mBAAmB,CAAC,EAAE;YAChD,OAAO,wBAAwB,CAAC,QAAQ,CACtC,mBAAmB,EACnB,IAAI,CAAC,gBAAgB,CACtB,CAAC;SACH;QACD,OAAO,IAAI,wBAAwB,CACjC,IAAI,CAAC,OAAO,EAAE,EACd,mBAAmB,CAAC,MAAM,EAC1B,IAAI,CAAC,gBAAgB,EACrB,mBAAmB,CAAC,OAAO,CAC5B,CAAC;IACJ,CAAC;IAES,WAAW,CACnB,KAAU,EACV,SAA+C;QAE/C,OAAO,IAAI,wBAAwB,CACjC,IAAI,CAAC,OAAO,EAAE,EACd,cAAc,CAAC,eAAe,EAC9B,IAAI,CAAC,gBAAgB,EACrB,uBAAuB,CAAC,KAAK,CAAC,CAC/B,CAAC;IACJ,CAAC;CACF","file":"expression/reference/NestedObjectChainExpr.js","sourcesContent":["import { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { ObjectAccessor } from \"../../context/ObjectAccessor.js\";\nimport { LiteralValueAnyArity } from \"../../value/LiteralValueAnyArity.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport {\n ExprEvalError,\n ExprEvalErrorObj,\n ExprEvalRefChainErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n isExprEvalRefChainError,\n mapErrorObjectToMessage,\n} from \"../ExprEvalResult.js\";\nimport { Expr1 } from \"../Expr1.js\";\nimport { isNullish } from \"../../IfcExpressionUtils.js\";\nimport { LocalContextKeys } from \"../LocalContextKeys.js\";\n\nexport class NestedObjectChainExpr extends Expr1<\n LiteralValueAnyArity,\n LiteralValueAnyArity\n> {\n private readonly literalObjectRef: string;\n constructor(literalObjectRef: string, nextLink: NestedObjectChainExpr) {\n super(ExprKind.REF_NESTED_OBJECT_CHAIN, nextLink);\n this.literalObjectRef = literalObjectRef;\n }\n\n protected onBeforeRecusion(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>\n ): undefined | ExprEvalError {\n const objectAccessor = localCtx.get(\n LocalContextKeys.OBJECT_ACCESSOR\n ) as ObjectAccessor;\n if (isNullish(objectAccessor)) {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.MISSING_OPERAND,\n `No ObjectAccessor found in localContext when trying to access nested object with name'${this.literalObjectRef}`\n );\n }\n const nestedObjectAccessor = objectAccessor.getNestedObjectAccessor(\n this.literalObjectRef\n );\n if (isNullish(nestedObjectAccessor)) {\n return new ExprEvalRefChainErrorObj(\n this.getKind(),\n ExprEvalStatus.REFERENCE_ERROR,\n this.literalObjectRef,\n `No such nested object: '${this.literalObjectRef}'`\n );\n }\n localCtx.set(LocalContextKeys.OBJECT_ACCESSOR, nestedObjectAccessor);\n }\n\n calculateResult(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>,\n result: LiteralValueAnyArity\n ): LiteralValueAnyArity | ExprEvalError {\n localCtx.delete(LocalContextKeys.OBJECT_ACCESSOR);\n return result;\n }\n\n protected obtainResultForSubExpressionError(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>,\n subExpressionResult: ExprEvalError\n ): ExprEvalResult<LiteralValueAnyArity> {\n if (isExprEvalRefChainError(subExpressionResult)) {\n return ExprEvalRefChainErrorObj.bubbleUp(\n subExpressionResult,\n this.literalObjectRef\n );\n }\n return new ExprEvalRefChainErrorObj(\n this.getKind(),\n subExpressionResult.status,\n this.literalObjectRef,\n subExpressionResult.message\n );\n }\n\n protected handleError(\n error: any,\n subResult: ExprEvalResult<LiteralValueAnyArity>\n ): ExprEvalError {\n return new ExprEvalRefChainErrorObj(\n this.getKind(),\n ExprEvalStatus.REFERENCE_ERROR,\n this.literalObjectRef,\n mapErrorObjectToMessage(error)\n );\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExprEvalConsequentialError1Obj, isExprEvalError, } from "../ExprEvalResult";
|
|
1
|
+
import { ExprEvalConsequentialError1Obj, isExprEvalError, } from "../ExprEvalResult.js";
|
|
2
2
|
import { ExprKind } from "../ExprKind.js";
|
|
3
3
|
import { Expr0 } from "../Expr0.js";
|
|
4
4
|
import { ArrayValue } from "../../value/ArrayValue.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/structure/ArrayExpr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,EAE9B,eAAe,GAChB,MAAM,
|
|
1
|
+
{"version":3,"sources":["expression/structure/ArrayExpr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,EAE9B,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,MAAM,OAAO,SAAU,SAAQ,KAAiB;IAG9C,YAAY,QAAmC;QAC7C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAES,UAAU,CAClB,GAAyB,EACzB,QAA0B;QAE1B,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE;gBAC/B,OAAO,IAAI,8BAA8B,CACvC,IAAI,CAAC,OAAO,EAAE,EACd,UAAU,EACV,sDAAsD,CAAC,EAAE,CAC1D,CAAC;aACH;YACD,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;CACF","file":"expression/structure/ArrayExpr.js","sourcesContent":["import { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport {\n ExprEvalConsequentialError1Obj,\n ExprEvalError,\n isExprEvalError,\n} from \"../ExprEvalResult.js\";\nimport { Expr } from \"../Expr.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport { Expr0 } from \"../Expr0.js\";\nimport { ArrayValue } from \"../../value/ArrayValue.js\";\nimport { LiteralValue } from \"../../value/LiteralValue.js\";\n\nexport class ArrayExpr extends Expr0<ArrayValue> {\n private elements: Array<Expr<LiteralValue>>;\n\n constructor(elements: Array<Expr<LiteralValue>>) {\n super(ExprKind.ARRAY);\n this.elements = elements;\n }\n\n protected doEvaluate(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>\n ): ExprEvalError | ArrayValue {\n const evaluatedResult = [];\n for (let i = 0; i < this.elements.length; i++) {\n const evalResult = this.elements[i].evaluate(ctx, localCtx);\n if (isExprEvalError(evalResult)) {\n return new ExprEvalConsequentialError1Obj(\n this.getKind(),\n evalResult,\n `Error evaluating array element at 0-based position ${i}`\n );\n }\n evaluatedResult.push(evalResult.result);\n }\n return new ArrayValue(evaluatedResult);\n }\n}\n"]}
|