New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

convert-cases

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

convert-cases

A minimal utility function library that converts camelCase to snake_case and snake_case to camelCase.

latest
Source
npmnpm
Version
2.0.3
Version published
Maintainers
1
Created
Source

convert-cases

Utilities to convert camelCase to sanke_case and snake_case to camelCase.
Nested object keys can also be converted together.

Get started

// use npm
$ npm i convert-cases -S

// use Yarn
$ yarn add convert-cases

Usage

4 functions are provided.

  • deeplyCamelize : Convert all nested object keys to camelCase.
  • deeplySnakize : Convert all nested object keys to snake_case.
  • snakeToCamel : Converts single string to camelCase.
  • camelToSnake : Converts single string to snake_case.

How to camelCase the keys of nested objects together

import { deeplyCamelize } from 'convert-cases'

const obj = {
  test_case: '1',
  array: [
    { array_case: 1 },
    { array_case: 2 },
  ],
}

deeplyCamelize(obj) // { testCase: '1', array: [ { arrayCase: 1 }, { arrayCase: 2 } ] }

In the case of TypeScript

You can specify the input and output types using generics:

deeplyCamelize<BeforeObjType, AfterObjType>(obj)

However, both type parameters are optional. If omitted, the input type will be inferred from the argument, and the output will be inferred as the camelCase equivalent of the input type:

const result = deeplyCamelize({
  test_case: '1',
  array: [
    { array_case: 1 },
    { array_case: 2 },
  ],
})

// inferred:
// {
//   testCase: '1',
//   array: [
//     { arrayCase: 1 },
//     { arrayCase: 2 },
//   ],
// }

The type transformation is recursive and accurately reflects the actual runtime output.

How to snake_case the keys of nested objects together

import { deeplySnakize } from 'convert-cases'

const obj = {
  testCase: '1',
  array: [
    { arrayCase: 1 },
    { arrayCase: 2 },
  ],
}

deeplySnakize(obj) // { test_case: '1', array: [ { array_case: 1 }, { array_case: 2 } ] }

In the case of TypeScript

As with deeplyCamelize, you can provide both input and output types using generics:

deeplySnakize<BeforeObjType, AfterObjType>(obj)

But both type parameters are optional. If omitted, the input type is inferred automatically, and the output type will be inferred as the snake_case equivalent:

const result = deeplySnakize({
  testCase: '1',
  array: [
    { arrayCase: 1 },
    { arrayCase: 2 },
  ],
})

// inferred:
// {
//   test_case: '1',
//   array: [
//     { array_case: 1 },
//     { array_case: 2 },
//   ],
// }

How to convert a single string to camelCase

import { snakeToCamel } from 'convert-cases'

snakeToCamel('snake_case') // 'snakeCase'

How to convert a single string to snake_case

import { camelToSnake } from 'convert-cases'

snakeToCamel('camelCase') // 'camel_case'

Keywords

utility

FAQs

Package last updated on 27 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts