ifc-expressions 0.2.3 → 0.3.0
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/ExprVisitor.d.ts +5 -1
- package/dist/IfcExpression.d.ts +3 -2
- package/dist/cjs/ExprVisitor.js +36 -2
- package/dist/cjs/ExprVisitor.js.map +1 -1
- package/dist/cjs/IfcExpression.js +3 -5
- package/dist/cjs/IfcExpression.js.map +1 -1
- package/dist/cjs/context/IfcElementAccessor.js +2 -2
- package/dist/cjs/context/IfcElementAccessor.js.map +1 -1
- package/dist/cjs/context/ObjectAccessor.js +9 -0
- package/dist/cjs/context/ObjectAccessor.js.map +1 -1
- package/dist/cjs/expression/Expr.js.map +1 -1
- package/dist/cjs/expression/Expr0.js +18 -2
- package/dist/cjs/expression/Expr0.js.map +1 -1
- package/dist/cjs/expression/Expr1.js +46 -2
- package/dist/cjs/expression/Expr1.js.map +1 -1
- package/dist/cjs/expression/Expr2.js +48 -2
- package/dist/cjs/expression/Expr2.js.map +1 -1
- package/dist/cjs/expression/Expr2LeftBeforeRight.js +45 -0
- package/dist/cjs/expression/Expr2LeftBeforeRight.js.map +1 -0
- package/dist/cjs/expression/ExprBase.js +20 -0
- package/dist/cjs/expression/ExprBase.js.map +1 -0
- package/dist/cjs/expression/ExprEvalResult.js +165 -0
- package/dist/cjs/expression/ExprEvalResult.js.map +1 -0
- package/dist/cjs/expression/ExprKind.js +24 -0
- package/dist/cjs/expression/ExprKind.js.map +1 -0
- package/dist/cjs/expression/LiteralExpr.js +25 -0
- package/dist/cjs/expression/LiteralExpr.js.map +1 -0
- package/dist/cjs/expression/LocalContextKeys.js +7 -0
- package/dist/cjs/expression/LocalContextKeys.js.map +1 -0
- package/dist/cjs/expression/function/Func.js +93 -0
- package/dist/cjs/expression/function/Func.js.map +1 -0
- package/dist/cjs/expression/function/FuncArg.js +33 -0
- package/dist/cjs/expression/function/FuncArg.js.map +1 -0
- package/dist/cjs/expression/function/FunctionExpr.js +33 -0
- package/dist/cjs/expression/function/FunctionExpr.js.map +1 -0
- package/dist/cjs/expression/function/IfcExpressionFunctionConfigException.js +10 -0
- package/dist/cjs/expression/function/IfcExpressionFunctionConfigException.js.map +1 -0
- package/dist/cjs/expression/function/IfcExpressionFunctions.js +26 -0
- package/dist/cjs/expression/function/IfcExpressionFunctions.js.map +1 -0
- package/dist/cjs/expression/function/arg/FuncArgBase.js +34 -0
- package/dist/cjs/expression/function/arg/FuncArgBase.js.map +1 -0
- package/dist/cjs/expression/function/arg/FuncArgInt.js +25 -0
- package/dist/cjs/expression/function/arg/FuncArgInt.js.map +1 -0
- package/dist/cjs/expression/function/arg/FuncArgNumeric.js +22 -0
- package/dist/cjs/expression/function/arg/FuncArgNumeric.js.map +1 -0
- package/dist/cjs/expression/function/impl/MAP.js +77 -0
- package/dist/cjs/expression/function/impl/MAP.js.map +1 -0
- package/dist/cjs/expression/function/impl/ROUND.js +29 -0
- package/dist/cjs/expression/function/impl/ROUND.js.map +1 -0
- package/dist/cjs/expression/numeric/DivideExpr.js +8 -6
- package/dist/cjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/MinusExpr.js +4 -6
- package/dist/cjs/expression/numeric/MinusExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/MultiplyExpr.js +4 -6
- package/dist/cjs/expression/numeric/MultiplyExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/NumParenthesisExpr.js +4 -3
- package/dist/cjs/expression/numeric/NumParenthesisExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/NumericLiteralExpr.js +5 -4
- package/dist/cjs/expression/numeric/NumericLiteralExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/PlusExpr.js +4 -6
- package/dist/cjs/expression/numeric/PlusExpr.js.map +1 -1
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js +19 -5
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/reference/ElemObjectReferenceExpr.js +3 -2
- package/dist/cjs/expression/reference/ElemObjectReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js +19 -5
- package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -1
- package/dist/cjs/expression/reference/NestedObjectChainExpr.js +33 -8
- package/dist/cjs/expression/reference/NestedObjectChainExpr.js.map +1 -1
- package/dist/cjs/expression/reference/PropObjectReferenceExpr.js +3 -2
- package/dist/cjs/expression/reference/PropObjectReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/string/StringConcatExpr.js +4 -3
- package/dist/cjs/expression/string/StringConcatExpr.js.map +1 -1
- package/dist/cjs/expression/string/StringLiteralExpr.js +5 -4
- package/dist/cjs/expression/string/StringLiteralExpr.js.map +1 -1
- package/dist/cjs/expression/structure/ArrayExpr.js +26 -0
- package/dist/cjs/expression/structure/ArrayExpr.js.map +1 -0
- package/dist/cjs/gen/parser/IfcExpressionLexer.js +74 -72
- package/dist/cjs/gen/parser/IfcExpressionLexer.js.map +1 -1
- package/dist/cjs/gen/parser/IfcExpressionParser.js +148 -104
- package/dist/cjs/gen/parser/IfcExpressionParser.js.map +1 -1
- package/dist/cjs/value/ArrayValue.js +23 -0
- package/dist/cjs/value/ArrayValue.js.map +1 -0
- package/dist/cjs/value/BooleanValue.js +12 -3
- package/dist/cjs/value/BooleanValue.js.map +1 -1
- package/dist/cjs/value/LiteralValue.js.map +1 -1
- package/dist/cjs/value/LiteralValueAnyArity.js.map +1 -1
- package/dist/cjs/value/LogicalValue.js +14 -3
- package/dist/cjs/value/LogicalValue.js.map +1 -1
- package/dist/cjs/value/NumericValue.js +16 -7
- package/dist/cjs/value/NumericValue.js.map +1 -1
- package/dist/cjs/value/ReferenceValue.js +12 -3
- package/dist/cjs/value/ReferenceValue.js.map +1 -1
- package/dist/cjs/value/StringValue.js +12 -3
- package/dist/cjs/value/StringValue.js.map +1 -1
- package/dist/cjs/value/Value.js +0 -10
- package/dist/cjs/value/Value.js.map +1 -1
- package/dist/context/ObjectAccessor.d.ts +1 -0
- package/dist/expression/Expr.d.ts +4 -1
- package/dist/expression/Expr0.d.ts +8 -4
- package/dist/expression/Expr1.d.ts +20 -5
- package/dist/expression/Expr2.d.ts +15 -6
- package/dist/expression/Expr2LeftBeforeRight.d.ts +14 -0
- package/dist/expression/ExprBase.d.ts +11 -0
- package/dist/expression/ExprEvalResult.d.ts +125 -0
- package/dist/expression/ExprKind.d.ts +19 -0
- package/dist/expression/LiteralExpr.d.ts +11 -0
- package/dist/expression/LocalContextKeys.d.ts +3 -0
- package/dist/expression/function/Func.d.ts +30 -0
- package/dist/expression/function/FuncArg.d.ts +18 -0
- package/dist/expression/function/FunctionExpr.d.ts +13 -0
- package/dist/expression/function/IfcExpressionFunctionConfigException.d.ts +3 -0
- package/dist/expression/function/IfcExpressionFunctions.d.ts +7 -0
- package/dist/expression/function/arg/FuncArgBase.d.ts +19 -0
- package/dist/expression/function/arg/FuncArgInt.d.ts +8 -0
- package/dist/expression/function/arg/FuncArgNumeric.d.ts +8 -0
- package/dist/expression/function/impl/MAP.d.ts +10 -0
- package/dist/expression/function/impl/ROUND.d.ts +9 -0
- package/dist/expression/numeric/DivideExpr.d.ts +4 -2
- package/dist/expression/numeric/MinusExpr.d.ts +3 -2
- package/dist/expression/numeric/MultiplyExpr.d.ts +3 -2
- package/dist/expression/numeric/NumParenthesisExpr.d.ts +2 -2
- package/dist/expression/numeric/NumericLiteralExpr.d.ts +4 -3
- package/dist/expression/numeric/PlusExpr.d.ts +2 -2
- package/dist/expression/reference/AttributeReferenceExpr.d.ts +9 -5
- package/dist/expression/reference/ElemObjectReferenceExpr.d.ts +1 -1
- package/dist/expression/reference/NestedObjectChainEndExpr.d.ts +5 -4
- package/dist/expression/reference/NestedObjectChainExpr.d.ts +9 -6
- package/dist/expression/reference/PropObjectReferenceExpr.d.ts +1 -1
- package/dist/expression/string/StringConcatExpr.d.ts +2 -2
- package/dist/expression/string/StringLiteralExpr.d.ts +3 -3
- package/dist/expression/structure/ArrayExpr.d.ts +11 -0
- package/dist/gen/parser/IfcExpressionLexer.d.ts +10 -9
- package/dist/gen/parser/IfcExpressionParser.d.ts +10 -9
- package/dist/mjs/ExprVisitor.js +37 -3
- package/dist/mjs/ExprVisitor.js.map +1 -1
- package/dist/mjs/IfcExpression.js +3 -4
- package/dist/mjs/IfcExpression.js.map +1 -1
- package/dist/mjs/context/IfcElementAccessor.js +2 -2
- package/dist/mjs/context/IfcElementAccessor.js.map +1 -1
- package/dist/mjs/context/ObjectAccessor.js +7 -1
- package/dist/mjs/context/ObjectAccessor.js.map +1 -1
- package/dist/mjs/expression/Expr.js.map +1 -1
- package/dist/mjs/expression/Expr0.js +18 -2
- package/dist/mjs/expression/Expr0.js.map +1 -1
- package/dist/mjs/expression/Expr1.js +46 -2
- package/dist/mjs/expression/Expr1.js.map +1 -1
- package/dist/mjs/expression/Expr2.js +48 -2
- package/dist/mjs/expression/Expr2.js.map +1 -1
- package/dist/mjs/expression/Expr2LeftBeforeRight.js +41 -0
- package/dist/mjs/expression/Expr2LeftBeforeRight.js.map +1 -0
- package/dist/mjs/expression/ExprBase.js +16 -0
- package/dist/mjs/expression/ExprBase.js.map +1 -0
- package/dist/mjs/expression/ExprEvalResult.js +144 -0
- package/dist/mjs/expression/ExprEvalResult.js.map +1 -0
- package/dist/mjs/expression/ExprKind.js +21 -0
- package/dist/mjs/expression/ExprKind.js.map +1 -0
- package/dist/mjs/expression/LiteralExpr.js +21 -0
- package/dist/mjs/expression/LiteralExpr.js.map +1 -0
- package/dist/mjs/expression/LocalContextKeys.js +4 -0
- package/dist/mjs/expression/LocalContextKeys.js.map +1 -0
- package/dist/mjs/expression/function/Func.js +89 -0
- package/dist/mjs/expression/function/Func.js.map +1 -0
- package/dist/mjs/expression/function/FuncArg.js +29 -0
- package/dist/mjs/expression/function/FuncArg.js.map +1 -0
- package/dist/mjs/expression/function/FunctionExpr.js +29 -0
- package/dist/mjs/expression/function/FunctionExpr.js.map +1 -0
- package/dist/mjs/expression/function/IfcExpressionFunctionConfigException.js +6 -0
- package/dist/mjs/expression/function/IfcExpressionFunctionConfigException.js.map +1 -0
- package/dist/mjs/expression/function/IfcExpressionFunctions.js +22 -0
- package/dist/mjs/expression/function/IfcExpressionFunctions.js.map +1 -0
- package/dist/mjs/expression/function/arg/FuncArgBase.js +30 -0
- package/dist/mjs/expression/function/arg/FuncArgBase.js.map +1 -0
- package/dist/mjs/expression/function/arg/FuncArgInt.js +21 -0
- package/dist/mjs/expression/function/arg/FuncArgInt.js.map +1 -0
- package/dist/mjs/expression/function/arg/FuncArgNumeric.js +18 -0
- package/dist/mjs/expression/function/arg/FuncArgNumeric.js.map +1 -0
- package/dist/mjs/expression/function/impl/MAP.js +73 -0
- package/dist/mjs/expression/function/impl/MAP.js.map +1 -0
- package/dist/mjs/expression/function/impl/ROUND.js +25 -0
- package/dist/mjs/expression/function/impl/ROUND.js.map +1 -0
- package/dist/mjs/expression/numeric/DivideExpr.js +8 -6
- package/dist/mjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/MinusExpr.js +4 -6
- package/dist/mjs/expression/numeric/MinusExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/MultiplyExpr.js +4 -6
- package/dist/mjs/expression/numeric/MultiplyExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/NumParenthesisExpr.js +4 -3
- package/dist/mjs/expression/numeric/NumParenthesisExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/NumericLiteralExpr.js +5 -4
- package/dist/mjs/expression/numeric/NumericLiteralExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/PlusExpr.js +4 -6
- package/dist/mjs/expression/numeric/PlusExpr.js.map +1 -1
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js +19 -5
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/reference/ElemObjectReferenceExpr.js +3 -2
- package/dist/mjs/expression/reference/ElemObjectReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js +19 -5
- package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -1
- package/dist/mjs/expression/reference/NestedObjectChainExpr.js +33 -8
- package/dist/mjs/expression/reference/NestedObjectChainExpr.js.map +1 -1
- package/dist/mjs/expression/reference/PropObjectReferenceExpr.js +3 -2
- package/dist/mjs/expression/reference/PropObjectReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/string/StringConcatExpr.js +4 -3
- package/dist/mjs/expression/string/StringConcatExpr.js.map +1 -1
- package/dist/mjs/expression/string/StringLiteralExpr.js +5 -4
- package/dist/mjs/expression/string/StringLiteralExpr.js.map +1 -1
- package/dist/mjs/expression/structure/ArrayExpr.js +22 -0
- package/dist/mjs/expression/structure/ArrayExpr.js.map +1 -0
- package/dist/mjs/gen/parser/IfcExpressionLexer.js +74 -72
- package/dist/mjs/gen/parser/IfcExpressionLexer.js.map +1 -1
- package/dist/mjs/gen/parser/IfcExpressionParser.js +148 -104
- package/dist/mjs/gen/parser/IfcExpressionParser.js.map +1 -1
- package/dist/mjs/value/ArrayValue.js +19 -0
- package/dist/mjs/value/ArrayValue.js.map +1 -0
- package/dist/mjs/value/BooleanValue.js +12 -3
- package/dist/mjs/value/BooleanValue.js.map +1 -1
- package/dist/mjs/value/LiteralValue.js.map +1 -1
- package/dist/mjs/value/LiteralValueAnyArity.js.map +1 -1
- package/dist/mjs/value/LogicalValue.js +14 -3
- package/dist/mjs/value/LogicalValue.js.map +1 -1
- package/dist/mjs/value/NumericValue.js +16 -4
- package/dist/mjs/value/NumericValue.js.map +1 -1
- package/dist/mjs/value/ReferenceValue.js +12 -3
- package/dist/mjs/value/ReferenceValue.js.map +1 -1
- package/dist/mjs/value/StringValue.js +12 -3
- package/dist/mjs/value/StringValue.js.map +1 -1
- package/dist/mjs/value/Value.js +1 -8
- package/dist/mjs/value/Value.js.map +1 -1
- package/dist/value/ArrayValue.d.ts +12 -0
- package/dist/value/BooleanValue.d.ts +8 -1
- package/dist/value/LiteralValue.d.ts +2 -1
- package/dist/value/LiteralValueAnyArity.d.ts +1 -1
- package/dist/value/LogicalValue.d.ts +8 -1
- package/dist/value/NumericValue.d.ts +11 -4
- package/dist/value/ReferenceValue.d.ts +8 -1
- package/dist/value/StringValue.d.ts +8 -1
- package/dist/value/Value.d.ts +2 -3
- package/package.json +1 -1
- package/dist/cjs/expression/ArrayExpr.js +0 -3
- package/dist/cjs/expression/ArrayExpr.js.map +0 -1
- package/dist/cjs/expression/numeric/MultiplyByExpr.js +0 -18
- package/dist/cjs/expression/numeric/MultiplyByExpr.js.map +0 -1
- package/dist/expression/ArrayExpr.d.ts +0 -3
- package/dist/expression/numeric/MultiplyByExpr.d.ts +0 -8
- package/dist/mjs/expression/ArrayExpr.js +0 -2
- package/dist/mjs/expression/ArrayExpr.js.map +0 -1
- package/dist/mjs/expression/numeric/MultiplyByExpr.js +0 -14
- package/dist/mjs/expression/numeric/MultiplyByExpr.js.map +0 -1
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export class NumericValue extends Value {
|
|
1
|
+
import { Decimal } from "decimal.js";
|
|
2
|
+
export class NumericValue {
|
|
4
3
|
constructor(value) {
|
|
5
|
-
|
|
4
|
+
if (Decimal.isDecimal(value)) {
|
|
5
|
+
this.numericValue = value;
|
|
6
|
+
}
|
|
7
|
+
this.numericValue = new Decimal(value);
|
|
6
8
|
}
|
|
7
9
|
static of(value) {
|
|
8
10
|
return new NumericValue(value);
|
|
9
11
|
}
|
|
12
|
+
getValue() {
|
|
13
|
+
return this.numericValue;
|
|
14
|
+
}
|
|
15
|
+
static isNumericValueType(arg) {
|
|
16
|
+
return Decimal.isDecimal(arg.numericValue);
|
|
17
|
+
}
|
|
18
|
+
equals(other) {
|
|
19
|
+
return (NumericValue.isNumericValueType(other) &&
|
|
20
|
+
this.numericValue.eq(other.numericValue));
|
|
21
|
+
}
|
|
10
22
|
}
|
|
11
23
|
//# sourceMappingURL=NumericValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["value/NumericValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["value/NumericValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,MAAM,OAAO,YAAY;IAGvB,YAAY,KAAgC;QAC1C,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,KAAgC;QAC/C,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAQ;QAChC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,KAAiB;QACtB,OAAO,CACL,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CACzC,CAAC;IACJ,CAAC;CACF","file":"value/NumericValue.js","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport { Value } from \"./Value.js\";\n\nexport class NumericValue implements Value<Decimal> {\n private readonly numericValue: Decimal;\n\n constructor(value: Decimal | string | number) {\n if (Decimal.isDecimal(value)) {\n this.numericValue = value;\n }\n this.numericValue = new Decimal(value);\n }\n\n public static of(value: Decimal | string | number): NumericValue {\n return new NumericValue(value);\n }\n\n getValue(): Decimal {\n return this.numericValue;\n }\n\n static isNumericValueType(arg: any): arg is NumericValueType {\n return Decimal.isDecimal(arg.numericValue);\n }\n\n equals(other: Value<any>): boolean {\n return (\n NumericValue.isNumericValueType(other) &&\n this.numericValue.eq(other.numericValue)\n );\n }\n}\n\nexport type NumericValueType = {\n numericValue: Decimal;\n};\n"]}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
export class ReferenceValue extends Value {
|
|
1
|
+
export class ReferenceValue {
|
|
3
2
|
constructor(value) {
|
|
4
|
-
|
|
3
|
+
this.referenceValue = value;
|
|
5
4
|
}
|
|
6
5
|
static of(value) {
|
|
7
6
|
return new ReferenceValue(value);
|
|
8
7
|
}
|
|
8
|
+
getValue() {
|
|
9
|
+
return this.referenceValue;
|
|
10
|
+
}
|
|
11
|
+
equals(other) {
|
|
12
|
+
return (ReferenceValue.isReferenceValueType(other) &&
|
|
13
|
+
other.referenceValue === this.referenceValue);
|
|
14
|
+
}
|
|
15
|
+
static isReferenceValueType(arg) {
|
|
16
|
+
return typeof arg.referenceValue === "string";
|
|
17
|
+
}
|
|
9
18
|
}
|
|
10
19
|
//# sourceMappingURL=ReferenceValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["value/ReferenceValue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["value/ReferenceValue.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAGzB,YAAY,KAAa;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,KAAa;QAC5B,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAiB;QACtB,OAAO,CACL,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC;YAC1C,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,cAAc,CAC7C,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,GAAQ;QAClC,OAAO,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC;IAChD,CAAC;CACF","file":"value/ReferenceValue.js","sourcesContent":["import { Value } from \"./Value.js\";\n\nexport class ReferenceValue implements Value<string> {\n private readonly referenceValue: string;\n\n constructor(value: string) {\n this.referenceValue = value;\n }\n\n public static of(value: string): ReferenceValue {\n return new ReferenceValue(value);\n }\n\n getValue(): string {\n return this.referenceValue;\n }\n\n equals(other: Value<any>): boolean {\n return (\n ReferenceValue.isReferenceValueType(other) &&\n other.referenceValue === this.referenceValue\n );\n }\n\n static isReferenceValueType(arg: any): arg is ReferenceValueType {\n return typeof arg.referenceValue === \"string\";\n }\n}\n\nexport type ReferenceValueType = {\n referenceValue: string;\n};\n"]}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
export class StringValue extends Value {
|
|
1
|
+
export class StringValue {
|
|
3
2
|
constructor(value) {
|
|
4
|
-
|
|
3
|
+
this.stringValue = value;
|
|
5
4
|
}
|
|
6
5
|
static of(value) {
|
|
7
6
|
return new StringValue(value);
|
|
8
7
|
}
|
|
8
|
+
getValue() {
|
|
9
|
+
return this.stringValue;
|
|
10
|
+
}
|
|
11
|
+
equals(other) {
|
|
12
|
+
return (StringValue.isStringValueType(other) &&
|
|
13
|
+
other.stringValue === this.stringValue);
|
|
14
|
+
}
|
|
15
|
+
static isStringValueType(arg) {
|
|
16
|
+
return typeof arg.stringValue === "string";
|
|
17
|
+
}
|
|
9
18
|
}
|
|
10
19
|
//# sourceMappingURL=StringValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["value/StringValue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["value/StringValue.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAGtB,YAAY,KAAa;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,KAAa;QAC5B,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAiB;QACtB,OAAO,CACL,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC;YACpC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CACvC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAQ;QAC/B,OAAO,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC;IAC7C,CAAC;CACF","file":"value/StringValue.js","sourcesContent":["import { Value } from \"./Value.js\";\n\nexport class StringValue implements Value<string> {\n private readonly stringValue: string;\n\n constructor(value: string) {\n this.stringValue = value;\n }\n\n public static of(value: string): StringValue {\n return new StringValue(value);\n }\n\n getValue(): string {\n return this.stringValue;\n }\n\n equals(other: Value<any>): boolean {\n return (\n StringValue.isStringValueType(other) &&\n other.stringValue === this.stringValue\n );\n }\n\n static isStringValueType(arg: any): arg is StringValueType {\n return typeof arg.stringValue === \"string\";\n }\n}\n\nexport type StringValueType = {\n stringValue: string;\n};\n"]}
|
package/dist/mjs/value/Value.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["value/Value.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["value/Value.ts"],"names":[],"mappings":"","file":"value/Value.js","sourcesContent":["import { PrimitiveValueType } from \"./PrimitiveValueType.js\";\n\nexport interface Value<\n T extends\n | PrimitiveValueType\n | Array<Value<PrimitiveValueType | Array<Value<PrimitiveValueType>>>>\n> {\n getValue(): T;\n equals(other: Value<any>): boolean;\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Value } from "./Value";
|
|
2
|
+
export declare class ArrayValue implements Value<Array<Value<any>>> {
|
|
3
|
+
private readonly arrayValue;
|
|
4
|
+
constructor(value: Array<Value<any>>);
|
|
5
|
+
static of(value: Array<Value<any>>): ArrayValue;
|
|
6
|
+
getValue(): Array<Value<any>>;
|
|
7
|
+
equals(other: Value<any>): boolean;
|
|
8
|
+
static isArrayValueType(arg: any): arg is ArrayValueType;
|
|
9
|
+
}
|
|
10
|
+
export type ArrayValueType = {
|
|
11
|
+
arrayValue: Array<Value<any>>;
|
|
12
|
+
};
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Value } from "./Value.js";
|
|
2
|
-
export declare class BooleanValue
|
|
2
|
+
export declare class BooleanValue implements Value<boolean> {
|
|
3
|
+
private readonly booleanValue;
|
|
3
4
|
constructor(value: boolean);
|
|
4
5
|
static of(value: boolean): BooleanValue;
|
|
6
|
+
getValue(): boolean;
|
|
7
|
+
equals(other: Value<any>): boolean;
|
|
8
|
+
static isBooleanValueType(arg: any): arg is BooleanValueType;
|
|
5
9
|
}
|
|
10
|
+
export type BooleanValueType = {
|
|
11
|
+
booleanValue: boolean;
|
|
12
|
+
};
|
|
@@ -3,4 +3,5 @@ import { StringValue } from "./StringValue.js";
|
|
|
3
3
|
import { BooleanValue } from "./BooleanValue.js";
|
|
4
4
|
import { LogicalValue } from "./LogicalValue.js";
|
|
5
5
|
import { ReferenceValue } from "./ReferenceValue.js";
|
|
6
|
-
|
|
6
|
+
import { ArrayValue } from "./ArrayValue";
|
|
7
|
+
export type LiteralValue = NumericValue | StringValue | BooleanValue | LogicalValue | ReferenceValue | ArrayValue;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { LiteralValue } from "./LiteralValue.js";
|
|
2
|
-
export type LiteralValueAnyArity = LiteralValue
|
|
2
|
+
export type LiteralValueAnyArity = LiteralValue;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Value } from "./Value.js";
|
|
2
|
-
export declare class LogicalValue
|
|
2
|
+
export declare class LogicalValue implements Value<boolean | "UNKNOWN"> {
|
|
3
|
+
private readonly logicalValue;
|
|
3
4
|
constructor(value: boolean | "UNKNOWN");
|
|
4
5
|
static of(value: boolean | "UNKNOWN"): LogicalValue;
|
|
6
|
+
getValue(): boolean | "UNKNOWN";
|
|
7
|
+
equals(other: Value<any>): boolean;
|
|
8
|
+
static isLogicalValueType(arg: any): arg is LogicalValueType;
|
|
5
9
|
}
|
|
10
|
+
export type LogicalValueType = {
|
|
11
|
+
logicalValue: boolean | "UNKNOWN";
|
|
12
|
+
};
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import { Decimal } from "decimal.js";
|
|
1
2
|
import { Value } from "./Value.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
constructor(value:
|
|
5
|
-
static of(value:
|
|
3
|
+
export declare class NumericValue implements Value<Decimal> {
|
|
4
|
+
private readonly numericValue;
|
|
5
|
+
constructor(value: Decimal | string | number);
|
|
6
|
+
static of(value: Decimal | string | number): NumericValue;
|
|
7
|
+
getValue(): Decimal;
|
|
8
|
+
static isNumericValueType(arg: any): arg is NumericValueType;
|
|
9
|
+
equals(other: Value<any>): boolean;
|
|
6
10
|
}
|
|
11
|
+
export type NumericValueType = {
|
|
12
|
+
numericValue: Decimal;
|
|
13
|
+
};
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Value } from "./Value.js";
|
|
2
|
-
export declare class ReferenceValue
|
|
2
|
+
export declare class ReferenceValue implements Value<string> {
|
|
3
|
+
private readonly referenceValue;
|
|
3
4
|
constructor(value: string);
|
|
4
5
|
static of(value: string): ReferenceValue;
|
|
6
|
+
getValue(): string;
|
|
7
|
+
equals(other: Value<any>): boolean;
|
|
8
|
+
static isReferenceValueType(arg: any): arg is ReferenceValueType;
|
|
5
9
|
}
|
|
10
|
+
export type ReferenceValueType = {
|
|
11
|
+
referenceValue: string;
|
|
12
|
+
};
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Value } from "./Value.js";
|
|
2
|
-
export declare class StringValue
|
|
2
|
+
export declare class StringValue implements Value<string> {
|
|
3
|
+
private readonly stringValue;
|
|
3
4
|
constructor(value: string);
|
|
4
5
|
static of(value: string): StringValue;
|
|
6
|
+
getValue(): string;
|
|
7
|
+
equals(other: Value<any>): boolean;
|
|
8
|
+
static isStringValueType(arg: any): arg is StringValueType;
|
|
5
9
|
}
|
|
10
|
+
export type StringValueType = {
|
|
11
|
+
stringValue: string;
|
|
12
|
+
};
|
package/dist/value/Value.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { PrimitiveValueType } from "./PrimitiveValueType.js";
|
|
2
|
-
export
|
|
3
|
-
private readonly value;
|
|
4
|
-
constructor(value: T);
|
|
2
|
+
export interface Value<T extends PrimitiveValueType | Array<Value<PrimitiveValueType | Array<Value<PrimitiveValueType>>>>> {
|
|
5
3
|
getValue(): T;
|
|
4
|
+
equals(other: Value<any>): boolean;
|
|
6
5
|
}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/expression/ArrayExpr.ts"],"names":[],"mappings":"","file":"expression/ArrayExpr.js","sourcesContent":["export interface ArrayExpr<T> {\n evaluate(): Array<T>;\n}\n"]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PlusExpr = void 0;
|
|
4
|
-
const Expr2_js_1 = require("../Expr2.js");
|
|
5
|
-
const NumericValue_js_1 = require("../../value/NumericValue.js");
|
|
6
|
-
class PlusExpr extends Expr2_js_1.Expr2 {
|
|
7
|
-
constructor(left, right) {
|
|
8
|
-
super(left, right);
|
|
9
|
-
}
|
|
10
|
-
evaluate(ctx) {
|
|
11
|
-
return NumericValue_js_1.NumericValue.of(this.left
|
|
12
|
-
.evaluate(ctx)
|
|
13
|
-
.getValue()
|
|
14
|
-
.mul(this.right.evaluate(ctx).getValue()));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.PlusExpr = PlusExpr;
|
|
18
|
-
//# sourceMappingURL=MultiplyByExpr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/expression/numeric/MultiplyByExpr.ts"],"names":[],"mappings":";;;AAAA,0CAAoC;AAGpC,iEAA2D;AAE3D,MAAa,QAAS,SAAQ,gBAI7B;IACC,YAAY,IAAwB,EAAE,KAAyB;QAC7D,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,GAAyB;QAChC,OAAO,8BAAY,CAAC,EAAE,CACpB,IAAI,CAAC,IAAI;aACN,QAAQ,CAAC,GAAG,CAAC;aACb,QAAQ,EAAE;aACV,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF;AAjBD,4BAiBC","file":"expression/numeric/MultiplyByExpr.js","sourcesContent":["import { Expr2 } from \"../Expr2.js\";\nimport { Expr } from \"../Expr.js\";\nimport { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { NumericValue } from \"../../value/NumericValue.js\";\n\nexport class PlusExpr extends Expr2<\n Expr<NumericValue>,\n Expr<NumericValue>,\n NumericValue\n> {\n constructor(left: Expr<NumericValue>, right: Expr<NumericValue>) {\n super(left, right);\n }\n\n evaluate(ctx: IfcExpressionContext): NumericValue {\n return NumericValue.of(\n this.left\n .evaluate(ctx)\n .getValue()\n .mul(this.right.evaluate(ctx).getValue())\n );\n }\n}\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Expr2 } from "../Expr2.js";
|
|
2
|
-
import { Expr } from "../Expr.js";
|
|
3
|
-
import { IfcExpressionContext } from "../../context/IfcExpressionContext.js";
|
|
4
|
-
import { NumericValue } from "../../value/NumericValue.js";
|
|
5
|
-
export declare class PlusExpr extends Expr2<Expr<NumericValue>, Expr<NumericValue>, NumericValue> {
|
|
6
|
-
constructor(left: Expr<NumericValue>, right: Expr<NumericValue>);
|
|
7
|
-
evaluate(ctx: IfcExpressionContext): NumericValue;
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/ArrayExpr.ts"],"names":[],"mappings":"","file":"expression/ArrayExpr.js","sourcesContent":["export interface ArrayExpr<T> {\n evaluate(): Array<T>;\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Expr2 } from "../Expr2.js";
|
|
2
|
-
import { NumericValue } from "../../value/NumericValue.js";
|
|
3
|
-
export class PlusExpr extends Expr2 {
|
|
4
|
-
constructor(left, right) {
|
|
5
|
-
super(left, right);
|
|
6
|
-
}
|
|
7
|
-
evaluate(ctx) {
|
|
8
|
-
return NumericValue.of(this.left
|
|
9
|
-
.evaluate(ctx)
|
|
10
|
-
.getValue()
|
|
11
|
-
.mul(this.right.evaluate(ctx).getValue()));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=MultiplyByExpr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/numeric/MultiplyByExpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,OAAO,QAAS,SAAQ,KAI7B;IACC,YAAY,IAAwB,EAAE,KAAyB;QAC7D,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,GAAyB;QAChC,OAAO,YAAY,CAAC,EAAE,CACpB,IAAI,CAAC,IAAI;aACN,QAAQ,CAAC,GAAG,CAAC;aACb,QAAQ,EAAE;aACV,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF","file":"expression/numeric/MultiplyByExpr.js","sourcesContent":["import { Expr2 } from \"../Expr2.js\";\nimport { Expr } from \"../Expr.js\";\nimport { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { NumericValue } from \"../../value/NumericValue.js\";\n\nexport class PlusExpr extends Expr2<\n Expr<NumericValue>,\n Expr<NumericValue>,\n NumericValue\n> {\n constructor(left: Expr<NumericValue>, right: Expr<NumericValue>) {\n super(left, right);\n }\n\n evaluate(ctx: IfcExpressionContext): NumericValue {\n return NumericValue.of(\n this.left\n .evaluate(ctx)\n .getValue()\n .mul(this.right.evaluate(ctx).getValue())\n );\n }\n}\n"]}
|