<commit_before># ES6 JavaScript Koans

WORK IN PROGRESS: ES6 JS Koans

Test base setup is based on David Laing's [JavaScript Koans](https://github.com/mrdavidlaing/javascript-koans), which itself it based on Edgecase's [Ruby Koans](https://github.com/edgecase/ruby_koans)

A good ES6 reference is [Understanding ES6](https://leanpub.com/understandinges6/read/) by [<NAME>](https://www.nczonline.net/). This is something I used whilst creating these Koans and a few of examples used are derived from the examples in his book.

## TODO

* Setup up base test runner

* Koan files
  * `AboutVariableTypes.js` - (`let`, `const`)
  * ~~`AboutStrings.js` - (new functions, templating)~~
  * ~~`AboutFunctions.js` - (default params, arrow functions)~~
  * `AboutObjects.js` - (shorthand, computed name)
  * `AboutArrays.js` - (new functions)
  * `AboutPromises.js` - (resolve, reject, methods)
  * ~~`AboutDeconstructing.js` - (syntax, object, array, mixed, default values)~~
  * `AboutClasses.js` - (constructors, extends, super, static functions)
  * `AboutMaps.js` - (strong, weak)
  * `AboutSets.js` - (strong, weak)
  * `AboutGenerators.js` - (syntax, usage)

* Subjects
  * Data types
    * `let`
    * `const`
  * ~~Strings~~
   * ~~Templating~~
   * ~~New methods~~
  * ~~Functions~~
   * ~~Default parameters~~
   * ~~Rest parameters~~
   * ~~Spread parameters~~
   * ~~Arrow functions~~
  * Objects
    * ~~Initialiser shorthand~~
    * ~~Short-hand functions~~
    * ~~Computed names~~
    * ~~Duplicate literal properties~~
    * Explict method definition
  * Arrays
    * .of()
    * .from()
    * .find()
    * .fill()
  * ~~Deconstructing~~
     * ~~Object~~
     * ~~Array~~
     * ~~Default Values~~
     * ~~Function Parameters~~
  * Symbols
  * Sets
  * WeakSets
  * Maps
  * WeakMaps
  * Promises
    * Resolving
    * Rejecting
    * Promise.all()
    * Promise.race()
  * Generators
  * Classes
    * Constructors
    * Extends (inheritence)
    * super()
    * Static functions
    * overriding functions<commit_msg>docs(README): Remove bullet from objects. Can't remember what I meant :/<commit_after># ES6 JavaScript Koans

WORK IN PROGRESS: ES6 JS Koans

Test base setup is based on David Laing's [JavaScript Koans](https://github.com/mrdavidlaing/javascript-koans), which itself it based on Edgecase's [Ruby Koans](https://github.com/edgecase/ruby_koans)

A good ES6 reference is [Understanding ES6](https://leanpub.com/understandinges6/read/) by [<NAME>](https://www.nczonline.net/). This is something I used whilst creating these Koans and a few of examples used are derived from the examples in his book.

## TODO

* Setup up base test runner

* Koan files
  * `AboutVariableTypes.js` - (`let`, `const`)
  * ~~`AboutStrings.js` - (new functions, templating)~~
  * ~~`AboutFunctions.js` - (default params, arrow functions)~~
  * `AboutObjects.js` - (shorthand, computed name)
  * `AboutArrays.js` - (new functions)
  * `AboutPromises.js` - (resolve, reject, methods)
  * ~~`AboutDeconstructing.js` - (syntax, object, array, mixed, default values)~~
  * `AboutClasses.js` - (constructors, extends, super, static functions)
  * `AboutMaps.js` - (strong, weak)
  * `AboutSets.js` - (strong, weak)
  * `AboutGenerators.js` - (syntax, usage)

* Subjects
  * Data types
    * `let`
    * `const`
  * ~~Strings~~
   * ~~Templating~~
   * ~~New methods~~
  * ~~Functions~~
   * ~~Default parameters~~
   * ~~Rest parameters~~
   * ~~Spread parameters~~
   * ~~Arrow functions~~
  * Objects
    * ~~Initialiser shorthand~~
    * ~~Short-hand functions~~
    * ~~Computed names~~
    * ~~Duplicate literal properties~~
  * Arrays
    * .of()
    * .from()
    * .find()
    * .fill()
  * ~~Deconstructing~~
     * ~~Object~~
     * ~~Array~~
     * ~~Default Values~~
     * ~~Function Parameters~~
  * Symbols
  * Sets
  * WeakSets
  * Maps
  * WeakMaps
  * Promises
    * Resolving
    * Rejecting
    * Promise.all()
    * Promise.race()
  * Generators
  * Classes
    * Constructors
    * Extends (inheritence)
    * super()
    * Static functions
    * overriding functions
{'fraction_non_alphanumeric': 0.1516263145023233, 'fraction_numerical': 0.002445585717779408, 'mean_word_length': 3.3007360672975814, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, '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': '391664', 'n_tokens_mistral': 1360, 'n_tokens_neox': 1364, 'n_words': 358}