UNPKG

@alextomas80/api-client-grupeta

Version:

Cliente API Grupeta CBR

33 lines (32 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPopulateParams = createPopulateParams; exports.createSortingParams = createSortingParams; exports.createFilterParams = createFilterParams; exports.createComplexFilterParams = createComplexFilterParams; function createPopulateParams(fields) { return fields.map((field) => `populate[${field.name}][fields]=${field.fields.join(",")}`).join("&"); } function createSortingParams(sortings) { return sortings.map(({ field, order }) => `sort=${order === "desc" ? "-" : ""}${field}`).join("&"); } function createFilterParams(filters) { return Object.entries(filters) .map(([key, value]) => `filter[${key}][_eq]=${encodeURIComponent(value)}`) .join("&"); } function createComplexFilterParams(filters) { 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("&"); }