UNPKG

638 BJavaScriptView Raw
1var createCompounder = require('./_createCompounder');
2
3/**
4 * Converts `string` to
5 * [snake case](https://en.wikipedia.org/wiki/Snake_case).
6 *
7 * @static
8 * @memberOf _
9 * @since 3.0.0
10 * @category String
11 * @param {string} [string=''] The string to convert.
12 * @returns {string} Returns the snake cased string.
13 * @example
14 *
15 * _.snakeCase('Foo Bar');
16 * // => 'foo_bar'
17 *
18 * _.snakeCase('fooBar');
19 * // => 'foo_bar'
20 *
21 * _.snakeCase('--FOO-BAR--');
22 * // => 'foo_bar'
23 */
24var snakeCase = createCompounder(function(result, word, index) {
25 return result + (index ? '_' : '') + word.toLowerCase();
26});
27
28module.exports = snakeCase;