UNPKG

@technobuddha/library

Version:
23 lines 1.6 kB
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=