UNPKG

@qrvey/formula-lang

Version:

QFormula support for qrvey projects

47 lines 1.16 kB
import { secondScript } from '../utils/elasticsearch/scripts'; import { isDateParam } from '../utils'; import { AST_PRIMITIVES, OPERATION_SCOPE } from '../constants'; /** * Returns the number of the SECOND in a Date. */ export const SECOND = { identifier: 'SECOND', operationScope: OPERATION_SCOPE.RAW, functionScope: [OPERATION_SCOPE.RAW], parameters: [ { identifier: 'DATE', optional: false, expectedPrimitive: AST_PRIMITIVES.DATE, validator: [isDateParam], }, ], transpiler: { elasticsearch, snowflake, redshift, postgresql, databricks, }, primitiveResult: AST_PRIMITIVES.NUMBER, }; function elasticsearch(value) { return 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