## Prerequisites Requires [Node.js](https://nodejs.org/en/) version >= 14. ## Usage ```js const snakecase = require('{%= name %}'); // or const { snakecase } = require('{%= name %}'); console.log(snakecase('a')); //=> 'a' console.log(snakecase('foo bar baz')); //=> 'foo_bar_baz' console.log(snakecase(' foo bar baz ')); //=> 'foo_bar_baz' console.log(snakecase('foo_bar-baz')); //=> 'foo_bar_baz' console.log(snakecase('foo.bar.baz')); //=> 'foo_bar_baz' console.log(snakecase('foo/bar/baz')); //=> 'foo_bar_baz' console.log(snakecase('foo[bar)baz')); //=> 'foo_bar_baz' console.log(snakecase('#foo+bar*baz')); //=> 'foo_bar_baz' console.log(snakecase('$foo~bar`baz')); //=> 'foo_bar_baz' console.log(snakecase('_foo_bar-baz-')); //=> 'foo_bar_baz' console.log(snakecase('foo 2 bar 5 baz')); //=> 'foo_2_bar_5_baz' console.log(snakecase('foo2bar5baz')); //=> 'foo2bar5baz' ``` ## Options ### .preserveConsecutiveUppercase **Type**: `boolean` **Default**: `false` This library attemps to sensibly match sequences of uppercase characters in a way that mirrors real-world usage. For example, the following is default behavior: ```js console.log(snakecase('JSONStringify')); //=> 'json_stringify console.log(snakecase('TheIRSIsMean')); //=> 'the_irs_is_mean ``` However, if you wish to preserve upper case character sequences, you may pass an options object with the `preserveConsecutiveUppercase` option set to `true`: ```js console.log(snakecase('JSONStringify', { preserveConsecutiveUppercase: true })); //=> jsons_tringify console.log(snakecase('TheIRSIsMean', { preserveConsecutiveUppercase: true })); //=> the_irsi_s_mean ``` ### .uppercase **Type**: `boolean` **Default**: `false` Convert the output string to upper case. ```js console.log(snakecase('fooBarBaz', { uppercase: true })); //=> 'FOO_BAR_BAZ' console.log(snakecase('FooBarBaz', { uppercase: true })); //=> 'FOO_BAR_BAZ' ``` ## Options All options are passed to [sindresorhus/camelcase](https://github.com/sindresorhus/camelcase), please visit that project to learn about all available options.