<commit_before>#composites

It is sometimes handy to treat objects in the same way you would treat an array,
but with special functionality.  This package allows that.

##Example

We're building a parser, and we'd like to generate a tree that represents our
program.  You may be tempted to just use arrays, but when you join the elements
of the array together, you'll get commas in between your elements.

CompositeString overcomes this:

````javascript
var CompositeString = require('composites').CompositeString;
var program = new CompositeString();
var statement1;
var statement2;

program.push("//my copyright info\n");
statement1 = new CompositeString;
program.push(statement1);
statement2 = new CompositeString;<commit_msg>Adding install<commit_after>#composites

It is sometimes handy to treat objects in the same way you would treat an array,
but with special functionality.  This package allows that.

##Installing
`npm install composites`

##Example

We're building a parser, and we'd like to generate a tree that represents our
program.  You may be tempted to just use arrays, but when you join the elements
of the array together, you'll get commas in between your elements.

CompositeString overcomes this:

````javascript
var CompositeString = require('composites').CompositeString;
var program = new CompositeString();
var statement1;
var statement2;

program.push("//my copyright info\n");
statement1 = new CompositeString;
program.push(statement1);
statement2 = new CompositeString;
{'fraction_non_alphanumeric': 0.07209612817089453, 'fraction_numerical': 0.006675567423230975, 'mean_word_length': 5.489177489177489, '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': '7497386', 'n_tokens_mistral': 402, 'n_tokens_neox': 387, 'n_words': 186}