casex
All in one function for transforming word casings
Check out 🥁 BattleCry
casex was created as part of 🥁 BattleCry, a simple and customizable scaffolding tool for all languages and frameworks.
Demo
Install
npm install --save 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 worda
: second and subsequent letters of the first word_
: anything between the first two and last two letters isglue
and will be repeted between wordss
: first letter of the second and subsequent wordse
: 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