├── .devcontainer └── devcontainer.json ├── .gitignore ├── README.md ├── package.json ├── src ├── 0-dont-peek │ ├── 10-promises │ │ └── solutions.js │ ├── 11-redux │ │ ├── combineReducers.js │ │ └── createStore.js │ ├── 6-functions-pt3 │ │ └── throttle.js │ ├── 7-oop │ │ └── game-of-life.js │ └── 8-observable │ │ ├── 1-observable.js │ │ └── 2-game-of-life.js ├── 1-intro │ ├── 1-game-of-life.js │ ├── 1-game-of-life.test.js │ └── 2-var-let-const.test.js ├── 10-promises │ ├── 1-intro.test.js │ ├── 10-all.test.js │ ├── 11-graduation.test.js │ ├── 2-creating.test.js │ ├── 3-jest.test.js │ ├── 4-delay.test.js │ ├── 5-chaining.test.js │ ├── 6-all.test.js │ ├── 7-race.test.js │ ├── 8-timeout.test.js │ ├── 9-race.test.js │ ├── data │ │ ├── leaderboard-bad-json.json │ │ ├── leaderboard.json │ │ └── player │ │ │ ├── 1.json │ │ │ ├── 2.json │ │ │ ├── 3.json │ │ │ ├── 4.json │ │ │ ├── 5.json │ │ │ └── 7.json │ └── serve.js ├── 11-redux │ ├── 1-createStore.js │ ├── 1-createStore.test.js │ ├── 2-combineReducers.js │ └── 2-combineReducers.test.js ├── 2-objects │ ├── 1-object-literals.test.js │ ├── 2-retrieving-property-value.test.js │ ├── 3-enumerating-properties.test.js │ ├── 4-updating-property-value.test.js │ ├── 5-delete.test.js │ ├── 6-es5.test.js │ ├── 7-destructuring.test.js │ ├── 8-spread.test.js │ ├── 9-game-of-life.js │ └── 9-game-of-life.test.js ├── 3-functions-pt1 │ ├── 1-function-expression-function-declaration.test.js │ ├── 2-parameters.test.js │ ├── 3-invocation-patterns.test.js │ ├── 4-return.test.js │ └── 5-prototype.test.js ├── 4-arrays │ ├── 1-basics.test.js │ ├── 10-reduce.test.js │ ├── 2-methods-mutator.test.js │ ├── 3-methods-accessor.test.js │ ├── 4-methods-iteration.test.js │ ├── 5-methods-generic.test.js │ ├── 6-destructuring.test.js │ ├── 7-spread.test.js │ └── 8-map.test.js ├── 5-functions-pt2 │ ├── 1-closure.test.js │ ├── 2-module.test.js │ └── 3-method-as-callback.test.js ├── 6-functions-pt3 │ ├── 1-throttle.js │ └── 1-throttle.test.js ├── 7-oop │ ├── game-of-life.js │ └── game-of-life.test.js ├── 8-observable │ ├── 1-observable.js │ ├── 1-observable.test.js │ ├── 2-game-of-life.js │ └── 2-game-of-life.test.js ├── index.html ├── index.js └── style.css └── webpack.config.js /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | dist 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/package.json -------------------------------------------------------------------------------- /src/0-dont-peek/10-promises/solutions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/0-dont-peek/10-promises/solutions.js -------------------------------------------------------------------------------- /src/0-dont-peek/11-redux/combineReducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/0-dont-peek/11-redux/combineReducers.js -------------------------------------------------------------------------------- /src/0-dont-peek/11-redux/createStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/0-dont-peek/11-redux/createStore.js -------------------------------------------------------------------------------- /src/0-dont-peek/6-functions-pt3/throttle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/0-dont-peek/6-functions-pt3/throttle.js -------------------------------------------------------------------------------- /src/0-dont-peek/7-oop/game-of-life.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/0-dont-peek/7-oop/game-of-life.js -------------------------------------------------------------------------------- /src/0-dont-peek/8-observable/1-observable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/0-dont-peek/8-observable/1-observable.js -------------------------------------------------------------------------------- /src/0-dont-peek/8-observable/2-game-of-life.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/0-dont-peek/8-observable/2-game-of-life.js -------------------------------------------------------------------------------- /src/1-intro/1-game-of-life.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/1-intro/1-game-of-life.js -------------------------------------------------------------------------------- /src/1-intro/1-game-of-life.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/1-intro/1-game-of-life.test.js -------------------------------------------------------------------------------- /src/1-intro/2-var-let-const.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/1-intro/2-var-let-const.test.js -------------------------------------------------------------------------------- /src/10-promises/1-intro.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/1-intro.test.js -------------------------------------------------------------------------------- /src/10-promises/10-all.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/10-all.test.js -------------------------------------------------------------------------------- /src/10-promises/11-graduation.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/11-graduation.test.js -------------------------------------------------------------------------------- /src/10-promises/2-creating.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/2-creating.test.js -------------------------------------------------------------------------------- /src/10-promises/3-jest.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/3-jest.test.js -------------------------------------------------------------------------------- /src/10-promises/4-delay.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/4-delay.test.js -------------------------------------------------------------------------------- /src/10-promises/5-chaining.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/5-chaining.test.js -------------------------------------------------------------------------------- /src/10-promises/6-all.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/6-all.test.js -------------------------------------------------------------------------------- /src/10-promises/7-race.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/7-race.test.js -------------------------------------------------------------------------------- /src/10-promises/8-timeout.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/8-timeout.test.js -------------------------------------------------------------------------------- /src/10-promises/9-race.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/9-race.test.js -------------------------------------------------------------------------------- /src/10-promises/data/leaderboard-bad-json.json: -------------------------------------------------------------------------------- 1 | [5, 3, 2, 4, 1 -------------------------------------------------------------------------------- /src/10-promises/data/leaderboard.json: -------------------------------------------------------------------------------- 1 | [5, 3, 2, 4, 1] 2 | -------------------------------------------------------------------------------- /src/10-promises/data/player/1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Alice" 3 | } 4 | -------------------------------------------------------------------------------- /src/10-promises/data/player/2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Erin" 3 | } 4 | -------------------------------------------------------------------------------- /src/10-promises/data/player/3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bob" 3 | } 4 | -------------------------------------------------------------------------------- /src/10-promises/data/player/4.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Carol" 3 | } 4 | -------------------------------------------------------------------------------- /src/10-promises/data/player/5.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dan" 3 | } 4 | -------------------------------------------------------------------------------- /src/10-promises/data/player/7.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Erin" 3 | } 4 | -------------------------------------------------------------------------------- /src/10-promises/serve.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/10-promises/serve.js -------------------------------------------------------------------------------- /src/11-redux/1-createStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/11-redux/1-createStore.js -------------------------------------------------------------------------------- /src/11-redux/1-createStore.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/11-redux/1-createStore.test.js -------------------------------------------------------------------------------- /src/11-redux/2-combineReducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/11-redux/2-combineReducers.js -------------------------------------------------------------------------------- /src/11-redux/2-combineReducers.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/11-redux/2-combineReducers.test.js -------------------------------------------------------------------------------- /src/2-objects/1-object-literals.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/1-object-literals.test.js -------------------------------------------------------------------------------- /src/2-objects/2-retrieving-property-value.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/2-retrieving-property-value.test.js -------------------------------------------------------------------------------- /src/2-objects/3-enumerating-properties.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/3-enumerating-properties.test.js -------------------------------------------------------------------------------- /src/2-objects/4-updating-property-value.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/4-updating-property-value.test.js -------------------------------------------------------------------------------- /src/2-objects/5-delete.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/5-delete.test.js -------------------------------------------------------------------------------- /src/2-objects/6-es5.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/6-es5.test.js -------------------------------------------------------------------------------- /src/2-objects/7-destructuring.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/7-destructuring.test.js -------------------------------------------------------------------------------- /src/2-objects/8-spread.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/8-spread.test.js -------------------------------------------------------------------------------- /src/2-objects/9-game-of-life.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/9-game-of-life.js -------------------------------------------------------------------------------- /src/2-objects/9-game-of-life.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/2-objects/9-game-of-life.test.js -------------------------------------------------------------------------------- /src/3-functions-pt1/1-function-expression-function-declaration.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/3-functions-pt1/1-function-expression-function-declaration.test.js -------------------------------------------------------------------------------- /src/3-functions-pt1/2-parameters.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/3-functions-pt1/2-parameters.test.js -------------------------------------------------------------------------------- /src/3-functions-pt1/3-invocation-patterns.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/3-functions-pt1/3-invocation-patterns.test.js -------------------------------------------------------------------------------- /src/3-functions-pt1/4-return.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/3-functions-pt1/4-return.test.js -------------------------------------------------------------------------------- /src/3-functions-pt1/5-prototype.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/3-functions-pt1/5-prototype.test.js -------------------------------------------------------------------------------- /src/4-arrays/1-basics.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/1-basics.test.js -------------------------------------------------------------------------------- /src/4-arrays/10-reduce.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/10-reduce.test.js -------------------------------------------------------------------------------- /src/4-arrays/2-methods-mutator.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/2-methods-mutator.test.js -------------------------------------------------------------------------------- /src/4-arrays/3-methods-accessor.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/3-methods-accessor.test.js -------------------------------------------------------------------------------- /src/4-arrays/4-methods-iteration.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/4-methods-iteration.test.js -------------------------------------------------------------------------------- /src/4-arrays/5-methods-generic.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/5-methods-generic.test.js -------------------------------------------------------------------------------- /src/4-arrays/6-destructuring.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/6-destructuring.test.js -------------------------------------------------------------------------------- /src/4-arrays/7-spread.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/7-spread.test.js -------------------------------------------------------------------------------- /src/4-arrays/8-map.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/4-arrays/8-map.test.js -------------------------------------------------------------------------------- /src/5-functions-pt2/1-closure.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/5-functions-pt2/1-closure.test.js -------------------------------------------------------------------------------- /src/5-functions-pt2/2-module.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/5-functions-pt2/2-module.test.js -------------------------------------------------------------------------------- /src/5-functions-pt2/3-method-as-callback.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/5-functions-pt2/3-method-as-callback.test.js -------------------------------------------------------------------------------- /src/6-functions-pt3/1-throttle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/6-functions-pt3/1-throttle.js -------------------------------------------------------------------------------- /src/6-functions-pt3/1-throttle.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/6-functions-pt3/1-throttle.test.js -------------------------------------------------------------------------------- /src/7-oop/game-of-life.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/7-oop/game-of-life.js -------------------------------------------------------------------------------- /src/7-oop/game-of-life.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/7-oop/game-of-life.test.js -------------------------------------------------------------------------------- /src/8-observable/1-observable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/8-observable/1-observable.js -------------------------------------------------------------------------------- /src/8-observable/1-observable.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/8-observable/1-observable.test.js -------------------------------------------------------------------------------- /src/8-observable/2-game-of-life.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/8-observable/2-game-of-life.js -------------------------------------------------------------------------------- /src/8-observable/2-game-of-life.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/8-observable/2-game-of-life.test.js -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/index.html -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/index.js -------------------------------------------------------------------------------- /src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/src/style.css -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/8pointers/javascript-koans/HEAD/webpack.config.js --------------------------------------------------------------------------------