first
This commit is contained in:
@@ -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"];
|
||||
}
|
||||
Reference in New Issue
Block a user