/** Field readers for paginated API payloads that tolerate PascalCase/camelCase and nested envelopes. */ export function readItems(record: Record): T[] { const nested = record.data ?? record.Data ?? record.value; const itemsFromPaged = (Array.isArray(record.items) ? (record.items as T[]) : undefined) ?? (Array.isArray(record.Items) ? (record.Items as T[]) : undefined); return itemsFromPaged ?? (Array.isArray(nested) ? (nested as T[]) : []); } export function readTotalCount(record: Record, fallback: number): number { return ( (typeof record.totalCount === "number" ? record.totalCount : undefined) ?? (typeof record.TotalCount === "number" ? record.TotalCount : undefined) ?? (typeof record.Count === "number" ? record.Count : undefined) ?? fallback ); } export function readPage(record: Record, fallback: number): number { return ( (typeof record.page === "number" ? record.page : undefined) ?? (typeof record.pageNumber === "number" ? record.pageNumber : undefined) ?? (typeof record.PageNumber === "number" ? record.PageNumber : undefined) ?? fallback ); } export function readPageSize(record: Record, fallback: number): number { return ( (typeof record.pageSize === "number" ? record.pageSize : undefined) ?? (typeof record.PageSize === "number" ? record.PageSize : undefined) ?? fallback ); }