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; 10function sortObject(obj, compareFn) { 11 return Object.keys(obj).sort(compareFn).reduce((acc, key) => ({ 12 ...acc, 13 [key]: obj[key] 14 }), {}); 15} 16function sortObjWithOrder(obj, order) { 17 const sorted = sortWithOrder(Object.keys(obj), order); 18 return sorted.reduce((acc, key) => ({ 19 ...acc, 20 [key]: obj[key] 21 }), {}); 22} 23function sortWithOrder(obj, order) { 24 const groupOrder = [...new Set(order.concat(obj))]; 25 const sorted = []; 26 while (groupOrder.length) { 27 const key = groupOrder.shift(); 28 const index = obj.indexOf(key); 29 if (index > -1) { 30 const [item] = obj.splice(index, 1); 31 sorted.push(item); 32 } 33 } 34 return sorted; 35} 36const reverseSortString = (a, b) => { 37 if (a < b) return 1; 38 if (a > b) return -1; 39 return 0; 40}; 41exports.reverseSortString = reverseSortString; 42//# sourceMappingURL=sortObject.js.map