1import { snakeCase } from "case-anything";
2
3export default function decamelizeTree(object: { [key: string]: any }) {
4 const snakeObject: { [key: string]: any } = {};
5 for (const key in object) {
6 snakeObject[snakeCase(key)] = decamelizeValue(object[key]);
7 }
8 return snakeObject;
9}
10
11function decamelizeValue(value: any): any {
12 if (typeof value === "object") {
13 if (Array.isArray(value)) {
14 return value.map(decamelizeValue);
15 } else {
16 return decamelizeTree(value);
17 }
18 } else {
19 return value;
20 }
21}