Skip to content

NPM package that converts an object's keys to different cases

License

Notifications You must be signed in to change notification settings

joelsaupe/changecase-objects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

changecase-objects

Convert an object's keys to different cases

Installation

$ npm install --save changecase-objects

Usage

var changeKeys = require('changecase-objects')

changeKeys.snakeCase({ fooBar: 'baz' })
// returns { foo_bar: 'baz' }

changeKeys.snakeCase({ 'foo-bar': true, nested: { fooBaz: 'bar' }})
// returns { foo_bar: true, nested: { foo_baz: 'bar' }}

or with imports

import { snakeCase } from 'changecase-objects'

snakeCase({ fooBar: 'baz' })
// returns { foo_bar: 'baz' }

snakeCase({ 'foo-bar': true, nested: { fooBaz: 'bar' }})
// returns { foo_bar: true, nested: { foo_baz: 'bar' }}

API

Extra Options

Every function accepts an optional options object. The following options are currently supported:

Name Type Description
exclude array<string> Array of key values to exclude from case change.
exclude
camelCase({ foo_bar: 'baz', 'filters[foo_bar]': 'val' }, { exclude: ['filters[foo_bar]'] })
// returns { fooBar: 'baz', 'filters[foo_bar]': 'val' }

camelCase

camelCase(obj, [options]) -> Object

Converts keys to a string with the separators denoted by having the next letter capitalized.

camelCase({ 'key name': 'val' })
// returns { keyName: 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into camel case.
options Object No see options

CONSTANT_CASE

constantCase(obj, [options]) -> Object

Converts keys to upper case, with an underscore separator.

constantCase({ 'key name': 'val' })
// returns { KEY_NAME: 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into constant case.
options Object No see options

dot.case

dotCase(obj, [options]) -> Object

Converts keys to lower case, with a period separator.

dotCase({ 'key name': 'val' })
// returns { 'key.name': 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into dot case.
options Object No see options

Header-Case

headerCase(obj, [options]) -> Object

Converts keys to title case, with a dash separator.

headerCase({ 'key name': 'val' })
// returns { 'Key-Name': 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into header case.
options Object No see options

kebab-case

kebabCase(obj, [options]) -> Object

Converts keys to lower case, with a dash separator.

kebabCase({ 'key name': 'val' })
// returns { 'key-name': 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into kebab case.
options Object No see options

lower case

lowerCase(obj, [options]) -> Object

Converts keys to lower case, with a space separator.

lowerCase({ 'Key Name': 'val' })
// returns { 'key name': 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into lower case.
options Object No see options

PascalCase

pascalCase(obj, [options]) -> Object

Converts keys to camel case, with the first character also capitalized.

pascalCase({ 'key name': 'val' })
// returns { KeyName: 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into pascal case.
options Object No see options

path/case

pathCase(obj, [options]) -> Object

Converts keys to lower case, with a slash separator.

pathCase({ 'key name': 'val' })
// returns { 'key/name': 'val' })
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into path case.
options Object No see options

Sentence case

sentenceCase(obj, [options]) -> Object

Converts keys to lower case, with a space separator, with the first letter capitalized.

sentenceCase({ 'key name': 'val' })
// returns { 'Key name': 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into sentence case.
options Object No see options

snake_case

snakeCase(obj, [options]) -> Object

Converts keys to lower case, with an underscore separator.

snakeCase({ 'key name': 'val' })
// returns { key_name: 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into snake case.
options Object No see options

Title Case

titleCase(obj, [options]) -> Object

Converts keys to lower case with the first letter of each word capitalized, with a space separator.

titleCase({ 'key name': 'val' })
// returns { 'Key Name': 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into title case.
options Object No see options

UPPER CASE

upperCase(obj, [options]) -> Object

Converts keys to upper case, with a space separator.

upperCase({ 'key name': 'val' })
// returns { 'KEY NAME: 'val' }
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into upper case.
options Object No see options

-cUsToM-cAsE-

customCase(obj, caseFn, [options]) -> Object

Allows for custom casing rules by converting keys according to given function.

customCase({ 'key name': 'val' }, key => transform(key))
// returns keys formatted by `caseFn`
Parameters
Name Type Required Description
obj Object or array<Object> Yes An object to transform keys into upper case.
caseFn function(string) -> string Yes A function that returns a modified key.
options Object No see options

About

NPM package that converts an object's keys to different cases

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published