All in one function for transforming word casings
JavaScript
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
src
tests
.flowconfig
.gitignore
.prettierignore
.prettierrc
.travis.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
package.json
yarn.lock

README.md

casex

All in one function for transforming word casings

npm version Build Status code style: prettier Maintainability Test Coverage

Demo

Blog post explaining why casex was created and what's next

Install

📦 275B gziped

npm install --save casex

or https://unpkg.com/casex

Usage

import casex from 'casex';

casex(text, pattern);

How the pattern works

For casex any character that is not a letter (accents are not letters for javascript) is a breakpoint.

In this example: Ca_se

  • C: first letter of the first word
  • a: second and subsequent letters of the first word
  • _: anything between the first two and last two letters is glue and will be repeted between words
  • s: first letter of the second and subsequent words
  • e: second and subsequent letters of the second and subsequent words

Confusing? Check out the demo and/or examples below. I'm sure you'll get the hang of it :)

Note: You could use any other letters to describe, such as aa$aa or na_me. What matters is that it takes the first two and last two letters for checking capitalization and whatever is in the middle is "glue".

Examples

For these examples I'll use the text i_am the-real JohnDoe

lowercase

  • Pattern: case
  • Output: iamtherealjohndoe

UPPERCASE

  • Pattern: CASE
  • Output: IAMTHEREALJOHNDOE

snake_case

  • Pattern: ca_se
  • Output: i_am_the_real_john_doe

spinal-case

  • Pattern: ca-se
  • Output: i-am-the-real-john-doe

camelCase

  • Pattern: caSe
  • Output: iAmTheRealJohnDoe

UpperCamelCase

  • Pattern: CaSe
  • Output: IAmTheRealJohnDoe

Sentence case

  • Pattern: Ca se
  • Output: I am the real john doe

Title Case

  • Pattern: Ca Se
  • Output: I Am The Real John Doe

Motivation

casex is part of a scaffolding tool I'm building and I decided to publish it separetely. The scaffolding tool will be linked here once it's out :)

Resources