UNPKG

sedk-postgres

Version:

Simple SQL builder and validator

45 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LimitStep = void 0; const OffsetStep_1 = require("./OffsetStep"); const singletoneConstants_1 = require("../../singletoneConstants"); const errors_1 = require("../../errors"); const ReturningStep_1 = require("../ReturningStep"); const BaseStep_1 = require("../BaseStep"); class LimitStep extends BaseStep_1.BaseStep { constructor(prevStep, value, asBinder = false) { super(prevStep); if (typeof value === 'number' && (!Number.isFinite(value) || value < 0)) { throw new errors_1.InvalidLimitValueError(value); } if (asBinder) { if (value instanceof singletoneConstants_1.All) { throw new Error('ALL cannot be used as binder'); } this.value = this.binderStore.getBinder(value); } else { this.value = value; } } getStepStatement() { if (this.value === null) { return `LIMIT NULL`; } return `LIMIT ${this.value}`; } 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); } returning(...items) { return new ReturningStep_1.ReturningStep(this, items); } } exports.LimitStep = LimitStep; //# sourceMappingURL=LimitStep.js.map