UNPKG

@alextomas80/api-client-grupeta

Version:

Cliente API Grupeta CBR

30 lines (26 loc) 1.03 kB
export function createPopulateParams(fields: { name: string; fields: string[] }[]) { return fields.map((field) => `populate[${field.name}][fields]=${field.fields.join(",")}`).join("&"); } export function createSortingParams(sortings: { field: string; order: "asc" | "desc" }[]) { return sortings.map(({ field, order }) => `sort=${order === "desc" ? "-" : ""}${field}`).join("&"); } export function createFilterParams(filters: { [key: string]: string }) { return Object.entries(filters) .map(([key, value]) => `filter[${key}][_eq]=${encodeURIComponent(value)}`) .join("&"); } export function createComplexFilterParams(filters: { [key: string]: any }[]) { return filters .map((filter, index) => { return Object.entries(filter) .map(([key, value]) => { const filterPath = key .split(".") .map((part) => `[${part}]`) .join(""); return `filter[_or][${index}]${filterPath}[_eq]=${value}`; }) .join("&"); }) .join("&"); }