UNPKG

@qrvey/formula-lang

Version:

QFormula support for qrvey projects

43 lines 1.06 kB
import { AST_PRIMITIVES } from '../constants'; import { isNumberParam } from '../utils'; import { greaterThanOrEqualToReference } from '../utils/greaterThanOrEqualToReference'; /** * `SQRT` Returns the positive square root of a positive number. */ export const SQRT = { identifier: 'SQRT', parameters: [ { identifier: 'VALUE', optional: false, expectedPrimitive: AST_PRIMITIVES.NUMBER, validator: [isNumberParam, greaterThanOrEqualToReference(0)], }, ], transpiler: { elasticsearch, snowflake, redshift, postgresql, }, primitiveResult: AST_PRIMITIVES.NUMBER, }; function elasticsearch(value) { return `SQRT(${value})`; } function sql(value) { return `(CASE WHEN ${value} < 0 THEN null ELSE SQRT(${value}) END)`; } function snowflake(value) { return sql(value); } function redshift(value) { return sql(value); } function postgresql(value) { return sql(value); } //# sourceMappingURL=sqrt.js.map