Huge news!Announcing our $20M Series A led by Andreessen Horowitz.Learn more →
Socket
Socket
Log inDemoInstall

camelcase-keys

Package Overview
Dependencies
4
Maintainers
1
Versions
28
Issues
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

camelcase-keys

Convert object keys to camel case

    9.1.2latest
    GitHub
    npm

Version published
Maintainers
1
Weekly downloads
16,625,943
decreased by-1.15%

Weekly downloads

Package description

What is camelcase-keys?

The camelcase-keys npm package is designed to convert object keys to camel case. It can be used to transform keys in objects, arrays of objects, and deeply nested objects. This is particularly useful when dealing with APIs that return data in snake_case or other formats and you want to convert the keys to camelCase to maintain JavaScript naming conventions.

What are camelcase-keys's main functionalities?

Convert object keys to camel case

Converts the keys of a single object to camel case. For example, {'foo_bar': true} would become {'fooBar': true}.

{"foo_bar": true}

Convert array of objects

Converts the keys of every object in an array to camel case. For example, [{'foo_bar': true}, {'bar_baz': false}] would become [{'fooBar': true}, {'barBaz': false}].

[{"foo_bar": true}, {"bar_baz": false}]

Deep key conversion

Converts keys to camel case recursively for deeply nested objects. For example, {'foo_bar': {'inner_key': 'value', 'another_key': {'deep_key': 'deep_value'}}} would become {'fooBar': {'innerKey': 'value', 'anotherKey': {'deepKey': 'deepValue'}}}.

{"foo_bar": {"inner_key": "value", "another_key": {"deep_key": "deep_value"}}}

Exclude keys from being camelCased

Allows certain keys to be excluded from being converted to camel case. For example, {'foo_bar': true, 'do_not_change': false} with 'do_not_change' as an excluded key would result in {'fooBar': true, 'do_not_change': false}.

{"foo_bar": true, "do_not_change": false}

Other packages similar to camelcase-keys

Readme

Source

camelcase-keys

Convert object keys to camel case using camelcase

Install

npm install camelcase-keys

Usage

import camelcaseKeys from 'camelcase-keys';

// Convert an object
camelcaseKeys({'foo-bar': true});
//=> {fooBar: true}

// Convert an array of objects
camelcaseKeys([{'foo-bar': true}, {'bar-foo': false}]);
//=> [{fooBar: true}, {barFoo: false}]
import {parseArgs} from 'node:util';
import camelcaseKeys from 'camelcase-keys';

const commandLineArguments = parseArgs();
//=> {_: [], 'foo-bar': true}

camelcaseKeys(commandLineArguments);
//=> {_: [], fooBar: true}

API

camelcaseKeys(input, options?)

input

Type: object | object[]

An object or array of objects to camel-case.

options

Type: object

exclude

Type: Array<string | RegExp>
Default: []

Exclude keys from being camel-cased.

deep

Type: boolean
Default: false

Recurse nested objects and objects in arrays.

import camelcaseKeys from 'camelcase-keys';

const object = {
	'foo-bar': true,
	nested: {
		unicorn_rainbow: true
	}
};

camelcaseKeys(object, {deep: true});
//=> {fooBar: true, nested: {unicornRainbow: true}}

camelcaseKeys(object, {deep: false});
//=> {fooBar: true, nested: {unicorn_rainbow: true}}
pascalCase

Type: boolean
Default: false

Uppercase the first character: bye-bye → ByeBye

import camelcaseKeys from 'camelcase-keys';

camelcaseKeys({'foo-bar': true}, {pascalCase: true});
//=> {FooBar: true}

camelcaseKeys({'foo-bar': true}, {pascalCase: false});
//=> {fooBar: true}
preserveConsecutiveUppercase

Type: boolean
Default: false

Preserve consecutive uppercase characters: foo-BAR → FooBAR

import camelcaseKeys from 'camelcase-keys';

camelcaseKeys({'foo-BAR': true}, {preserveConsecutiveUppercase: true});
//=> {fooBAR: true}

camelcaseKeys({'foo-BAR': true}, {preserveConsecutiveUppercase: false});
//=> {fooBar: true}
stopPaths

Type: string[]
Default: []

Exclude children at the given object paths in dot-notation from being camel-cased.

For example, with an object like {a: {b: '🦄'}}, the object path to reach the unicorn is 'a.b'.

import camelcaseKeys from 'camelcase-keys';

const object = {
	a_b: 1,
	a_c: {
		c_d: 1,
		c_e: {
			e_f: 1
		}
	}
};

camelcaseKeys(object, {
	deep: true,
	stopPaths: [
		'a_c.c_e'
	]
}),
/*
{
	aB: 1,
	aC: {
		cD: 1,
		cE: {
			e_f: 1
		}
	}
}
*/

Keywords

FAQs

Last updated on 18 Oct 2023

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install
SocketSocket SOC 2 Logo

Product

  • Package Issues
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc