serverless/lib/utils/deep-sort-object-by-key.js
Austen 158f644cd0
feat: Refactor logging to reduce complexity (#12432)
* chore: Change logger

* chore: continue refactor

* chore: WIP

* chore: Sync
2024-04-17 13:26:31 -07:00

20 lines
423 B
JavaScript

import _ from 'lodash';
const deepSortObjectByKey = (obj) => {
if (Array.isArray(obj)) {
return obj.map(deepSortObjectByKey);
}
if (_.isPlainObject(obj)) {
return Object.fromEntries(
Object.entries(obj)
.sort(([key], [otherKey]) => key.localeCompare(otherKey))
.map(([key, value]) => [key, deepSortObjectByKey(value)])
);
}
return obj;
};
export default deepSortObjectByKey;