Skip to content

Instantly share code, notes, and snippets.

View dengjonathan's full-sized avatar

Jon Deng dengjonathan

View GitHub Profile
@dengjonathan
dengjonathan / backbone.html
Last active December 8, 2016 22:21
Backbone Jquery MVC
<!DOCTYPE html>
<html>
<head>
<title>Backbone.js MVC</title>
</head>
<body>
<div id="app"></div>
<!-- App Dependencies -->
<script
src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script>
@dengjonathan
dengjonathan / vanillaMVC.html
Last active December 8, 2016 22:19
Vanilla MVC
<!DOCTYPE html>
<html>
<head>
<title>Backbone.js MVC</title>
</head>
<body>
<div id="app"></div>
<!-- App Dependencies -->
<script
src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script>
@dengjonathan
dengjonathan / vanillaDom.html
Last active December 8, 2016 20:29
Vanilla DOM counter
<!DOCTYPE html>
<html>
<head>
<title>Vanilla JS MVC</title>
</head>
<body>
<div class="counter">
<button id="up">+</button>
<p id="count"></p>
<button id="down">-</button>
@dengjonathan
dengjonathan / compose.js
Last active November 21, 2016 23:58
compose
const R = require('ramda');
const giveProp = (propName, prop, obj) => Object.assign({}, obj, {[propName]: prop});
const givePropCurry = R.curry(giveProp);
const giveName = givePropCurry('name');
const giveJob = givePropCurry('job');
const giveHero = givePropCurry('hero');
// Example 1: f(g(x))
@dengjonathan
dengjonathan / curry.js
Created November 21, 2016 21:38
ramda curry
//Ramda
const R = require('ramda');
const giveProp = (propName, prop, obj) => Object.assign({}, obj, {[propName]: prop});
const givePropCurry = R.curry(giveProp);
const giveName = givePropCurry('name');
const giveJob = givePropCurry('job');
const giveHero = givePropCurry('hero');
const giveJobSmuggler = giveJob('smuggler')
@dengjonathan
dengjonathan / compose.js
Last active November 21, 2016 21:38
compose example
//Ramda
const R = require('ramda');
const giveProp = (propName, prop, obj) => Object.assign({}, obj, {[propName]: prop});
const givePropCurry = R.curry(giveProp);
const giveName = givePropCurry('name');
const giveJob = givePropCurry('job');
const giveHero = givePropCurry('hero');
const giveJobSmuggler = giveJob('smuggler')
@dengjonathan
dengjonathan / composition.js
Last active November 21, 2016 21:35
Composition
const R = require('ramda');
const giveProp = (propName, prop, obj) => Object.assign({}, obj, {[propName]: prop});
const givePropCurry = R.curry(giveProp);
const giveName = givePropCurry('name');
const giveJob = givePropCurry('job');
const giveHero = givePropCurry('hero');
@dengjonathan
dengjonathan / ramdaCurry.js
Last active November 21, 2016 21:23
ramda curry
//Ramda
const R = require('ramda');
//this is the same as
const makeRen = obj => giveHero(
'Darth Vader',
giveName('Kylo', obj)
);
// this
@dengjonathan
dengjonathan / curry.js
Last active November 21, 2016 21:05
Ramda curry
//Ramda
const R = require('ramda');
const giveProp = (propName, prop, obj) => Object.assign({}, obj, {[propName]: prop});
const givePropCurry = R.curry(giveProp);
const giveName = givePropCurry('name');
const giveJob = givePropCurry('job');
const giveHero = givePropCurry('hero');
@dengjonathan
dengjonathan / curry.js
Last active November 21, 2016 20:48
currying
//Ramda
const R = require('ramda');
const giveProp = (propName, prop, obj) => Object.assign({}, obj, {[propName]: prop});
const givePropCurry = R.curry(giveProp);
const giveName = givePropCurry('name');
const giveJob = givePropCurry(giveProp, 'job');
const giveHero = givePropCurry('hero');