UNPKG

sedk-mysql

Version:
38 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SelectItemInfo = void 0; const database_1 = require("./database"); const models_1 = require("./models"); const util_1 = require("./util"); const AggregateFunction_1 = require("./AggregateFunction"); const ItemInfo_1 = require("./ItemInfo"); class SelectItemInfo extends ItemInfo_1.ItemInfo { constructor(selectItem, alias) { super(alias); this.selectItem = selectItem; this.alias = alias; } getColumns() { if (this.selectItem instanceof database_1.Column) { return [this.selectItem]; } else if (this.selectItem instanceof models_1.Expression) { return this.selectItem.getColumns(); } else if (this.selectItem instanceof AggregateFunction_1.AggregateFunction) { return this.selectItem.getColumns(); } // after this selectItem is always Asterisk or Binder return []; } getStmt(data, artifacts, binderStore) { if (this.alias !== undefined) { // escape double quote by repeating it const escapedAlias = (0, util_1.escapeBackTick)(this.alias); const asString = (data.option.addAsBeforeColumnAlias === 'always') ? ' AS' : ''; return `${this.selectItem.getStmt(data, artifacts, binderStore)}${asString} \`${escapedAlias}\``; } return `${this.selectItem.getStmt(data, artifacts, binderStore)}`; } } exports.SelectItemInfo = SelectItemInfo; //# sourceMappingURL=SelectItemInfo.js.map