<commit_before># tcomb

[![NPM version](https://badge.fury.io/js/tcomb.svg)](http://badge.fury.io/js/tcomb)

tcomb is a library for Node.js and the browser which allows you to **check the types** of JavaScript values at runtime with a **simple syntax**. It is great for checking external input, for testing and for adding safety to your internal code. Bonus points: 

- write complex domain models in a breeze and with small code footprint
- easy debugging
- **instances are immutables** by default
- encode/decode of domain objects to/from JSON for free
- gradually make your existing code safer

The library provides several type combinators and a built-in `assert` function. If an assertion fails the library **starts the debugger** so you can inspect the stack and quickly find out what's wrong.

You can check:

- JavaScript native types
    - Nil: `null` and  `undefined`<commit_msg>highlight domain models bonus<commit_after># tcomb

[![NPM version](https://badge.fury.io/js/tcomb.svg)](http://badge.fury.io/js/tcomb)

tcomb is a library for Node.js and the browser which allows you to **check the types** of JavaScript values at runtime with a **simple syntax**. It is great for checking external input, for testing and for adding safety to your internal code. Bonus points: 

- **write complex domain models** in a breeze and with small code footprint
- easy debugging
- **instances are immutables** by default
- encode/decode of domain objects to/from JSON for free
- gradually make your existing code safer

The library provides several type combinators and a built-in `assert` function. If an assertion fails the library **starts the debugger** so you can inspect the stack and quickly find out what's wrong.

You can check:

- JavaScript native types
    - Nil: `null` and  `undefined`
{'fraction_non_alphanumeric': 0.08008898776418243, 'fraction_numerical': 0.0, 'mean_word_length': 4.260233918128655, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, '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': '998759', 'n_tokens_mistral': 487, 'n_tokens_neox': 471, 'n_words': 248}