@trapi/query
Version:
A tiny library which provides utility types/functions for request and response query handling.
37 lines • 1.86 kB
JavaScript
;
/*
* Copyright (c) 2021-2022.
* Author Peter Placzek (tada5hi)
* For the full copyright and license information,
* view the LICENSE file that was distributed with this source code.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseQueryParameter = void 0;
const parameter_1 = require("../../parameter");
const constants_1 = require("../../constants");
function parseQueryParameter(key, data, options, relations) {
switch (key) {
case constants_1.Parameter.FIELDS:
case constants_1.URLParameter.FIELDS:
return (0, parameter_1.parseQueryFields)(data, Object.assign(Object.assign({}, (invalidToEmptyObject(options))), (relations ? { relations } : {})));
case constants_1.Parameter.FILTERS:
case constants_1.URLParameter.FILTERS:
return (0, parameter_1.parseQueryFilters)(data, Object.assign(Object.assign({}, (invalidToEmptyObject(options))), (relations ? { relations } : {})));
case constants_1.Parameter.PAGINATION:
case constants_1.URLParameter.PAGINATION:
return (0, parameter_1.parseQueryPagination)(data, Object.assign({}, (invalidToEmptyObject(options))));
case constants_1.Parameter.RELATIONS:
case constants_1.URLParameter.RELATIONS:
return (0, parameter_1.parseQueryRelations)(data, Object.assign({}, (invalidToEmptyObject(options))));
default:
return (0, parameter_1.parseQuerySort)(data, Object.assign(Object.assign({}, (invalidToEmptyObject(options))), (relations ? { relations } : {})));
}
}
exports.parseQueryParameter = parseQueryParameter;
function invalidToEmptyObject(value) {
return typeof value === 'boolean' ||
typeof value === 'undefined' ?
{} :
value;
}
//# sourceMappingURL=module.js.map