To easily convert a variable name to camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, etc.
Supports strong typing hints of TypeScript for static strings.
# npm
npm install variable-name-conversion
# yarn
yarn add variable-name-conversion
# pnpm
pnpm add variable-name-conversion
import VariableName from "variable-name-conversion";
const camel = new VariableName("hello_world").camel; //=> "helloWorld"
const kebab = new VariableName("fooBarBaz").kebab; //=> "foo-bar-baz"
Useful when you want to use static string type conversion without introduce runtime.
import type VariableName from "variable-name-conversion";
type Camel = VariableName<"hello_world">["camel"]; //=> "helloWorld"
type Kebab = VariableName<"fooBarBaz">["kebab"]; //=> "foo-bar-baz"
Case | Example | Notes |
---|---|---|
camel |
camelCase |
|
pascal |
PascalCase |
|
kebab |
kebab-case |
|
snake |
snake_case |
|
const |
CONSTANT_CASE |
|
train |
Train-Case |
|
cobol |
COBOL-CASE |
|
pascalSnake |
Pascal_Snake_Case |
|
camelSnake |
camel_Snake_Case |
|
dot |
dot.case |
|
path |
path/case |
|
pathAlt |
path\alt\case |
|
lower |
lowercase |
With no separators. |
upper |
UPPERCASE |
With no separators. |
words |
word case |
Separated by spaces, all in lowercase. |
sentence |
Sentence case |
Separated by spaces, with only the first letter of the sentence capitalized. |
title |
Title Case |
Separated by spaces, with all first letters of words capitalized. |
cssVar |
--css-custom-property-name-form |
kebab-case with two dashes as the prefix. |
cssProp |
css-property-name-form -webkit-css-property-name-form
|
Just like kebab-case, but if the first word is in "webkit", "moz", "ms", "o", it will use one dash as the prefix. |
Should it maintain case sensitivity when converting to kebab-case, snake_case, etc.?
Default: false
Example:
const snakeI = new VariableName("XMLHttpRequest").snake; //=> "xml_http_request"
const snakeS = new VariableName("XMLHttpRequest", true).snake; //=> "XML_Http_Request"
const camelI = new VariableName("XMLHttpRequest").camel; //=> "xmlHttpRequest"
const camelS = new VariableName("XMLHttpRequest", true).camel; //=> "XMLHttpRequest"
type SnakeI = VariableName<"XMLHttpRequest">["snake"]; //=> "xml_http_request"
type SnakeS = VariableName<"XMLHttpRequest", true>["snake"]; //=> "XML_Http_Request"
type CamelI = VariableName<"XMLHttpRequest">["camel"]; //=> "xmlHttpRequest"
type CamelS = VariableName<"XMLHttpRequest", true>["camel"]; //=> "XMLHttpRequest"
variable-name-conversion is available under the MIT License. See the LICENSE file for more info.