@technobuddha/library
Version:
A large library of useful functions
23 lines • 1.6 kB
JavaScript
import { capitalize } from "./capitalize.js";
import { removeDiacritics } from "./remove-diacritics.js";
import { tokenize } from "./tokenize.js";
import { empty } from "./unicode.js";
/**
* Convert an identifier string to a camel case
* @param input - The identifier string
* @returns string in camel case
* @group Programming
* @category Variables
* @example
* ```typescript
* camelCase('hello world'); // 'helloWorld'
* camelCase('Hello World'); // 'helloWorld'
* camelCase('foo_bar-baz'); // 'fooBarBaz'
* camelCase('FOO BAR'); // 'fooBar'
* ```
*/
export function camelCase(input) {
const [first, ...rest] = tokenize(removeDiacritics(input));
return `${first.toLowerCase()}${rest.map((r) => capitalize(r.toLowerCase())).join(empty)}`;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZWwtY2FzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jYW1lbC1jYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckM7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0QsT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztBQUM3RixDQUFDIn0=