sedk-mysql
Version:
Simple SQL builder and validator for MySQL
24 lines • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SelectFromStep = void 0;
const AfterFromStep_1 = require("./AfterFromStep");
const database_1 = require("../../database");
const BaseStep_1 = require("../BaseStep");
class SelectFromStep extends AfterFromStep_1.AfterFromStep {
constructor(prevStep, fromItems) {
super(prevStep);
this.fromItems = fromItems;
if (fromItems.length === 0) {
throw new Error('No tables specified');
}
fromItems.forEach(it => this.throwIfTableNotInDb(BaseStep_1.BaseStep.getTable(it)));
}
getStepStatement(artifacts = { tables: new Set(), columns: new Set() }) {
return `FROM ${this.fromItems.map(it => it.getStmt(this.data, artifacts)).join(', ')}`;
}
getStepArtifacts() {
return { tables: new Set(this.fromItems.map(it => it instanceof database_1.Table ? it : it.table)), columns: new Set() };
}
}
exports.SelectFromStep = SelectFromStep;
//# sourceMappingURL=SelectFromStep.js.map