Skip to the content.

Camel case

Code Coverage Deno Doc

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!

Usage

The API is the same on all this platforms ✔️

Deno 🦕

import { camelCase } from "https://deno.land/x/camelcase/mod.ts";

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'

Node.js 🐢🚀

import { camelCase } from "@ultirequiem/camelcase";

Browser 🌐

You can use any CDN 🔥

Eg 👉 ESM ↔️ SkyPack 🆚 Script Tag ↔️ JSDelivr

Documentation

Is hosted on Deno Doc 📄

Benchmarks

Check the benchmark code on bench.ts

Using Deno’s built-in benchmark runner

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 Module

Version 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 a soon as possible 👀

If you want to hurry me up a bit send me a tweet 😆

Consider supporting me on Patreon if you like my work 🙏

Don’t forget to start 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 📄