deepsource-mcp-server
Version:
Model Context Protocol server for DeepSource
50 lines (49 loc) • 1.81 kB
TypeScript
/**
* @fileoverview Pagination types for the DeepSource MCP Server
* This module defines interfaces for pagination parameters and responses.
*/
/**
* Relay-style pagination information
* Contains information about whether there are more pages and cursors for navigating between pages.
* @public
*/
export interface PageInfo {
/** Whether there are more items after the current page */
hasNextPage: boolean;
/** Whether there are more items before the current page */
hasPreviousPage: boolean;
/** Cursor for the first item in the current page, used for backward pagination */
startCursor?: string;
/** Cursor for the last item in the current page, used for forward pagination */
endCursor?: string;
}
/**
* Parameters for paginating through API results
* Supports both legacy offset-based pagination and Relay-style cursor-based pagination.
* @public
*/
export interface PaginationParams {
/** Legacy pagination: Number of items to skip */
offset?: number;
/** Relay-style pagination: Number of items to return after the 'after' cursor */
first?: number;
/** Relay-style pagination: Cursor to fetch records after this cursor */
after?: string;
/** Relay-style pagination: Cursor to fetch records before this cursor */
before?: string;
/** Relay-style pagination: Number of items to return before the 'before' cursor */
last?: number;
}
/**
* Generic response structure containing paginated results
* @public
* @template T - The type of items in the response
*/
export interface PaginatedResponse<T> {
/** Array of items in the current page */
items: T[];
/** Pagination information for navigating between pages */
pageInfo: PageInfo;
/** Total number of items across all pages */
totalCount: number;
}