json-api-nestjs
Version:
JsonApi Plugin for NestJs
34 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.zodSortInputQuery = zodSortInputQuery;
const zod_1 = require("zod");
const constants_1 = require("../../../../constants");
function zodSortInputQuery() {
return zod_1.z
.string()
.optional()
.transform((data) => {
if (!data)
return null;
return data
.split(',')
.map((i) => i.trim())
.filter((i) => !!i)
.reduce((acum, field) => {
const fieldName = field.charAt(0) === '-' ? field.substring(1) : field;
const sort = field.charAt(0) === '-' ? constants_1.DESC : constants_1.ASC;
if (fieldName.indexOf('.') > -1) {
const [relation, fieldRelation] = field.split('.');
const relationName = relation.charAt(0) === '-' ? relation.substring(1) : relation;
acum[relationName] = acum[relationName] || {};
acum[relationName][fieldRelation] = sort;
}
else {
acum['target'] = acum['target'] || {};
acum['target'][fieldName] = sort;
}
return acum;
}, {});
});
}
//# sourceMappingURL=sort.js.map