@ultirequiem/camelcase
v3.0.3
Published
Convert dash, dot, underscore or space separated strings to camelCase.
Maintainers
Readme
Camel case
Convert dash, dot, underscore or space separated strings to camelCase.
Convert a dash/dot/underscore/space separated string to camelCase or PascalCase.
Correctly handles unicode strings.
If you use this on untrusted user input, don't forget to limit the length to something reasonable.
Based on the Sindre Sorhus Camelcase Module, they have the same test suite and API, but this version is more than 3 times faster, see the benchmarks below!
Install
npm install @ultirequiem/camelcaseUsage
ESM only, types included: the same import works in Node.js, Bun and browsers.
import { camelCase } from "@ultirequiem/camelcase";
camelCase("foo-bar"); //=> 'fooBar'
camelCase("foo_bar"); //=> 'fooBar'
camelCase("Foo-Bar"); //=> 'fooBar'
camelCase("розовый_пушистый_единорог"); //=> 'розовыйПушистыйЕдинорог'
camelCase("Foo-Bar", { pascalCase: true }); //=> 'FooBar'
camelCase("--foo.bar", { pascalCase: false }); //=> 'fooBar'
camelCase("Foo-BAR", { preserveConsecutiveUppercase: true }); //=> 'fooBAR'
camelCase("fooBAR", { pascalCase: true, preserveConsecutiveUppercase: true }); //=> 'FooBAR'
camelCase("foo bar"); //=> 'fooBar'
camelCase(["foo", "bar"]); //=> 'fooBar'
camelCase(["__foo__", "--bar"], { pascalCase: true }); //=> 'FooBar'
camelCase(["foo", "BAR"], {
pascalCase: true,
preserveConsecutiveUppercase: true,
}); //=> 'FooBAR'
camelCase("lorem-ipsum", { locale: "en-US" }); //=> 'loremIpsum'Benchmarks
Check the benchmark code on bench.ts ⚡
benchmark time (avg) (min … max) p75 p99 p995
------------------------------------------------------------ -----------------------------
Sindre Sorhus Module 257.01 µs/iter (237.4 µs … 382.3 µs) 252.9 µs 331.5 µs 339.9 µs
This Module 78 µs/iter (67.6 µs … 214.9 µs) 78.1 µs 152.6 µs 155.1 µs
summary
This Module
3.29x times faster than Sindre Sorhus ModuleVersion 2.1.0
Benchmarks are run on GitHub Actions on each commit, you can see the latest runs here.
Support
Open an Issue, I will check it as soon as possible 👀
If you want to hurry me up a bit send me a tweet 😆
Don't forget to star the repo ⭐
Authors
Eliaz Bobadilla - Creator and Maintainer 💪
See also the full list of contributors who participated in this project ✨
Versioning
We use Semantic Versioning. For the versions available, see the tags 🏷️
Licence
Licensed under the MIT License 📄
