autumn-js
Version:
Autumn JS Library
25 lines (21 loc) • 534 B
JavaScript
"use client";
// src/libraries/react/utils/toSnakeCase.ts
function stringToSnakeCase(str) {
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
}
var toSnakeCase = (obj) => {
if (Array.isArray(obj)) {
return obj.map(toSnakeCase);
} else if (obj !== null && typeof obj === "object") {
return Object.fromEntries(
Object.entries(obj).map(([key, value]) => [
stringToSnakeCase(key),
toSnakeCase(value)
])
);
}
return obj;
};
export {
toSnakeCase
};