<commit_before># ntree

A file system based "living tree" of functional data.

`npm install ntree --save`

## ?

* Loads a tree of data recursed from `config.mount`/`**/*.js`
* Changes on the filesystem are synchronized into the tree.
* Change events are emitted.
* TODO: Changes in the tree are synchronized back to the file system.

## eg.

```javascript
var ntree = require('ntree');

ntree.create({mount: '/path/to/data/root'})

.then(function(tree) {
  
  // use the tree

})

.catch(function(e) {

  console.error(e.stack);
  process.exit(e.errno || 1);

})

```

## use the tree

```javascript

// pending

tree.on('modified');

tree.on('unmodified');
<commit_msg>rename<commit_after># ntree

A file system based "living tree" of functional data.

`npm install ntree --save`

## ?

* Loads a tree of data recursed from `config.mount`/`**/*.js`
* Changes on the filesystem are synchronized into the tree.
* Change events are emitted.
* TODO: Changes in the tree are synchronized back to the file system.

## eg.

```javascript
var ntree = require('ntree');

ntree.create({mount: '/path/to/data/root'})

.then(function(tree) {
  
  // use the tree

})

.catch(function(e) {});

```

## use the tree

```javascript

// pending

tree.on('modified');

tree.on('unmodified');

{'fraction_non_alphanumeric': 0.15896632732967894, 'fraction_numerical': 0.0007830853563038371, 'mean_word_length': 3.7333333333333334, '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': '3413840', 'n_tokens_mistral': 447, 'n_tokens_neox': 431, 'n_words': 137}