import { ODataQuery, ODataQuerySchema } from "../types/odata"; export function buildODataParams(query: ODataQuery = {}): Record { const parsed = ODataQuerySchema.parse(query); const params: Record = {}; if (parsed.select?.length) { params.$select = parsed.select.join(","); } if (parsed.filter) { params.$filter = parsed.filter; } if (parsed.top !== undefined) { params.$top = parsed.top; } if (parsed.skip !== undefined) { params.$skip = parsed.skip; } if (parsed.orderby) { params.$orderby = Array.isArray(parsed.orderby) ? parsed.orderby.join(",") : parsed.orderby; } return params; } export function extractNextLink(response: { "odata.nextLink"?: string; "@odata.nextLink"?: string; }): string | undefined { return response["@odata.nextLink"] || response["odata.nextLink"]; }