This commit is contained in:
JiriUhlir
2026-06-29 09:47:05 +02:00
parent 60cb139a33
commit 9c08dacc69
29 changed files with 3703 additions and 23 deletions
+35
View File
@@ -0,0 +1,35 @@
import { ODataQuery, ODataQuerySchema } from "../types/odata";
export function buildODataParams(query: ODataQuery = {}): Record<string, string | number> {
const parsed = ODataQuerySchema.parse(query);
const params: Record<string, string | number> = {};
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<T>(response: {
"odata.nextLink"?: string;
"@odata.nextLink"?: string;
}): string | undefined {
return response["@odata.nextLink"] || response["odata.nextLink"];
}