anton-fedosieiev-sdk
Version:
47 lines (46 loc) • 1.74 kB
JavaScript
;
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;