# Sentence Case
[![NPM version][npm-image]][npm-url]
[![NPM downloads][downloads-image]][downloads-url]
[![Build status][travis-image]][travis-url]
[![Test coverage][coveralls-image]][coveralls-url]
Sentence case a string. Explicitly adds a single underscore between groups of numbers to maintain readability and reversibility (E.g. `1.20.5` becomes `1_20_5`, not `1205`), by default.
Supports Unicode (non-ASCII characters) and non-string entities, such as objects with a `toString` property, numbers and booleans. Empty values (`null` and `undefined`) will result in an empty string.
## Installation
### Node
```
npm install sentence-case --save
```
## Usage
```javascript
var sentenceCase = require('sentence-case')
sentenceCase('string') //=> "String"
sentenceCase('dot.case') //=> "Dot case"
sentenceCase('PascalCase') //=> "Pascal case"
sentenceCase('version 1.2.10') //=> "Version 1 2 10"
sentenceCase('STRING 1.2', 'tr') //=> "Strıng 1 2"
```
## Typings
Includes a [TypeScript definition](sentence-case.d.ts).
## License
MIT
[npm-image]: https://img.shields.io/npm/v/sentence-case.svg?style=flat
[npm-url]: https://npmjs.org/package/sentence-case
[downloads-image]: https://img.shields.io/npm/dm/sentence-case.svg?style=flat
[downloads-url]: https://npmjs.org/package/sentence-case
[travis-image]: https://img.shields.io/travis/blakeembrey/sentence-case.svg?style=flat
[travis-url]: https://travis-ci.org/blakeembrey/sentence-case
[coveralls-image]: https://img.shields.io/coveralls/blakeembrey/sentence-case.svg?style=flat
[coveralls-url]: https://coveralls.io/r/blakeembrey/sentence-case?branch=master