UNPKG

sedk-mysql

Version:
48 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InnerJoinStep = exports.RightJoinStep = exports.LeftJoinStep = exports.JoinStep = void 0; const AfterFromStep_1 = require("./AfterFromStep"); const database_1 = require("../../database"); const BaseStep_1 = require("../BaseStep"); class BaseJoinStep extends BaseStep_1.BaseStep { constructor(joinType, prevStep, fromItem) { super(prevStep); this.joinType = joinType; this.fromItem = fromItem; } on(condition) { return new AfterFromStep_1.OnStep(this, condition); } getStepStatement(artifacts = { tables: new Set(), columns: new Set() }) { return `${this.joinType} ${this.fromItem.getStmt(this.data, artifacts)}`; } getStepArtifacts() { const table = this.fromItem instanceof database_1.Table ? this.fromItem : this.fromItem.table; return { tables: new Set([table]), columns: new Set() }; } } class JoinStep extends BaseJoinStep { constructor(prevStep, fromItem) { super('JOIN', prevStep, fromItem); } } exports.JoinStep = JoinStep; class LeftJoinStep extends BaseJoinStep { constructor(prevStep, fromItem) { super('LEFT JOIN', prevStep, fromItem); } } exports.LeftJoinStep = LeftJoinStep; class RightJoinStep extends BaseJoinStep { constructor(prevStep, fromItem) { super('RIGHT JOIN', prevStep, fromItem); } } exports.RightJoinStep = RightJoinStep; class InnerJoinStep extends BaseJoinStep { constructor(prevStep, fromItem) { super('INNER JOIN', prevStep, fromItem); } } exports.InnerJoinStep = InnerJoinStep; //# sourceMappingURL=BaseJoinStep.js.map