ifc-expressions 2.1.1 → 2.3.0-beta.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.
Files changed (208) hide show
  1. package/README.md +9 -1
  2. package/dist/IfcExpression.d.ts +6 -1
  3. package/dist/cjs/E.js.map +1 -1
  4. package/dist/cjs/IfcExpression.js +11 -1
  5. package/dist/cjs/IfcExpression.js.map +1 -1
  6. package/dist/cjs/compiler/ExprCompiler.js.map +1 -1
  7. package/dist/cjs/error/ExceptionToExprEvalErrorMapper.js.map +1 -1
  8. package/dist/cjs/error/MissingFunctionArgumentException.js.map +1 -1
  9. package/dist/cjs/error/SpuriousFunctionArgumentException.js.map +1 -1
  10. package/dist/cjs/error/mapper/SpuriousFunctionArgumentExceptionMapper.js.map +1 -1
  11. package/dist/cjs/error/value/DateFormatException.js +10 -0
  12. package/dist/cjs/error/value/DateFormatException.js.map +1 -0
  13. package/dist/cjs/expression/boolean/AndExpr.js.map +1 -1
  14. package/dist/cjs/expression/boolean/BinaryBooleanOpExpr.js.map +1 -1
  15. package/dist/cjs/expression/boolean/LogicalLiteralExpr.js.map +1 -1
  16. package/dist/cjs/expression/boolean/NotExpr.js.map +1 -1
  17. package/dist/cjs/expression/boolean/OrExpr.js.map +1 -1
  18. package/dist/cjs/expression/boolean/XorExpr.js.map +1 -1
  19. package/dist/cjs/expression/function/Func.js +2 -0
  20. package/dist/cjs/expression/function/Func.js.map +1 -1
  21. package/dist/cjs/expression/function/IfcExpressionFunctions.js +12 -0
  22. package/dist/cjs/expression/function/IfcExpressionFunctions.js.map +1 -1
  23. package/dist/cjs/expression/function/arg/FuncArgArray.js.map +1 -1
  24. package/dist/cjs/expression/function/arg/FuncArgBase.js +9 -2
  25. package/dist/cjs/expression/function/arg/FuncArgBase.js.map +1 -1
  26. package/dist/cjs/expression/function/arg/FuncArgIfcDateString.js +34 -0
  27. package/dist/cjs/expression/function/arg/FuncArgIfcDateString.js.map +1 -0
  28. package/dist/cjs/expression/function/arg/FuncArgIfcDateTime.js +27 -0
  29. package/dist/cjs/expression/function/arg/FuncArgIfcDateTime.js.map +1 -0
  30. package/dist/cjs/expression/function/arg/FuncArgIfcDateTimeString.js +35 -0
  31. package/dist/cjs/expression/function/arg/FuncArgIfcDateTimeString.js.map +1 -0
  32. package/dist/cjs/expression/function/arg/FuncArgIfcDuration.js +27 -0
  33. package/dist/cjs/expression/function/arg/FuncArgIfcDuration.js.map +1 -0
  34. package/dist/cjs/expression/function/arg/FuncArgIfcDurationString.js +30 -0
  35. package/dist/cjs/expression/function/arg/FuncArgIfcDurationString.js.map +1 -0
  36. package/dist/cjs/expression/function/arg/FuncArgIfcTimeStamp.js +27 -0
  37. package/dist/cjs/expression/function/arg/FuncArgIfcTimeStamp.js.map +1 -0
  38. package/dist/cjs/expression/function/arg/FuncArgIfcTimeStampNumeric.js +28 -0
  39. package/dist/cjs/expression/function/arg/FuncArgIfcTimeStampNumeric.js.map +1 -0
  40. package/dist/cjs/expression/function/arg/FuncArgIfcTimeString.js +34 -0
  41. package/dist/cjs/expression/function/arg/FuncArgIfcTimeString.js.map +1 -0
  42. package/dist/cjs/expression/function/arg/FuncArgLogicalOrBoolean.js.map +1 -1
  43. package/dist/cjs/expression/function/arg/FuncArgRegexFlag.js.map +1 -1
  44. package/dist/cjs/expression/function/arg/FuncArgUnion.js +32 -0
  45. package/dist/cjs/expression/function/arg/FuncArgUnion.js.map +1 -0
  46. package/dist/cjs/expression/function/impl/ADDDURATION.js +53 -0
  47. package/dist/cjs/expression/function/impl/ADDDURATION.js.map +1 -0
  48. package/dist/cjs/expression/function/impl/AT.js.map +1 -1
  49. package/dist/cjs/expression/function/impl/ApplyRegex.js.map +1 -1
  50. package/dist/cjs/expression/function/impl/FuncBooleanBinary.js.map +1 -1
  51. package/dist/cjs/expression/function/impl/IF.js.map +1 -1
  52. package/dist/cjs/expression/function/impl/NOT.js.map +1 -1
  53. package/dist/cjs/expression/function/impl/ReplacePattern.js.map +1 -1
  54. package/dist/cjs/expression/function/impl/SPLIT.js.map +1 -1
  55. package/dist/cjs/expression/function/impl/SUBSTRING.js.map +1 -1
  56. package/dist/cjs/expression/function/impl/TOBOOLEAN.js +0 -1
  57. package/dist/cjs/expression/function/impl/TOBOOLEAN.js.map +1 -1
  58. package/dist/cjs/expression/function/impl/TOIFCDATE.js +33 -0
  59. package/dist/cjs/expression/function/impl/TOIFCDATE.js.map +1 -0
  60. package/dist/cjs/expression/function/impl/TOIFCDATETIME.js +36 -0
  61. package/dist/cjs/expression/function/impl/TOIFCDATETIME.js.map +1 -0
  62. package/dist/cjs/expression/function/impl/TOIFCDURATION.js +21 -0
  63. package/dist/cjs/expression/function/impl/TOIFCDURATION.js.map +1 -0
  64. package/dist/cjs/expression/function/impl/TOIFCTIME.js +33 -0
  65. package/dist/cjs/expression/function/impl/TOIFCTIME.js.map +1 -0
  66. package/dist/cjs/expression/function/impl/TOIFCTIMESTAMP.js +36 -0
  67. package/dist/cjs/expression/function/impl/TOIFCTIMESTAMP.js.map +1 -0
  68. package/dist/cjs/expression/function/impl/TOLOGICAL.js.map +1 -1
  69. package/dist/cjs/expression/function/impl/TONUMERIC.js +0 -1
  70. package/dist/cjs/expression/function/impl/TONUMERIC.js.map +1 -1
  71. package/dist/cjs/type/Types.js +35 -0
  72. package/dist/cjs/type/Types.js.map +1 -1
  73. package/dist/cjs/util/TextSpan.js +0 -1
  74. package/dist/cjs/util/TextSpan.js.map +1 -1
  75. package/dist/cjs/value/BooleanValue.js.map +1 -1
  76. package/dist/cjs/value/ExpressionValue.js.map +1 -1
  77. package/dist/cjs/value/IfcDateTimeValue.js +194 -0
  78. package/dist/cjs/value/IfcDateTimeValue.js.map +1 -0
  79. package/dist/cjs/value/IfcDateValue.js +68 -0
  80. package/dist/cjs/value/IfcDateValue.js.map +1 -0
  81. package/dist/cjs/value/IfcDurationValue.js +149 -0
  82. package/dist/cjs/value/IfcDurationValue.js.map +1 -0
  83. package/dist/cjs/value/IfcTimeStampValue.js +62 -0
  84. package/dist/cjs/value/IfcTimeStampValue.js.map +1 -0
  85. package/dist/cjs/value/IfcTimeValue.js +93 -0
  86. package/dist/cjs/value/IfcTimeValue.js.map +1 -0
  87. package/dist/cjs/value/LogicalValue.js.map +1 -1
  88. package/dist/cjs/value/Value.js.map +1 -1
  89. package/dist/cjs/value/ValueType.js +3 -0
  90. package/dist/cjs/value/ValueType.js.map +1 -0
  91. package/dist/error/value/DateFormatException.d.ts +3 -0
  92. package/dist/expression/function/Func.d.ts +3 -0
  93. package/dist/expression/function/arg/FuncArgBase.d.ts +1 -0
  94. package/dist/expression/function/arg/FuncArgIfcDateString.d.ts +11 -0
  95. package/dist/expression/function/arg/FuncArgIfcDateTime.d.ts +11 -0
  96. package/dist/expression/function/arg/FuncArgIfcDateTimeString.d.ts +11 -0
  97. package/dist/expression/function/arg/FuncArgIfcDuration.d.ts +11 -0
  98. package/dist/expression/function/arg/FuncArgIfcDurationString.d.ts +11 -0
  99. package/dist/expression/function/arg/FuncArgIfcTimeStamp.d.ts +11 -0
  100. package/dist/expression/function/arg/FuncArgIfcTimeStampNumeric.d.ts +11 -0
  101. package/dist/expression/function/arg/FuncArgIfcTimeString.d.ts +11 -0
  102. package/dist/expression/function/arg/FuncArgUnion.d.ts +14 -0
  103. package/dist/expression/function/impl/ADDDURATION.d.ts +10 -0
  104. package/dist/expression/function/impl/TOBOOLEAN.d.ts +0 -1
  105. package/dist/expression/function/impl/TOIFCDATE.d.ts +10 -0
  106. package/dist/expression/function/impl/TOIFCDATETIME.d.ts +10 -0
  107. package/dist/expression/function/impl/TOIFCDURATION.d.ts +10 -0
  108. package/dist/expression/function/impl/TOIFCTIME.d.ts +10 -0
  109. package/dist/expression/function/impl/TOIFCTIMESTAMP.d.ts +10 -0
  110. package/dist/expression/function/impl/TONUMERIC.d.ts +0 -1
  111. package/dist/mjs/E.js.map +1 -1
  112. package/dist/mjs/IfcExpression.js +6 -1
  113. package/dist/mjs/IfcExpression.js.map +1 -1
  114. package/dist/mjs/compiler/ExprCompiler.js.map +1 -1
  115. package/dist/mjs/error/ExceptionToExprEvalErrorMapper.js.map +1 -1
  116. package/dist/mjs/error/MissingFunctionArgumentException.js.map +1 -1
  117. package/dist/mjs/error/SpuriousFunctionArgumentException.js.map +1 -1
  118. package/dist/mjs/error/mapper/SpuriousFunctionArgumentExceptionMapper.js.map +1 -1
  119. package/dist/mjs/error/value/DateFormatException.js +6 -0
  120. package/dist/mjs/error/value/DateFormatException.js.map +1 -0
  121. package/dist/mjs/expression/boolean/AndExpr.js.map +1 -1
  122. package/dist/mjs/expression/boolean/BinaryBooleanOpExpr.js.map +1 -1
  123. package/dist/mjs/expression/boolean/LogicalLiteralExpr.js.map +1 -1
  124. package/dist/mjs/expression/boolean/NotExpr.js.map +1 -1
  125. package/dist/mjs/expression/boolean/OrExpr.js.map +1 -1
  126. package/dist/mjs/expression/boolean/XorExpr.js.map +1 -1
  127. package/dist/mjs/expression/function/Func.js +2 -0
  128. package/dist/mjs/expression/function/Func.js.map +1 -1
  129. package/dist/mjs/expression/function/IfcExpressionFunctions.js +12 -0
  130. package/dist/mjs/expression/function/IfcExpressionFunctions.js.map +1 -1
  131. package/dist/mjs/expression/function/arg/FuncArgArray.js.map +1 -1
  132. package/dist/mjs/expression/function/arg/FuncArgBase.js +10 -3
  133. package/dist/mjs/expression/function/arg/FuncArgBase.js.map +1 -1
  134. package/dist/mjs/expression/function/arg/FuncArgIfcDateString.js +30 -0
  135. package/dist/mjs/expression/function/arg/FuncArgIfcDateString.js.map +1 -0
  136. package/dist/mjs/expression/function/arg/FuncArgIfcDateTime.js +23 -0
  137. package/dist/mjs/expression/function/arg/FuncArgIfcDateTime.js.map +1 -0
  138. package/dist/mjs/expression/function/arg/FuncArgIfcDateTimeString.js +31 -0
  139. package/dist/mjs/expression/function/arg/FuncArgIfcDateTimeString.js.map +1 -0
  140. package/dist/mjs/expression/function/arg/FuncArgIfcDuration.js +23 -0
  141. package/dist/mjs/expression/function/arg/FuncArgIfcDuration.js.map +1 -0
  142. package/dist/mjs/expression/function/arg/FuncArgIfcDurationString.js +26 -0
  143. package/dist/mjs/expression/function/arg/FuncArgIfcDurationString.js.map +1 -0
  144. package/dist/mjs/expression/function/arg/FuncArgIfcTimeStamp.js +23 -0
  145. package/dist/mjs/expression/function/arg/FuncArgIfcTimeStamp.js.map +1 -0
  146. package/dist/mjs/expression/function/arg/FuncArgIfcTimeStampNumeric.js +24 -0
  147. package/dist/mjs/expression/function/arg/FuncArgIfcTimeStampNumeric.js.map +1 -0
  148. package/dist/mjs/expression/function/arg/FuncArgIfcTimeString.js +30 -0
  149. package/dist/mjs/expression/function/arg/FuncArgIfcTimeString.js.map +1 -0
  150. package/dist/mjs/expression/function/arg/FuncArgLogicalOrBoolean.js.map +1 -1
  151. package/dist/mjs/expression/function/arg/FuncArgRegexFlag.js.map +1 -1
  152. package/dist/mjs/expression/function/arg/FuncArgUnion.js +28 -0
  153. package/dist/mjs/expression/function/arg/FuncArgUnion.js.map +1 -0
  154. package/dist/mjs/expression/function/impl/ADDDURATION.js +49 -0
  155. package/dist/mjs/expression/function/impl/ADDDURATION.js.map +1 -0
  156. package/dist/mjs/expression/function/impl/AT.js.map +1 -1
  157. package/dist/mjs/expression/function/impl/ApplyRegex.js.map +1 -1
  158. package/dist/mjs/expression/function/impl/FuncBooleanBinary.js.map +1 -1
  159. package/dist/mjs/expression/function/impl/IF.js.map +1 -1
  160. package/dist/mjs/expression/function/impl/NOT.js.map +1 -1
  161. package/dist/mjs/expression/function/impl/ReplacePattern.js.map +1 -1
  162. package/dist/mjs/expression/function/impl/SPLIT.js.map +1 -1
  163. package/dist/mjs/expression/function/impl/SUBSTRING.js.map +1 -1
  164. package/dist/mjs/expression/function/impl/TOBOOLEAN.js +0 -1
  165. package/dist/mjs/expression/function/impl/TOBOOLEAN.js.map +1 -1
  166. package/dist/mjs/expression/function/impl/TOIFCDATE.js +29 -0
  167. package/dist/mjs/expression/function/impl/TOIFCDATE.js.map +1 -0
  168. package/dist/mjs/expression/function/impl/TOIFCDATETIME.js +32 -0
  169. package/dist/mjs/expression/function/impl/TOIFCDATETIME.js.map +1 -0
  170. package/dist/mjs/expression/function/impl/TOIFCDURATION.js +17 -0
  171. package/dist/mjs/expression/function/impl/TOIFCDURATION.js.map +1 -0
  172. package/dist/mjs/expression/function/impl/TOIFCTIME.js +29 -0
  173. package/dist/mjs/expression/function/impl/TOIFCTIME.js.map +1 -0
  174. package/dist/mjs/expression/function/impl/TOIFCTIMESTAMP.js +32 -0
  175. package/dist/mjs/expression/function/impl/TOIFCTIMESTAMP.js.map +1 -0
  176. package/dist/mjs/expression/function/impl/TOLOGICAL.js.map +1 -1
  177. package/dist/mjs/expression/function/impl/TONUMERIC.js +0 -1
  178. package/dist/mjs/expression/function/impl/TONUMERIC.js.map +1 -1
  179. package/dist/mjs/type/Types.js +35 -0
  180. package/dist/mjs/type/Types.js.map +1 -1
  181. package/dist/mjs/util/TextSpan.js +0 -1
  182. package/dist/mjs/util/TextSpan.js.map +1 -1
  183. package/dist/mjs/value/BooleanValue.js.map +1 -1
  184. package/dist/mjs/value/ExpressionValue.js.map +1 -1
  185. package/dist/mjs/value/IfcDateTimeValue.js +186 -0
  186. package/dist/mjs/value/IfcDateTimeValue.js.map +1 -0
  187. package/dist/mjs/value/IfcDateValue.js +64 -0
  188. package/dist/mjs/value/IfcDateValue.js.map +1 -0
  189. package/dist/mjs/value/IfcDurationValue.js +142 -0
  190. package/dist/mjs/value/IfcDurationValue.js.map +1 -0
  191. package/dist/mjs/value/IfcTimeStampValue.js +58 -0
  192. package/dist/mjs/value/IfcTimeStampValue.js.map +1 -0
  193. package/dist/mjs/value/IfcTimeValue.js +86 -0
  194. package/dist/mjs/value/IfcTimeValue.js.map +1 -0
  195. package/dist/mjs/value/LogicalValue.js.map +1 -1
  196. package/dist/mjs/value/Value.js.map +1 -1
  197. package/dist/mjs/value/ValueType.js +2 -0
  198. package/dist/mjs/value/ValueType.js.map +1 -0
  199. package/dist/type/Types.d.ts +15 -0
  200. package/dist/value/ExpressionValue.d.ts +6 -1
  201. package/dist/value/IfcDateTimeValue.d.ts +44 -0
  202. package/dist/value/IfcDateValue.d.ts +24 -0
  203. package/dist/value/IfcDurationValue.d.ts +53 -0
  204. package/dist/value/IfcTimeStampValue.d.ts +18 -0
  205. package/dist/value/IfcTimeValue.d.ts +27 -0
  206. package/dist/value/Value.d.ts +2 -1
  207. package/dist/value/ValueType.d.ts +6 -0
  208. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/IfcExpressionFunctions.ts"],"names":[],"mappings":"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","file":"expression/function/IfcExpressionFunctions.js","sourcesContent":["import { Func } from \"./Func.js\";\nimport { isNullish } from \"../../util/IfcExpressionUtils.js\";\nimport { MAP } from \"./impl/MAP.js\";\nimport { ROUND } from \"./impl/ROUND.js\";\nimport { AttributeAccessorFunction } from \"./impl/AttributeAccessorFunction.js\";\nimport { PROPERTYSET } from \"./impl/PROPERTYSET.js\";\nimport { PROPERTY } from \"./impl/PROPERTY.js\";\nimport { TYPE } from \"./impl/TYPE.js\";\nimport { FuncBooleanBinary } from \"./impl/FuncBooleanBinary.js\";\nimport { NOT } from \"./impl/NOT.js\";\nimport { CHOOSE } from \"./impl/CHOOSE.js\";\nimport { MatchesPattern } from \"./impl/MatchesPattern.js\";\nimport { Type, Types } from \"../../type/Types.js\";\nimport { TOSTRING } from \"./impl/TOSTRING.js\";\nimport { EXISTS } from \"./impl/EXISTS.js\";\nimport { EQUALS } from \"./impl/EQUALS.js\";\nimport { CompareMagnitudes } from \"./impl/CompareMagnitudes.js\";\nimport { ReplacePattern } from \"./impl/ReplacePattern.js\";\nimport { IF } from \"./impl/IF.js\";\nimport { TONUMERIC } from \"./impl/TONUMERIC\";\nimport { IfcExpressionFunctionConfigException } from \"../../error/IfcExpressionFunctionConfigException\";\nimport { TOBOOLEAN } from \"./impl/TOBOOLEAN\";\nimport { TOLOGICAL } from \"./impl/TOLOGICAL\";\nimport { TOLOWERCASE } from \"./impl/TOLOWERCASE\";\nimport { TOUPPERCASE } from \"./impl/TOUPPERCASE\";\nimport { SUBSTRING } from \"./impl/SUBSTRING\";\nimport { SPLIT } from \"./impl/SPLIT\";\nimport { AT } from \"./impl/AT\";\n\nconst builtinFunctions = new Map<string, Func>();\n\nfunction registerOrDie(fnKey: string, func: Func) {\n if (builtinFunctions.has(fnKey)) {\n throw new IfcExpressionFunctionConfigException(\n `cannot register function with name '${fnKey}': name already in use`\n );\n }\n builtinFunctions.set(fnKey, func);\n}\n\nfunction registerFunc(func: Func, ...aliases: Array<string>) {\n const fnKey = func.getName();\n const keys = [...aliases];\n keys.unshift(fnKey);\n keys.forEach((key) =>\n registerOrDie(IfcExpressionFunctions.normalizeName(key), func)\n );\n}\n\nexport class IfcExpressionFunctions {\n public static normalizeName(name: string): string {\n if (isNullish(name)) {\n return undefined;\n }\n return name.toUpperCase();\n }\n\n public static isBuiltinFunction(name: string) {\n if (isNullish(name)) {\n return false;\n }\n return builtinFunctions.has(this.normalizeName(name));\n }\n\n public static getFunction(name: string): Func {\n if (isNullish(name)) {\n return undefined;\n }\n return builtinFunctions.get(this.normalizeName(name));\n }\n}\n\nregisterFunc(new MAP());\nregisterFunc(new CHOOSE());\nregisterFunc(new AT());\nregisterFunc(new IF());\nregisterFunc(new ROUND());\nregisterFunc(new AttributeAccessorFunction(\"name\", Type.STRING));\nregisterFunc(new AttributeAccessorFunction(\"guid\", Type.STRING));\nregisterFunc(new AttributeAccessorFunction(\"ifcClass\", Type.STRING));\nregisterFunc(new AttributeAccessorFunction(\"description\", Type.STRING));\nregisterFunc(\n new AttributeAccessorFunction(\n \"value\",\n Types.or(Type.STRING, Type.NUMERIC, Type.BOOLEAN, Type.ARRAY)\n )\n);\nregisterFunc(new PROPERTYSET());\nregisterFunc(new PROPERTY());\nregisterFunc(new TYPE());\nregisterFunc(new NOT());\nregisterFunc(new TOSTRING());\nregisterFunc(new TONUMERIC(), \"TONUMBER\");\nregisterFunc(new TOBOOLEAN());\nregisterFunc(new TOLOGICAL(), \"NOTFOUNDASUNKNOWN\");\nregisterFunc(new TOLOWERCASE());\nregisterFunc(new TOUPPERCASE());\nregisterFunc(new SUBSTRING());\nregisterFunc(new SPLIT());\nregisterFunc(new EXISTS());\nregisterFunc(new FuncBooleanBinary(\"AND\", \"and\"));\nregisterFunc(new FuncBooleanBinary(\"OR\", \"or\"));\nregisterFunc(new FuncBooleanBinary(\"XOR\", \"xor\"));\nregisterFunc(new FuncBooleanBinary(\"IMPLIES\", \"implies\"));\nregisterFunc(new EQUALS());\nregisterFunc(new CompareMagnitudes(\"GREATERTHAN\", (cmp) => cmp > 0));\nregisterFunc(new CompareMagnitudes(\"GREATERTHANOREQUAL\", (cmp) => cmp >= 0));\nregisterFunc(new CompareMagnitudes(\"LESSTHAN\", (cmp) => cmp < 0));\nregisterFunc(new CompareMagnitudes(\"LESSTHANOREQUAL\", (cmp) => cmp <= 0));\nregisterFunc(new MatchesPattern(\"CONTAINS\", true, false));\nregisterFunc(new MatchesPattern(\"MATCHES\", true, true));\nregisterFunc(new MatchesPattern(\"REGEXCONTAINS\", false, false));\nregisterFunc(new MatchesPattern(\"REGEXMATCHES\", false, true));\nregisterFunc(new ReplacePattern(\"REPLACE\", true));\nregisterFunc(new ReplacePattern(\"REGEXREPLACE\", false));\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/IfcExpressionFunctions.ts"],"names":[],"mappings":"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","file":"expression/function/IfcExpressionFunctions.js","sourcesContent":["import { Func } from \"./Func.js\";\nimport { isNullish } from \"../../util/IfcExpressionUtils.js\";\nimport { MAP } from \"./impl/MAP.js\";\nimport { ROUND } from \"./impl/ROUND.js\";\nimport { AttributeAccessorFunction } from \"./impl/AttributeAccessorFunction.js\";\nimport { PROPERTYSET } from \"./impl/PROPERTYSET.js\";\nimport { PROPERTY } from \"./impl/PROPERTY.js\";\nimport { TYPE } from \"./impl/TYPE.js\";\nimport { FuncBooleanBinary } from \"./impl/FuncBooleanBinary.js\";\nimport { NOT } from \"./impl/NOT.js\";\nimport { CHOOSE } from \"./impl/CHOOSE.js\";\nimport { MatchesPattern } from \"./impl/MatchesPattern.js\";\nimport { Type, Types } from \"../../type/Types.js\";\nimport { TOSTRING } from \"./impl/TOSTRING.js\";\nimport { EXISTS } from \"./impl/EXISTS.js\";\nimport { EQUALS } from \"./impl/EQUALS.js\";\nimport { CompareMagnitudes } from \"./impl/CompareMagnitudes.js\";\nimport { ReplacePattern } from \"./impl/ReplacePattern.js\";\nimport { IF } from \"./impl/IF.js\";\nimport { TONUMERIC } from \"./impl/TONUMERIC.js\";\nimport { IfcExpressionFunctionConfigException } from \"../../error/IfcExpressionFunctionConfigException.js\";\nimport { TOBOOLEAN } from \"./impl/TOBOOLEAN.js\";\nimport { TOLOGICAL } from \"./impl/TOLOGICAL.js\";\nimport { TOLOWERCASE } from \"./impl/TOLOWERCASE.js\";\nimport { TOUPPERCASE } from \"./impl/TOUPPERCASE.js\";\nimport { SUBSTRING } from \"./impl/SUBSTRING.js\";\nimport { SPLIT } from \"./impl/SPLIT.js\";\nimport { AT } from \"./impl/AT.js\";\nimport { TOIFCDATE } from \"./impl/TOIFCDATE.js\";\nimport { TOIFCDATETIME } from \"./impl/TOIFCDATETIME.js\";\nimport { TOIFCTIME } from \"./impl/TOIFCTIME.js\";\nimport { TOIFCDURATION } from \"./impl/TOIFCDURATION.js\";\nimport { TOIFCTIMESTAMP } from \"./impl/TOIFCTIMESTAMP.js\";\nimport { ADDDURATION } from \"./impl/ADDDURATION.js\";\n\nconst builtinFunctions = new Map<string, Func>();\n\nfunction registerOrDie(fnKey: string, func: Func) {\n if (builtinFunctions.has(fnKey)) {\n throw new IfcExpressionFunctionConfigException(\n `cannot register function with name '${fnKey}': name already in use`\n );\n }\n builtinFunctions.set(fnKey, func);\n}\n\nfunction registerFunc(func: Func, ...aliases: Array<string>) {\n const fnKey = func.getName();\n const keys = [...aliases];\n keys.unshift(fnKey);\n keys.forEach((key) =>\n registerOrDie(IfcExpressionFunctions.normalizeName(key), func)\n );\n}\n\nexport class IfcExpressionFunctions {\n public static normalizeName(name: string): string {\n if (isNullish(name)) {\n return undefined;\n }\n return name.toUpperCase();\n }\n\n public static isBuiltinFunction(name: string) {\n if (isNullish(name)) {\n return false;\n }\n return builtinFunctions.has(this.normalizeName(name));\n }\n\n public static getFunction(name: string): Func {\n if (isNullish(name)) {\n return undefined;\n }\n return builtinFunctions.get(this.normalizeName(name));\n }\n}\n\nregisterFunc(new MAP());\nregisterFunc(new CHOOSE());\nregisterFunc(new AT());\nregisterFunc(new IF());\nregisterFunc(new ROUND());\nregisterFunc(new AttributeAccessorFunction(\"name\", Type.STRING));\nregisterFunc(new AttributeAccessorFunction(\"guid\", Type.STRING));\nregisterFunc(new AttributeAccessorFunction(\"ifcClass\", Type.STRING));\nregisterFunc(new AttributeAccessorFunction(\"description\", Type.STRING));\nregisterFunc(\n new AttributeAccessorFunction(\n \"value\",\n Types.or(Type.STRING, Type.NUMERIC, Type.BOOLEAN, Type.ARRAY)\n )\n);\nregisterFunc(new PROPERTYSET());\nregisterFunc(new PROPERTY());\nregisterFunc(new TYPE());\nregisterFunc(new NOT());\nregisterFunc(new TOSTRING());\nregisterFunc(new TONUMERIC(), \"TONUMBER\");\nregisterFunc(new TOBOOLEAN());\nregisterFunc(new TOLOGICAL(), \"NOTFOUNDASUNKNOWN\");\nregisterFunc(new TOIFCDATE());\nregisterFunc(new TOIFCTIME());\nregisterFunc(new TOIFCDATETIME());\nregisterFunc(new TOIFCDURATION());\nregisterFunc(new TOIFCTIMESTAMP());\nregisterFunc(new ADDDURATION());\nregisterFunc(new TOLOWERCASE());\nregisterFunc(new TOUPPERCASE());\nregisterFunc(new SUBSTRING());\nregisterFunc(new SPLIT());\nregisterFunc(new EXISTS());\nregisterFunc(new FuncBooleanBinary(\"AND\", \"and\"));\nregisterFunc(new FuncBooleanBinary(\"OR\", \"or\"));\nregisterFunc(new FuncBooleanBinary(\"XOR\", \"xor\"));\nregisterFunc(new FuncBooleanBinary(\"IMPLIES\", \"implies\"));\nregisterFunc(new EQUALS());\nregisterFunc(new CompareMagnitudes(\"GREATERTHAN\", (cmp) => cmp > 0));\nregisterFunc(new CompareMagnitudes(\"GREATERTHANOREQUAL\", (cmp) => cmp >= 0));\nregisterFunc(new CompareMagnitudes(\"LESSTHAN\", (cmp) => cmp < 0));\nregisterFunc(new CompareMagnitudes(\"LESSTHANOREQUAL\", (cmp) => cmp <= 0));\nregisterFunc(new MatchesPattern(\"CONTAINS\", true, false));\nregisterFunc(new MatchesPattern(\"MATCHES\", true, true));\nregisterFunc(new MatchesPattern(\"REGEXCONTAINS\", false, false));\nregisterFunc(new MatchesPattern(\"REGEXMATCHES\", false, true));\nregisterFunc(new ReplacePattern(\"REPLACE\", true));\nregisterFunc(new ReplacePattern(\"REGEXREPLACE\", false));\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/arg/FuncArgArray.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,qDAAqD;AAErD,+DAIiC;AAEjC,mDAA6C;AAE7C,MAAa,YAAa,SAAQ,4BAAuB;IACvD,YAAY,QAAiB,EAAE,IAAY,EAAE,YAAyB;QACpE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,KAAK,CAAC,eAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,eAAe,CAAC;SACxB;QACD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,8BAA8B,IAAI,CAAC,SAAS,CAC/D,KAAK,CACN,EAAE,EACH,KAAK,EACL,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AA3BD,oCA2BC","file":"expression/function/arg/FuncArgArray.js","sourcesContent":["import { FuncArgBase } from \"./FuncArgBase\";\nimport { ArrayValue } from \"../../../value/ArrayValue\";\nimport { ExprType } from \"../../../type/ExprType\";\nimport { Type, Types } from \"../../../type/Types\";\nimport { FunctionExpr } from \"../FunctionExpr\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue\";\nimport { ExprKind } from \"../../ExprKind\";\n\nexport class FuncArgArray extends FuncArgBase<ArrayValue> {\n constructor(required: boolean, name: string, defaultValue?: ArrayValue) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.array(Type.ANY);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const result = invocationValue.result;\n const value = result.getValue();\n if (Array.isArray(value)) {\n return invocationValue;\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} must be an array, but was ${JSON.stringify(\n value\n )}`,\n value,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgArray.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAG/C,qDAAqD;AAErD,+DAIiC;AAEjC,mDAA6C;AAE7C,MAAa,YAAa,SAAQ,4BAAuB;IACvD,YAAY,QAAiB,EAAE,IAAY,EAAE,YAAyB;QACpE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,KAAK,CAAC,eAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,eAAe,CAAC;SACxB;QACD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,8BAA8B,IAAI,CAAC,SAAS,CAC/D,KAAK,CACN,EAAE,EACH,KAAK,EACL,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AA3BD,oCA2BC","file":"expression/function/arg/FuncArgArray.js","sourcesContent":["import { FuncArgBase } from \"./FuncArgBase.js\";\nimport { ArrayValue } from \"../../../value/ArrayValue.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\n\nexport class FuncArgArray extends FuncArgBase<ArrayValue> {\n constructor(required: boolean, name: string, defaultValue?: ArrayValue) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.array(Type.ANY);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const result = invocationValue.result;\n const value = result.getValue();\n if (Array.isArray(value)) {\n return invocationValue;\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} must be an array, but was ${JSON.stringify(\n value\n )}`,\n value,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
@@ -3,15 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FuncArgBase = void 0;
4
4
  const FuncArg_js_1 = require("../FuncArg.js");
5
5
  const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
6
+ const IfcExpression_js_1 = require("../../../IfcExpression.js");
6
7
  class FuncArgBase extends FuncArg_js_1.FuncArg {
7
8
  constructor(required, name, defaultValue) {
8
9
  super(required, name, defaultValue);
9
10
  }
10
11
  transformValue(callingExpr, invocationValue) {
11
12
  if ((0, ExprEvalResult_js_1.isExprEvalSuccess)(invocationValue)) {
12
- return this.transformForTypeCheck(callingExpr, invocationValue);
13
+ return this.errorIfNullish(this.transformForTypeCheck(callingExpr, invocationValue), callingExpr);
13
14
  }
14
- return this.transformForError(callingExpr, invocationValue);
15
+ return this.errorIfNullish(this.transformForError(callingExpr, invocationValue), callingExpr);
16
+ }
17
+ errorIfNullish(result, callingExpr) {
18
+ if ((0, IfcExpression_js_1.isNullish)(result)) {
19
+ return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(IfcExpression_js_1.ExprKind.FUNCTION_ARGUMENTS, `Cannot obtain value of argument ${this.name}`, callingExpr.getTextSpan());
20
+ }
21
+ return result;
15
22
  }
16
23
  /**
17
24
  * Override to type-check the successfully evaluated invocationValue.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/arg/FuncArgBase.ts"],"names":[],"mappings":";;;AAAA,8CAAwC;AACxC,+DAKiC;AAIjC,MAAsB,WAAe,SAAQ,oBAAU;IACrD,YAAsB,QAAiB,EAAE,IAAY,EAAE,YAAgB;QACrE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CACZ,WAAyB,EACzB,eAAgD;QAEhD,IAAI,IAAA,qCAAiB,EAAC,eAAe,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACjE;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACO,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACO,iBAAiB,CACzB,WAAyB,EACzB,eAA8B;QAE9B,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AArCD,kCAqCC","file":"expression/function/arg/FuncArgBase.js","sourcesContent":["import { FuncArg } from \"../FuncArg.js\";\nimport {\n ExprEvalError,\n ExprEvalResult,\n ExprEvalSuccess,\n isExprEvalSuccess,\n} from \"../../ExprEvalResult.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\n\nexport abstract class FuncArgBase<T> extends FuncArg<T> {\n protected constructor(required: boolean, name: string, defaultValue?: T) {\n super(required, name, defaultValue);\n }\n\n transformValue(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalResult<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n if (isExprEvalSuccess(invocationValue)) {\n return this.transformForTypeCheck(callingExpr, invocationValue);\n }\n return this.transformForError(callingExpr, invocationValue);\n }\n\n /**\n * Override to type-check the successfully evaluated invocationValue.\n * @protected\n */\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n return invocationValue;\n }\n\n /**\n * Override to transform the error result obtained from evaluating the invocation value.\n * @param invocationValue\n * @protected\n */\n protected transformForError(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalError\n ): ExprEvalResult<ExpressionValue> {\n return invocationValue;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgBase.ts"],"names":[],"mappings":";;;AAAA,8CAAwC;AACxC,+DAMiC;AAGjC,gEAAgE;AAEhE,MAAsB,WAAe,SAAQ,oBAAU;IACrD,YAAsB,QAAiB,EAAE,IAAY,EAAE,YAAgB;QACrE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CACZ,WAAyB,EACzB,eAAgD;QAEhD,IAAI,IAAA,qCAAiB,EAAC,eAAe,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,cAAc,CACxB,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,EACxD,WAAW,CACZ,CAAC;SACH;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,EACpD,WAAW,CACZ,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,MAAuC,EACvC,WAAyB;QAEzB,IAAI,IAAA,4BAAS,EAAC,MAAM,CAAC,EAAE;YACrB,OAAO,IAAI,wCAAoB,CAC7B,2BAAQ,CAAC,kBAAkB,EAC3B,mCAAmC,IAAI,CAAC,IAAI,EAAE,EAC9C,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;SACH;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACO,iBAAiB,CACzB,WAAyB,EACzB,eAA8B;QAE9B,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAzDD,kCAyDC","file":"expression/function/arg/FuncArgBase.js","sourcesContent":["import { FuncArg } from \"../FuncArg.js\";\nimport {\n ExprEvalError,\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n isExprEvalSuccess,\n} from \"../../ExprEvalResult.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExprKind, isNullish } from \"../../../IfcExpression.js\";\n\nexport abstract class FuncArgBase<T> extends FuncArg<T> {\n protected constructor(required: boolean, name: string, defaultValue?: T) {\n super(required, name, defaultValue);\n }\n\n transformValue(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalResult<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n if (isExprEvalSuccess(invocationValue)) {\n return this.errorIfNullish(\n this.transformForTypeCheck(callingExpr, invocationValue),\n callingExpr\n );\n }\n return this.errorIfNullish(\n this.transformForError(callingExpr, invocationValue),\n callingExpr\n );\n }\n\n private errorIfNullish(\n result: ExprEvalResult<ExpressionValue>,\n callingExpr: FunctionExpr\n ) {\n if (isNullish(result)) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Cannot obtain value of argument ${this.name}`,\n callingExpr.getTextSpan()\n );\n }\n return result;\n }\n\n /**\n * Override to type-check the successfully evaluated invocationValue.\n * @protected\n */\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n return invocationValue;\n }\n\n /**\n * Override to transform the error result obtained from evaluating the invocation value.\n * @param invocationValue\n * @protected\n */\n protected transformForError(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalError\n ): ExprEvalResult<ExpressionValue> {\n return invocationValue;\n }\n}\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcDateString = void 0;
4
+ const StringValue_js_1 = require("../../../value/StringValue.js");
5
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
6
+ const ExprKind_js_1 = require("../../ExprKind.js");
7
+ const Types_js_1 = require("../../../type/Types.js");
8
+ const IfcDateValue_js_1 = require("../../../value/IfcDateValue.js");
9
+ const FuncArgBase_js_1 = require("./FuncArgBase.js");
10
+ class FuncArgIfcDateString extends FuncArgBase_js_1.FuncArgBase {
11
+ constructor(required, name, defaultValue) {
12
+ super(required, name, defaultValue);
13
+ }
14
+ getType() {
15
+ return Types_js_1.Types.or(Types_js_1.Type.STRING);
16
+ }
17
+ transformForTypeCheck(callingExpr, invocationValue) {
18
+ const val = super.transformForTypeCheck(callingExpr, invocationValue);
19
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(val)) {
20
+ return val;
21
+ }
22
+ if (val.result instanceof StringValue_js_1.StringValue) {
23
+ const stringValue = val.result.getValue();
24
+ if (!IfcDateValue_js_1.IfcDateValue.isValidStringRepresentation(stringValue)) {
25
+ return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(ExprKind_js_1.ExprKind.FUNCTION_ARGUMENTS, `Argument ${this.name} is an IfcDate of the form 'YYYY-MM-DD', optionally with` +
26
+ `leading + or -, and trailing time zone specification.` +
27
+ `The provided value, '${stringValue}' is not allowed.`, callingExpr.getTextSpan());
28
+ }
29
+ return val;
30
+ }
31
+ }
32
+ }
33
+ exports.FuncArgIfcDateString = FuncArgIfcDateString;
34
+ //# sourceMappingURL=FuncArgIfcDateString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcDateString.ts"],"names":[],"mappings":";;;AAAA,kEAA4D;AAC5D,+DAKiC;AAGjC,mDAA6C;AAE7C,qDAAqD;AACrD,oEAA8D;AAC9D,qDAA+C;AAE/C,MAAa,oBAAqB,SAAQ,4BAAwB;IAChE,YAAY,QAAiB,EAAE,IAAY,EAAE,YAA0B;QACrE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,GAAG,CAAC,MAAM,YAAY,4BAAW,EAAE;YACrC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAY,CAAC;YACpD,IAAI,CAAC,8BAAY,CAAC,2BAA2B,CAAC,WAAW,CAAC,EAAE;gBAC1D,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,0DAA0D;oBAC7E,uDAAuD;oBACvD,wBAAwB,WAAW,mBAAmB,EACxD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;CACF;AA/BD,oDA+BC","file":"expression/function/arg/FuncArgIfcDateString.js","sourcesContent":["import { StringValue } from \"../../../value/StringValue.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { IfcDateValue } from \"../../../value/IfcDateValue.js\";\nimport { FuncArgBase } from \"./FuncArgBase.js\";\n\nexport class FuncArgIfcDateString extends FuncArgBase<StringValue> {\n constructor(required: boolean, name: string, defaultValue?: StringValue) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.STRING);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n if (val.result instanceof StringValue) {\n const stringValue = val.result.getValue() as string;\n if (!IfcDateValue.isValidStringRepresentation(stringValue)) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} is an IfcDate of the form 'YYYY-MM-DD', optionally with` +\n `leading + or -, and trailing time zone specification.` +\n `The provided value, '${stringValue}' is not allowed.`,\n callingExpr.getTextSpan()\n );\n }\n return val;\n }\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcDateTime = void 0;
4
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
5
+ const Types_js_1 = require("../../../type/Types.js");
6
+ const IfcDateTimeValue_js_1 = require("../../../value/IfcDateTimeValue.js");
7
+ const FuncArgBase_js_1 = require("./FuncArgBase.js");
8
+ class FuncArgIfcDateTime extends FuncArgBase_js_1.FuncArgBase {
9
+ constructor(required, name, defaultValue) {
10
+ super(required, name, defaultValue);
11
+ }
12
+ getType() {
13
+ return Types_js_1.Types.or(Types_js_1.Type.IFC_DATE_TIME);
14
+ }
15
+ transformForTypeCheck(callingExpr, invocationValue) {
16
+ const val = super.transformForTypeCheck(callingExpr, invocationValue);
17
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(val)) {
18
+ return val;
19
+ }
20
+ const result = val.result;
21
+ if (result instanceof IfcDateTimeValue_js_1.IfcDateTimeValue) {
22
+ return val;
23
+ }
24
+ }
25
+ }
26
+ exports.FuncArgIfcDateTime = FuncArgIfcDateTime;
27
+ //# sourceMappingURL=FuncArgIfcDateTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcDateTime.ts"],"names":[],"mappings":";;;AAAA,+DAIiC;AAIjC,qDAAqD;AACrD,4EAAsE;AACtE,qDAA+C;AAE/C,MAAa,kBAAmB,SAAQ,4BAA6B;IACnE,YACE,QAAiB,EACjB,IAAY,EACZ,YAA+B;QAE/B,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,YAAY,sCAAgB,EAAE;YACtC,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;CACF;AA1BD,gDA0BC","file":"expression/function/arg/FuncArgIfcDateTime.js","sourcesContent":["import {\n ExprEvalResult,\n ExprEvalSuccess,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { IfcDateTimeValue } from \"../../../value/IfcDateTimeValue.js\";\nimport { FuncArgBase } from \"./FuncArgBase.js\";\n\nexport class FuncArgIfcDateTime extends FuncArgBase<IfcDateTimeValue> {\n constructor(\n required: boolean,\n name: string,\n defaultValue?: IfcDateTimeValue\n ) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.IFC_DATE_TIME);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n const result = val.result;\n if (result instanceof IfcDateTimeValue) {\n return val;\n }\n }\n}\n"]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcDateTimeString = void 0;
4
+ const StringValue_js_1 = require("../../../value/StringValue.js");
5
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
6
+ const ExprKind_js_1 = require("../../ExprKind.js");
7
+ const Types_js_1 = require("../../../type/Types.js");
8
+ const IfcDateTimeValue_js_1 = require("../../../value/IfcDateTimeValue.js");
9
+ const FuncArgBase_js_1 = require("./FuncArgBase.js");
10
+ class FuncArgIfcDateTimeString extends FuncArgBase_js_1.FuncArgBase {
11
+ constructor(required, name, defaultValue) {
12
+ super(required, name, defaultValue);
13
+ }
14
+ getType() {
15
+ return Types_js_1.Types.or(Types_js_1.Type.STRING);
16
+ }
17
+ transformForTypeCheck(callingExpr, invocationValue) {
18
+ const val = super.transformForTypeCheck(callingExpr, invocationValue);
19
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(val)) {
20
+ return val;
21
+ }
22
+ const result = val.result;
23
+ if (result instanceof StringValue_js_1.StringValue) {
24
+ const stringValue = result.getValue();
25
+ if (!IfcDateTimeValue_js_1.IfcDateTimeValue.isValidStringRepresentation(stringValue)) {
26
+ return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(ExprKind_js_1.ExprKind.FUNCTION_ARGUMENTS, `Argument ${this.name} is an IfcDateTime of the form 'YYYY-MM-DDTHH:MM:SS.sss...', ` +
27
+ `a leading + or - and a trailing time zone specification are allowed.` +
28
+ `The provided value, '${stringValue}' is not allowed. `, callingExpr.getTextSpan());
29
+ }
30
+ return val;
31
+ }
32
+ }
33
+ }
34
+ exports.FuncArgIfcDateTimeString = FuncArgIfcDateTimeString;
35
+ //# sourceMappingURL=FuncArgIfcDateTimeString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcDateTimeString.ts"],"names":[],"mappings":";;;AAAA,kEAA4D;AAC5D,+DAKiC;AAGjC,mDAA6C;AAE7C,qDAAqD;AACrD,4EAAsE;AACtE,qDAA+C;AAE/C,MAAa,wBAAyB,SAAQ,4BAAwB;IACpE,YAAY,QAAiB,EAAE,IAAY,EAAE,YAA0B;QACrE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,YAAY,4BAAW,EAAE;YACjC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAY,CAAC;YAChD,IAAI,CAAC,sCAAgB,CAAC,2BAA2B,CAAC,WAAW,CAAC,EAAE;gBAC9D,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,+DAA+D;oBAClF,sEAAsE;oBACtE,wBAAwB,WAAW,oBAAoB,EACzD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;CACF;AAhCD,4DAgCC","file":"expression/function/arg/FuncArgIfcDateTimeString.js","sourcesContent":["import { StringValue } from \"../../../value/StringValue.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { IfcDateTimeValue } from \"../../../value/IfcDateTimeValue.js\";\nimport { FuncArgBase } from \"./FuncArgBase.js\";\n\nexport class FuncArgIfcDateTimeString extends FuncArgBase<StringValue> {\n constructor(required: boolean, name: string, defaultValue?: StringValue) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.STRING);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n const result = val.result;\n if (result instanceof StringValue) {\n const stringValue = result.getValue() as string;\n if (!IfcDateTimeValue.isValidStringRepresentation(stringValue)) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} is an IfcDateTime of the form 'YYYY-MM-DDTHH:MM:SS.sss...', ` +\n `a leading + or - and a trailing time zone specification are allowed.` +\n `The provided value, '${stringValue}' is not allowed. `,\n callingExpr.getTextSpan()\n );\n }\n return val;\n }\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcDuration = void 0;
4
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
5
+ const Types_js_1 = require("../../../type/Types.js");
6
+ const IfcDurationValue_js_1 = require("../../../value/IfcDurationValue.js");
7
+ const FuncArgBase_js_1 = require("./FuncArgBase.js");
8
+ class FuncArgIfcDuration extends FuncArgBase_js_1.FuncArgBase {
9
+ constructor(required, name, defaultValue) {
10
+ super(required, name, defaultValue);
11
+ }
12
+ getType() {
13
+ return Types_js_1.Types.or(Types_js_1.Type.IFC_DURATION);
14
+ }
15
+ transformForTypeCheck(callingExpr, invocationValue) {
16
+ const val = super.transformForTypeCheck(callingExpr, invocationValue);
17
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(val)) {
18
+ return val;
19
+ }
20
+ const result = val.result;
21
+ if (result instanceof IfcDurationValue_js_1.IfcDurationValue) {
22
+ return val;
23
+ }
24
+ }
25
+ }
26
+ exports.FuncArgIfcDuration = FuncArgIfcDuration;
27
+ //# sourceMappingURL=FuncArgIfcDuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcDuration.ts"],"names":[],"mappings":";;;AAAA,+DAIiC;AAIjC,qDAAqD;AACrD,4EAAsE;AACtE,qDAA+C;AAE/C,MAAa,kBAAmB,SAAQ,4BAA6B;IACnE,YACE,QAAiB,EACjB,IAAY,EACZ,YAA+B;QAE/B,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,YAAY,sCAAgB,EAAE;YACtC,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;CACF;AA1BD,gDA0BC","file":"expression/function/arg/FuncArgIfcDuration.js","sourcesContent":["import {\n ExprEvalResult,\n ExprEvalSuccess,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { IfcDurationValue } from \"../../../value/IfcDurationValue.js\";\nimport { FuncArgBase } from \"./FuncArgBase.js\";\n\nexport class FuncArgIfcDuration extends FuncArgBase<IfcDurationValue> {\n constructor(\n required: boolean,\n name: string,\n defaultValue?: IfcDurationValue\n ) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.IFC_DURATION);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n const result = val.result;\n if (result instanceof IfcDurationValue) {\n return val;\n }\n }\n}\n"]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcDurationString = void 0;
4
+ const FuncArgString_js_1 = require("./FuncArgString.js");
5
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
6
+ const ExprKind_js_1 = require("../../ExprKind.js");
7
+ const Types_js_1 = require("../../../type/Types.js");
8
+ const IfcDurationValue_js_1 = require("../../../value/IfcDurationValue.js");
9
+ class FuncArgIfcDurationString extends FuncArgString_js_1.FuncArgString {
10
+ constructor(required, name, defaultValue) {
11
+ super(required, name, defaultValue);
12
+ }
13
+ getType() {
14
+ return Types_js_1.Type.STRING;
15
+ }
16
+ transformForTypeCheck(callingExpr, invocationValue) {
17
+ const val = super.transformForTypeCheck(callingExpr, invocationValue);
18
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(val)) {
19
+ return val;
20
+ }
21
+ const stringValue = val.result.getValue();
22
+ if (!IfcDurationValue_js_1.IfcDurationValue.isValidStringRepresentation(stringValue)) {
23
+ return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(ExprKind_js_1.ExprKind.FUNCTION_ARGUMENTS, `Argument ${this.name} is an IfcDate of the form 'YYYY-MM-DD'.` +
24
+ `The provided value, '${stringValue}' is not allowed. `, callingExpr.getTextSpan());
25
+ }
26
+ return val;
27
+ }
28
+ }
29
+ exports.FuncArgIfcDurationString = FuncArgIfcDurationString;
30
+ //# sourceMappingURL=FuncArgIfcDurationString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcDurationString.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AAEnD,+DAKiC;AAGjC,mDAA6C;AAE7C,qDAA8C;AAC9C,4EAAsE;AAEtE,MAAa,wBAAyB,SAAQ,gCAAa;IACzD,YAAY,QAAiB,EAAE,IAAY,EAAE,YAA0B;QACrE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,eAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAY,CAAC;QACpD,IAAI,CAAC,sCAAgB,CAAC,2BAA2B,CAAC,WAAW,CAAC,EAAE;YAC9D,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,0CAA0C;gBAC7D,wBAAwB,WAAW,oBAAoB,EACzD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA5BD,4DA4BC","file":"expression/function/arg/FuncArgIfcDurationString.js","sourcesContent":["import { FuncArgString } from \"./FuncArgString.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type } from \"../../../type/Types.js\";\nimport { IfcDurationValue } from \"../../../value/IfcDurationValue.js\";\n\nexport class FuncArgIfcDurationString extends FuncArgString {\n constructor(required: boolean, name: string, defaultValue?: StringValue) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Type.STRING;\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n const stringValue = val.result.getValue() as string;\n if (!IfcDurationValue.isValidStringRepresentation(stringValue)) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} is an IfcDate of the form 'YYYY-MM-DD'.` +\n `The provided value, '${stringValue}' is not allowed. `,\n callingExpr.getTextSpan()\n );\n }\n return val;\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcTimeStamp = void 0;
4
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
5
+ const Types_js_1 = require("../../../type/Types.js");
6
+ const IfcTimeStampValue_js_1 = require("../../../value/IfcTimeStampValue.js");
7
+ const FuncArgBase_js_1 = require("./FuncArgBase.js");
8
+ class FuncArgIfcTimeStamp extends FuncArgBase_js_1.FuncArgBase {
9
+ constructor(required, name, defaultValue) {
10
+ super(required, name, defaultValue);
11
+ }
12
+ getType() {
13
+ return Types_js_1.Types.or(Types_js_1.Type.IFC_TIME_STAMP);
14
+ }
15
+ transformForTypeCheck(callingExpr, invocationValue) {
16
+ const val = super.transformForTypeCheck(callingExpr, invocationValue);
17
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(val)) {
18
+ return val;
19
+ }
20
+ const result = val.result;
21
+ if (result instanceof IfcTimeStampValue_js_1.IfcTimeStampValue) {
22
+ return val;
23
+ }
24
+ }
25
+ }
26
+ exports.FuncArgIfcTimeStamp = FuncArgIfcTimeStamp;
27
+ //# sourceMappingURL=FuncArgIfcTimeStamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcTimeStamp.ts"],"names":[],"mappings":";;;AAAA,+DAIiC;AAIjC,qDAAqD;AACrD,8EAAwE;AACxE,qDAA+C;AAE/C,MAAa,mBAAoB,SAAQ,4BAA8B;IACrE,YACE,QAAiB,EACjB,IAAY,EACZ,YAAgC;QAEhC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,YAAY,wCAAiB,EAAE;YACvC,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;CACF;AA1BD,kDA0BC","file":"expression/function/arg/FuncArgIfcTimeStamp.js","sourcesContent":["import {\n ExprEvalResult,\n ExprEvalSuccess,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { IfcTimeStampValue } from \"../../../value/IfcTimeStampValue.js\";\nimport { FuncArgBase } from \"./FuncArgBase.js\";\n\nexport class FuncArgIfcTimeStamp extends FuncArgBase<IfcTimeStampValue> {\n constructor(\n required: boolean,\n name: string,\n defaultValue?: IfcTimeStampValue\n ) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.IFC_TIME_STAMP);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n const result = val.result;\n if (result instanceof IfcTimeStampValue) {\n return val;\n }\n }\n}\n"]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcTimeStampNumeric = void 0;
4
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
5
+ const ExprKind_js_1 = require("../../ExprKind.js");
6
+ const FuncArgNumeric_js_1 = require("./FuncArgNumeric.js");
7
+ const NumericValue_js_1 = require("../../../value/NumericValue.js");
8
+ const Types_js_1 = require("../../../type/Types.js");
9
+ class FuncArgIfcTimeStampNumeric extends FuncArgNumeric_js_1.FuncArgNumeric {
10
+ constructor(required, name, defaultValue) {
11
+ super(required, name, defaultValue);
12
+ }
13
+ getType() {
14
+ return Types_js_1.Types.or(Types_js_1.Type.NUMERIC);
15
+ }
16
+ transformForTypeCheck(callingExpr, invocationValue) {
17
+ const result = invocationValue.result;
18
+ if (result instanceof NumericValue_js_1.NumericValue) {
19
+ const value = result.getValue();
20
+ if (value.isInteger()) {
21
+ return invocationValue;
22
+ }
23
+ }
24
+ return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(ExprKind_js_1.ExprKind.FUNCTION_ARGUMENTS, `Argument ${this.name} must be an integer or an IfcDateTimeValue, but was ${JSON.stringify(result.getValue())}`, result.getValue(), callingExpr.getTextSpan());
25
+ }
26
+ }
27
+ exports.FuncArgIfcTimeStampNumeric = FuncArgIfcTimeStampNumeric;
28
+ //# sourceMappingURL=FuncArgIfcTimeStampNumeric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcTimeStampNumeric.ts"],"names":[],"mappings":";;;AAAA,+DAIiC;AAGjC,mDAA6C;AAC7C,2DAAqD;AACrD,oEAA8D;AAE9D,qDAAqD;AAGrD,MAAa,0BAA2B,SAAQ,kCAAc;IAC5D,YAAY,QAAiB,EAAE,IAAY,EAAE,YAA2B;QACtE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QACtC,IAAI,MAAM,YAAY,8BAAY,EAAE;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAa,CAAC;YAC3C,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACrB,OAAO,eAAe,CAAC;aACxB;SACF;QACD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YACE,IAAI,CAAC,IACP,uDAAuD,IAAI,CAAC,SAAS,CACnE,MAAM,CAAC,QAAQ,EAAE,CAClB,EAAE,EACH,MAAM,CAAC,QAAQ,EAAE,EACjB,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AA/BD,gEA+BC","file":"expression/function/arg/FuncArgIfcTimeStampNumeric.js","sourcesContent":["import {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { FuncArgNumeric } from \"./FuncArgNumeric.js\";\nimport { NumericValue } from \"../../../value/NumericValue.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { Decimal } from \"decimal.js\";\n\nexport class FuncArgIfcTimeStampNumeric extends FuncArgNumeric {\n constructor(required: boolean, name: string, defaultValue?: NumericValue) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.NUMERIC);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const result = invocationValue.result;\n if (result instanceof NumericValue) {\n const value = result.getValue() as Decimal;\n if (value.isInteger()) {\n return invocationValue;\n }\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${\n this.name\n } must be an integer or an IfcDateTimeValue, but was ${JSON.stringify(\n result.getValue()\n )}`,\n result.getValue(),\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgIfcTimeString = void 0;
4
+ const StringValue_js_1 = require("../../../value/StringValue.js");
5
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
6
+ const ExprKind_js_1 = require("../../ExprKind.js");
7
+ const Types_js_1 = require("../../../type/Types.js");
8
+ const IfcTimeValue_js_1 = require("../../../value/IfcTimeValue.js");
9
+ const FuncArgBase_js_1 = require("./FuncArgBase.js");
10
+ class FuncArgIfcTimeString extends FuncArgBase_js_1.FuncArgBase {
11
+ constructor(required, name, defaultValue) {
12
+ super(required, name, defaultValue);
13
+ }
14
+ getType() {
15
+ return Types_js_1.Types.or(Types_js_1.Type.STRING);
16
+ }
17
+ transformForTypeCheck(callingExpr, invocationValue) {
18
+ const val = super.transformForTypeCheck(callingExpr, invocationValue);
19
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(val)) {
20
+ return val;
21
+ }
22
+ if (val.result instanceof StringValue_js_1.StringValue) {
23
+ const stringValue = val.result.getValue();
24
+ if (!IfcTimeValue_js_1.IfcTimeValue.isValidStringRepresentation(stringValue)) {
25
+ return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(ExprKind_js_1.ExprKind.FUNCTION_ARGUMENTS, `Argument ${this.name} is an IfcTime of the form 'HH:MM:SS.sss...'.` +
26
+ `a trailing time zone specification is allowed.` +
27
+ `The provided value, '${stringValue}' is not allowed. `, callingExpr.getTextSpan());
28
+ }
29
+ return val;
30
+ }
31
+ }
32
+ }
33
+ exports.FuncArgIfcTimeString = FuncArgIfcTimeString;
34
+ //# sourceMappingURL=FuncArgIfcTimeString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgIfcTimeString.ts"],"names":[],"mappings":";;;AAAA,kEAA4D;AAC5D,+DAKiC;AAGjC,mDAA6C;AAE7C,qDAAqD;AACrD,oEAA8D;AAC9D,qDAA+C;AAE/C,MAAa,oBAAqB,SAAQ,4BAAwB;IAChE,YAAY,QAAiB,EAAE,IAAY,EAAE,YAA0B;QACrE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,GAAG,CAAC,MAAM,YAAY,4BAAW,EAAE;YACrC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAY,CAAC;YACpD,IAAI,CAAC,8BAAY,CAAC,2BAA2B,CAAC,WAAW,CAAC,EAAE;gBAC1D,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,+CAA+C;oBAClE,gDAAgD;oBAChD,wBAAwB,WAAW,oBAAoB,EACzD,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;aACH;YACD,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;CACF;AA/BD,oDA+BC","file":"expression/function/arg/FuncArgIfcTimeString.js","sourcesContent":["import { StringValue } from \"../../../value/StringValue.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { IfcTimeValue } from \"../../../value/IfcTimeValue.js\";\nimport { FuncArgBase } from \"./FuncArgBase.js\";\n\nexport class FuncArgIfcTimeString extends FuncArgBase<StringValue> {\n constructor(required: boolean, name: string, defaultValue?: StringValue) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.STRING);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n if (val.result instanceof StringValue) {\n const stringValue = val.result.getValue() as string;\n if (!IfcTimeValue.isValidStringRepresentation(stringValue)) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} is an IfcTime of the form 'HH:MM:SS.sss...'.` +\n `a trailing time zone specification is allowed.` +\n `The provided value, '${stringValue}' is not allowed. `,\n callingExpr.getTextSpan()\n );\n }\n return val;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/arg/FuncArgLogicalOrBoolean.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,+DAIiC;AACjC,mDAA6C;AAE7C,qDAAqD;AAGrD,oEAA8D;AAE9D,MAAa,uBAAwB,SAAQ,4BAE5C;IACC,YACE,QAAiB,EACjB,IAAY,EACZ,YAA0C;QAE1C,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,OAAO,EAAE,eAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,8BAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjC,OAAO,eAAe,CAAC;SACxB;QACD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YACE,IAAI,CAAC,IACP,0CAA0C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EACjE,KAAK,EACL,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AAjCD,0DAiCC","file":"expression/function/arg/FuncArgLogicalOrBoolean.js","sourcesContent":["import { FuncArgBase } from \"./FuncArgBase.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { BooleanValue } from \"../../../value/BooleanValue.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { LogicalValue } from \"../../../value/LogicalValue\";\n\nexport class FuncArgLogicalOrBoolean extends FuncArgBase<\n BooleanValue | LogicalValue\n> {\n constructor(\n required: boolean,\n name: string,\n defaultValue?: BooleanValue | LogicalValue\n ) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.BOOLEAN, Type.LOGICAL);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const result = invocationValue.result;\n const value = result.getValue();\n if (LogicalValue.isLogical(value)) {\n return invocationValue;\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${\n this.name\n } must be a boolean or logical, but was ${JSON.stringify(value)}`,\n value,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgLogicalOrBoolean.ts"],"names":[],"mappings":";;;AAAA,qDAA+C;AAE/C,+DAIiC;AACjC,mDAA6C;AAE7C,qDAAqD;AAGrD,oEAA8D;AAE9D,MAAa,uBAAwB,SAAQ,4BAE5C;IACC,YACE,QAAiB,EACjB,IAAY,EACZ,YAA0C;QAE1C,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,eAAI,CAAC,OAAO,EAAE,eAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,8BAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACjC,OAAO,eAAe,CAAC;SACxB;QACD,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YACE,IAAI,CAAC,IACP,0CAA0C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EACjE,KAAK,EACL,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AAjCD,0DAiCC","file":"expression/function/arg/FuncArgLogicalOrBoolean.js","sourcesContent":["import { FuncArgBase } from \"./FuncArgBase.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n} from \"../../ExprEvalResult.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { BooleanValue } from \"../../../value/BooleanValue.js\";\nimport { Type, Types } from \"../../../type/Types.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { LogicalValue } from \"../../../value/LogicalValue.js\";\n\nexport class FuncArgLogicalOrBoolean extends FuncArgBase<\n BooleanValue | LogicalValue\n> {\n constructor(\n required: boolean,\n name: string,\n defaultValue?: BooleanValue | LogicalValue\n ) {\n super(required, name, defaultValue);\n }\n\n getType(): ExprType {\n return Types.or(Type.BOOLEAN, Type.LOGICAL);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const result = invocationValue.result;\n const value = result.getValue();\n if (LogicalValue.isLogical(value)) {\n return invocationValue;\n }\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${\n this.name\n } must be a boolean or logical, but was ${JSON.stringify(value)}`,\n value,\n callingExpr.getTextSpan()\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/arg/FuncArgRegexFlag.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AAEnD,+DAKiC;AAGjC,mDAA6C;AAC7C,+EAAgE;AAEhE,MAAa,gBAAiB,SAAQ,gCAAa;IACjD,YAAY,QAAiB,EAAE,IAAY,EAAE,YAAyB;QACpE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAY,CAAC;QACpD,IACE,IAAA,iCAAS,EAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,0BAA0B;YACxE,CAAC,IAAA,iCAAS,EAAC,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EACpD;YACA,4BAA4B,CAAC,OAAO,IAAI,wCAAoB,CAC1D,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,8DAA8D;gBACjF,8EAA8E;gBAC9E,oEAAoE,WAAW,oBAAoB;gBACnG,oCAAoC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EACrE,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA7BD,4CA6BC","file":"expression/function/arg/FuncArgRegexFlag.js","sourcesContent":["import { FuncArgString } from \"./FuncArgString\";\nimport { StringValue } from \"../../../value/StringValue\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n isExprEvalError,\n} from \"../../ExprEvalResult\";\nimport { FunctionExpr } from \"../FunctionExpr\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue\";\nimport { ExprKind } from \"../../ExprKind\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils\";\n\nexport class FuncArgRegexFlag extends FuncArgString {\n constructor(required: boolean, name: string, defaultValue: StringValue) {\n super(required, name, defaultValue);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n const stringValue = val.result.getValue() as string;\n if (\n isNullish(stringValue.match(/^[imguv]*$/)) || // allowed flags not found\n !isNullish(stringValue.match(/^.*([imguv]).*\\1.*$/))\n ) {\n /* duplicated flags found */ return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} is a possibly empty collection of 'flags' for a javascript ` +\n `regular expression. Order does not matter, duplicate flags are not allowed. ` +\n `The flags are: 'g','i','m','s','u' and 'v'. The provided value, '${stringValue}' is not allowed. ` +\n `By the way the default value is '${this.defaultValue.getValue()}'`,\n callingExpr.getTextSpan()\n );\n }\n return val;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgRegexFlag.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AAEnD,+DAKiC;AAGjC,mDAA6C;AAC7C,+EAAgE;AAEhE,MAAa,gBAAiB,SAAQ,gCAAa;IACjD,YAAY,QAAiB,EAAE,IAAY,EAAE,YAAyB;QACpE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAES,qBAAqB,CAC7B,WAAyB,EACzB,eAAiD;QAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,IAAA,mCAAe,EAAC,GAAG,CAAC,EAAE;YACxB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAY,CAAC;QACpD,IACE,IAAA,iCAAS,EAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,0BAA0B;YACxE,CAAC,IAAA,iCAAS,EAAC,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EACpD;YACA,4BAA4B,CAAC,OAAO,IAAI,wCAAoB,CAC1D,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,8DAA8D;gBACjF,8EAA8E;gBAC9E,oEAAoE,WAAW,oBAAoB;gBACnG,oCAAoC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EACrE,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA7BD,4CA6BC","file":"expression/function/arg/FuncArgRegexFlag.js","sourcesContent":["import { FuncArgString } from \"./FuncArgString.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport {\n ExprEvalResult,\n ExprEvalSuccess,\n ExprEvalTypeErrorObj,\n isExprEvalError,\n} from \"../../ExprEvalResult.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils.js\";\n\nexport class FuncArgRegexFlag extends FuncArgString {\n constructor(required: boolean, name: string, defaultValue: StringValue) {\n super(required, name, defaultValue);\n }\n\n protected transformForTypeCheck(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalSuccess<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const val = super.transformForTypeCheck(callingExpr, invocationValue);\n if (isExprEvalError(val)) {\n return val;\n }\n const stringValue = val.result.getValue() as string;\n if (\n isNullish(stringValue.match(/^[imguv]*$/)) || // allowed flags not found\n !isNullish(stringValue.match(/^.*([imguv]).*\\1.*$/))\n ) {\n /* duplicated flags found */ return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} is a possibly empty collection of 'flags' for a javascript ` +\n `regular expression. Order does not matter, duplicate flags are not allowed. ` +\n `The flags are: 'g','i','m','s','u' and 'v'. The provided value, '${stringValue}' is not allowed. ` +\n `By the way the default value is '${this.defaultValue.getValue()}'`,\n callingExpr.getTextSpan()\n );\n }\n return val;\n }\n}\n"]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FuncArgUnion = void 0;
4
+ const FuncArg_js_1 = require("../FuncArg.js");
5
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
6
+ const ExprKind_js_1 = require("../../ExprKind.js");
7
+ const IfcExpression_js_1 = require("../../../IfcExpression.js");
8
+ const Types_js_1 = require("../../../type/Types.js");
9
+ class FuncArgUnion extends FuncArg_js_1.FuncArg {
10
+ constructor(...options) {
11
+ super(options[0].required, options[0].name, options[0].defaultValue);
12
+ this.options = options;
13
+ }
14
+ static of(required, name, constructors) {
15
+ return new FuncArgUnion(...constructors.map((c) => new c(required, name)));
16
+ }
17
+ transformValue(callingExpr, invocationValue) {
18
+ const successResults = this.options
19
+ .map((o) => o.transformValue(callingExpr, invocationValue))
20
+ .filter((r) => !(0, IfcExpression_js_1.isNullish)(r))
21
+ .filter((r) => (0, ExprEvalResult_js_1.isExprEvalSuccess)(r));
22
+ if (successResults.length === 0) {
23
+ return new ExprEvalResult_js_1.ExprEvalTypeErrorObj(ExprKind_js_1.ExprKind.FUNCTION_ARGUMENTS, `Argument ${this.name} is must be one of ${this.options}. The provided value, '${invocationValue}' is not allowed. `, callingExpr.getTextSpan());
24
+ }
25
+ return successResults[0];
26
+ }
27
+ getType() {
28
+ return Types_js_1.Types.or(...this.options.map((o) => o.getType()));
29
+ }
30
+ }
31
+ exports.FuncArgUnion = FuncArgUnion;
32
+ //# sourceMappingURL=FuncArgUnion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/arg/FuncArgUnion.ts"],"names":[],"mappings":";;;AAAA,8CAAwC;AAExC,+DAIiC;AAEjC,mDAA6C;AAC7C,gEAAsD;AAEtD,qDAA+C;AAM/C,MAAa,YAAgB,SAAQ,oBAAU;IAG7C,YAAY,GAAG,OAAqB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,EAAE,CACd,QAAiB,EACjB,IAAY,EACZ,YAAiB;QAEjB,OAAO,IAAI,YAAY,CACrB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAClD,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,WAAyB,EACzB,eAAgD;QAEhD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,4BAAS,EAAC,CAAC,CAAC,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qCAAiB,EAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,IAAI,wCAAoB,CAC7B,sBAAQ,CAAC,kBAAkB,EAC3B,YAAY,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,OAAO,0BAA0B,eAAe,oBAAoB,EACpH,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC;SACH;QACD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,gBAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AAvCD,oCAuCC","file":"expression/function/arg/FuncArgUnion.js","sourcesContent":["import { FuncArg } from \"../FuncArg.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport {\n ExprEvalResult,\n ExprEvalTypeErrorObj,\n isExprEvalSuccess,\n} from \"../../ExprEvalResult.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { isNullish } from \"../../../IfcExpression.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Types } from \"../../../type/Types.js\";\n\ntype UnpackConstructor<T> = T extends new (boolean, string) => FuncArg<infer U>\n ? U\n : never;\n\nexport class FuncArgUnion<T> extends FuncArg<T> {\n private readonly options: Array<FuncArg<T>>;\n\n constructor(...options: FuncArg<T>[]) {\n super(options[0].required, options[0].name, options[0].defaultValue);\n this.options = options;\n }\n\n public static of<T extends new (boolean, string) => FuncArg<any>>(\n required: boolean,\n name: string,\n constructors: T[]\n ): FuncArgUnion<UnpackConstructor<T>> {\n return new FuncArgUnion<UnpackConstructor<T>>(\n ...constructors.map((c) => new c(required, name))\n );\n }\n\n transformValue(\n callingExpr: FunctionExpr,\n invocationValue: ExprEvalResult<ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const successResults = this.options\n .map((o) => o.transformValue(callingExpr, invocationValue))\n .filter((r) => !isNullish(r))\n .filter((r) => isExprEvalSuccess(r));\n if (successResults.length === 0) {\n return new ExprEvalTypeErrorObj(\n ExprKind.FUNCTION_ARGUMENTS,\n `Argument ${this.name} is must be one of ${this.options}. The provided value, '${invocationValue}' is not allowed. `,\n callingExpr.getTextSpan()\n );\n }\n return successResults[0];\n }\n\n getType(): ExprType {\n return Types.or(...this.options.map((o) => o.getType()));\n }\n}\n"]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ADDDURATION = void 0;
4
+ const Func_js_1 = require("../Func.js");
5
+ const ExprEvalResult_js_1 = require("../../ExprEvalResult.js");
6
+ const StringValue_js_1 = require("../../../value/StringValue.js");
7
+ const IfcDateTimeValue_js_1 = require("../../../value/IfcDateTimeValue.js");
8
+ const IfcTimeStampValue_js_1 = require("../../../value/IfcTimeStampValue.js");
9
+ const FuncArgIfcDateTime_js_1 = require("../arg/FuncArgIfcDateTime.js");
10
+ const FuncArgIfcDuration_js_1 = require("../arg/FuncArgIfcDuration.js");
11
+ const IfcDurationValue_js_1 = require("../../../value/IfcDurationValue.js");
12
+ const FuncArgUnion_js_1 = require("../arg/FuncArgUnion.js");
13
+ const FuncArgIfcTimeStamp_js_1 = require("../arg/FuncArgIfcTimeStamp.js");
14
+ const FuncArgIfcDurationString_js_1 = require("../arg/FuncArgIfcDurationString.js");
15
+ class ADDDURATION extends Func_js_1.Func {
16
+ constructor() {
17
+ super("ADDDURATION", [
18
+ FuncArgUnion_js_1.FuncArgUnion.of(true, "pointInTime", [
19
+ FuncArgIfcTimeStamp_js_1.FuncArgIfcTimeStamp,
20
+ FuncArgIfcDateTime_js_1.FuncArgIfcDateTime,
21
+ ]),
22
+ FuncArgUnion_js_1.FuncArgUnion.of(true, "duration", [
23
+ FuncArgIfcDuration_js_1.FuncArgIfcDuration,
24
+ FuncArgIfcDurationString_js_1.FuncArgIfcDurationString,
25
+ ]),
26
+ ]);
27
+ }
28
+ calculateResult(callingExpr, evaluatedArguments) {
29
+ const durationArg = evaluatedArguments.get("duration");
30
+ var duration;
31
+ if (durationArg instanceof IfcDurationValue_js_1.IfcDurationValue) {
32
+ duration = durationArg;
33
+ }
34
+ else if (durationArg instanceof StringValue_js_1.StringValue) {
35
+ duration = IfcDurationValue_js_1.IfcDurationValue.of(durationArg.getValue());
36
+ }
37
+ const pointInTime = evaluatedArguments.get("pointInTime");
38
+ if (pointInTime instanceof IfcDateTimeValue_js_1.IfcDateTimeValue) {
39
+ return new ExprEvalResult_js_1.ExprEvalSuccessObj(pointInTime.addDuration(duration));
40
+ }
41
+ else if (pointInTime instanceof IfcTimeStampValue_js_1.IfcTimeStampValue) {
42
+ return new ExprEvalResult_js_1.ExprEvalSuccessObj(pointInTime
43
+ .toIfcDateTimeValue()
44
+ .addDuration(duration)
45
+ .toIfcTimeStampValue());
46
+ }
47
+ }
48
+ getReturnType(argumentTypes) {
49
+ return argumentTypes[0];
50
+ }
51
+ }
52
+ exports.ADDDURATION = ADDDURATION;
53
+ //# sourceMappingURL=ADDDURATION.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/function/impl/ADDDURATION.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAElC,+DAA6E;AAC7E,kEAA4D;AAG5D,4EAAsE;AACtE,8EAAwE;AACxE,wEAAkE;AAClE,wEAAkE;AAClE,4EAAsE;AACtE,4DAAsD;AACtD,0EAAoE;AACpE,oFAA8E;AAE9E,MAAa,WAAY,SAAQ,cAAI;IACnC;QACE,KAAK,CAAC,aAAa,EAAE;YACnB,8BAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE;gBACnC,4CAAmB;gBACnB,0CAAkB;aACnB,CAAC;YACF,8BAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE;gBAChC,0CAAkB;gBAClB,sDAAwB;aACzB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,QAA0B,CAAC;QAC/B,IAAI,WAAW,YAAY,sCAAgB,EAAE;YAC3C,QAAQ,GAAG,WAAW,CAAC;SACxB;aAAM,IAAI,WAAW,YAAY,4BAAW,EAAE;YAC7C,QAAQ,GAAG,sCAAgB,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;SACxD;QACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,WAAW,YAAY,sCAAgB,EAAE;YAC3C,OAAO,IAAI,sCAAkB,CAC1B,WAAgC,CAAC,WAAW,CAAC,QAAQ,CAAC,CACxD,CAAC;SACH;aAAM,IAAI,WAAW,YAAY,wCAAiB,EAAE;YACnD,OAAO,IAAI,sCAAkB,CAC1B,WAAiC;iBAC/B,kBAAkB,EAAE;iBACpB,WAAW,CAAC,QAAQ,CAAC;iBACrB,mBAAmB,EAAE,CACzB,CAAC;SACH;IACH,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;CACF;AA3CD,kCA2CC","file":"expression/function/impl/ADDDURATION.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprEvalResult, ExprEvalSuccessObj } from \"../../ExprEvalResult.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { IfcDateTimeValue } from \"../../../value/IfcDateTimeValue.js\";\nimport { IfcTimeStampValue } from \"../../../value/IfcTimeStampValue.js\";\nimport { FuncArgIfcDateTime } from \"../arg/FuncArgIfcDateTime.js\";\nimport { FuncArgIfcDuration } from \"../arg/FuncArgIfcDuration.js\";\nimport { IfcDurationValue } from \"../../../value/IfcDurationValue.js\";\nimport { FuncArgUnion } from \"../arg/FuncArgUnion.js\";\nimport { FuncArgIfcTimeStamp } from \"../arg/FuncArgIfcTimeStamp.js\";\nimport { FuncArgIfcDurationString } from \"../arg/FuncArgIfcDurationString.js\";\n\nexport class ADDDURATION extends Func {\n constructor() {\n super(\"ADDDURATION\", [\n FuncArgUnion.of(true, \"pointInTime\", [\n FuncArgIfcTimeStamp,\n FuncArgIfcDateTime,\n ]),\n FuncArgUnion.of(true, \"duration\", [\n FuncArgIfcDuration,\n FuncArgIfcDurationString,\n ]),\n ]);\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const durationArg = evaluatedArguments.get(\"duration\");\n var duration: IfcDurationValue;\n if (durationArg instanceof IfcDurationValue) {\n duration = durationArg;\n } else if (durationArg instanceof StringValue) {\n duration = IfcDurationValue.of(durationArg.getValue());\n }\n const pointInTime = evaluatedArguments.get(\"pointInTime\");\n if (pointInTime instanceof IfcDateTimeValue) {\n return new ExprEvalSuccessObj(\n (pointInTime as IfcDateTimeValue).addDuration(duration)\n );\n } else if (pointInTime instanceof IfcTimeStampValue) {\n return new ExprEvalSuccessObj(\n (pointInTime as IfcTimeStampValue)\n .toIfcDateTimeValue()\n .addDuration(duration)\n .toIfcTimeStampValue()\n );\n }\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n return argumentTypes[0];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/impl/AT.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAElC,+DAA6E;AAE7E,qDAA+C;AAE/C,gEAA0D;AAE1D,4DAAsD;AAEtD,6DAAuD;AAGvD,MAAa,EAAG,SAAQ,cAAI;IAC1B;QACE,KAAK,CAAC,IAAI,EAAE;YACV,IAAI,8BAAY,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/B,IAAI,kCAAc,CAAC,IAAI,EAAE,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IACS,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,UAAU,GACd,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAC/B,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAkB,CAAC,QAAQ,EAAE,CAAC;QAC3E,OAAO,IAAI,sCAAkB,CAC3B,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAoB,CACnD,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,OAAO,YAAY,wBAAS,EAAE;YAChC,OAAO,gBAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SACxC;QACD,OAAQ,OAAqB,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC;CACF;AA3BD,gBA2BC","file":"expression/function/impl/AT.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprEvalResult, ExprEvalSuccessObj } from \"../../ExprEvalResult.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Types } from \"../../../type/Types.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { FuncArgNumeric } from \"../arg/FuncArgNumeric\";\nimport { NumericValue } from \"../../../value/NumericValue\";\nimport { FuncArgArray } from \"../arg/FuncArgArray\";\nimport { ArrayValue } from \"../../../value/ArrayValue\";\nimport { TupleType } from \"../../../type/TupleType\";\nimport { ArrayType } from \"../../../type/ArrayType\";\n\nexport class AT extends Func {\n constructor() {\n super(\"AT\", [\n new FuncArgArray(true, \"input\"),\n new FuncArgNumeric(true, \"index\"),\n ]);\n }\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const inputArray = (\n evaluatedArguments.get(\"input\") as ArrayValue\n ).getValue();\n const index = (evaluatedArguments.get(\"index\") as NumericValue).getValue();\n return new ExprEvalSuccessObj(\n inputArray.at(index.toNumber()) as ExpressionValue\n );\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n const arrType = argumentTypes[0];\n if (arrType instanceof TupleType) {\n return Types.or(...arrType.getTypes());\n }\n return (arrType as ArrayType).getElementType();\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/impl/AT.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAElC,+DAA6E;AAE7E,qDAA+C;AAE/C,gEAA0D;AAE1D,4DAAsD;AAEtD,6DAAuD;AAGvD,MAAa,EAAG,SAAQ,cAAI;IAC1B;QACE,KAAK,CAAC,IAAI,EAAE;YACV,IAAI,8BAAY,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/B,IAAI,kCAAc,CAAC,IAAI,EAAE,OAAO,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IACS,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,UAAU,GACd,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAC/B,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAkB,CAAC,QAAQ,EAAE,CAAC;QAC3E,OAAO,IAAI,sCAAkB,CAC3B,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAoB,CACnD,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,OAAO,YAAY,wBAAS,EAAE;YAChC,OAAO,gBAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SACxC;QACD,OAAQ,OAAqB,CAAC,cAAc,EAAE,CAAC;IACjD,CAAC;CACF;AA3BD,gBA2BC","file":"expression/function/impl/AT.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprEvalResult, ExprEvalSuccessObj } from \"../../ExprEvalResult.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { Types } from \"../../../type/Types.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { FuncArgNumeric } from \"../arg/FuncArgNumeric.js\";\nimport { NumericValue } from \"../../../value/NumericValue.js\";\nimport { FuncArgArray } from \"../arg/FuncArgArray.js\";\nimport { ArrayValue } from \"../../../value/ArrayValue.js\";\nimport { TupleType } from \"../../../type/TupleType.js\";\nimport { ArrayType } from \"../../../type/ArrayType.js\";\n\nexport class AT extends Func {\n constructor() {\n super(\"AT\", [\n new FuncArgArray(true, \"input\"),\n new FuncArgNumeric(true, \"index\"),\n ]);\n }\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const inputArray = (\n evaluatedArguments.get(\"input\") as ArrayValue\n ).getValue();\n const index = (evaluatedArguments.get(\"index\") as NumericValue).getValue();\n return new ExprEvalSuccessObj(\n inputArray.at(index.toNumber()) as ExpressionValue\n );\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n const arrType = argumentTypes[0];\n if (arrType instanceof TupleType) {\n return Types.or(...arrType.getTypes());\n }\n return (arrType as ArrayType).getElementType();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/impl/ApplyRegex.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAClC,8DAAwD;AACxD,wEAAkE;AAClE,4DAAsD;AACtD,gEAA0D;AAC1D,oEAA8D;AAC9D,kEAA4D;AAC5D,oEAA8D;AAE9D,MAAsB,UAAW,SAAQ,cAAI;IAS3C,YACE,IAAY,EACZ,aAAsB,EACtB,gBAAyB;QAEzB,KAAK,CAAC,IAAI,EAAE;YACV,IAAI,gCAAa,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;YAC7C,aAAa;gBACX,CAAC,CAAC,IAAI,0CAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;gBACtD,CAAC,CAAC,IAAI,8BAAY,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;YAClD,aAAa;gBACX,CAAC,CAAC,IAAI,kCAAc,CAChB,KAAK,EACL,UAAU,CAAC,oBAAoB,EAC/B,8BAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CACvB;gBACH,CAAC,CAAC,IAAI,sCAAgB,CAClB,KAAK,EACL,UAAU,CAAC,SAAS,EACpB,IAAI,4BAAW,CAAC,KAAK,CAAC,CACvB;SACN,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;;AAjCH,gCAkCC;AAjC2B,oBAAS,GAAG,OAAO,CAAC;AACpB,sBAAW,GAAG,SAAS,CAAC;AACxB,+BAAoB,GAAG,iBAAiB,CAAC;AACzC,oBAAS,GAAG,OAAO,CAAC","file":"expression/function/impl/ApplyRegex.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { FuncArgString } from \"../arg/FuncArgString.js\";\nimport { FuncArgSimpleRegex } from \"../arg/FuncArgSimpleRegex.js\";\nimport { FuncArgRegex } from \"../arg/FuncArgRegex.js\";\nimport { FuncArgBoolean } from \"../arg/FuncArgBoolean.js\";\nimport { BooleanValue } from \"../../../value/BooleanValue.js\";\nimport { StringValue } from \"../../../value/StringValue\";\nimport { FuncArgRegexFlag } from \"../arg/FuncArgRegexFlag\";\n\nexport abstract class ApplyRegex extends Func {\n protected static readonly KEY_INPUT = \"input\";\n protected static readonly KEY_PATTERN = \"pattern\";\n protected static readonly KEY_CASE_INSENSITIVE = \"caseInsensitive\";\n protected static readonly KEY_FLAGS = \"flags\";\n\n protected readonly requireFullMatch: boolean;\n protected readonly simplePattern: boolean;\n\n protected constructor(\n name: string,\n simplePattern: boolean,\n requireFullMatch: boolean\n ) {\n super(name, [\n new FuncArgString(true, ApplyRegex.KEY_INPUT),\n simplePattern\n ? new FuncArgSimpleRegex(true, ApplyRegex.KEY_PATTERN)\n : new FuncArgRegex(true, ApplyRegex.KEY_PATTERN),\n simplePattern\n ? new FuncArgBoolean(\n false,\n ApplyRegex.KEY_CASE_INSENSITIVE,\n BooleanValue.of(false)\n )\n : new FuncArgRegexFlag(\n false,\n ApplyRegex.KEY_FLAGS,\n new StringValue(\"gim\")\n ),\n ]);\n this.requireFullMatch = requireFullMatch;\n this.simplePattern = simplePattern;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/impl/ApplyRegex.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAClC,8DAAwD;AACxD,wEAAkE;AAClE,4DAAsD;AACtD,gEAA0D;AAC1D,oEAA8D;AAC9D,kEAA4D;AAC5D,oEAA8D;AAE9D,MAAsB,UAAW,SAAQ,cAAI;IAS3C,YACE,IAAY,EACZ,aAAsB,EACtB,gBAAyB;QAEzB,KAAK,CAAC,IAAI,EAAE;YACV,IAAI,gCAAa,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;YAC7C,aAAa;gBACX,CAAC,CAAC,IAAI,0CAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;gBACtD,CAAC,CAAC,IAAI,8BAAY,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;YAClD,aAAa;gBACX,CAAC,CAAC,IAAI,kCAAc,CAChB,KAAK,EACL,UAAU,CAAC,oBAAoB,EAC/B,8BAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CACvB;gBACH,CAAC,CAAC,IAAI,sCAAgB,CAClB,KAAK,EACL,UAAU,CAAC,SAAS,EACpB,IAAI,4BAAW,CAAC,KAAK,CAAC,CACvB;SACN,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;;AAjCH,gCAkCC;AAjC2B,oBAAS,GAAG,OAAO,CAAC;AACpB,sBAAW,GAAG,SAAS,CAAC;AACxB,+BAAoB,GAAG,iBAAiB,CAAC;AACzC,oBAAS,GAAG,OAAO,CAAC","file":"expression/function/impl/ApplyRegex.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { FuncArgString } from \"../arg/FuncArgString.js\";\nimport { FuncArgSimpleRegex } from \"../arg/FuncArgSimpleRegex.js\";\nimport { FuncArgRegex } from \"../arg/FuncArgRegex.js\";\nimport { FuncArgBoolean } from \"../arg/FuncArgBoolean.js\";\nimport { BooleanValue } from \"../../../value/BooleanValue.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport { FuncArgRegexFlag } from \"../arg/FuncArgRegexFlag.js\";\n\nexport abstract class ApplyRegex extends Func {\n protected static readonly KEY_INPUT = \"input\";\n protected static readonly KEY_PATTERN = \"pattern\";\n protected static readonly KEY_CASE_INSENSITIVE = \"caseInsensitive\";\n protected static readonly KEY_FLAGS = \"flags\";\n\n protected readonly requireFullMatch: boolean;\n protected readonly simplePattern: boolean;\n\n protected constructor(\n name: string,\n simplePattern: boolean,\n requireFullMatch: boolean\n ) {\n super(name, [\n new FuncArgString(true, ApplyRegex.KEY_INPUT),\n simplePattern\n ? new FuncArgSimpleRegex(true, ApplyRegex.KEY_PATTERN)\n : new FuncArgRegex(true, ApplyRegex.KEY_PATTERN),\n simplePattern\n ? new FuncArgBoolean(\n false,\n ApplyRegex.KEY_CASE_INSENSITIVE,\n BooleanValue.of(false)\n )\n : new FuncArgRegexFlag(\n false,\n ApplyRegex.KEY_FLAGS,\n new StringValue(\"gim\")\n ),\n ]);\n this.requireFullMatch = requireFullMatch;\n this.simplePattern = simplePattern;\n }\n}\n"]}