UNPKG

nano-queries

Version:

Simple and powerful database-agnostic query builder (SQL & NoSQL)

27 lines (25 loc) 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LimitClause = void 0; const Query_1 = require("../core/Query"); const QueryBuilder_1 = require("../QueryBuilder"); class LimitClause extends Query_1.Query { state; constructor(state) { super(); this.state = state; } getSegments() { const { limit, offset } = this.state; const query = new QueryBuilder_1.QueryBuilder({ join: ' ' }); if (limit) { query.raw('LIMIT').value(limit); } if (offset) { query.raw('OFFSET').value(offset); } return query.getSegments(); } } exports.LimitClause = LimitClause; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNxbC9MaW1pdENsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBc0M7QUFDdEMsa0RBQStDO0FBRy9DLE1BQWEsV0FBWSxTQUFRLGFBQUs7SUFDcEIsS0FBSyxDQUFDO0lBQ3ZCLFlBQVksS0FBMEM7UUFDckQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVztRQUNqQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBSSwyQkFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFOUMsSUFBSSxLQUFLLEVBQUU7WUFDVixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksTUFBTSxFQUFFO1lBQ1gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEM7UUFFRCxPQUFPLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0Q7QUF0QkQsa0NBc0JDIiwiZmlsZSI6InNxbC9MaW1pdENsYXVzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5IH0gZnJvbSAnLi4vY29yZS9RdWVyeSc7XG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXIgfSBmcm9tICcuLi9RdWVyeUJ1aWxkZXInO1xuaW1wb3J0IHsgSVF1ZXJ5LCBRdWVyeVNlZ21lbnQgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBMaW1pdENsYXVzZSBleHRlbmRzIFF1ZXJ5IGltcGxlbWVudHMgSVF1ZXJ5IHtcblx0cHJpdmF0ZSByZWFkb25seSBzdGF0ZTtcblx0Y29uc3RydWN0b3Ioc3RhdGU6IHsgbGltaXQ/OiBudW1iZXI7IG9mZnNldD86IG51bWJlciB9KSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLnN0YXRlID0gc3RhdGU7XG5cdH1cblxuXHRwdWJsaWMgZ2V0U2VnbWVudHMoKTogUXVlcnlTZWdtZW50W10ge1xuXHRcdGNvbnN0IHsgbGltaXQsIG9mZnNldCB9ID0gdGhpcy5zdGF0ZTtcblxuXHRcdGNvbnN0IHF1ZXJ5ID0gbmV3IFF1ZXJ5QnVpbGRlcih7IGpvaW46ICcgJyB9KTtcblxuXHRcdGlmIChsaW1pdCkge1xuXHRcdFx0cXVlcnkucmF3KCdMSU1JVCcpLnZhbHVlKGxpbWl0KTtcblx0XHR9XG5cblx0XHRpZiAob2Zmc2V0KSB7XG5cdFx0XHRxdWVyeS5yYXcoJ09GRlNFVCcpLnZhbHVlKG9mZnNldCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHF1ZXJ5LmdldFNlZ21lbnRzKCk7XG5cdH1cbn1cbiJdfQ==