UNPKG

json-api-nestjs

Version:
34 lines 1.26 kB
"use strict"; 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