<commit_before>**Library for chaining validation and manipulation together**

This library is brand new and still under development. The API is still
changing and much of the library is untested.

This library provides a convienient way of validating and converting input
while providing easy to read and informative error messages if it fails.

## Examples

```javascript

var is = require('is');

// basic usage
is.num(123);                          // true
is.gt(123, 100);                      // false

// simple chaining
is.that(123)
  .num()
  .gt(100);

is.valid();                           // false
is.errCount();                        // 1
is.testCount();                       // 2

// complex chaining
var chain = is.that("hello world");
chain
  .str()
  .prop('length')
    .gt(10)
    .lt(20)
    .up()
  .match(/^[a-z ]+$/i);
  
chain.valid();                        // true
is.valid();                           // false (still false from simple chaining example)

chain.errCount();                     // 0
is.errCount();                        // 1<commit_msg>Fixed dumb documentation mistake<commit_after>**Library for chaining validation and manipulation together**

This library is brand new and still under development. The API is still
changing and much of the library is untested.

This library provides a convienient way of validating and converting input
while providing easy to read and informative error messages if it fails.

## Examples

```javascript

var is = require('is');

// basic usage
is.num(123);                          // true
is.lt(123, 100);                      // false

// simple chaining
is.that(123)
  .num()
  .lt(100);

is.valid();                           // false
is.errCount();                        // 1
is.testCount();                       // 2

// complex chaining
var chain = is.that("hello world");
chain
  .str()
  .prop('length')
    .gt(10)
    .lt(20)
    .up()
  .match(/^[a-z ]+$/i);
  
chain.valid();                        // true
is.valid();                           // false (still false from simple chaining example)

chain.errCount();                     // 0
is.errCount();                        // 1
{'fraction_non_alphanumeric': 0.11932078935291418, 'fraction_numerical': 0.021110601193207894, 'mean_word_length': 1.6520681265206814, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6827318', 'n_tokens_mistral': 632, 'n_tokens_neox': 571, 'n_words': 206}