Lidando com APIs legadas ou inconsistentes? Esta biblioteca foi criada para normalizar automaticamente as chaves de objetos e arrays de objetos, convertendo entre snake_case e camelCase de forma simples e eficiente.
💡 Recursos:
✅ Conversão profunda de objetos e arrays de objetos.
✅ Implementação leve e rápida.
✅ Perfeito para uma camada de normalização de dados!
Com npm:
npm i snake-to-camel-case
Com yarn:
yarn add snake-to-camel-case
import { snakeToCamel } from "snake-to-camel-case";
// 🔹 Convertendo um objeto
const obj = { name_test: "Breno Nascimento" };
console.log(snakeToCamel(obj));
// Saída: { nameTest: "Breno Nascimento" }
// 🔹 Convertendo um array de objetos
const array = [{ name_test: "Breno Nascimento" }];
console.log(snakeToCamel(array));
// Saída: [{ nameTest: "Breno Nascimento" }]
import { camelToSnake } from "snake-to-camel-case";
// 🔹 Convertendo um objeto
const obj = { nameTest: "Breno Nascimento" };
console.log(camelToSnake(obj));
// Saída: { name_test: "Breno Nascimento" }
// 🔹 Convertendo um array de objetos
const array = [{ nameTest: "Breno Nascimento" }];
console.log(camelToSnake(array));
// Saída: [{ name_test: "Breno Nascimento" }]
Caso esteja usando TypeScript, recomenda-se criar uma interface para garantir a tipagem correta ao chamar os métodos snakeToCamel
e camelToSnake
.
import { snakeToCamel } from "snake-to-camel-case";
interface OriginalRequestData {
data_request: string[];
per_page: number;
page: number;
}
const requestData: OriginalRequestData = {
data_request: ["teste"],
per_page: 1,
page: 1,
};
interface FormattedRequestData {
dataRequest: string[];
perPage: number;
page: number;
}
// 🔹 Garantindo a tipagem correta
const formattedData = snakeToCamel(requestData) as FormattedRequestData;
console.log(formattedData);
// Saída: { dataRequest: ["teste"], perPage: 1, page: 1 }