@qrvey/formula-lang
Version:
QFormula support for qrvey projects
40 lines • 917 B
JavaScript
import { hourScript } from '../utils/elasticsearch/scripts';
import { isDateParam } from '../utils';
import { AST_PRIMITIVES } from '../constants';
/**
* Returns the number of the HOUR in a Date.
*/
export const HOUR = {
identifier: 'HOUR',
parameters: [
{
identifier: 'DATE',
optional: false,
expectedPrimitive: AST_PRIMITIVES.DATE,
validator: [isDateParam],
},
],
transpiler: {
elasticsearch,
snowflake,
redshift,
postgresql,
},
primitiveResult: AST_PRIMITIVES.NUMBER,
};
function elasticsearch(value) {
return hourScript(value);
}
function SQL(value) {
return `DATE_PART('hour', ${value})`;
}
function snowflake(value) {
return SQL(value);
}
function redshift(value) {
return SQL(value);
}
function postgresql(value) {
return SQL(value);
}
//# sourceMappingURL=hour.js.map