@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
52 lines • 1.48 kB
TypeScript
/**
* Representa uma resposta paginada padrão.
*
* @template T O tipo dos itens contidos no array de dados.
*
* @remarks
* Esta interface é utilizada para padronizar o retorno de endpoints que fornecem dados paginados,
* permitindo o controle da quantidade total de itens e o acesso aos dados da página atual.
*
* @example
* ```typescript
* const resposta: BasePaginatedResponse<Usuario> = {
* data: [{ id: 1, nome: "João" }, { id: 2, nome: "Maria" }],
* total: 50
* };
* ```
*/
export interface BasePaginatedResponse<T> {
/**
* Lista de itens retornados na página atual.
*/
data: T[];
/**
* Quantidade total de itens disponíveis (em todas as páginas).
*/
total: number;
/**
* (Opcional) Número da página corrente quando usada paginação por página.
*/
page?: number;
/**
* (Opcional) Tamanho da página quando usada paginação por página.
*/
pageSize?: number;
/**
* (Opcional) Indica se há próxima página.
*/
hasNext?: boolean;
/**
* (Opcional) Indica se há página anterior.
*/
hasPrevious?: boolean;
/**
* (Opcional) Cursor para recuperar a próxima página (cursor-based pagination).
*/
nextCursor?: string | null;
/**
* (Opcional) Cursor para recuperar a página anterior (cursor-based pagination).
*/
prevCursor?: string | null;
}
//# sourceMappingURL=base-paginated-response.interface.d.ts.map