UNPKG

chain-able

Version:

interfaces that describe their intentions.

29 lines (28 loc) 2.86 kB
/* prettier-ignore */ /** * @desc camelCase * @since 0.2.0 * * @param {string} str string to turn into camelCase * @return {string} camelCased string * * @tutorial https://github.com/substack/camelize/blob/master/test/camel.js * @tutorial https://github.com/andrewplummer/Sugar/blob/9c018a257a38714b81f7df033b74d236dbf1e861/lib/string.js * @tutorial http://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case * @tutorial https://github.com/sindresorhus/camelcase * @see https://stackoverflow.com/questions/1533131/what-useful-bitwise-operator-code-tricks-should-a-developer-know-about * @TODO s.charAt(0).toLowerCase() + string.slice(1) * * @example * * camelCase('snake_case') * //=> 'snakeCase' * */ module.exports = function (str) { return str // spaces with underscore .replace(/\s+/g, '_') // < underscores & dashes until whitespace or end // > .toUpperCase x & '_' .replace(/[_.-](\w|$)/g, function (m, x) { return x.toUpperCase(); }); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZWwtY2FzZS5qcyIsInNvdXJjZXMiOlsiY2FtZWwtY2FzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBwcmV0dGllci1pZ25vcmUgKi9cbi8qKlxuICogQGRlc2MgY2FtZWxDYXNlXG4gKiBAc2luY2UgMC4yLjBcbiAqXG4gKiBAcGFyYW0gIHtzdHJpbmd9IHN0ciBzdHJpbmcgdG8gdHVybiBpbnRvIGNhbWVsQ2FzZVxuICogQHJldHVybiB7c3RyaW5nfSBjYW1lbENhc2VkIHN0cmluZ1xuICpcbiAqIEB0dXRvcmlhbCBodHRwczovL2dpdGh1Yi5jb20vc3Vic3RhY2svY2FtZWxpemUvYmxvYi9tYXN0ZXIvdGVzdC9jYW1lbC5qc1xuICogQHR1dG9yaWFsIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyZXdwbHVtbWVyL1N1Z2FyL2Jsb2IvOWMwMThhMjU3YTM4NzE0YjgxZjdkZjAzM2I3NGQyMzZkYmYxZTg2MS9saWIvc3RyaW5nLmpzXG4gKiBAdHV0b3JpYWwgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yOTcwNTI1L2NvbnZlcnRpbmctYW55LXN0cmluZy1pbnRvLWNhbWVsLWNhc2VcbiAqIEB0dXRvcmlhbCBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2NhbWVsY2FzZVxuICogQHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNTMzMTMxL3doYXQtdXNlZnVsLWJpdHdpc2Utb3BlcmF0b3ItY29kZS10cmlja3Mtc2hvdWxkLWEtZGV2ZWxvcGVyLWtub3ctYWJvdXRcbiAqIEBUT0RPIHMuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBzdHJpbmcuc2xpY2UoMSlcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICBjYW1lbENhc2UoJ3NuYWtlX2Nhc2UnKVxuICogIC8vPT4gJ3NuYWtlQ2FzZSdcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gc3RyID0+XG4gIHN0clxuICAgIC8vIHNwYWNlcyB3aXRoIHVuZGVyc2NvcmVcbiAgICAucmVwbGFjZSgvXFxzKy9nLCAnXycpXG4gICAgLy8gPCB1bmRlcnNjb3JlcyAmIGRhc2hlcyB1bnRpbCB3aGl0ZXNwYWNlIG9yIGVuZFxuICAgIC8vID4gLnRvVXBwZXJDYXNlIHggJiAnXydcbiAgICAucmVwbGFjZSgvW18uLV0oXFx3fCQpL2csIChtLCB4KSA9PiB4LnRvVXBwZXJDYXNlKCkpXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQSxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQUEsR0FBRyxDQUFBLENBQUMsQUFDbkIsU0FBQSxHQUFHOztLQUVBLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDOzs7S0FHcEIsT0FBTyxDQUFDLGNBQWMsRUFBRSxTQUFBLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUFHLFNBQUEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFBLENBQUMsR0FBQTsifQ==