Transform a string between `camelCase`, `PascalCase`, `Capital Case`, `snake_case`, `kebab-case`, `CONSTANT_CASE` and others
npm install change-case> Transform a string between camelCase, PascalCase, Capital Case, snake_case, kebab-case, CONSTANT_CASE and others.
```
npm install change-case --save
`js
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 to false to disable.split?: (value: string) => string[]
- A function to define how the input is split into words. Defaults to split.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 in type_.
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.
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:
`js`
split("fooBar")
.map((x) => x.toLowerCase())
.join("_"); //=> "foo_bar"
`js
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.
- 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.
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.
MIT