Skip to main content
Glama

Gotas Commerce MCP Server

pagination.ts1.84 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { AbstractPage, Response, APIClient, FinalRequestOptions, PageInfo } from "./core.js"; export interface PageResponse<Item> { data: Array<Item>; has_more: boolean; first_id: string | null; last_id: string | null; } export interface PageParams { /** * Number of items per page. */ limit?: number; before_id?: string; after_id?: string; } export class Page<Item> extends AbstractPage<Item> implements PageResponse<Item> { data: Array<Item>; has_more: boolean; first_id: string | null; last_id: string | null; constructor(client: APIClient, response: Response, body: PageResponse<Item>, options: FinalRequestOptions) { super(client, response, body, options); this.data = body.data || []; this.has_more = body.has_more || false; this.first_id = body.first_id || null; this.last_id = body.last_id || null; } getPaginatedItems(): Item[] { return this.data ?? []; } // @deprecated Please use `nextPageInfo()` instead nextPageParams(): Partial<PageParams> | null { const info = this.nextPageInfo(); if (!info) return null; if ('params' in info) return info.params; const params = Object.fromEntries(info.url.searchParams); if (!Object.keys(params).length) return null; return params; } nextPageInfo(): PageInfo | null { if ((this.options.query as Record<string, unknown>)?.['before_id']) { // in reverse const firstId = this.first_id; if (!firstId) { return null; } return { params: { before_id: firstId, }, }; } const cursor = this.last_id; if (!cursor) { return null; } return { params: { after_id: cursor, }, }; } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/caiovicentino/mcpGOTAS'

If you have feedback or need assistance with the MCP directory API, please join our Discord server