UNPKG

rawsql-ts

Version:

[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.

36 lines (35 loc) 1.32 kB
import { SimpleSelectQuery } from "../models/SelectQuery"; /** * Options for pagination injection */ export interface PaginationOptions { /** Page number (1-based) */ page: number; /** Number of items per page */ pageSize: number; } /** * SqlPaginationInjector injects pagination (LIMIT/OFFSET) into a SelectQuery model, * creating LIMIT and OFFSET clauses based on provided pagination options. */ export declare class SqlPaginationInjector { /** * Injects pagination as LIMIT/OFFSET clauses into the given query model. * @param query The SelectQuery to modify * @param pagination Pagination options containing page number and page size * @returns The modified SimpleSelectQuery with pagination applied */ inject(query: SimpleSelectQuery | string, pagination: PaginationOptions): SimpleSelectQuery; /** * Removes LIMIT and OFFSET clauses from the given query. * @param query The SelectQuery to modify * @returns The modified SimpleSelectQuery with pagination removed */ static removePagination(query: SimpleSelectQuery | string): SimpleSelectQuery; /** * Validates pagination options * @param pagination Pagination options to validate * @throws Error if validation fails */ private validatePaginationOptions; }