27 lines
626 B
JavaScript
27 lines
626 B
JavaScript
|
var createCompounder = require('../internal/createCompounder');
|
||
|
|
||
|
/**
|
||
|
* Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case).
|
||
|
*
|
||
|
* @static
|
||
|
* @memberOf _
|
||
|
* @category String
|
||
|
* @param {string} [string=''] The string to convert.
|
||
|
* @returns {string} Returns the snake cased string.
|
||
|
* @example
|
||
|
*
|
||
|
* _.snakeCase('Foo Bar');
|
||
|
* // => 'foo_bar'
|
||
|
*
|
||
|
* _.snakeCase('fooBar');
|
||
|
* // => 'foo_bar'
|
||
|
*
|
||
|
* _.snakeCase('--foo-bar');
|
||
|
* // => 'foo_bar'
|
||
|
*/
|
||
|
var snakeCase = createCompounder(function(result, word, index) {
|
||
|
return result + (index ? '_' : '') + word.toLowerCase();
|
||
|
});
|
||
|
|
||
|
module.exports = snakeCase;
|