src/core/camelize.js
// RegExp Helpers
// --------------
// Looks for some of this characters `:` `-` `_` the objetive is allow
// to define behaviors like `cool:carousel` or `small-carousel`
Essential.Core.SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;
// Finds the first letter of a given string
Essential.Core.FIRST_LETTER_REGEXP = /^[a-z]/g;
// Camelize
// --------
//
// Converts strings to UpperCamelCase
//
// Param name[`String`] the name to be camelized
//
// Returns `String` camel case representation of the name
//
// **Example**
//
// ```javascript
// Essential.Core.camelize("cool-carousel");
//
// // => CoolCarousel
// ```
Essential.Core.camelize = function(name) {
return name.
replace(Essential.Core.FIRST_LETTER_REGEXP, function(letter) {
return letter.toUpperCase();
}).
replace(Essential.Core.SPECIAL_CHARS_REGEXP, function(_, separator, letter) {
return letter.toUpperCase();
});
};