Skip to content
A JavaScript library for changing between camelCase, snake_case, kebab-case, and more.
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
test
.gitignore
.travis.yml
README.md
bower.json
encase.js
gulpfile.js
package.json

README.md

encase.js Build Status

An JavaScript library for changing between camelCase, snake_case, kebab-case, and more.

Installation

In a browser:

<script src="encase.js"></script>

Via bower:

bower install encase.js

Notes

This method will provides a global Encase object. That means that once you include it, you can use it like this:

var str = 'camelCase';
var convertedStr = Encase.toLowerSnake(str);
// = 'camel_case'

Encase supports switching to 6 cases:

  • toLowerCamel (e.g. someVariableName)
  • toUpperCamel (e.g. SomeVariableName)
  • toLowerSnake (e.g. some_variable_name)
  • toUpperSnake (e.g. SOME_VARIABLE_NAME)
  • toLowerKebab (e.g. some-variable-name)
  • toUpperKebab (e.g. SOME-VARIABLE-NAME)

Encase automatically detects the "from" case, so you only have to tell it what you want to switch to. It also provides a general separate function for splitting up strings:

var str = 'camelCase';
var words = Encase.separate(str);
// = ['camel', 'Case']

In addition to separate, Encase provides a convert function for making arbitrary conversions to any case:

The arguments are:

  • headTransform: how the the first word should be transformed
  • tailTransform: how the rest of the words should be transformed
  • sep: how the words should be joined back together
  • str: the string to operate on

Here's an example for converting any casing to "colon case" (which is used in products like Redis for key naming):

var str = 'UpperCamel';
function toLowerCase(str) { return str.toLowerCase(); }
var convertedStr = Encase.convert(toLowerCase, toLowerCase, ':', str);
// = 'upper:camel'

And, if you want to get fancy:

Encase.toLowerColon = Encase.convert.bind(null, 
    Function.prototype.bind.call(String.prototype.toLowerCase),
    Function.prototype.bind.call(String.prototype.toLowerCase),
    ':'
);

var str = 'UpperCamel';
var convertStr = Encase.toLowerColon(str);
// = 'upper:camel'

Author

twitter/cdmckay
Cameron McKay

License

This library is available under the MIT license.

Something went wrong with that request. Please try again.