@suchipi/change-case
v5.4.4
Published
Transform a string between `camelCase`, `PascalCase`, `Capital Case`, `snake_case`, `kebab-case`, `CONSTANT_CASE` and others
Maintainers
Readme
Change Case
Transform a string between
camelCase,PascalCase,Capital Case,snake_case,kebab-case,CONSTANT_CASEand others.
Installation
npm install change-case --saveUsage
import * as changeCase from "change-case";
changeCase.camelCase("TEST_VALUE"); //=> "testValue"Built-in methods
| 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 |
Tip: Change case assumes you are switching between different programming cases. It does not retain punctuation or other sensitivities. For example, WOW! That's crazy. would be wowThatSCrazy in camel case. If you're looking for a more generic title/sentence case library, consider trying title-case.
All methods accept an options object as the second argument:
delimiter?: stringThe character to use between words. Default depends on method, e.g._in snake case.locale?: string[] | string | falseLower/upper according to specified locale, defaults to host environment. Set tofalseto disable.split?: (value: string) => string[]A function to define how the input is split into words. Defaults tosplit.prefixCharacters?: stringRetain at the beginning of the string. Defaults to"". Example: use"_"to keep the underscores in__typename.suffixCharacters?: stringRetain 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
