@qrvey/formula-lang 2.0.0-post-mvp → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +210 -0
- package/README.md +32 -0
- package/dist/cjs/constants/index.d.ts +9 -2
- package/dist/cjs/constants/index.js +12 -1
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/interfaces.d.ts +44 -14
- package/dist/cjs/errors/analyzer/index.js +1 -1
- package/dist/cjs/errors/analyzer/index.js.map +1 -1
- package/dist/cjs/errors/definitions.d.ts +27 -15
- package/dist/cjs/errors/definitions.js +47 -21
- package/dist/cjs/errors/definitions.js.map +1 -1
- package/dist/cjs/errors/dictionary.d.ts +6 -5
- package/dist/cjs/errors/dictionary.js +27 -22
- package/dist/cjs/errors/dictionary.js.map +1 -1
- package/dist/cjs/errors/index.d.ts +1 -0
- package/dist/cjs/errors/index.js +1 -0
- package/dist/cjs/errors/index.js.map +1 -1
- package/dist/cjs/errors/mismatch.d.ts +31 -0
- package/dist/cjs/errors/mismatch.js +77 -0
- package/dist/cjs/errors/mismatch.js.map +1 -0
- package/dist/cjs/functions/abs.js +1 -2
- package/dist/cjs/functions/abs.js.map +1 -1
- package/dist/cjs/functions/and.d.ts +5 -0
- package/dist/cjs/functions/and.js +55 -0
- package/dist/cjs/functions/and.js.map +1 -0
- package/dist/cjs/functions/concatenate.d.ts +5 -0
- package/dist/cjs/functions/concatenate.js +56 -0
- package/dist/cjs/functions/concatenate.js.map +1 -0
- package/dist/cjs/functions/dateadd.d.ts +5 -0
- package/dist/cjs/functions/dateadd.js +114 -0
- package/dist/cjs/functions/dateadd.js.map +1 -0
- package/dist/cjs/functions/datedif.js +9 -15
- package/dist/cjs/functions/datedif.js.map +1 -1
- package/dist/cjs/functions/datesubtract.d.ts +5 -0
- package/dist/cjs/functions/datesubtract.js +114 -0
- package/dist/cjs/functions/datesubtract.js.map +1 -0
- package/dist/cjs/functions/day.js +1 -2
- package/dist/cjs/functions/day.js.map +1 -1
- package/dist/cjs/functions/dayofweek.d.ts +5 -0
- package/dist/cjs/functions/dayofweek.js +90 -0
- package/dist/cjs/functions/dayofweek.js.map +1 -0
- package/dist/cjs/functions/even.d.ts +5 -0
- package/dist/cjs/functions/even.js +46 -0
- package/dist/cjs/functions/even.js.map +1 -0
- package/dist/cjs/functions/exp.d.ts +5 -0
- package/dist/cjs/functions/exp.js +42 -0
- package/dist/cjs/functions/exp.js.map +1 -0
- package/dist/cjs/functions/hour.js +1 -2
- package/dist/cjs/functions/hour.js.map +1 -1
- package/dist/cjs/functions/if.js +32 -13
- package/dist/cjs/functions/if.js.map +1 -1
- package/dist/cjs/functions/ifs.js +37 -15
- package/dist/cjs/functions/ifs.js.map +1 -1
- package/dist/cjs/functions/include.d.ts +5 -0
- package/dist/cjs/functions/include.js +48 -0
- package/dist/cjs/functions/include.js.map +1 -0
- package/dist/cjs/functions/index.js +54 -0
- package/dist/cjs/functions/index.js.map +1 -1
- package/dist/cjs/functions/isNull.js +53 -12
- package/dist/cjs/functions/isNull.js.map +1 -1
- package/dist/cjs/functions/left.d.ts +5 -0
- package/dist/cjs/functions/left.js +62 -0
- package/dist/cjs/functions/left.js.map +1 -0
- package/dist/cjs/functions/length.d.ts +5 -0
- package/dist/cjs/functions/length.js +45 -0
- package/dist/cjs/functions/length.js.map +1 -0
- package/dist/cjs/functions/log.d.ts +5 -0
- package/dist/cjs/functions/log.js +59 -0
- package/dist/cjs/functions/log.js.map +1 -0
- package/dist/cjs/functions/lower.d.ts +5 -0
- package/dist/cjs/functions/lower.js +42 -0
- package/dist/cjs/functions/lower.js.map +1 -0
- package/dist/cjs/functions/max.d.ts +5 -0
- package/dist/cjs/functions/max.js +60 -0
- package/dist/cjs/functions/max.js.map +1 -0
- package/dist/cjs/functions/mid.js +32 -13
- package/dist/cjs/functions/mid.js.map +1 -1
- package/dist/cjs/functions/min.d.ts +5 -0
- package/dist/cjs/functions/min.js +60 -0
- package/dist/cjs/functions/min.js.map +1 -0
- package/dist/cjs/functions/minute.js +1 -2
- package/dist/cjs/functions/minute.js.map +1 -1
- package/dist/cjs/functions/month.js +1 -2
- package/dist/cjs/functions/month.js.map +1 -1
- package/dist/cjs/functions/odd.d.ts +5 -0
- package/dist/cjs/functions/odd.js +46 -0
- package/dist/cjs/functions/odd.js.map +1 -0
- package/dist/cjs/functions/or.d.ts +5 -0
- package/dist/cjs/functions/or.js +55 -0
- package/dist/cjs/functions/or.js.map +1 -0
- package/dist/cjs/functions/power.d.ts +5 -0
- package/dist/cjs/functions/power.js +53 -0
- package/dist/cjs/functions/power.js.map +1 -0
- package/dist/cjs/functions/proper.d.ts +5 -0
- package/dist/cjs/functions/proper.js +39 -0
- package/dist/cjs/functions/proper.js.map +1 -0
- package/dist/cjs/functions/random.d.ts +5 -0
- package/dist/cjs/functions/random.js +34 -0
- package/dist/cjs/functions/random.js.map +1 -0
- package/dist/cjs/functions/replace.d.ts +5 -0
- package/dist/cjs/functions/replace.js +54 -0
- package/dist/cjs/functions/replace.js.map +1 -0
- package/dist/cjs/functions/right.d.ts +5 -0
- package/dist/cjs/functions/right.js +63 -0
- package/dist/cjs/functions/right.js.map +1 -0
- package/dist/cjs/functions/round.d.ts +5 -0
- package/dist/cjs/functions/round.js +59 -0
- package/dist/cjs/functions/round.js.map +1 -0
- package/dist/cjs/functions/rounddown.d.ts +5 -0
- package/dist/cjs/functions/rounddown.js +59 -0
- package/dist/cjs/functions/rounddown.js.map +1 -0
- package/dist/cjs/functions/roundup.d.ts +5 -0
- package/dist/cjs/functions/roundup.js +59 -0
- package/dist/cjs/functions/roundup.js.map +1 -0
- package/dist/cjs/functions/second.js +1 -2
- package/dist/cjs/functions/second.js.map +1 -1
- package/dist/cjs/functions/sqrt.d.ts +5 -0
- package/dist/cjs/functions/sqrt.js +46 -0
- package/dist/cjs/functions/sqrt.js.map +1 -0
- package/dist/cjs/functions/trim.d.ts +5 -0
- package/dist/cjs/functions/trim.js +42 -0
- package/dist/cjs/functions/trim.js.map +1 -0
- package/dist/cjs/functions/upper.d.ts +5 -0
- package/dist/cjs/functions/upper.js +42 -0
- package/dist/cjs/functions/upper.js.map +1 -0
- package/dist/cjs/functions/year.js +1 -2
- package/dist/cjs/functions/year.js.map +1 -1
- package/dist/cjs/grammar/generated/qformula.lang.d.ts +2 -9
- package/dist/cjs/grammar/generated/qformula.lang.js +58 -33
- package/dist/cjs/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/cjs/grammar/generated/qformula.lang.terms.d.ts +20 -19
- package/dist/cjs/grammar/generated/qformula.lang.terms.js +2 -2
- package/dist/cjs/grammar/generated/qformula.lang.terms.js.map +1 -1
- package/dist/cjs/grammar/tokens.d.ts +2 -0
- package/dist/cjs/grammar/tokens.js +26 -0
- package/dist/cjs/grammar/tokens.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/parser/formula-parser.d.ts +2 -1
- package/dist/cjs/parser/formula-parser.js +11 -12
- package/dist/cjs/parser/formula-parser.js.map +1 -1
- package/dist/cjs/parser/json-parser.js +73 -27
- package/dist/cjs/parser/json-parser.js.map +1 -1
- package/dist/cjs/transpiler/columnTranspilation.d.ts +1 -1
- package/dist/cjs/transpiler/columnTranspilation.js +22 -4
- package/dist/cjs/transpiler/columnTranspilation.js.map +1 -1
- package/dist/cjs/transpiler/index.js +104 -17
- package/dist/cjs/transpiler/index.js.map +1 -1
- package/dist/cjs/transpiler/validateFuncStructure.d.ts +1 -1
- package/dist/cjs/transpiler/validateFuncStructure.js +65 -17
- package/dist/cjs/transpiler/validateFuncStructure.js.map +1 -1
- package/dist/cjs/utils/addDecimalPointIfNeeded.d.ts +3 -0
- package/dist/cjs/utils/addDecimalPointIfNeeded.js +19 -0
- package/dist/cjs/utils/addDecimalPointIfNeeded.js.map +1 -0
- package/dist/cjs/utils/cleanInvalidItemsInContext.d.ts +3 -0
- package/dist/cjs/utils/cleanInvalidItemsInContext.js +28 -0
- package/dist/cjs/utils/cleanInvalidItemsInContext.js.map +1 -0
- package/dist/cjs/utils/elasticsearch/index.js +33 -0
- package/dist/cjs/utils/elasticsearch/index.js.map +1 -1
- package/dist/cjs/utils/elasticsearch/scripts.d.ts +16 -1
- package/dist/cjs/utils/elasticsearch/scripts.js +150 -12
- package/dist/cjs/utils/elasticsearch/scripts.js.map +1 -1
- package/dist/cjs/utils/escapeCharacters.d.ts +2 -0
- package/dist/cjs/utils/escapeCharacters.js +41 -0
- package/dist/cjs/utils/escapeCharacters.js.map +1 -0
- package/dist/cjs/utils/getNumericValueFromArgument.d.ts +3 -0
- package/dist/cjs/utils/getNumericValueFromArgument.js +32 -0
- package/dist/cjs/utils/getNumericValueFromArgument.js.map +1 -0
- package/dist/cjs/utils/getValidDataTypeParam.d.ts +3 -0
- package/dist/cjs/utils/getValidDataTypeParam.js +10 -0
- package/dist/cjs/utils/getValidDataTypeParam.js.map +1 -0
- package/dist/cjs/utils/getVariableType.js +2 -0
- package/dist/cjs/utils/getVariableType.js.map +1 -1
- package/dist/cjs/utils/greaterThanOrEqualToReference.d.ts +3 -0
- package/dist/cjs/utils/greaterThanOrEqualToReference.js +20 -0
- package/dist/cjs/utils/greaterThanOrEqualToReference.js.map +1 -0
- package/dist/cjs/utils/greaterThanReference.d.ts +3 -0
- package/dist/cjs/utils/greaterThanReference.js +19 -0
- package/dist/cjs/utils/greaterThanReference.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +2 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/isAColumn.d.ts +2 -3
- package/dist/cjs/utils/isAColumn.js +2 -6
- package/dist/cjs/utils/isAColumn.js.map +1 -1
- package/dist/cjs/utils/isALiteral.d.ts +2 -0
- package/dist/cjs/utils/isALiteral.js +9 -0
- package/dist/cjs/utils/isALiteral.js.map +1 -0
- package/dist/cjs/utils/isAValidPower.d.ts +3 -0
- package/dist/cjs/utils/isAValidPower.js +21 -0
- package/dist/cjs/utils/isAValidPower.js.map +1 -0
- package/dist/cjs/utils/isAnAllowedValue.d.ts +2 -0
- package/dist/cjs/utils/isAnAllowedValue.js +20 -0
- package/dist/cjs/utils/isAnAllowedValue.js.map +1 -0
- package/dist/cjs/utils/isBetweenInclusiveRange.d.ts +3 -0
- package/dist/cjs/utils/isBetweenInclusiveRange.js +21 -0
- package/dist/cjs/utils/isBetweenInclusiveRange.js.map +1 -0
- package/dist/cjs/utils/isBooleanExpression.d.ts +1 -1
- package/dist/cjs/utils/isBooleanExpression.js +9 -5
- package/dist/cjs/utils/isBooleanExpression.js.map +1 -1
- package/dist/cjs/utils/isDateParam.js +8 -2
- package/dist/cjs/utils/isDateParam.js.map +1 -1
- package/dist/cjs/utils/isInteger.d.ts +3 -0
- package/dist/cjs/utils/isInteger.js +25 -0
- package/dist/cjs/utils/isInteger.js.map +1 -0
- package/dist/cjs/utils/isLongLiteralNumber.js +2 -1
- package/dist/cjs/utils/isLongLiteralNumber.js.map +1 -1
- package/dist/cjs/utils/isNumberParam.js +8 -2
- package/dist/cjs/utils/isNumberParam.js.map +1 -1
- package/dist/cjs/utils/isSameAndValidRecursiveDataType.d.ts +3 -0
- package/dist/cjs/utils/isSameAndValidRecursiveDataType.js +32 -0
- package/dist/cjs/utils/isSameAndValidRecursiveDataType.js.map +1 -0
- package/dist/cjs/utils/isStringParam.js +8 -2
- package/dist/cjs/utils/isStringParam.js.map +1 -1
- package/dist/cjs/utils/primitiveFunctions.d.ts +4 -0
- package/dist/cjs/utils/primitiveFunctions.js +11 -1
- package/dist/cjs/utils/primitiveFunctions.js.map +1 -1
- package/dist/module/constants/index.d.ts +9 -2
- package/dist/module/constants/index.js +11 -0
- package/dist/module/constants/index.js.map +1 -1
- package/dist/module/constants/interfaces.d.ts +44 -14
- package/dist/module/errors/analyzer/index.js +1 -1
- package/dist/module/errors/analyzer/index.js.map +1 -1
- package/dist/module/errors/definitions.d.ts +27 -15
- package/dist/module/errors/definitions.js +41 -17
- package/dist/module/errors/definitions.js.map +1 -1
- package/dist/module/errors/dictionary.d.ts +6 -5
- package/dist/module/errors/dictionary.js +27 -22
- package/dist/module/errors/dictionary.js.map +1 -1
- package/dist/module/errors/index.d.ts +1 -0
- package/dist/module/errors/index.js +1 -0
- package/dist/module/errors/index.js.map +1 -1
- package/dist/module/errors/mismatch.d.ts +31 -0
- package/dist/module/errors/mismatch.js +72 -0
- package/dist/module/errors/mismatch.js.map +1 -0
- package/dist/module/functions/abs.js +1 -2
- package/dist/module/functions/abs.js.map +1 -1
- package/dist/module/functions/and.d.ts +5 -0
- package/dist/module/functions/and.js +52 -0
- package/dist/module/functions/and.js.map +1 -0
- package/dist/module/functions/concatenate.d.ts +5 -0
- package/dist/module/functions/concatenate.js +53 -0
- package/dist/module/functions/concatenate.js.map +1 -0
- package/dist/module/functions/dateadd.d.ts +5 -0
- package/dist/module/functions/dateadd.js +111 -0
- package/dist/module/functions/dateadd.js.map +1 -0
- package/dist/module/functions/datedif.js +9 -15
- package/dist/module/functions/datedif.js.map +1 -1
- package/dist/module/functions/datesubtract.d.ts +5 -0
- package/dist/module/functions/datesubtract.js +111 -0
- package/dist/module/functions/datesubtract.js.map +1 -0
- package/dist/module/functions/day.js +1 -2
- package/dist/module/functions/day.js.map +1 -1
- package/dist/module/functions/dayofweek.d.ts +5 -0
- package/dist/module/functions/dayofweek.js +87 -0
- package/dist/module/functions/dayofweek.js.map +1 -0
- package/dist/module/functions/even.d.ts +5 -0
- package/dist/module/functions/even.js +43 -0
- package/dist/module/functions/even.js.map +1 -0
- package/dist/module/functions/exp.d.ts +5 -0
- package/dist/module/functions/exp.js +39 -0
- package/dist/module/functions/exp.js.map +1 -0
- package/dist/module/functions/hour.js +1 -2
- package/dist/module/functions/hour.js.map +1 -1
- package/dist/module/functions/if.js +33 -14
- package/dist/module/functions/if.js.map +1 -1
- package/dist/module/functions/ifs.js +38 -16
- package/dist/module/functions/ifs.js.map +1 -1
- package/dist/module/functions/include.d.ts +5 -0
- package/dist/module/functions/include.js +45 -0
- package/dist/module/functions/include.js.map +1 -0
- package/dist/module/functions/index.js +54 -0
- package/dist/module/functions/index.js.map +1 -1
- package/dist/module/functions/isNull.js +55 -14
- package/dist/module/functions/isNull.js.map +1 -1
- package/dist/module/functions/left.d.ts +5 -0
- package/dist/module/functions/left.js +59 -0
- package/dist/module/functions/left.js.map +1 -0
- package/dist/module/functions/length.d.ts +5 -0
- package/dist/module/functions/length.js +42 -0
- package/dist/module/functions/length.js.map +1 -0
- package/dist/module/functions/log.d.ts +5 -0
- package/dist/module/functions/log.js +56 -0
- package/dist/module/functions/log.js.map +1 -0
- package/dist/module/functions/lower.d.ts +5 -0
- package/dist/module/functions/lower.js +39 -0
- package/dist/module/functions/lower.js.map +1 -0
- package/dist/module/functions/max.d.ts +5 -0
- package/dist/module/functions/max.js +57 -0
- package/dist/module/functions/max.js.map +1 -0
- package/dist/module/functions/mid.js +32 -13
- package/dist/module/functions/mid.js.map +1 -1
- package/dist/module/functions/min.d.ts +5 -0
- package/dist/module/functions/min.js +57 -0
- package/dist/module/functions/min.js.map +1 -0
- package/dist/module/functions/minute.js +1 -2
- package/dist/module/functions/minute.js.map +1 -1
- package/dist/module/functions/month.js +1 -2
- package/dist/module/functions/month.js.map +1 -1
- package/dist/module/functions/odd.d.ts +5 -0
- package/dist/module/functions/odd.js +43 -0
- package/dist/module/functions/odd.js.map +1 -0
- package/dist/module/functions/or.d.ts +5 -0
- package/dist/module/functions/or.js +52 -0
- package/dist/module/functions/or.js.map +1 -0
- package/dist/module/functions/power.d.ts +5 -0
- package/dist/module/functions/power.js +50 -0
- package/dist/module/functions/power.js.map +1 -0
- package/dist/module/functions/proper.d.ts +5 -0
- package/dist/module/functions/proper.js +36 -0
- package/dist/module/functions/proper.js.map +1 -0
- package/dist/module/functions/random.d.ts +5 -0
- package/dist/module/functions/random.js +31 -0
- package/dist/module/functions/random.js.map +1 -0
- package/dist/module/functions/replace.d.ts +5 -0
- package/dist/module/functions/replace.js +51 -0
- package/dist/module/functions/replace.js.map +1 -0
- package/dist/module/functions/right.d.ts +5 -0
- package/dist/module/functions/right.js +60 -0
- package/dist/module/functions/right.js.map +1 -0
- package/dist/module/functions/round.d.ts +5 -0
- package/dist/module/functions/round.js +56 -0
- package/dist/module/functions/round.js.map +1 -0
- package/dist/module/functions/rounddown.d.ts +5 -0
- package/dist/module/functions/rounddown.js +56 -0
- package/dist/module/functions/rounddown.js.map +1 -0
- package/dist/module/functions/roundup.d.ts +5 -0
- package/dist/module/functions/roundup.js +56 -0
- package/dist/module/functions/roundup.js.map +1 -0
- package/dist/module/functions/second.js +1 -2
- package/dist/module/functions/second.js.map +1 -1
- package/dist/module/functions/sqrt.d.ts +5 -0
- package/dist/module/functions/sqrt.js +43 -0
- package/dist/module/functions/sqrt.js.map +1 -0
- package/dist/module/functions/trim.d.ts +5 -0
- package/dist/module/functions/trim.js +39 -0
- package/dist/module/functions/trim.js.map +1 -0
- package/dist/module/functions/upper.d.ts +5 -0
- package/dist/module/functions/upper.js +39 -0
- package/dist/module/functions/upper.js.map +1 -0
- package/dist/module/functions/year.js +1 -2
- package/dist/module/functions/year.js.map +1 -1
- package/dist/module/grammar/generated/qformula.lang.d.ts +2 -9
- package/dist/module/grammar/generated/qformula.lang.js +58 -33
- package/dist/module/grammar/generated/qformula.lang.js.map +1 -1
- package/dist/module/grammar/generated/qformula.lang.terms.d.ts +20 -19
- package/dist/module/grammar/generated/qformula.lang.terms.js +1 -1
- package/dist/module/grammar/generated/qformula.lang.terms.js.map +1 -1
- package/dist/module/grammar/tokens.d.ts +2 -0
- package/dist/module/grammar/tokens.js +23 -0
- package/dist/module/grammar/tokens.js.map +1 -0
- package/dist/module/index.d.ts +3 -1
- package/dist/module/index.js +3 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/parser/formula-parser.d.ts +2 -1
- package/dist/module/parser/formula-parser.js +9 -11
- package/dist/module/parser/formula-parser.js.map +1 -1
- package/dist/module/parser/json-parser.js +75 -29
- package/dist/module/parser/json-parser.js.map +1 -1
- package/dist/module/transpiler/columnTranspilation.d.ts +1 -1
- package/dist/module/transpiler/columnTranspilation.js +22 -4
- package/dist/module/transpiler/columnTranspilation.js.map +1 -1
- package/dist/module/transpiler/index.js +104 -17
- package/dist/module/transpiler/index.js.map +1 -1
- package/dist/module/transpiler/validateFuncStructure.d.ts +1 -1
- package/dist/module/transpiler/validateFuncStructure.js +65 -17
- package/dist/module/transpiler/validateFuncStructure.js.map +1 -1
- package/dist/module/utils/addDecimalPointIfNeeded.d.ts +3 -0
- package/dist/module/utils/addDecimalPointIfNeeded.js +15 -0
- package/dist/module/utils/addDecimalPointIfNeeded.js.map +1 -0
- package/dist/module/utils/cleanInvalidItemsInContext.d.ts +3 -0
- package/dist/module/utils/cleanInvalidItemsInContext.js +24 -0
- package/dist/module/utils/cleanInvalidItemsInContext.js.map +1 -0
- package/dist/module/utils/elasticsearch/index.js +34 -1
- package/dist/module/utils/elasticsearch/index.js.map +1 -1
- package/dist/module/utils/elasticsearch/scripts.d.ts +16 -1
- package/dist/module/utils/elasticsearch/scripts.js +149 -11
- package/dist/module/utils/elasticsearch/scripts.js.map +1 -1
- package/dist/module/utils/escapeCharacters.d.ts +2 -0
- package/dist/module/utils/escapeCharacters.js +37 -0
- package/dist/module/utils/escapeCharacters.js.map +1 -0
- package/dist/module/utils/getNumericValueFromArgument.d.ts +3 -0
- package/dist/module/utils/getNumericValueFromArgument.js +27 -0
- package/dist/module/utils/getNumericValueFromArgument.js.map +1 -0
- package/dist/module/utils/getValidDataTypeParam.d.ts +3 -0
- package/dist/module/utils/getValidDataTypeParam.js +6 -0
- package/dist/module/utils/getValidDataTypeParam.js.map +1 -0
- package/dist/module/utils/getVariableType.js +2 -0
- package/dist/module/utils/getVariableType.js.map +1 -1
- package/dist/module/utils/greaterThanOrEqualToReference.d.ts +3 -0
- package/dist/module/utils/greaterThanOrEqualToReference.js +16 -0
- package/dist/module/utils/greaterThanOrEqualToReference.js.map +1 -0
- package/dist/module/utils/greaterThanReference.d.ts +3 -0
- package/dist/module/utils/greaterThanReference.js +15 -0
- package/dist/module/utils/greaterThanReference.js.map +1 -0
- package/dist/module/utils/index.d.ts +1 -0
- package/dist/module/utils/index.js +2 -1
- package/dist/module/utils/index.js.map +1 -1
- package/dist/module/utils/isAColumn.d.ts +2 -3
- package/dist/module/utils/isAColumn.js +2 -6
- package/dist/module/utils/isAColumn.js.map +1 -1
- package/dist/module/utils/isALiteral.d.ts +2 -0
- package/dist/module/utils/isALiteral.js +5 -0
- package/dist/module/utils/isALiteral.js.map +1 -0
- package/dist/module/utils/isAValidPower.d.ts +3 -0
- package/dist/module/utils/isAValidPower.js +17 -0
- package/dist/module/utils/isAValidPower.js.map +1 -0
- package/dist/module/utils/isAnAllowedValue.d.ts +2 -0
- package/dist/module/utils/isAnAllowedValue.js +16 -0
- package/dist/module/utils/isAnAllowedValue.js.map +1 -0
- package/dist/module/utils/isBetweenInclusiveRange.d.ts +3 -0
- package/dist/module/utils/isBetweenInclusiveRange.js +17 -0
- package/dist/module/utils/isBetweenInclusiveRange.js.map +1 -0
- package/dist/module/utils/isBooleanExpression.d.ts +1 -1
- package/dist/module/utils/isBooleanExpression.js +9 -5
- package/dist/module/utils/isBooleanExpression.js.map +1 -1
- package/dist/module/utils/isDateParam.js +8 -2
- package/dist/module/utils/isDateParam.js.map +1 -1
- package/dist/module/utils/isInteger.d.ts +3 -0
- package/dist/module/utils/isInteger.js +21 -0
- package/dist/module/utils/isInteger.js.map +1 -0
- package/dist/module/utils/isLongLiteralNumber.js +2 -1
- package/dist/module/utils/isLongLiteralNumber.js.map +1 -1
- package/dist/module/utils/isNumberParam.js +8 -2
- package/dist/module/utils/isNumberParam.js.map +1 -1
- package/dist/module/utils/isSameAndValidRecursiveDataType.d.ts +3 -0
- package/dist/module/utils/isSameAndValidRecursiveDataType.js +28 -0
- package/dist/module/utils/isSameAndValidRecursiveDataType.js.map +1 -0
- package/dist/module/utils/isStringParam.js +8 -2
- package/dist/module/utils/isStringParam.js.map +1 -1
- package/dist/module/utils/primitiveFunctions.d.ts +4 -0
- package/dist/module/utils/primitiveFunctions.js +8 -0
- package/dist/module/utils/primitiveFunctions.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/utils/isNotAColumn.d.ts +0 -3
- package/dist/cjs/utils/isNotAColumn.js +0 -13
- package/dist/cjs/utils/isNotAColumn.js.map +0 -1
- package/dist/module/utils/isNotAColumn.d.ts +0 -3
- package/dist/module/utils/isNotAColumn.js +0 -9
- package/dist/module/utils/isNotAColumn.js.map +0 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RESPONSE_LEVEL } from '../constants';
|
|
2
2
|
import { isNull } from '../utils/isNull';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { validateParameters, FunctionArgumentsMismatch, ArgumentValidatorError, } from '../errors';
|
|
4
|
+
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
5
|
+
export function validateFuncStructure(definition, args, node) {
|
|
6
|
+
var _a, _b;
|
|
5
7
|
let parameterIndex = 0;
|
|
6
8
|
let argumentIndex = 0;
|
|
7
9
|
const parameters = definition.parameters || [];
|
|
@@ -9,6 +11,9 @@ export function validateFuncStructure(node, definition, args) {
|
|
|
9
11
|
parameterIndex += 1;
|
|
10
12
|
argumentIndex += 1;
|
|
11
13
|
};
|
|
14
|
+
const execValidators = [];
|
|
15
|
+
let invalidValidator = false;
|
|
16
|
+
let hasMismatch = false;
|
|
12
17
|
while (parameterIndex < parameters.length) {
|
|
13
18
|
const parameter = parameters[parameterIndex];
|
|
14
19
|
const { value, dataType } = (_a = args[argumentIndex]) !== null && _a !== void 0 ? _a : {};
|
|
@@ -16,24 +21,67 @@ export function validateFuncStructure(node, definition, args) {
|
|
|
16
21
|
incrementCounter();
|
|
17
22
|
continue;
|
|
18
23
|
}
|
|
19
|
-
if (isNull(value) && !parameter.optional)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
if (isNull(value) && !parameter.optional) {
|
|
25
|
+
invalidValidator = true;
|
|
26
|
+
hasMismatch = true;
|
|
27
|
+
execValidators.push(Object.assign(Object.assign({ valid: false, source: RESPONSE_LEVEL.function }, ERROR_DICTIONARY[ERROR_LIST.missingArg]), { parameter,
|
|
28
|
+
argumentIndex }));
|
|
29
|
+
}
|
|
30
|
+
const validatorContext = {
|
|
31
|
+
fnNode: node,
|
|
32
|
+
argument: (_b = args[argumentIndex]) !== null && _b !== void 0 ? _b : {},
|
|
33
|
+
};
|
|
34
|
+
for (const validatorFunction of parameter.validator) {
|
|
35
|
+
const validator = validatorFunction(value, dataType, validatorContext);
|
|
36
|
+
execValidators.push(Object.assign(Object.assign({}, validator), { parameter,
|
|
37
|
+
argumentIndex }));
|
|
38
|
+
if (!validator.valid) {
|
|
39
|
+
if (validator.mismatchData && !hasMismatch)
|
|
40
|
+
hasMismatch = true;
|
|
41
|
+
if (!invalidValidator)
|
|
42
|
+
invalidValidator = true;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
27
46
|
incrementCounter();
|
|
28
|
-
const
|
|
29
|
-
|
|
47
|
+
const parameterListCompleted = parameterIndex === parameters.length;
|
|
48
|
+
const hasMoreArguments = argumentIndex < args.length;
|
|
30
49
|
const isRecursive = typeof (definition === null || definition === void 0 ? void 0 : definition.recursiveStartIn) === 'number';
|
|
31
|
-
if (hasMoreArguments && isRecursive) {
|
|
50
|
+
if (parameterListCompleted && hasMoreArguments && isRecursive) {
|
|
32
51
|
parameterIndex = definition.recursiveStartIn;
|
|
33
52
|
}
|
|
34
53
|
}
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
54
|
+
if (invalidValidator) {
|
|
55
|
+
if (hasMismatch) {
|
|
56
|
+
throwFunctionMismatch(definition, args, node, {
|
|
57
|
+
validators: execValidators,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const failedValidator = execValidators.find((val) => !val.valid);
|
|
62
|
+
if (failedValidator)
|
|
63
|
+
throwArgumentError(node, failedValidator);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (argumentIndex < args.length) {
|
|
67
|
+
throwFunctionMismatch(definition, args, node, {
|
|
68
|
+
error: ERROR_LIST.tooManyArguments,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function throwFunctionMismatch(definition, args, node, validatorInfo, parameter) {
|
|
73
|
+
var _a;
|
|
74
|
+
const baseValidator = Object.assign({ valid: false, source: RESPONSE_LEVEL.function }, ERROR_DICTIONARY[(_a = validatorInfo.error) !== null && _a !== void 0 ? _a : ERROR_LIST.unknown]);
|
|
75
|
+
const { expected, received, validator } = validateParameters(definition, args, validatorInfo.validators);
|
|
76
|
+
throw new FunctionArgumentsMismatch({
|
|
77
|
+
node,
|
|
78
|
+
parameter,
|
|
79
|
+
validator: validator || baseValidator,
|
|
80
|
+
expected,
|
|
81
|
+
received,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function throwArgumentError(node, validator) {
|
|
85
|
+
throw new ArgumentValidatorError(node, validator);
|
|
38
86
|
}
|
|
39
87
|
//# sourceMappingURL=validateFuncStructure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateFuncStructure.js","sourceRoot":"","sources":["../../../src/transpiler/validateFuncStructure.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validateFuncStructure.js","sourceRoot":"","sources":["../../../src/transpiler/validateFuncStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,GACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,UAAU,qBAAqB,CACjC,UAA8B,EAC9B,IAA8B,EAC9B,IAAqB;;IAErB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,cAAc,IAAI,CAAC,CAAC;QACpB,aAAa,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,cAAc,GAAiC,EAAE,CAAC;IACxD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,OAAO,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE;QACvC,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC;QAEtD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE;YACrC,gBAAgB,EAAE,CAAC;YACnB,SAAS;SACZ;QACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACtC,gBAAgB,GAAG,IAAI,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC;YACnB,cAAc,CAAC,IAAI,+BACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,CAAC,QAAQ,IAC5B,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAC1C,SAAS;gBACT,aAAa,IACf,CAAC;SACN;QAED,MAAM,gBAAgB,GAAG;YACrB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,MAAA,IAAI,CAAC,aAAa,CAAC,mCAAI,EAAE;SACtC,CAAC;QAEF,KAAK,MAAM,iBAAiB,IAAI,SAAS,CAAC,SAAS,EAAE;YACjD,MAAM,SAAS,GAAG,iBAAiB,CAC/B,KAAK,EACL,QAAQ,EACR,gBAAgB,CACnB,CAAC;YACF,cAAc,CAAC,IAAI,iCACZ,SAAS,KACZ,SAAS;gBACT,aAAa,IACf,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;gBAClB,IAAI,SAAS,CAAC,YAAY,IAAI,CAAC,WAAW;oBAAE,WAAW,GAAG,IAAI,CAAC;gBAC/D,IAAI,CAAC,gBAAgB;oBAAE,gBAAgB,GAAG,IAAI,CAAC;gBAC/C,MAAM;aACT;SACJ;QAED,gBAAgB,EAAE,CAAC;QACnB,MAAM,sBAAsB,GAAG,cAAc,KAAK,UAAU,CAAC,MAAM,CAAC;QACpE,MAAM,gBAAgB,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACrD,MAAM,WAAW,GAAG,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,gBAAgB,CAAA,KAAK,QAAQ,CAAC;QACrE,IAAI,sBAAsB,IAAI,gBAAgB,IAAI,WAAW,EAAE;YAC3D,cAAc,GAAG,UAAU,CAAC,gBAA0B,CAAC;SAC1D;KACJ;IAED,IAAI,gBAAgB,EAAE;QAClB,IAAI,WAAW,EAAE;YACb,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1C,UAAU,EAAE,cAAc;aAC7B,CAAC,CAAC;SACN;aAAM;YACH,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,eAAe;gBAAE,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SAClE;KACJ;IAED,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE;QAC7B,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,UAAU,CAAC,gBAAgB;SACrC,CAAC,CAAC;KACN;AACL,CAAC;AAED,SAAS,qBAAqB,CAC1B,UAA8B,EAC9B,IAA8B,EAC9B,IAAqB,EACrB,aAGC,EACD,SAA6B;;IAE7B,MAAM,aAAa,mBACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,CAAC,QAAQ,IAC5B,gBAAgB,CAAC,MAAA,aAAa,CAAC,KAAK,mCAAI,UAAU,CAAC,OAAO,CAAC,CACjE,CAAC;IACF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CACxD,UAAU,EACV,IAAI,EACJ,aAAa,CAAC,UAAU,CAC3B,CAAC;IAEF,MAAM,IAAI,yBAAyB,CAAC;QAChC,IAAI;QACJ,SAAS;QACT,SAAS,EAAE,SAAS,IAAI,aAAa;QACrC,QAAQ;QACR,QAAQ;KACX,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CACvB,IAAqB,EACrB,SAAqC;IAErC,MAAM,IAAI,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ENGINES } from '../constants';
|
|
2
|
+
export function addDecimalPointIfNeeded(value, engine) {
|
|
3
|
+
if ([
|
|
4
|
+
ENGINES.POSTGRESQL,
|
|
5
|
+
ENGINES.REDSHIFT,
|
|
6
|
+
ENGINES.SNOWFLAKE,
|
|
7
|
+
ENGINES.ELASTICSEARCH,
|
|
8
|
+
].includes(engine) &&
|
|
9
|
+
Number.isInteger(value) &&
|
|
10
|
+
!String(value).includes('.')) {
|
|
11
|
+
return `${value}.0`;
|
|
12
|
+
}
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=addDecimalPointIfNeeded.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addDecimalPointIfNeeded.js","sourceRoot":"","sources":["../../../src/utils/addDecimalPointIfNeeded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,MAAM,UAAU,uBAAuB,CACnC,KAAmB,EACnB,MAAe;IAEf,IACI;QACI,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,aAAa;KACxB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC9B;QACE,OAAO,GAAG,KAAK,IAAI,CAAC;KACvB;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ENGINES } from '../constants';
|
|
2
|
+
import { Transpile } from '../index';
|
|
3
|
+
export function cleanInvalidItemsInContext(context, engine = ENGINES.ELASTICSEARCH) {
|
|
4
|
+
var _a;
|
|
5
|
+
if (!context.currentFormulaId)
|
|
6
|
+
return context;
|
|
7
|
+
const model = (_a = context.model) === null || _a === void 0 ? void 0 : _a.filter((currentModel) => {
|
|
8
|
+
var _a;
|
|
9
|
+
if (!currentModel.isExternalFormula)
|
|
10
|
+
return true;
|
|
11
|
+
if (currentModel.id === context.currentFormulaId)
|
|
12
|
+
return false;
|
|
13
|
+
try {
|
|
14
|
+
const program = (_a = currentModel.replacement) !== null && _a !== void 0 ? _a : 'WRONG';
|
|
15
|
+
Transpile(program, engine, context);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return Object.assign(Object.assign({}, context), { model });
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=cleanInvalidItemsInContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanInvalidItemsInContext.js","sourceRoot":"","sources":["../../../src/utils/cleanInvalidItemsInContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,UAAU,0BAA0B,CACtC,OAAuB,EACvB,SAAkB,OAAO,CAAC,aAAa;;IAEvC,IAAI,CAAC,OAAO,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC;IAE9C,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE;;QACjD,IAAI,CAAC,YAAY,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,YAAY,CAAC,EAAE,KAAK,OAAO,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAE/D,IAAI;YACA,MAAM,OAAO,GAAG,MAAA,YAAY,CAAC,WAAW,mCAAI,OAAO,CAAC;YACpD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,CAAC,CAAC;IAEH,uCACO,OAAO,KACV,KAAK,IACP;AACN,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dateFormatScript, isNullScript, subStringScript } from './scripts';
|
|
1
|
+
import { dateFormatScript, evenScript, expScript, greatestScript, includeScript, isNullScript, leastScript, lengthScript, logScript, oddScript, powerScript, properScript, replaceScript, roundDownScript, roundScript, roundUpScript, sqrtScript, subStringScript, } from './scripts';
|
|
2
2
|
export { toDate, setTimezoneToColumnDate } from './scripts';
|
|
3
3
|
export function customFunctionsList(func) {
|
|
4
4
|
switch (func) {
|
|
@@ -10,9 +10,42 @@ export function customFunctionsList(func) {
|
|
|
10
10
|
case 'SECOND':
|
|
11
11
|
return dateFormatScript;
|
|
12
12
|
case 'MID':
|
|
13
|
+
case 'LEFT':
|
|
14
|
+
case 'RIGHT':
|
|
13
15
|
return subStringScript;
|
|
14
16
|
case 'ISNULL':
|
|
15
17
|
return isNullScript;
|
|
18
|
+
case 'PROPER':
|
|
19
|
+
return properScript;
|
|
20
|
+
case 'MAX':
|
|
21
|
+
return greatestScript;
|
|
22
|
+
case 'MIN':
|
|
23
|
+
return leastScript;
|
|
24
|
+
case 'LENGTH':
|
|
25
|
+
return lengthScript;
|
|
26
|
+
case 'SQRT':
|
|
27
|
+
return sqrtScript;
|
|
28
|
+
case 'EXP':
|
|
29
|
+
return expScript;
|
|
30
|
+
case 'REPLACE':
|
|
31
|
+
return replaceScript;
|
|
32
|
+
case 'INCLUDE':
|
|
33
|
+
return includeScript;
|
|
34
|
+
case 'EVEN':
|
|
35
|
+
return evenScript;
|
|
36
|
+
case 'LOG':
|
|
37
|
+
return logScript;
|
|
38
|
+
case 'ODD':
|
|
39
|
+
return oddScript;
|
|
40
|
+
case 'POWER':
|
|
41
|
+
return powerScript;
|
|
42
|
+
case 'RANDOM':
|
|
43
|
+
case 'ROUND':
|
|
44
|
+
return roundScript;
|
|
45
|
+
case 'ROUNDDOWN':
|
|
46
|
+
return roundDownScript;
|
|
47
|
+
case 'ROUNDUP':
|
|
48
|
+
return roundUpScript;
|
|
16
49
|
default:
|
|
17
50
|
return false;
|
|
18
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAE5D,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC5C,QAAQ,IAAI,EAAE;QACV,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACR,OAAO,eAAe,CAAC;QAC3B,KAAK,QAAQ;YACT,OAAO,YAAY,CAAC;QACxB,KAAK,QAAQ;YACT,OAAO,YAAY,CAAC;QACxB,KAAK,KAAK;YACN,OAAO,cAAc,CAAC;QAC1B,KAAK,KAAK;YACN,OAAO,WAAW,CAAC;QACvB,KAAK,QAAQ;YACT,OAAO,YAAY,CAAC;QACxB,KAAK,MAAM;YACP,OAAO,UAAU,CAAC;QACtB,KAAK,KAAK;YACN,OAAO,SAAS,CAAC;QACrB,KAAK,SAAS;YACV,OAAO,aAAa,CAAC;QACzB,KAAK,SAAS;YACV,OAAO,aAAa,CAAC;QACzB,KAAK,MAAM;YACP,OAAO,UAAU,CAAC;QACtB,KAAK,KAAK;YACN,OAAO,SAAS,CAAC;QACrB,KAAK,KAAK;YACN,OAAO,SAAS,CAAC;QACrB,KAAK,OAAO;YACR,OAAO,WAAW,CAAC;QACvB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACR,OAAO,WAAW,CAAC;QACvB,KAAK,WAAW;YACZ,OAAO,eAAe,CAAC;QAC3B,KAAK,SAAS;YACV,OAAO,aAAa,CAAC;QACzB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { DateDifUnitParam } from '../../constants/interfaces';
|
|
|
2
2
|
export declare function toDate(value: string): string;
|
|
3
3
|
export declare const setTimezoneToColumnDate: string;
|
|
4
4
|
export declare const dateFormatScript: string;
|
|
5
|
-
export declare const subStringScript: string;
|
|
6
5
|
export declare const dayScript: (value: any) => string;
|
|
7
6
|
export declare const monthScript: (value: any) => string;
|
|
8
7
|
export declare const yearScript: (value: any) => string;
|
|
@@ -12,3 +11,19 @@ export declare const secondScript: (value: any) => string;
|
|
|
12
11
|
export declare function dateDif(start: any, end: any, unit: DateDifUnitParam): string;
|
|
13
12
|
export declare const getValueScript = "def GET_VALUE(def c){return (c.empty ? null : c.value)}";
|
|
14
13
|
export declare const isNullScript = "def IS_NULL_SCRIPT(def value, def replacement) { return value ?: replacement; }";
|
|
14
|
+
export declare const properScript = "String PROPER_STRING(String input) {\n if (input == null) return null;\n def str = input.toLowerCase();\n def builder = new StringBuilder(str);\n \n def chartLists = [\" \", \"!\", \"\\\"\", \"#\", \"$\", \"%\", \"&\", \"'\", \"(\", \")\", \"*\", \"+\", \",\", \"-\", \".\", \"/\", \":\", \";\", \"<\", \"=\", \">\", \"?\", \"@\", \"[\", \"\\\\\", \"]\", \"^\", \"_\", \"`\", \"{\", \"|\", \"}\", \"~\"];\n \n boolean flag = true;\n \n for(int i = 0; i < builder.length(); i++) {\n String ch = builder.charAt(i).toString();\n if (flag) { \n builder.replace(i, i + 1, ch.toUpperCase());\n flag = false;\n }\n flag = chartLists.contains(ch);\n }\n return builder.toString();\n }";
|
|
15
|
+
export declare const greatestScript = "def GREATEST(def numbers) {\n def max;\n if (numbers[0] instanceof ZonedDateTime) {\n max = numbers[0];\n if (max === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n def current = numbers[i];\n if (current.isAfter(max)) {\n max = current;\n }\n }\n return max;\n } else {\n max = numbers[0];\n if (max === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n if (numbers[i] > max) {\n max = numbers[i];\n }\n }\n return max;\n }\n}";
|
|
16
|
+
export declare const leastScript = "def LEAST(def numbers) {\n def min;\n if (numbers[0] instanceof ZonedDateTime) {\n min = numbers[0];\n if (min === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n def current = numbers[i];\n if (current.isBefore(min)) {\n min = current;\n }\n }\n return min;\n } else {\n min = numbers[0];\n if (min === null) return null;\n for (int i = 1; i < numbers.length; i++) {\n if (numbers[i] === null) return null;\n if (numbers[i] < min) {\n min = numbers[i];\n }\n }\n return min;\n }\n}";
|
|
17
|
+
export declare const lengthScript = "def LENGTH(def str){return str != null ? str.length() : 0}";
|
|
18
|
+
export declare const sqrtScript = "def SQRT(def num){return num == null || num < 0 ? null : Math.sqrt(num) }";
|
|
19
|
+
export declare const expScript = "def EXP(def num){return num != null ? Math.exp(num) : null}";
|
|
20
|
+
export declare const replaceScript = "def REPLACE(def str, def target, def replacement) {\n if (str == null || target == null || replacement == null) return null;\n if (target == '') return str;\n return str.replace(target, replacement);\n}";
|
|
21
|
+
export declare const includeScript = "def INCLUDE(def str, def targetSearch) { if (str == null || targetSearch == null) return null; return str.contains(targetSearch);}";
|
|
22
|
+
export declare const evenScript = "def EVEN(def value) {\n if (value == null) return null;\n def _value = Math.abs(value);\n def sign = value < 0 ? -1 : 1;\n return ((long) Math.ceil(_value / 2.0) * 2) * sign;\n}";
|
|
23
|
+
export declare const logScript = "def LOG(def base, def value) {\n if (base == null || value == null) return null;\n if (base <= 1 || value <= 0) return null;\n return (Math.log(value) / Math.log(base));\n}";
|
|
24
|
+
export declare const oddScript = "def ODD(def value) {\n if (value == null) return null;\n def _value = Math.abs(value);\n def sign = value < 0 ? -1 : 1;\n return ((long) Math.ceil((_value + 1)/ 2.0) * 2 - 1) * sign;\n}";
|
|
25
|
+
export declare const powerScript = "def POWER(def value, def numberToRaise) {\n if (value == null || numberToRaise == null) return null;\n if (value == 0 && numberToRaise < 0) return null;\n return Math.pow(value, numberToRaise);\n}";
|
|
26
|
+
export declare const roundDownScript = "def ROUNDDOWN(def value, def places) {\n if (value == null || places == null) return null; \n if (places > 10) places = 10;\n if (places < 0) places = 0;\n def _value = Math.abs(value);\n def sign = value < 0 ? -1 : 1;\n def scale = Math.pow(10, places);\n return (Math.floor(_value * scale) / scale) * sign;\n}";
|
|
27
|
+
export declare const roundScript: string;
|
|
28
|
+
export declare const roundUpScript: string;
|
|
29
|
+
export declare const subStringScript: string;
|
|
@@ -25,17 +25,6 @@ String ${SCRIPT_NAMES.dateFormat}(def date_value, String format) {
|
|
|
25
25
|
return DateTimeFormatter.ofPattern(format).format(date_value)
|
|
26
26
|
}
|
|
27
27
|
`;
|
|
28
|
-
export const subStringScript = `
|
|
29
|
-
String ${SCRIPT_NAMES.subString}(String text, int start) {
|
|
30
|
-
return ${SCRIPT_NAMES.subString}(text, start, text.length());
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
String ${SCRIPT_NAMES.subString}(String text, int start, int end) {
|
|
34
|
-
int first = (int) Math.min(start - 1, text.length());
|
|
35
|
-
int last = (int) Math.min(start + (end - 1), text.length());
|
|
36
|
-
return text.substring(first, last);
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
39
28
|
function dateFormatToInt(value, format) {
|
|
40
29
|
return `Integer.parseInt(${SCRIPT_NAMES.dateFormat}(${value}, '${format}'))`;
|
|
41
30
|
}
|
|
@@ -56,4 +45,153 @@ export function dateDif(start, end, unit) {
|
|
|
56
45
|
}
|
|
57
46
|
export const getValueScript = `def GET_VALUE(def c){return (c.empty ? null : c.value)}`;
|
|
58
47
|
export const isNullScript = `def IS_NULL_SCRIPT(def value, def replacement) { return value ?: replacement; }`;
|
|
48
|
+
export const properScript = `String PROPER_STRING(String input) {
|
|
49
|
+
if (input == null) return null;
|
|
50
|
+
def str = input.toLowerCase();
|
|
51
|
+
def builder = new StringBuilder(str);
|
|
52
|
+
|
|
53
|
+
def chartLists = [" ", "!", "\\"", "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", ":", ";", "<", "=", ">", "?", "@", "[", "\\\\", "]", "^", "_", "\`", "{", "|", "}", "~"];
|
|
54
|
+
|
|
55
|
+
boolean flag = true;
|
|
56
|
+
|
|
57
|
+
for(int i = 0; i < builder.length(); i++) {
|
|
58
|
+
String ch = builder.charAt(i).toString();
|
|
59
|
+
if (flag) {
|
|
60
|
+
builder.replace(i, i + 1, ch.toUpperCase());
|
|
61
|
+
flag = false;
|
|
62
|
+
}
|
|
63
|
+
flag = chartLists.contains(ch);
|
|
64
|
+
}
|
|
65
|
+
return builder.toString();
|
|
66
|
+
}`;
|
|
67
|
+
export const greatestScript = `def GREATEST(def numbers) {
|
|
68
|
+
def max;
|
|
69
|
+
if (numbers[0] instanceof ZonedDateTime) {
|
|
70
|
+
max = numbers[0];
|
|
71
|
+
if (max === null) return null;
|
|
72
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
73
|
+
if (numbers[i] === null) return null;
|
|
74
|
+
def current = numbers[i];
|
|
75
|
+
if (current.isAfter(max)) {
|
|
76
|
+
max = current;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return max;
|
|
80
|
+
} else {
|
|
81
|
+
max = numbers[0];
|
|
82
|
+
if (max === null) return null;
|
|
83
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
84
|
+
if (numbers[i] === null) return null;
|
|
85
|
+
if (numbers[i] > max) {
|
|
86
|
+
max = numbers[i];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return max;
|
|
90
|
+
}
|
|
91
|
+
}`;
|
|
92
|
+
export const leastScript = `def LEAST(def numbers) {
|
|
93
|
+
def min;
|
|
94
|
+
if (numbers[0] instanceof ZonedDateTime) {
|
|
95
|
+
min = numbers[0];
|
|
96
|
+
if (min === null) return null;
|
|
97
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
98
|
+
if (numbers[i] === null) return null;
|
|
99
|
+
def current = numbers[i];
|
|
100
|
+
if (current.isBefore(min)) {
|
|
101
|
+
min = current;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return min;
|
|
105
|
+
} else {
|
|
106
|
+
min = numbers[0];
|
|
107
|
+
if (min === null) return null;
|
|
108
|
+
for (int i = 1; i < numbers.length; i++) {
|
|
109
|
+
if (numbers[i] === null) return null;
|
|
110
|
+
if (numbers[i] < min) {
|
|
111
|
+
min = numbers[i];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return min;
|
|
115
|
+
}
|
|
116
|
+
}`;
|
|
117
|
+
export const lengthScript = `def LENGTH(def str){return str != null ? str.length() : 0}`;
|
|
118
|
+
export const sqrtScript = `def SQRT(def num){return num == null || num < 0 ? null : Math.sqrt(num) }`;
|
|
119
|
+
export const expScript = `def EXP(def num){return num != null ? Math.exp(num) : null}`;
|
|
120
|
+
export const replaceScript = `def REPLACE(def str, def target, def replacement) {
|
|
121
|
+
if (str == null || target == null || replacement == null) return null;
|
|
122
|
+
if (target == '') return str;
|
|
123
|
+
return str.replace(target, replacement);
|
|
124
|
+
}`;
|
|
125
|
+
export const includeScript = `def INCLUDE(def str, def targetSearch) { if (str == null || targetSearch == null) return null; return str.contains(targetSearch);}`;
|
|
126
|
+
export const evenScript = `def EVEN(def value) {
|
|
127
|
+
if (value == null) return null;
|
|
128
|
+
def _value = Math.abs(value);
|
|
129
|
+
def sign = value < 0 ? -1 : 1;
|
|
130
|
+
return ((long) Math.ceil(_value / 2.0) * 2) * sign;
|
|
131
|
+
}`;
|
|
132
|
+
export const logScript = `def LOG(def base, def value) {
|
|
133
|
+
if (base == null || value == null) return null;
|
|
134
|
+
if (base <= 1 || value <= 0) return null;
|
|
135
|
+
return (Math.log(value) / Math.log(base));
|
|
136
|
+
}`;
|
|
137
|
+
export const oddScript = `def ODD(def value) {
|
|
138
|
+
if (value == null) return null;
|
|
139
|
+
def _value = Math.abs(value);
|
|
140
|
+
def sign = value < 0 ? -1 : 1;
|
|
141
|
+
return ((long) Math.ceil((_value + 1)/ 2.0) * 2 - 1) * sign;
|
|
142
|
+
}`;
|
|
143
|
+
export const powerScript = `def POWER(def value, def numberToRaise) {
|
|
144
|
+
if (value == null || numberToRaise == null) return null;
|
|
145
|
+
if (value == 0 && numberToRaise < 0) return null;
|
|
146
|
+
return Math.pow(value, numberToRaise);
|
|
147
|
+
}`;
|
|
148
|
+
export const roundDownScript = `def ROUNDDOWN(def value, def places) {
|
|
149
|
+
if (value == null || places == null) return null;
|
|
150
|
+
if (places > 10) places = 10;
|
|
151
|
+
if (places < 0) places = 0;
|
|
152
|
+
def _value = Math.abs(value);
|
|
153
|
+
def sign = value < 0 ? -1 : 1;
|
|
154
|
+
def scale = Math.pow(10, places);
|
|
155
|
+
return (Math.floor(_value * scale) / scale) * sign;
|
|
156
|
+
}`;
|
|
157
|
+
export const roundScript = `${roundDownScript}
|
|
158
|
+
def ROUND(def value, def places) {
|
|
159
|
+
if (value == null || places == null) return null;
|
|
160
|
+
if (places > 10) places = 10;
|
|
161
|
+
if (places < 0) places = 0;
|
|
162
|
+
def _value = Math.abs(value);
|
|
163
|
+
def sign = value < 0 ? -1 : 1;
|
|
164
|
+
def scale = Math.pow(10, places);
|
|
165
|
+
return (Math.round(_value * scale) / scale) * sign;
|
|
166
|
+
}`;
|
|
167
|
+
export const roundUpScript = `${roundDownScript}
|
|
168
|
+
def ROUNDUP(def value, def places) {
|
|
169
|
+
if (value == null || places == null) return null;
|
|
170
|
+
if (places > 10) places = 10;
|
|
171
|
+
if (places < 0) places = 0;
|
|
172
|
+
def _value = Math.abs(value);
|
|
173
|
+
def sign = value < 0 ? -1 : 1;
|
|
174
|
+
def scale = Math.pow(10, places);
|
|
175
|
+
return (Math.ceil(_value * scale) / scale) * sign;
|
|
176
|
+
}`;
|
|
177
|
+
export const subStringScript = `${roundDownScript}
|
|
178
|
+
String ${SCRIPT_NAMES.subString}(def text, def start, def end) {
|
|
179
|
+
if (text == null || start == null || end == null) return null;
|
|
180
|
+
text = (String) text;
|
|
181
|
+
start = ROUNDDOWN(start, 0);
|
|
182
|
+
end = ROUNDDOWN(end, 0);
|
|
183
|
+
int first = 0;
|
|
184
|
+
if (end < 0 || (start * -1 > text.length())) return "";
|
|
185
|
+
if (start < 0) {
|
|
186
|
+
first = (int) Math.max(text.length() + start, 0);
|
|
187
|
+
} else if (start == 0) {
|
|
188
|
+
first = 0;
|
|
189
|
+
} else {
|
|
190
|
+
first = (int) Math.min(start - 1, text.length())
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
int last = (int) Math.min(first + end, text.length());
|
|
194
|
+
return text.substring(first, last);
|
|
195
|
+
}
|
|
196
|
+
`;
|
|
59
197
|
//# sourceMappingURL=scripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,UAAU,MAAM,CAAC,KAAa;IAChC,OAAO,wBAAwB,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;MACjC,YAAY,CAAC,WAAW;;;;;;;;;;;CAW7B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;SACvB,YAAY,CAAC,UAAU;;;;;;;;CAQ/B,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/utils/elasticsearch/scripts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ENGINES } from '../constants';
|
|
2
|
+
export const escapeCharacters = (inputString, engine) => {
|
|
3
|
+
if (typeof inputString === 'number')
|
|
4
|
+
return inputString; // In the context if pass a number instead, return.
|
|
5
|
+
let value = inputString.replace(
|
|
6
|
+
// eslint-disable-next-line no-control-regex
|
|
7
|
+
/[\0\x08\x09\x1a\n\r"'\\%]/g, (char) => {
|
|
8
|
+
switch (char) {
|
|
9
|
+
case '\0':
|
|
10
|
+
return '\\\\0';
|
|
11
|
+
case '\x08':
|
|
12
|
+
return '\\\\b';
|
|
13
|
+
case '\x09':
|
|
14
|
+
return '\\\\t';
|
|
15
|
+
case '\x1a':
|
|
16
|
+
return '\\\\z';
|
|
17
|
+
case '\n':
|
|
18
|
+
return '\\\\n';
|
|
19
|
+
case '\r':
|
|
20
|
+
return '\\\\r';
|
|
21
|
+
case '"':
|
|
22
|
+
case "'":
|
|
23
|
+
case '\\':
|
|
24
|
+
case '%':
|
|
25
|
+
// prepends a backslash to backslash, percent, and double/single quotes
|
|
26
|
+
return '\\' + char;
|
|
27
|
+
default:
|
|
28
|
+
return '';
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
value = `'${value}'`;
|
|
32
|
+
if (engine === ENGINES.POSTGRESQL) {
|
|
33
|
+
return `E${value}`;
|
|
34
|
+
}
|
|
35
|
+
return value;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=escapeCharacters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escapeCharacters.js","sourceRoot":"","sources":["../../../src/utils/escapeCharacters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,WAAmB,EACnB,MAAe,EACT,EAAE;IACR,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,mDAAmD;IAC5G,IAAI,KAAK,GAAW,WAAW,CAAC,OAAO;IACnC,4CAA4C;IAC5C,4BAA4B,EAC5B,CAAC,IAAY,EAAE,EAAE;QACb,QAAQ,IAAI,EAAE;YACV,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,MAAM;gBACP,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,IAAI;gBACL,OAAO,OAAO,CAAC;YACnB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,uEAAuE;gBACvE,OAAO,IAAI,GAAG,IAAI,CAAC;YACvB;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC,CACJ,CAAC;IACF,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;IACrB,IAAI,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE;QAC/B,OAAO,IAAI,KAAK,EAAE,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { CommonValueAST, ProcessNodeResult } from '../constants/interfaces';
|
|
2
|
+
export declare function getNumberFromLiteral(value: string, argument: ProcessNodeResult | CommonValueAST): number | null;
|
|
3
|
+
export declare function getNumericValueFromArgument(param: string | number, argument: ProcessNodeResult | CommonValueAST): string | number;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AST_PRIMITIVES, AST_TYPES } from '../constants';
|
|
2
|
+
export function getNumberFromLiteral(value, argument) {
|
|
3
|
+
if (argument.type === AST_TYPES.literal &&
|
|
4
|
+
(argument.dataType === AST_PRIMITIVES.NUMBER ||
|
|
5
|
+
argument.primitive === AST_PRIMITIVES.NUMBER)) {
|
|
6
|
+
const _value = value.replace('L', '');
|
|
7
|
+
return Number(_value);
|
|
8
|
+
}
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
export function getNumericValueFromArgument(param, argument) {
|
|
12
|
+
var _a;
|
|
13
|
+
const numberValue = getNumberFromLiteral(String(param), argument);
|
|
14
|
+
if (numberValue !== null)
|
|
15
|
+
return numberValue;
|
|
16
|
+
const isUnaryExpression = argument.type === AST_TYPES.unaryExpression; // Negative numbers arrive as unary expression
|
|
17
|
+
if (isUnaryExpression) {
|
|
18
|
+
const unaryExp = ('node' in argument ? argument.node : argument);
|
|
19
|
+
const isNegative = unaryExp.operator === '-';
|
|
20
|
+
const isNumber = unaryExp.right.type === AST_TYPES.literal &&
|
|
21
|
+
unaryExp.right.dataType === AST_PRIMITIVES.NUMBER;
|
|
22
|
+
if (isNumber)
|
|
23
|
+
return (((_a = getNumberFromLiteral(String(unaryExp.right.value), unaryExp.right)) !== null && _a !== void 0 ? _a : 0) * (isNegative ? -1 : 1));
|
|
24
|
+
}
|
|
25
|
+
return param;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=getNumericValueFromArgument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getNumericValueFromArgument.js","sourceRoot":"","sources":["../../../src/utils/getNumericValueFromArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzD,MAAM,UAAU,oBAAoB,CAChC,KAAa,EACb,QAA4C;IAE5C,IACI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO;QACnC,CAAE,QAA8B,CAAC,QAAQ,KAAK,cAAc,CAAC,MAAM;YAC9D,QAA2B,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM,CAAC,EACvE;QACE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,KAAsB,EACtB,QAA4C;;IAE5C,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC;IAC7C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,8CAA8C;IACrH,IAAI,iBAAiB,EAAE;QACnB,MAAM,QAAQ,GAAG,CACb,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAC1B,CAAC;QACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,KAAK,GAAG,CAAC;QAC7C,MAAM,QAAQ,GACV,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO;YACxC,QAAQ,CAAC,KAAoB,CAAC,QAAQ,KAAK,cAAc,CAAC,MAAM,CAAC;QAEtE,IAAI,QAAQ;YACR,OAAO,CACH,CAAC,MAAA,oBAAoB,CACjB,MAAM,CAAE,QAAQ,CAAC,KAAoB,CAAC,KAAK,CAAC,EAC5C,QAAQ,CAAC,KAAuB,CACnC,mCAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC;KACT;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AST_PRIMITIVES } from '../constants';
|
|
2
|
+
export function getValidDataTypeParam(args, validDataTypes) {
|
|
3
|
+
var _a;
|
|
4
|
+
return (((_a = args.find((_arg) => validDataTypes.includes(_arg.primitive))) === null || _a === void 0 ? void 0 : _a.primitive) || AST_PRIMITIVES.UNKNOWN);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=getValidDataTypeParam.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getValidDataTypeParam.js","sourceRoot":"","sources":["../../../src/utils/getValidDataTypeParam.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,UAAU,qBAAqB,CACjC,IAAiB,EACjB,cAAgC;;IAEhC,OAAO,CACH,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAA2B,CAAC,CAC5D,0CAAE,SAA4B,KAAI,cAAc,CAAC,OAAO,CAC5D,CAAC;AACN,CAAC"}
|
|
@@ -4,6 +4,8 @@ export function getVariableContext(variableName, context) {
|
|
|
4
4
|
return (_a = context === null || context === void 0 ? void 0 : context.model) === null || _a === void 0 ? void 0 : _a.find((model) => model.id === variableName);
|
|
5
5
|
}
|
|
6
6
|
function getVariableSpecificType(variableContext) {
|
|
7
|
+
if (variableContext.isExternalFormula && variableContext.replacement)
|
|
8
|
+
return AST_TYPES.externalFormula;
|
|
7
9
|
return variableContext.replacement ? AST_TYPES.column : AST_TYPES.token;
|
|
8
10
|
}
|
|
9
11
|
export function getVariableType(columnCxt) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVariableType.js","sourceRoot":"","sources":["../../../src/utils/getVariableType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzC,MAAM,UAAU,kBAAkB,CAC9B,YAAoB,EACpB,OAAwB;;IAExB,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,uBAAuB,CAC5B,eAA0C;IAE1C,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,SAAqC;IAErC,OAAO,SAAS,KAAK,SAAS;QAC1B,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"getVariableType.js","sourceRoot":"","sources":["../../../src/utils/getVariableType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzC,MAAM,UAAU,kBAAkB,CAC9B,YAAoB,EACpB,OAAwB;;IAExB,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,uBAAuB,CAC5B,eAA0C;IAE1C,IAAI,eAAe,CAAC,iBAAiB,IAAI,eAAe,CAAC,WAAW;QAChE,OAAO,SAAS,CAAC,eAAe,CAAC;IACrC,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,SAAqC;IAErC,OAAO,SAAS,KAAK,SAAS;QAC1B,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Primitive } from '../constants';
|
|
2
|
+
import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
|
|
3
|
+
export declare function greaterThanOrEqualToReference(compareReference: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
2
|
+
import { getNumericValueFromArgument } from './getNumericValueFromArgument';
|
|
3
|
+
export function greaterThanOrEqualToReference(compareReference) {
|
|
4
|
+
return (param, _dataType, context) => {
|
|
5
|
+
const arg = context.argument;
|
|
6
|
+
const numericValue = getNumericValueFromArgument(param, arg);
|
|
7
|
+
const valid = typeof numericValue !== 'number' ||
|
|
8
|
+
numericValue >= compareReference;
|
|
9
|
+
if (valid)
|
|
10
|
+
return { valid };
|
|
11
|
+
return Object.assign(Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.matchRange]), { info: {
|
|
12
|
+
greaterThanOrEqualTo: compareReference,
|
|
13
|
+
} });
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=greaterThanOrEqualToReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greaterThanOrEqualToReference.js","sourceRoot":"","sources":["../../../src/utils/greaterThanOrEqualToReference.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,UAAU,6BAA6B,CAAC,gBAAwB;IAClE,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,IAAI,gBAAgB,CAAC;QACrC,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,oBAAoB,EAAE,gBAAgB;aACzC,IACH;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Primitive } from '../constants';
|
|
2
|
+
import { ValidatorParameterContext, ValidatorResponse } from '../constants/interfaces';
|
|
3
|
+
export declare function greaterThanReference(compareReference: number): (param: any, _dataType: Primitive | undefined, context: ValidatorParameterContext) => ValidatorResponse;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ERROR_DICTIONARY, ERROR_LIST } from '../errors/dictionary';
|
|
2
|
+
import { getNumericValueFromArgument } from './getNumericValueFromArgument';
|
|
3
|
+
export function greaterThanReference(compareReference) {
|
|
4
|
+
return (param, _dataType, context) => {
|
|
5
|
+
const arg = context.argument;
|
|
6
|
+
const numericValue = getNumericValueFromArgument(param, arg);
|
|
7
|
+
const valid = typeof numericValue !== 'number' || numericValue > compareReference;
|
|
8
|
+
if (valid)
|
|
9
|
+
return { valid };
|
|
10
|
+
return Object.assign(Object.assign({ valid }, ERROR_DICTIONARY[ERROR_LIST.matchRange]), { info: {
|
|
11
|
+
greaterThan: compareReference,
|
|
12
|
+
} });
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=greaterThanReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greaterThanReference.js","sourceRoot":"","sources":["../../../src/utils/greaterThanReference.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,UAAU,oBAAoB,CAAC,gBAAwB;IACzD,OAAO,CACH,KAAU,EACV,SAAgC,EAChC,OAAkC,EACjB,EAAE;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,KAAK,GACP,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,GAAG,gBAAgB,CAAC;QACxE,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,qCACI,KAAK,IACF,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,KAC1C,IAAI,EAAE;gBACF,WAAW,EAAE,gBAAgB;aAChC,IACH;IACN,CAAC,CAAC;AACN,CAAC"}
|