UNPKG

@sqb/builder

Version:

Extensible multi-dialect SQL query builder written with TypeScript

39 lines (38 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MaxStatement = void 0; const enums_js_1 = require("../enums.js"); const serializable_js_1 = require("../serializable.js"); class MaxStatement extends serializable_js_1.Serializable { constructor(expression) { super(); this._expression = expression; } get _type() { return enums_js_1.SerializationType.MAX_STATEMENT; } /** * Sets alias to case expression. */ as(alias) { this._alias = alias; return this; } /** * Performs serialization * * @param {Object} ctx * @return {string} * @override */ _serialize(ctx) { if (!this._expression) return ''; const q = ctx.anyToSQL(this._expression); return ctx.serialize(this._type, q, () => this.__defaultSerialize(ctx, q)); } __defaultSerialize(ctx, o) { return 'max(' + o + ')' + (this._alias ? ' ' + this._alias : ''); } } exports.MaxStatement = MaxStatement;