<commit_before># IterizerJs

IterizerJs makes it easier to write code that makes extensive use of ES6 iterables:

  * A `range()` function is provided so you never need to use the classic `for` loop again -- `for...of` and `for...in` can be used instead.
  * Implementations of the ES5 array methods (`map()`, `filter()`, `every()`, `some()`, `reduce()`, `reduceRight()`, `indexOf()` & `lastIndexOf()`) are provided for use with any iterable.
  * `limit()`, `nthItem()` and `first()` methods are provided to reduce the number of items returned by long-running and infinite iterables.
  * Other helpful methods like `join()`, `toArray()`, `sum()` & `product()` are also made available.

By making extensive use of ES6 iterators, ES6 generators & the ES5 `Array` methods, you can write more _concise_ and more _re-usable_ code.

## More Concise Code

For example, here's the solution for [problem 6](https://projecteuler.net/problem=6) in [Project Euler](https://projecteuler.net/):
<commit_msg>Updated 'README.md' to include a link to the spec tests.<commit_after># IterizerJs

IterizerJs makes it easier to write code that makes extensive use of ES6 iterables:

  * A `range()` function is provided so you never need to use the classic `for` loop again -- `for...of` and `for...in` can be used instead.
  * Implementations of the ES5 array methods (`map()`, `filter()`, `every()`, `some()`, `reduce()`, `reduceRight()`, `indexOf()` & `lastIndexOf()`) are provided for use with any iterable.
  * `limit()`, `nthItem()` and `first()` methods are provided to reduce the number of items returned by long-running and infinite iterables.
  * Other helpful methods like `join()`, `toArray()`, `sum()` & `product()` are also made available.

By making extensive use of ES6 iterators, ES6 generators & the ES5 `Array` methods, you can write more _concise_ and more _re-usable_ code. You can view the [IterizerJs spec tests](https://github.com/dchambers/IterizerJs/blob/master/spec/index.html) to get more information.

## More Concise Code

For example, here's the solution for [problem 6](https://projecteuler.net/problem=6) in [Project Euler](https://projecteuler.net/):

{'fraction_non_alphanumeric': 0.13493530499075784, 'fraction_numerical': 0.006469500924214418, 'mean_word_length': 4.727513227513228, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 5, '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': '2418033', 'n_tokens_mistral': 647, 'n_tokens_neox': 618, 'n_words': 274}