Simple typescript package for case conversion. Automatically convert to desired case. Zero dependencies.
Supported case conversions:
snake_case
camelCase
PascalCase
MACRO_CASE
(Alias:UPPER_CASE_SNAKE_CASE
)kebab-case
(Alias:slug
)Train-case
flatcase
(โ ๏ธ Warning: cannot be converted back to other cases)dot.case
Capitalize the string
Title The String
normalize the string
Run this command to install case-convention
on your project.
npm install case-convention
ES6 style import
import { Convention } from "case-convention"
- Convert to title (capitalize every word)
let str = "lorem.ipsum" console.log(Convention.title(str)) // "Lorem Ipsum"
- Convert to capitalized (capitalize the first letter only)
let str = "Lorem-Ipsum" console.log(Convention.capitalized(str)) // "Lorem ipsum"
- Convert to normalized string (space-separated, all lower-case)
let str = "LOREM_IPSUM" console.log(Convention.normalize(str)) // "lorem ipsum"
- Convert to
snake_case
let str = "LOREM_IPSUM" console.log(Convention.snakeCase(str)) // "lorem_ipsum"
- Convert to
camelCase
let str = "lorem.ipsum" console.log(Convention.camelCase(str)) // "loremIpsum"
- Convert to
kebab-case
orslug
let str = "LoremIpsum" console.log(Convention.kebabCase(str)) console.log(Convention.slug(str)) // "lorem-ipsum"
- Convert to
PascalCase
let str = "lorem ipsum" console.log(Convention.pascalCase(str)) // "LoremIpsum"
- Convert to
Train-Case
let str = "Lorem Ipsum" console.log(Convention.trainCase(str)) // "Lorem-Ipsum"
- Convert to
MACRO_CASE
orUPPER_CASE_SNAKE_CASE
aliaslet str = "lorem.ipsum" console.log(Convention.macroCase(str)) console.log(Convention.upperCaseSnakeCase(str)) // "LOREM_IPSUM"
- Convert to
dot.case
let str = "lorem_ipsum" console.log(Convention.dotCase(str)) // "lorem.ipsum"
- Convert to
flatcase
let str = "LOREM_IPSUM" console.log(Convention.flatCase(str)) // "loremipsum"
This package doesn't throw errors. Instead, improper input will return empty string. This package will also attempt to remove excess separators, as well as variable prefix.
// empty string as input returns empty string as output
console.log(Convention.snakeCase(""))
// ""
// following prefixes are removed: "@", "_", "$"
console.log(Convention.slug("$centeredDiv"))
// "centered-div"
// excess single separators are removed
console.log(Convention.normalize("DEFAULT____VALUE"))
// "default value"
console.log(Convention.kebabCase("TOO SPACIOUS"))
// "too-spacious"
// multiple separators in an input returns empty string as output
// following symbols are considered as separator: " ", ".", "-", "_"
console.log(Convention.camelCase("face-to-face meeting"))
// ""
Experiencing issues? Need new features? Please go to this link and create new entry.
Also, feel free to submit pull requests.
- TomChen for creating awesome modern npm package template