sedk-postgres
Version:
Simple SQL builder and validator
34 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReturningItemInfo = void 0;
const database_1 = require("./database");
const models_1 = require("./models");
const util_1 = require("./util");
const ItemInfo_1 = require("./ItemInfo");
class ReturningItemInfo extends ItemInfo_1.ItemInfo {
constructor(returningItem, alias) {
super(alias);
this.returningItem = returningItem;
this.alias = alias;
}
getColumns() {
if (this.returningItem instanceof database_1.Column) {
return [this.returningItem];
}
else if (this.returningItem instanceof models_1.Expression) {
return this.returningItem.getColumns();
}
return [];
}
getStmt(data, artifacts, binderStore) {
if (this.alias !== undefined) {
// escape double quote by repeating it
const escapedAlias = (0, util_1.escapeDoubleQuote)(this.alias);
const asString = (data.option.addAsBeforeColumnAlias === 'always') ? ' AS' : '';
return `${this.returningItem.getStmt(data, artifacts, binderStore)}${asString} "${escapedAlias}"`;
}
return `${this.returningItem.getStmt(data, artifacts, binderStore)}`;
}
}
exports.ReturningItemInfo = ReturningItemInfo;
//# sourceMappingURL=ReturningItemInfo.js.map