Skip to content

Instantly share code, notes, and snippets.

View dengjonathan's full-sized avatar

Jon Deng dengjonathan

View GitHub Profile
@dengjonathan
dengjonathan / pure`.js
Created November 21, 2016 20:01
pure examples 1
// pure
const addOne = num => num + 1;
//impure: modifies input variable
const addOneImpure = num => num++;
//pure
const addOneToAll = arr => arr.map(addOne);
//impure: modifies input array
@dengjonathan
dengjonathan / functional.js
Created November 16, 2016 04:22
composition
const giveProp = (propName, prop, obj) => Object.assign({}, obj, {[propName]: prop});
const curry = (func, arg) => {
return (...args) => func(arg, ...args);
};
const giveName = curry(giveProp, 'name');
const giveJob = curry(giveProp, 'job');
const giveHero = curry(giveProp, 'hero');
@dengjonathan
dengjonathan / oop.js
Created November 16, 2016 03:57
oop inheritance
//OOP
class Parent {
constructor(name, job) {
this.name = name;
this.job = job;
}
}
const solo = new Parent('Han', 'smuggler'); // {name: 'Han', job: 'smuggler'}
@dengjonathan
dengjonathan / oopFunc.js
Created November 16, 2016 03:54
oop inheritance
//OOP
class Parent {
constructor(name, job) {
this.name = name;
this.job = job;
}
}
const solo = new Parent('Han', 'smuggler'); // {name: 'Han', job: 'smuggler'}
'}
@dengjonathan
dengjonathan / package.json
Created October 28, 2016 15:24
package.json with dependencies
{
"name": "how_far_hr",
"version": "1.1.0",
"engines": {
"node": "5.12.0"
},
"description": "A small toy app showing HR progress with React and ES6",
"author": "Jon Deng <jondeng.com>",
"license": "MIT",
"private": false,
@dengjonathan
dengjonathan / .babelrc
Last active May 1, 2018 20:36
Webpack/ Babel/ Express Env for React
{
"plugins": ["react-hot-loader/babel"],
"ignore":[]
}
@dengjonathan
dengjonathan / package.json
Created October 28, 2016 14:59
Webpack/ React package.json
{
"name": "how_far_hr",
"version": "1.1.0",
"engines": {
"node": "5.12.0"
},
"description": "A small toy app showing HR progress with React and ES6",
"author": "Jon Deng <jondeng.com>",
"license": "MIT",
"private": false,
@dengjonathan
dengjonathan / .eslintrc
Created October 17, 2016 15:45
eslintrc for React/ ES6 dev
{
"parser": "babel-eslint", // I want to use babel-eslint for parsing!
"rules": {
"comma-dangle": 0, // dangling commas are ok
"indent": [2, 2, {
"SwitchCase": 1
}],
"jsx-quotes": 1,
"linebreak-style": [2, "unix"],
"quotes": [2, "single"],
@dengjonathan
dengjonathan / .eslintrc
Created October 17, 2016 15:40 — forked from glennr/.eslintrc
ESLint config for React + Redux projects
{
"parser": "babel-eslint", // I want to use babel-eslint for parsing!
"rules": {
"comma-dangle": 0, // dangling commas are ok
"indent": [2, 2, {
"SwitchCase": 1
}],
"jsx-quotes": 1,
"linebreak-style": [2, "unix"],
"quotes": [2, "single"],