sedk-mysql
Version:
Simple SQL builder and validator for MySQL
34 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LimitStep = void 0;
const OffsetStep_1 = require("./OffsetStep");
const errors_1 = require("../../errors");
const BaseLimitStep_1 = require("./BaseLimitStep");
class LimitStep extends BaseLimitStep_1.BaseLimitStep {
constructor(prevStep, limit, asBinder = false) {
super(prevStep);
if (!Number.isFinite(limit) || limit < 0 || !Number.isInteger(limit)) {
throw new errors_1.InvalidLimitValueError(limit);
}
if (asBinder) {
this.limit = this.binderStore.getBinder(limit);
}
else {
this.limit = limit;
}
}
getStepStatement() {
return `LIMIT ${this.limit}`;
}
getStepArtifacts() {
return { tables: new Set(), columns: new Set() };
}
offset(value) {
return new OffsetStep_1.OffsetStep(this, value);
}
offset$(value) {
return new OffsetStep_1.OffsetStep(this, value, true);
}
}
exports.LimitStep = LimitStep;
//# sourceMappingURL=LimitStep.js.map