Skip to content

Instantly share code, notes, and snippets.

@santiagogil
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save santiagogil/fe621b76a30eee38e0de to your computer and use it in GitHub Desktop.
Save santiagogil/fe621b76a30eee38e0de to your computer and use it in GitHub Desktop.
requirebin sketch
var h = require('virtual-dom/h');
var diff = require('virtual-dom/diff');
var patch = require('virtual-dom/patch');
var createElement = require('virtual-dom/create-element');
var pouchdb = require('pouchdb');
var $ = require('br-jquery');
var bacon = require('baconjs');
var requester = bacon.fromPoll('10000', function(){return bacon.fromPromise($.ajax('https://api.educ.ar/0.9/recursos/juego/316532?key=808509ff7e847aabbb73c4396fbaabe6010cfdd0'));});
//requester.onValue(function(value){console.log(value);});
// 1: Create a function that declares what the DOM should look like
function render(count) {
return h('div', [h('a', {href: 'blah'}, count), h('a', {href: 'http://google.com'}, 'google')]);
}
// 2: Initialise the document
var count = 'ponele'; // We need some app data. Here we just store a count.
var tree = render(count); // We need an initial tree
var rootNode = createElement(tree); // Create an initial root DOM node ...
document.body.appendChild(rootNode); // ... and it should be in the document
// 3: Wire up the update logic
var update = function (data) {
var newTree = render(data);
var patches = diff(tree, newTree);
rootNode = patch(rootNode, patches);
tree = newTree;
};
// Router helpers
var filterClicks = function(event){
if(event.target.host == window.location.host && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey){
return event;
}
};
var preventDefault = function(event){
event.preventDefault();
return event;
};
// pushState es un colateral
var updateUrl = function(event){
window.history.pushState(null, event.target.pathname.slice(1), event.target.pathname);
return event;
};
// El Router
var router = $('a')
.asEventStream('click') // Intercepta todos los clicks en links.
.filter(filterClicks) // Los filtra para trabajar sólo con links locales sin teclas modificadoras.
.map(preventDefault) // Evita el comportamiento habitual del evento, manteniendo el control en la app.
.map(updateUrl) // Actualiza la historia de navegación.
.flatMapLatest(function(event){return $.ajax('https://api.educ.ar/0.9/recursos/juegos?key=808509ff7e847aabbb73c4396fbaabe6010cfdd0').then(function(data){event.payload = data; return event})})
.mapError("Search fail");
router.onValue(function(value){ value.then(function(data){update(JSON.stringify(data));});});
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({ramda:[function(require,module,exports){(function(factory){if(typeof exports==="object"){module.exports=factory(this)}else if(typeof define==="function"&&define.amd){define(factory)}else{this.R=factory(this)}})(function(){"use strict";var R={version:"0.8.0"};function _noArgsException(){return new TypeError("Function called with no arguments")}function _slice(args,from,to){switch(arguments.length){case 0:throw _noArgsException();case 1:return _slice(args,0,args.length);case 2:return _slice(args,from,args.length);default:var length=Math.max(0,to-from),list=new Array(length),idx=-1;while(++idx<length){list[idx]=args[from+idx]}return list}}function _concat(set1,set2){set1=set1||[];set2=set2||[];var idx;var len1=set1.length;var len2=set2.length;var result=new Array(len1+len2);idx=-1;while(++idx<len1){result[idx]=set1[idx]}idx=-1;while(++idx<len2){result[len1+idx]=set2[idx]}return result}var toString=Object.prototype.toString;var _isArray=Array.isArray||function isArray(val){return val!=null&&val.length>=0&&toString.call(val)==="[object Array]"};var isArrayLike=R.isArrayLike=function isArrayLike(x){if(_isArray(x)){return true}if(!x){return false}if(typeof x!=="object"){return false}if(x instanceof String){return false}if(x.nodeType===1){return!!x.length}if(x.length===0){return true}if(x.length>0){return x.hasOwnProperty(0)&&x.hasOwnProperty(x.length-1)}return false};function _curry2(fn){return function(a,b){switch(arguments.length){case 0:throw _noArgsException();case 1:return function(b){return fn(a,b)};default:return fn(a,b)}}}function _curry3(fn){return function(a,b,c){switch(arguments.length){case 0:throw _noArgsException();case 1:return _curry2(function(b,c){return fn(a,b,c)});case 2:return function(c){return fn(a,b,c)};default:return fn(a,b,c)}}}var __;try{Object.defineProperty(R,"__",{writable:false,value:__})}catch(e){R.__=__}var op=R.op=function op(fn){var length=fn.length;if(length!==2){throw new Error("Expected binary function.")}return function _op(a,b){switch(arguments.length){case 0:throw _noArgsException();case 1:return a===__?binary(flip(_op)):unary(lPartial(fn,a));default:return a===__?unary(rPartial(fn,b)):fn(a,b)}}};var curryN=R.curryN=function curryN(length,fn){return function recurry(args){return arity(Math.max(length-(args&&args.length||0),0),function(){if(arguments.length===0){throw _noArgsException()}var newArgs=_concat(args,arguments);if(newArgs.length>=length){return fn.apply(this,newArgs)}else{return recurry(newArgs)}})}([])};var curry=R.curry=function curry(fn){return curryN(fn.length,fn)};var flip=R.flip=function flip(fn){return function(a,b){switch(arguments.length){case 0:throw _noArgsException();case 1:return function(b){return fn.apply(this,[b,a].concat(_slice(arguments,1)))};default:return fn.apply(this,_concat([b,a],_slice(arguments,2)))}}};function _hasMethod(methodName,obj){return obj!=null&&!_isArray(obj)&&typeof obj[methodName]==="function"}function _checkForMethod(methodname,fn){return function(a,b,c){var length=arguments.length;var obj=arguments[length-1],callBound=obj&&!_isArray(obj)&&typeof obj[methodname]==="function";switch(arguments.length){case 0:return fn();case 1:return callBound?obj[methodname]():fn(a);case 2:return callBound?obj[methodname](a):fn(a,b);case 3:return callBound?obj[methodname](a,b):fn(a,b,c)}}}var nAry=R.nAry=function(n,fn){switch(n){case 0:return function(){return fn.call(this)};case 1:return function(a0){return fn.call(this,a0)};case 2:return function(a0,a1){return fn.call(this,a0,a1)};case 3:return function(a0,a1,a2){return fn.call(this,a0,a1,a2)};case 4:return function(a0,a1,a2,a3){return fn.call(this,a0,a1,a2,a3)};case 5:return function(a0,a1,a2,a3,a4){return fn.call(this,a0,a1,a2,a3,a4)};case 6:return function(a0,a1,a2,a3,a4,a5){return fn.call(this,a0,a1,a2,a3,a4,a5)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){return fn.call(this,a0,a1,a2,a3,a4,a5,a6)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7,a8)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){return fn.call(this,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)};default:return fn}};var unary=R.unary=function unary(fn){return nAry(1,fn)};var binary=R.binary=function binary(fn){return nAry(2,fn)};var arity=R.arity=function(n,fn){switch(n){case 0:return function(){return fn.apply(this,arguments)};case 1:return function(a0){void a0;return fn.apply(this,arguments)};case 2:return function(a0,a1){void a1;return fn.apply(this,arguments)};case 3:return function(a0,a1,a2){void a2;return fn.apply(this,arguments)};case 4:return function(a0,a1,a2,a3){void a3;return fn.apply(this,arguments)};case 5:return function(a0,a1,a2,a3,a4){void a4;return fn.apply(this,arguments)};case 6:return function(a0,a1,a2,a3,a4,a5){void a5;return fn.apply(this,arguments)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){void a6;return fn.apply(this,arguments)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){void a7;return fn.apply(this,arguments)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){void a8;return fn.apply(this,arguments)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){void a9;return fn.apply(this,arguments)};default:return fn}};var invokerN=R.invokerN=function invokerN(arity,method){var initialArgs=_slice(arguments,2);var len=arity-initialArgs.length;return curryN(len+1,function(){var target=arguments[len];var args=initialArgs.concat(_slice(arguments,0,len));return target[method].apply(target,args)})};var useWith=R.useWith=function useWith(fn){var transformers=_slice(arguments,1);var tlen=transformers.length;return curry(arity(tlen,function(){var args=[],idx=-1;while(++idx<tlen){args.push(transformers[idx](arguments[idx]))}return fn.apply(this,args.concat(_slice(arguments,tlen)))}))};function forEach(fn,list){var idx=-1,len=list.length;while(++idx<len){fn(list[idx])}return list}R.forEach=_curry2(forEach);R.forEach.idx=_curry2(function forEachIdx(fn,list){var idx=-1,len=list.length;while(++idx<len){fn(list[idx],idx,list)}return list});var clone=R.clone=function clone(list){return _slice(list)};R.cloneDeep=function cloneDeep(value){return _baseCopy(value,[],[])};function _baseCopy(value,refFrom,refTo){switch(value&&toString.call(value)){case"[object Object]":return _copyObj(value,{},refFrom,refTo);case"[object Array]":return _copyObj(value,[],refFrom,refTo);case"[object Function]":return value;case"[object Date]":return new Date(value);default:return value}}function _copyObj(value,copiedValue,refFrom,refTo){var len=refFrom.length;var idx=-1;while(++idx<len){if(value===refFrom[idx]){return refTo[idx]}}refFrom.push(value);refTo.push(copiedValue);for(var key in value){copiedValue[key]=_baseCopy(value[key],refFrom,refTo)}return copiedValue}var isEmpty=R.isEmpty=function isEmpty(val){return val==null||val.length===0};function _prepend(el,list){return _concat([el],list)}var prepend=R.prepend=_curry2(_prepend);R.cons=prepend;R.prependTo=flip(_prepend);var nth=R.nth=_curry2(function nth(n,list){return n<0?list[list.length+n]:list[n]});var head=R.head=nth(0);R.car=head;R.last=nth(-1);var tail=R.tail=_checkForMethod("tail",function(list){return _slice(list,1)});R.cdr=tail;function _append(el,list){return _concat(list,[el])}var append=R.append=_curry2(_append);R.push=append;R.appendTo=flip(_append);R.concat=_curry2(function(set1,set2){if(_isArray(set2)){return _concat(set1,set2)}else if(_hasMethod("concat",set1)){return set1.concat(set2)}else{throw new TypeError("can't concat "+typeof set1)}});var identity=R.identity=function identity(x){return x};R.I=identity;R.argN=function argN(n){return function(){return arguments[n]}};var times=R.times=_curry2(function times(fn,n){var list=new Array(n);var idx=-1;while(++idx<n){list[idx]=fn(idx)}return list});R.repeatN=_curry2(function repeatN(value,n){return times(always(value),n)});R.apply=_curry2(function apply(fn,args){return fn.apply(this,args)});R.unapply=function unapply(fn){if(arguments.length===0){throw _noArgsException()}return function(){return fn(_slice(arguments))}};function _compose(f,g){return function(){return f.call(this,g.apply(this,arguments))}}function _pCompose(f,g){return function(){var context=this;var value=g.apply(this,arguments);if(_isThennable(value)){return value.then(function(result){return f.call(context,result)})}else{return f.call(this,value)}}}function _isThennable(value){return value!=null&&value===Object(value)&&value.then&&typeof value.then==="function"}function _createComposer(composeFunction){return function(){switch(arguments.length){case 0:throw _noArgsException();case 1:return arguments[0];default:var idx=arguments.length-1,fn=arguments[idx],length=fn.length;while(idx--){fn=composeFunction(arguments[idx],fn)}return arity(length,fn)}}}var compose=R.compose=_createComposer(_compose);var pCompose=R.pCompose=_createComposer(_pCompose);R.pipe=function pipe(){return compose.apply(this,reverse(arguments))};R.pPipe=function pPipe(){return pCompose.apply(this,reverse(arguments))};function _createPartialApplicator(concat){return function(fn){var args=_slice(arguments,1);return arity(Math.max(0,fn.length-args.length),function(){return fn.apply(this,concat(args,arguments))})}}var lPartial=R.lPartial=_createPartialApplicator(_concat);var rPartial=R.rPartial=_createPartialApplicator(flip(_concat));R.memoize=function memoize(fn){if(!fn.length){return once(fn)}var cache={};return function(){if(!arguments.length){return}var position=reduce(function(cache,arg){return cache[arg]||(cache[arg]={})},cache,_slice(arguments,0,arguments.length-1));var arg=arguments[arguments.length-1];return position[arg]||(position[arg]=fn.apply(this,arguments))}};var once=R.once=function once(fn){var called=false,result;return function(){if(called){return result}called=true;result=fn.apply(this,arguments);return result}};R.wrap=function wrap(fn,wrapper){return arity(fn.length,function(){return wrapper.apply(this,_concat([fn],arguments))})};var constructN=R.constructN=_curry2(function constructN(n,Fn){var f=function(){var Temp=function(){},inst,ret;Temp.prototype=Fn.prototype;inst=new Temp;ret=Fn.apply(inst,arguments);return Object(ret)===ret?ret:inst};return n>1?curry(nAry(n,f)):f});R.construct=function construct(Fn){return constructN(Fn.length,Fn)};R.converge=function(after){var fns=_slice(arguments,1);return function(){var args=arguments;return after.apply(this,_map(function(fn){return fn.apply(this,args)},fns))}};var reduce=R.reduce=_curry3(function reduce(fn,acc,list){var idx=-1,len=list.length;while(++idx<len){acc=fn(acc,list[idx])}return acc});R.foldl=reduce;R.reduce.idx=_curry3(function reduceIdx(fn,acc,list){var idx=-1,len=list.length;while(++idx<len){acc=fn(acc,list[idx],idx,list)}return acc});R.foldl.idx=reduce.idx;var reduceRight=R.reduceRight=_curry3(_checkForMethod("reduceRight",function reduceRight(fn,acc,list){var idx=list.length;while(idx--){acc=fn(acc,list[idx])}return acc}));R.foldr=reduceRight;R.reduceRight.idx=_curry3(function reduceRightIdx(fn,acc,list){var idx=list.length;while(idx--){acc=fn(acc,list[idx],idx,list)}return acc});R.foldr.idx=reduceRight.idx;R.unfoldr=_curry2(function unfoldr(fn,seed){var pair=fn(seed);var result=[];while(pair&&pair.length){result.push(pair[0]);pair=fn(pair[1])}return result});function _map(fn,list){var idx=-1,len=list.length,result=new Array(len);while(++idx<len){result[idx]=fn(list[idx])}return result}var map=R.map=_curry2(_checkForMethod("map",_map));R.map.idx=_curry2(function mapIdx(fn,list){var idx=-1,len=list.length,result=new Array(len);while(++idx<len){result[idx]=fn(list[idx],idx,list)}return result});R.mapObj=_curry2(function mapObject(fn,obj){return reduce(function(acc,key){acc[key]=fn(obj[key]);return acc},{},keys(obj))});R.mapObj.idx=_curry2(function mapObjectIdx(fn,obj){return reduce(function(acc,key){acc[key]=fn(obj[key],key,obj);return acc},{},keys(obj))});R.scanl=_curry3(function scanl(fn,acc,list){var idx=0,len=list.length+1,result=new Array(len);result[idx]=acc;while(++idx<len){acc=fn(acc,list[idx-1]);result[idx]=acc}return result});var liftN=R.liftN=_curry2(function liftN(arity,fn){var lifted=curryN(arity,fn);if(arguments.length===0){throw _noArgsException()}return curryN(arity,function(){return reduce(ap,_map(lifted,arguments[0]),_slice(arguments,1))})});R.lift=function lift(fn){if(arguments.length===0){throw _noArgsException()}return liftN(fn.length,fn)};var ap=R.ap=_curry2(function ap(fns,vs){return _hasMethod("ap",fns)?fns.ap(vs):reduce(function(acc,fn){return _concat(acc,_map(fn,vs))},[],fns)});R.of=function of(x,container){return _hasMethod("of",container)?container.of(x):[x]};R.empty=function empty(x){return _hasMethod("empty",x)?x.empty():[]};R.chain=_curry2(_checkForMethod("chain",function chain(f,list){return unnest(_map(f,list))}));var commuteMap=R.commuteMap=_curry3(function commuteMap(fn,of,list){function consF(acc,ftor){return ap(map(append,fn(ftor)),acc)}return reduce(consF,of([]),list)});R.commute=commuteMap(map(identity));var size=R.size=function size(list){return list.length};R.length=size;function _filter(fn,list){var idx=-1,len=list.length,result=[];while(++idx<len){if(fn(list[idx])){result.push(list[idx])}}return result}R.filter=_curry2(_checkForMethod("filter",_filter));function filterIdx(fn,list){var idx=-1,len=list.length,result=[];while(++idx<len){if(fn(list[idx],idx,list)){result.push(list[idx])}}return result}R.filter.idx=_curry2(filterIdx);var reject=function reject(fn,list){return _filter(not(fn),list)};R.reject=_curry2(reject);R.reject.idx=_curry2(function rejectIdx(fn,list){return filterIdx(not(fn),list)});R.takeWhile=_curry2(_checkForMethod("takeWhile",function(fn,list){var idx=-1,len=list.length;while(++idx<len&&fn(list[idx])){}return _slice(list,0,idx)}));R.take=_curry2(_checkForMethod("take",function(n,list){return _slice(list,0,Math.min(n,list.length))}));R.skipUntil=_curry2(function skipUntil(fn,list){var idx=-1,len=list.length;while(++idx<len&&!fn(list[idx])){}return _slice(list,idx)});R.skip=_curry2(_checkForMethod("skip",function skip(n,list){if(n<list.length){return _slice(list,n)}else{return[]}}));R.find=_curry2(function find(fn,list){var idx=-1;var len=list.length;while(++idx<len){if(fn(list[idx])){return list[idx]}}});R.findIndex=_curry2(function findIndex(fn,list){var idx=-1;var len=list.length;while(++idx<len){if(fn(list[idx])){return idx}}return-1});R.findLast=_curry2(function findLast(fn,list){var idx=list.length;while(idx--){if(fn(list[idx])){return list[idx]}}});R.findLastIndex=_curry2(function findLastIndex(fn,list){var idx=list.length;while(idx--){if(fn(list[idx])){return idx}}return-1});function every(fn,list){var idx=-1;while(++idx<list.length){if(!fn(list[idx])){return false}}return true}R.every=_curry2(every);function some(fn,list){var idx=-1;while(++idx<list.length){if(fn(list[idx])){return true}}return false}R.some=_curry2(some);function _indexOf(list,item,from){var idx=0,len=list.length;if(typeof from=="number"){idx=from<0?Math.max(0,len+from):from}while(idx<len){if(list[idx]===item){return idx}++idx}return-1}function _lastIndexOf(list,item,from){var idx=list.length;if(typeof from=="number"){idx=from<0?idx+from+1:Math.min(idx,from+1)}while(--idx>=0){if(list[idx]===item){return idx}}return-1}R.indexOf=_curry2(function indexOf(target,list){return _indexOf(list,target)});R.indexOf.from=_curry3(function indexOfFrom(target,fromIdx,list){return _indexOf(list,target,fromIdx)});R.lastIndexOf=_curry2(function lastIndexOf(target,list){return _lastIndexOf(list,target)});R.lastIndexOf.from=_curry3(function lastIndexOfFrom(target,fromIdx,list){return _lastIndexOf(list,target,fromIdx)});function _contains(a,list){return _indexOf(list,a)>=0}R.contains=_curry2(_contains);function _containsWith(pred,x,list){var idx=-1,len=list.length;while(++idx<len){if(pred(x,list[idx])){return true}}return false}var containsWith=R.containsWith=_curry3(_containsWith);var uniq=R.uniq=function uniq(list){var idx=-1,len=list.length;var result=[],item;while(++idx<len){item=list[idx];if(!_contains(item,result)){result.push(item)}}return result};R.isSet=function isSet(list){var len=list.length;var idx=-1;while(++idx<len){if(_indexOf(list,list[idx],idx+1)>=0){return false}}return true};var uniqWith=R.uniqWith=_curry2(function uniqWith(pred,list){var idx=-1,len=list.length;var result=[],item;while(++idx<len){item=list[idx];if(!_containsWith(pred,item,result)){result.push(item)}}return result});var pluck=R.pluck=_curry2(function pluck(p,list){return _map(prop(p),list)});function _makeFlat(recursive){return function flatt(list){var value,result=[],idx=-1,j,ilen=list.length,jlen;while(++idx<ilen){if(isArrayLike(list[idx])){value=recursive?flatt(list[idx]):list[idx];j=-1;jlen=value.length;while(++j<jlen){result.push(value[j])}}else{result.push(list[idx])}}return result}}R.flatten=_makeFlat(true);var unnest=R.unnest=_makeFlat(false);R.zipWith=_curry3(function zipWith(fn,a,b){var rv=[],idx=-1,len=Math.min(a.length,b.length);while(++idx<len){rv[idx]=fn(a[idx],b[idx])}return rv});R.zip=_curry2(function zip(a,b){var rv=[];var idx=-1;var len=Math.min(a.length,b.length);while(++idx<len){rv[idx]=[a[idx],b[idx]]}return rv});R.zipObj=_curry2(function zipObj(keys,values){var idx=-1,len=keys.length,out={};while(++idx<len){out[keys[idx]]=values[idx]}return out});var fromPairs=R.fromPairs=function fromPairs(pairs){var idx=-1,len=pairs.length,out={};while(++idx<len){if(_isArray(pairs[idx])&&pairs[idx].length){out[pairs[idx][0]]=pairs[idx][1]}}return out};var createMapEntry=R.createMapEntry=_curry2(function(key,val){var obj={};obj[key]=val;return obj});R.lens=_curry2(function lens(get,set){var lns=function(a){return get(a)};lns.set=set;lns.map=function(fn,a){return set(fn(get(a)),a)};return lns});R.xprod=_curry2(function xprod(a,b){if(isEmpty(a)||isEmpty(b)){return[]}var idx=-1;var ilen=a.length;var j;var jlen=b.length;var result=[];while(++idx<ilen){j=-1;while(++j<jlen){result.push([a[idx],b[j]])}}return result});var reverse=R.reverse=function reverse(list){var idx=-1,length=list.length;var pointer=length;var result=new Array(length);while(++idx<length){result[--pointer]=list[idx]}return result};R.range=_curry2(function range(from,to){if(from>=to){return[]}var idx=0,result=new Array(Math.floor(to)-Math.ceil(from));while(from<to){result[idx++]=from++}return result});R.join=invokerN(1,"join");R.slice=invokerN(2,"slice");R.slice.from=_curry2(function(a,xs){return xs.slice(a,xs.length)});R.remove=_curry3(function remove(start,count,list){return _concat(_slice(list,0,Math.min(start,list.length)),_slice(list,Math.min(list.length,start+count)))});R.insert=_curry3(function insert(idx,elt,list){idx=idx<list.length&&idx>=0?idx:list.length;return _concat(_append(elt,_slice(list,0,idx)),_slice(list,idx))});R.insert.all=_curry3(function insertAll(idx,elts,list){idx=idx<list.length&&idx>=0?idx:list.length;return _concat(_concat(_slice(list,0,idx),elts),_slice(list,idx))});var comparator=R.comparator=function comparator(pred){return function(a,b){return pred(a,b)?-1:pred(b,a)?1:0}};R.sort=_curry2(function sort(comparator,list){return clone(list).sort(comparator)});var groupBy=R.groupBy=_curry2(function groupBy(fn,list){return reduce(function(acc,elt){var key=fn(elt);acc[key]=_append(elt,acc[key]||(acc[key]=[]));return acc},{},list)});R.partition=_curry2(function partition(pred,list){return reduce(function(acc,elt){acc[pred(elt)?0:1].push(elt);return acc},[[],[]],list)});R.tap=_curry2(function tap(fn,x){fn(x);return x});R.eq=_curry2(function eq(a,b){return a===b});var prop=R.prop=function prop(p,obj){switch(arguments.length){case 0:throw _noArgsException();case 1:return function _prop(obj){return obj[p]}}return obj[p]};R.get=prop;R.propOf=flip(prop);R.props=_curry2(function props(ps,obj){var len=ps.length,out=new Array(len),idx=-1;while(++idx<len){out[idx]=obj[ps[idx]]}return out});var _hasOwnProperty=Object.prototype.hasOwnProperty;R.propOr=_curry3(function propOr(p,val,obj){return _hasOwnProperty.call(obj,p)?obj[p]:val});R.has=_curry2(function(prop,obj){return _hasOwnProperty.call(obj,prop)});R.hasIn=_curry2(function(prop,obj){return prop in obj});R.func=function func(funcName,obj){switch(arguments.length){case 0:throw _noArgsException();case 1:return function(obj){return obj[funcName].apply(obj,_slice(arguments,1))};default:return obj[funcName].apply(obj,_slice(arguments,2))}};var always=R.always=function always(val){return function(){return val}};R.bind=_curry2(function bind(fn,thisObj){return function(){return fn.apply(thisObj,arguments)}});var keys=R.keys=function(){var hasEnumBug=!{toString:null}.propertyIsEnumerable("toString");var nonEnumerableProps=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];return function keys(obj){if(Object(obj)!==obj){return[]}if(Object.keys){return Object.keys(obj)}var prop,ks=[],nIdx;for(prop in obj){if(_hasOwnProperty.call(obj,prop)){ks.push(prop)}}if(hasEnumBug){nIdx=nonEnumerableProps.length;while(nIdx--){prop=nonEnumerableProps[nIdx];if(_hasOwnProperty.call(obj,prop)&&!_contains(prop,ks)){ks.push(prop)}}}return ks}}();var keysIn=R.keysIn=function keysIn(obj){var prop,ks=[];for(prop in obj){ks.push(prop)}return ks};function _pairWith(fn){return function(obj){return _map(function(key){return[key,obj[key]]},fn(obj))}}R.toPairs=_pairWith(keys);R.toPairsIn=_pairWith(keysIn);R.values=function values(obj){var props=keys(obj);var len=props.length;var vals=new Array(len);var idx=-1;while(++idx<len){vals[idx]=obj[props[idx]]}return vals};R.valuesIn=function valuesIn(obj){var prop,vs=[];for(prop in obj){vs.push(obj[prop])}return vs};function _pickBy(test,obj){var copy={};var prop;var props=keysIn(obj);var len=props.length;var idx=-1;while(++idx<len){prop=props[idx];if(test(obj[prop],prop,obj)){copy[prop]=obj[prop]}}return copy}R.pick=_curry2(function pick(names,obj){return _pickBy(function(val,key){return _contains(key,names)},obj)});R.omit=_curry2(function omit(names,obj){return _pickBy(function(val,key){return!_contains(key,names)},obj)});R.pickBy=_curry2(_pickBy);function _pickAll(names,obj){var copy={};forEach(function(name){copy[name]=obj[name]},names);return copy}var pickAll=R.pickAll=_curry2(_pickAll);function _extend(destination,other){var props=keys(other),idx=-1,length=props.length;while(++idx<length){destination[props[idx]]=other[props[idx]]}return destination}R.mixin=_curry2(function mixin(a,b){return _extend(_extend({},a),b)});R.cloneObj=function(obj){return _extend({},obj)};R.eqProps=_curry3(function eqProps(prop,obj1,obj2){return obj1[prop]===obj2[prop]});function _satisfiesSpec(spec,parsedSpec,testObj){if(spec===testObj){return true}if(testObj==null){return false}parsedSpec.fn=parsedSpec.fn||[];parsedSpec.obj=parsedSpec.obj||[];var key,val,idx=-1,fnLen=parsedSpec.fn.length,j=-1,objLen=parsedSpec.obj.length;while(++idx<fnLen){key=parsedSpec.fn[idx];val=spec[key];if(!(key in testObj)){return false}if(!val(testObj[key],testObj)){return false}}while(++j<objLen){key=parsedSpec.obj[j];if(spec[key]!==testObj[key]){return false}}return true}R.where=function where(spec,testObj){var parsedSpec=groupBy(function(key){return typeof spec[key]==="function"?"fn":"obj"},keys(spec));switch(arguments.length){case 0:throw _noArgsException();case 1:return function(testObj){return _satisfiesSpec(spec,parsedSpec,testObj)}}return _satisfiesSpec(spec,parsedSpec,testObj)};var assoc=R.assoc=_curry3(function(prop,val,obj){return _extend(fromPairs(_map(function(key){return[key,obj[key]]},keysIn(obj))),createMapEntry(prop,val))});R.assocPath=function(){var setParts=function(parts,val,obj){if(parts.length===1){return assoc(parts[0],val,obj)}var current=obj[parts[0]];return assoc(parts[0],setParts(_slice(parts,1),val,is(Object,current)?current:{}),obj)};return function(path,val,obj){var length=arguments.length;if(length===0){throw _noArgsException()}var parts=split(".",path);var fn=_curry2(function(val,obj){return setParts(parts,val,obj)});switch(length){case 1:return fn;case 2:return fn(val);default:return fn(val,obj)}}}();R.installTo=function(obj){return _extend(obj,R)};var is=R.is=_curry2(function is(Ctor,val){return val!=null&&val.constructor===Ctor||val instanceof Ctor});R.type=function type(val){return val===null?"Null":val===undefined?"Undefined":toString.call(val).slice(8,-1)};R.alwaysZero=always(0);R.alwaysFalse=always(false);R.alwaysTrue=always(true);R.and=_curry2(function and(f,g){return function _and(){return f.apply(this,arguments)&&g.apply(this,arguments)}});R.or=_curry2(function or(f,g){return function _or(){return f.apply(this,arguments)||g.apply(this,arguments)}});var not=R.not=function not(f){return function(){return!f.apply(this,arguments)}};function _predicateWrap(predPicker){return function(preds){var predIterator=function(){var args=arguments;return predPicker(function(predicate){return predicate.apply(null,args)},preds)};return arguments.length>1?predIterator.apply(null,_slice(arguments,1)):arity(max(pluck("length",preds)),predIterator)}}R.allPredicates=_predicateWrap(every);R.anyPredicates=_predicateWrap(some);var ifElse=R.ifElse=_curry3(function ifElse(condition,onTrue,onFalse){return function _ifElse(){return condition.apply(this,arguments)?onTrue.apply(this,arguments):onFalse.apply(this,arguments)}});R["if"]=ifElse;R.cond=function cond(){var pairs=arguments;return function(){var idx=-1;while(++idx<pairs.length){if(pairs[idx][0].apply(this,arguments)){return pairs[idx][1].apply(this,arguments)}}}};function _add(a,b){return a+b}R.add=_curry2(_add);function _multiply(a,b){return a*b}R.multiply=_curry2(_multiply);R.subtract=op(function subtract(a,b){return a-b});R.divide=op(function divide(a,b){return a/b});R.modulo=op(function modulo(a,b){return a%b});var _isInteger=Number.isInteger||function isInteger(n){return n<<0===n};R.mathMod=op(function mathMod(m,p){if(!_isInteger(m)){return NaN}if(!_isInteger(p)||p<1){return NaN}return(m%p+p)%p});R.sum=reduce(_add,0);R.product=reduce(_multiply,1);function lt(a,b){return a<b}R.lt=op(lt);R.lte=op(function lte(a,b){return a<=b});function gt(a,b){return a>b}R.gt=op(gt);R.gte=op(function gte(a,b){return a>=b});function _createMaxMin(comparator,initialVal){return function(list){if(arguments.length===0){throw _noArgsException()}var idx=-1,winner=initialVal,computed;while(++idx<list.length){computed=+list[idx];if(comparator(computed,winner)){winner=computed}}return winner}}function _createMaxMinBy(comparator){return function(valueComputer,list){if(!(list&&list.length>0)){return}var idx=0,winner=list[idx],computedWinner=valueComputer(winner),computedCurrent;while(++idx<list.length){computedCurrent=valueComputer(list[idx]);if(comparator(computedCurrent,computedWinner)){computedWinner=computedCurrent;winner=list[idx]}}return winner}}var max=R.max=_createMaxMin(gt,-Infinity);R.maxBy=_curry2(_createMaxMinBy(gt));R.min=_createMaxMin(lt,Infinity);R.minBy=_curry2(_createMaxMinBy(lt));var substring=R.substring=invokerN(2,"substring");R.substringFrom=flip(substring)(void 0);R.substringTo=substring(0);R.charAt=invokerN(1,"charAt");R.charCodeAt=invokerN(1,"charCodeAt");R.match=invokerN(1,"match");R.replace=_curry3(function replace(regex,replacement,str){return str.replace(regex,replacement)});R.strIndexOf=_curry2(function strIndexOf(c,str){return str.indexOf(c)});R.strLastIndexOf=_curry2(function(c,str){return str.lastIndexOf(c)});R.toUpperCase=invokerN(0,"toUpperCase");R.toLowerCase=invokerN(0,"toLowerCase");R.trim=function(){var ws=" \n \f\r   ᠎    "+"          \u2028"+"\u2029";var zeroWidth="​";var hasProtoTrim=typeof String.prototype.trim==="function";if(!hasProtoTrim||(ws.trim()||!zeroWidth.trim())){return function trim(str){var beginRx=new RegExp("^["+ws+"]["+ws+"]*");var endRx=new RegExp("["+ws+"]["+ws+"]*$");return str.replace(beginRx,"").replace(endRx,"")}}else{return function trim(str){return str.trim()}}}();var split=R.split=invokerN(1,"split");function _path(paths,obj){var idx=-1,length=paths.length,val;if(obj==null){return}val=obj;while(val!=null&&++idx<length){val=val[paths[idx]]}return val}var pathOn=R.pathOn=_curry3(function pathOn(sep,str,obj){return _path(str.split(sep),obj)});R.path=pathOn(".");R.pathEq=_curry3(function(path,val,obj){return _path(path.split("."),obj)===val});R.project=useWith(_map,pickAll,identity);R.propEq=_curry3(function propEq(name,val,obj){return obj[name]===val});R.union=compose(uniq,_concat);R.unionWith=_curry3(function unionWith(pred,list1,list2){return uniqWith(pred,_concat(list1,list2))});R.difference=_curry2(function difference(first,second){var out=[];var idx=-1;var firstLen=first.length;while(++idx<firstLen){if(!_contains(first[idx],second)&&!_contains(first[idx],out)){out.push(first[idx])}}return out});R.differenceWith=_curry3(function differenceWith(pred,first,second){var out=[];var idx=-1;var firstLen=first.length;var containsPred=containsWith(pred);while(++idx<firstLen){if(!containsPred(first[idx],second)&&!containsPred(first[idx],out)){out.push(first[idx])}}return out});R.intersection=_curry2(function intersection(list1,list2){return uniq(_filter(flip(_contains)(list1),list2))});R.intersectionWith=_curry3(function intersectionWith(pred,list1,list2){var results=[],idx=-1;while(++idx<list1.length){if(_containsWith(pred,list1[idx],list2)){results[results.length]=list1[idx]}}return uniqWith(pred,results)});function _keyValue(fn,list){return _map(function(item){return{key:fn(item),val:item}},list)}var _compareKeys=comparator(function(a,b){return a.key<b.key});R.sortBy=_curry2(function sortBy(fn,list){return pluck("val",_keyValue(fn,list).sort(_compareKeys))});R.countBy=_curry2(function countBy(fn,list){return reduce(function(counts,obj){counts[obj.key]=(counts[obj.key]||0)+1;return counts},{},_keyValue(fn,list))});function _functionsWith(fn){return function(obj){return _filter(function(key){return typeof obj[key]==="function"},fn(obj))}}R.functions=_functionsWith(keys);R.functionsIn=_functionsWith(keysIn);return R})},{}]},{},[]);ramda=require("ramda");console.log(ramda.add(2,3));
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"ramda": "0.8.0"
}
}
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment