UNPKG

@qrvey/formula-lang

Version:

QFormula support for qrvey projects

50 lines 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SECOND = void 0; const scripts_1 = require("../utils/elasticsearch/scripts"); const utils_1 = require("../utils"); const constants_1 = require("../constants"); /** * Returns the number of the SECOND in a Date. */ exports.SECOND = { identifier: 'SECOND', operationScope: constants_1.OPERATION_SCOPE.RAW, functionScope: [constants_1.OPERATION_SCOPE.RAW], parameters: [ { identifier: 'DATE', optional: false, expectedPrimitive: constants_1.AST_PRIMITIVES.DATE, validator: [utils_1.isDateParam], }, ], transpiler: { elasticsearch, snowflake, redshift, postgresql, databricks, }, primitiveResult: constants_1.AST_PRIMITIVES.NUMBER, }; function elasticsearch(value) { return (0, scripts_1.secondScript)(value); } function SQL(value) { return `DATE_PART('second', ${value})`; } function snowflake(value) { return SQL(value); } function redshift(value) { return SQL(value); } function postgresql(value) { return SQL(value); } function databricks(value) { const sqlExpression = SQL(value); return `CAST(${sqlExpression} AS INT)`; } //# sourceMappingURL=second.js.map