UNPKG

anton-fedosieiev-sdk

Version:
47 lines (46 loc) 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFilterParams = exports.getSortParams = exports.getPaginationParams = void 0; var constants_1 = require("../constants"); var getPaginationParams = function (pagination) { return Object.keys(pagination) .map(function (key) { return "".concat(key, "=").concat(pagination[key]); }) .join('&'); }; exports.getPaginationParams = getPaginationParams; var getSortParams = function (_a) { var property = _a.property, direction = _a.direction; return "sort=".concat(property, ":").concat(direction); }; exports.getSortParams = getSortParams; var getFilterParams = function (_a) { var property = _a.property, value = _a.value, exclude = _a.exclude, exists = _a.exists, comparisonRule = _a.comparisonRule; var comparison = '='; if (exists) { return property; } if (exclude) { comparison = '!='; } else if (comparisonRule) { switch (comparisonRule) { case constants_1.FILTER_COMPARISON.LESS_THAN: comparison = '<'; break; case constants_1.FILTER_COMPARISON.LESS_THAN_EQUAL: comparison = '<='; break; case constants_1.FILTER_COMPARISON.GREATER_THAN: comparison = '>'; break; case constants_1.FILTER_COMPARISON.GREATER_THAN_EQUAL: comparison = '>='; break; default: break; } } var transformedValue = Array.isArray(value) ? value.join(',') : value; return "".concat(property).concat(comparison).concat(transformedValue); }; exports.getFilterParams = getFilterParams;