UNPKG

@riao/dbal

Version:
95 lines 3.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatabaseFunctions = void 0; const expression_token_1 = require("../expression/expression-token"); const column_1 = require("../column"); const function_token_1 = require("./function-token"); class DatabaseFunctions { // ------------------------------------------------------------------------ // ID functions // ------------------------------------------------------------------------ static uuid() { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.UUID, type: column_1.ColumnType.VARCHAR, }; } // ------------------------------------------------------------------------ // Math functions // ------------------------------------------------------------------------ static average(expr, options = {}) { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.AVERAGE, type: column_1.ColumnType.BIGINT, params: { expr, options, }, }; } static count(params = {}) { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.COUNT, type: column_1.ColumnType.BIGINT, params, }; } static min(expr) { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.MIN, type: column_1.ColumnType.BIGINT, params: expr, }; } static max(expr) { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.MAX, type: column_1.ColumnType.BIGINT, params: expr, }; } static sum(expr, options = {}) { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.SUM, type: column_1.ColumnType.BIGINT, params: { expr, options, }, }; } // ------------------------------------------------------------------------ // Date/Time functions // ------------------------------------------------------------------------ static currentTimestamp() { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.CURRENT_TIMESTAMP, type: column_1.ColumnType.TIMESTAMP, }; } static date(expr) { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.DATE, type: column_1.ColumnType.DATE, params: { expr }, }; } static year(expr) { return { riao_expr: expression_token_1.ExpressionTokenKey.FUNCTION_CALL, fn: function_token_1.DatabaseFunctionKeys.YEAR, type: column_1.ColumnType.INT, params: { expr }, }; } } exports.DatabaseFunctions = DatabaseFunctions; //# sourceMappingURL=functions.js.map