9.1.3 • Published 3 months ago

camelcase-keys v9.1.3

Weekly downloads
14,958,287
License
MIT
Repository
github
Last release
3 months ago

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: Record<string, unknown> | ReadonlyArray<Record<string, unknown>>

A plain object or array of plain 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-byeByeBye

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-BARFooBAR

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
		}
	}
}
*/

Related

@shesha/reactjsarchetype-library@flyteorg/flyte-api@flyteoss/flyte-api@atomist/sdm@atomist/sdm-coreeasy-select-rn@saasxx/cloudchinjowwchinjowreact-native-bluetooth2killi8n-react-native-fast-imagersn-node-core@oopsunome/latest-gitignore@arisageha/react-lazyloadolkab-npm-ts-normnpm-test-olkabriver-sharingultimatejsd8e-appairscanairscan-examplebb-chatreact-native-esc-pos-sahaab@borisovart/atol-kkt-module@frxf/frxfdeneme323112bsw-react-native-auth-client@ntt_app/react-native-custom-notificationslash-common-componentslencereact-native-covid-sdklatest-gitignore-cli@jttechnic/interpreter@nervina/nft-extension-corecthpb-plugin-social@olivervorasai/slidermysql-formatpanqibaoreact-native-printer-brothersapi-fatherreact-native-shekhar-bridge-testcogoportutilsstalky-instagram-module@rabble-inc/payments@rabble-inc/pod-pay@oiti/documentoscopy-react-nativegramsterinstagram-private-api-gramster@mink-opn/build-tokensquoc-testunblock-block-save-variables@npmtapi/tapi-lib-non-working-daysgraphql-response-analysis@saaspe/componentsexpand-react-bridgejob-web-appopea-bootstraapluminos-ui-corerent-on-the-spot-frontend@everything-registry/sub-chunk-1288iqra-calculatorjawwy-sdkjawwy_gamification_releasejoyid-omiga@shesha/reactjs-enterprisereact-native-sphereuisphereuijawwy_libraryreact-native-credit-card-pkg@skaldebane/livekit-server-sdkreact-native-jawwy_samplelinux-batteryka-flow.jskafirchain-tetrisl2forlernalibera-sdk-testkauth-sdk-nodekaryakarsakhaled-salem-custom-componentskooktskoa-camelcase-keyslapture-ui-complaptureuilaravel-vue-form-validatorlb1lazy-bee-uiin-fetchipapiprivateinimusjahancli_calculatorjamuskalimjeuxuijoi-sqljoi-schema-mapperjordy-frijters-test-liblivekit-server-sdklivekit-server-sdk-cjslivelists-node-jsloopback-cli
9.1.3

3 months ago

9.1.2

5 months ago

9.1.1

5 months ago

9.1.0

6 months ago

9.0.0

8 months ago

8.0.1

2 years ago

8.0.2

2 years ago

8.0.0

2 years ago

7.0.2

2 years ago

7.0.1

2 years ago

7.0.0

3 years ago

6.2.2

4 years ago

6.2.1

4 years ago

6.2.0

4 years ago

6.1.2

4 years ago

6.1.1

4 years ago

6.1.0

4 years ago

6.0.1

5 years ago

6.0.0

5 years ago

5.3.0

5 years ago

5.2.0

5 years ago

5.1.0

5 years ago

5.0.0

5 years ago

4.2.0

6 years ago

4.1.0

7 years ago

4.0.0

8 years ago

3.0.0

8 years ago

2.1.0

8 years ago

2.0.0

8 years ago

1.0.0

9 years ago