change-case
v5.4.4
Published
Transform a string between `camelCase`, `PascalCase`, `Capital Case`, `snake_case`, `kebab-case`, `CONSTANT_CASE` and others
Downloads
34,299,737
Maintainers
Readme
Change Case
Transform a string between
camelCase
,PascalCase
,Capital Case
,snake_case
,kebab-case
,CONSTANT_CASE
and others.
Installation
npm install change-case --save
Usage
import * as changeCase from "change-case";
changeCase.camelCase("TEST_VALUE"); //=> "testValue"
Included case functions:
| Method | Result |
| ----------------- | ----------- |
| camelCase
| twoWords
|
| capitalCase
| Two Words
|
| constantCase
| TWO_WORDS
|
| dotCase
| two.words
|
| kebabCase
| two-words
|
| noCase
| two words
|
| pascalCase
| TwoWords
|
| pascalSnakeCase
| Two_Words
|
| pathCase
| two/words
|
| sentenceCase
| Two words
|
| snakeCase
| two_words
|
| trainCase
| Two-Words
|
All methods accept an options
object as the second argument:
delimiter?: string
The character to use between words. Default depends on method, e.g._
in snake case.locale?: string[] | string | false
Lower/upper according to specified locale, defaults to host environment. Set tofalse
to disable.split?: (value: string) => string[]
A function to define how the input is split into words. Defaults tosplit
.prefixCharacters?: string
Retain at the beginning of the string. Defaults to""
. Example: use"_"
to keep the underscores in__typename
.suffixCharacters?: string
Retain at the end of the string. Defaults to""
. Example: use"_"
to keep the underscore intype_
.
By default, pascalCase
and snakeCase
separate ambiguous characters with _
. For example, V1.2
would become V1_2
instead of V12
. If you prefer them merged you can set mergeAmbiguousCharacters
to true
.
Split
Change case exports a split
utility which can be used to build other case functions. It accepts a string and returns each "word" as an array. For example:
split("fooBar")
.map((x) => x.toLowerCase())
.join("_"); //=> "foo_bar"
Change Case Keys
import * as changeKeys from "change-case/keys";
changeKeys.camelCase({ TEST_KEY: true }); //=> { testKey: true }
Change case keys wraps around the core methods to transform object keys to any case.
API
- input: any Any JavaScript value.
- depth: number Specify the depth to transfer for case transformation. Defaults to
1
. - options: object Same as base case library.
TypeScript and ESM
This package is a pure ESM package and ships with TypeScript definitions. It cannot be require
'd or used with CommonJS module resolution in TypeScript.
License
MIT