28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
import { capitalize } from "./capitalize.mjs";
|
|
import { words } from "./words.mjs";
|
|
//#region src/string/camelCase.ts
|
|
/**
|
|
* Converts a string to camel case.
|
|
*
|
|
* Camel case is the naming convention in which the first word is written in lowercase and
|
|
* each subsequent word begins with a capital letter, concatenated without any separator characters.
|
|
*
|
|
* @param {string} str - The string that is to be changed to camel case.
|
|
* @returns {string} - The converted string to camel case.
|
|
*
|
|
* @example
|
|
* const convertedStr1 = camelCase('camelCase') // returns 'camelCase'
|
|
* const convertedStr2 = camelCase('some whitespace') // returns 'someWhitespace'
|
|
* const convertedStr3 = camelCase('hyphen-text') // returns 'hyphenText'
|
|
* const convertedStr4 = camelCase('HTTPRequest') // returns 'httpRequest'
|
|
* const convertedStr5 = camelCase('Keep unicode 😅') // returns 'keepUnicode😅'
|
|
*/
|
|
function camelCase(str) {
|
|
const words$1 = words(str);
|
|
if (words$1.length === 0) return "";
|
|
const [first, ...rest] = words$1;
|
|
return `${first.toLowerCase()}${rest.map((word) => capitalize(word)).join("")}`;
|
|
}
|
|
//#endregion
|
|
export { camelCase };
|