pc

param-case

Convert strings between camelCase, PascalCase, Capital Case, snake_case and more

Showing:

Popularity

Downloads/wk

10.6M

GitHub Stars

1.6K

Maintenance

Last Commit

14d ago

Contributors

15

Package

Dependencies

2

Size (min+gzip)

0.6KB

License

MIT

Type Definitions

Built-In

Tree-Shakeable

Yes?

Categories

Readme

Change Case

Build status

Transform a string between camelCase, PascalCase, Capital Case, snake_case, param-case, CONSTANT_CASE and others.

Installation

npm install change-case --save

Usage

import * as changeCase from "change-case";

Core

These functions come bundled with change-case:

All core methods accept options as the second argument.

camelCase

Transform into a string with the separator denoted by the next word capitalized.

camelCase("test string");
//=> "testString"

capitalCase

Transform into a space separated string with each word capitalized.

capitalCase("test string");
//=> "Test String"

constantCase

Transform into upper case string with an underscore between words.

constantCase("test string");
//=> "TEST_STRING"

dotCase

Transform into a lower case string with a period between words.

dotCase("test string");
//=> "test.string"

headerCase

Transform into a dash separated string of capitalized words.

headerCase("test string");
//=> "Test-String"

noCase

Transform into a lower cased string with spaces between words.

noCase("testString");
//=> "test string"

paramCase

Transform into a lower cased string with dashes between words.

paramCase("test string");
//=> "test-string"

pascalCase

Transform into a string of capitalized words without separators.

pascalCase("test string");
//=> "TestString"

pathCase

Transform into a lower case string with slashes between words.

pathCase("test string");
//=> "test/string"

sentenceCase

Transform into a lower case with spaces between words, then capitalize the string.

sentenceCase("testString");
//=> "Test string"

snakeCase

Transform into a lower case string with underscores between words.

snakeCase("test string");
//=> "test_string"

Other Case Utilities

These functions are not "case" libraries but independent functions, you must install these separately.

titleCase

Transform a string into title case following English rules.

titleCase("a simple test");
//=> "A Simple Test"

swapCase

Transform a string by swapping every character from upper to lower case, or lower to upper case.

swapCase("Test String");
//=> "tEST sTRING"

isLowerCase

Returns true if the string is lower case only.

isLowerCase("test string");
//=> true

isUpperCase

Returns true if the string is upper case only.

isUpperCase("test string");
//=> false

lowerCase

Transforms the string to lower case.

lowerCase("TEST STRING");
//=> "test string"

lowerCaseFirst

Transforms the string with the first character in lower cased.

lowerCaseFirst("TEST");
//=> "tEST"

upperCase

Transforms the string to upper case.

upperCase("test string");
//=> "TEST STRING"

upperCaseFirst

Transforms the string with the first character in upper cased.

upperCaseFirst("test");
//=> "Test"

spongeCase

Transform into a string with random capitalization applied.

spongeCase("Test String");
//=> "tEst stRINg"

Options

  • splitRegexp RegExp used to split into word segments (see example).
  • stripRegexp RegExp used to remove extraneous characters (default: /[^A-Z0-9]/gi).
  • delimiter Value used between words (e.g. " ").
  • transform Used to transform each word segment (e.g. lowerCase).

Split Example

If you find the default split hard to use, you can provide a different one. The example below will change the behavior to word2019 -> word 2019 and minifyURLs -> minify urls:

const options = {
  splitRegexp: /([a-z])([A-Z0-9])/g,
};

License

MIT

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100