1"use strict"; 2 3Object.defineProperty(exports, "__esModule", { 4 value: true 5}); 6exports.reverseSortString = void 0; 7exports.sortObjWithOrder = sortObjWithOrder; 8exports.sortObject = sortObject; 9exports.sortWithOrder = sortWithOrder; 10 11function sortObject(obj, compareFn) { 12 return Object.keys(obj).sort(compareFn).reduce((acc, key) => ({ ...acc, 13 [key]: obj[key] 14 }), {}); 15} 16 17function sortObjWithOrder(obj, order) { 18 const sorted = sortWithOrder(Object.keys(obj), order); 19 return sorted.reduce((acc, key) => ({ ...acc, 20 [key]: obj[key] 21 }), {}); 22} 23 24function sortWithOrder(obj, order) { 25 const groupOrder = [...new Set(order.concat(obj))]; 26 const sorted = []; 27 28 while (groupOrder.length) { 29 const key = groupOrder.shift(); 30 const index = obj.indexOf(key); 31 32 if (index > -1) { 33 const [item] = obj.splice(index, 1); 34 sorted.push(item); 35 } 36 } 37 38 return sorted; 39} 40 41const reverseSortString = (a, b) => { 42 if (a < b) return 1; 43 if (a > b) return -1; 44 return 0; 45}; 46 47exports.reverseSortString = reverseSortString; 48//# sourceMappingURL=sortObject.js.map