UNPKG

@qrvey/formula-lang

Version:

QFormula support for qrvey projects

51 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LENGTH = void 0; const constants_1 = require("../constants"); const utils_1 = require("../utils"); /** * `LENGTH` Returns the number characters of a string. */ exports.LENGTH = { identifier: 'LENGTH', operationScope: constants_1.OPERATION_SCOPE.RAW, functionScope: [constants_1.OPERATION_SCOPE.RAW], parameters: [ { identifier: 'STRING', optional: false, expectedPrimitive: constants_1.AST_PRIMITIVES.STRING, validator: [utils_1.isStringParam], }, ], transpiler: { elasticsearch, snowflake, redshift, postgresql, databricks, }, primitiveResult: constants_1.AST_PRIMITIVES.NUMBER, }; function elasticsearch(current) { return `LENGTH(${current})`; } function SQL(current) { return `(CASE WHEN ${current} IS NULL THEN 0 ELSE LENGTH(${current}) END)`; } function snowflake(current) { return SQL(current); } function redshift(current) { return SQL(current); } function postgresql(current) { return SQL(current); } function databricks(current) { return SQL(current); } //# sourceMappingURL=length.js.map