Skip to main content

index/functions/extractPaginationMetadata.md

extractPaginationMetadata(response): PaginationMetadata

Extract pagination metadata from API response

Safely extracts pagination info from various response formats. Provides sensible defaults when fields are missing. Handles both old and new pagination response structures.

Parameters​

ParameterTypeDescription
responseunknownRaw API response (may be array, object, null, or undefined)

Returns​

PaginationMetadata

PaginationMetadata with page, pageSize, totalCount, and hasMore

Examples​

With standard response object

const metadata = extractPaginationMetadata({
page: 2,
pageSize: 20,
totalCount: 100,
hasMore: true
});
// Result: { page: 2, pageSize: 20, totalCount: 100, hasMore: true }

With wrapped response

const metadata = extractPaginationMetadata({
data: {
items: [...],
meta: { page: 3, limit: 20, totalItems: 250 }
}
});
// Result: { page: 3, pageSize: 20, totalCount: 250, hasMore: true }

With missing fields (uses defaults)

const metadata = extractPaginationMetadata({ items: [] });
// Result: { page: 1, pageSize: 20, totalCount: -1, hasMore: false }

Since​

6.5.0 @adoption_gap This pattern appears in 12+ locations with inline extraction (response.page ?? 1)