Skip to content

Instantly share code, notes, and snippets.

View KoryNunn's full-sized avatar

Kory Nunn KoryNunn

View GitHub Profile
@KoryNunn
KoryNunn / index.js
Created May 27, 2016 06:48
requirebin sketch
var items = [1,2,3,-4,3,6,2,1,7,3,4,2,4],
ids = Object.keys(items);
function loadItem(id, callback){
setTimeout(function(){
if(!(id in items)){
return callback('Not Found');
}
callback(null, items[id]);
@KoryNunn
KoryNunn / distinctKeys.js
Created May 24, 2016 03:39
get distinct keys in N objects
function uniqueKeys(objects){
return Object.keys(objects.reduce(function(result, object){
for(var key in object){
result[key] = true;
}
return result;
}, {}));
}
@KoryNunn
KoryNunn / test.js
Last active October 19, 2016 01:37
tape async series tests
var test = require('tape'),
righto = require('righto'),
noop = function(){},
last = righto.sync(noop);
module.exports = function(name, options, task){
if(arguments.length < 3){
task = options;
options = null;
}
@KoryNunn
KoryNunn / index.js
Created December 8, 2015 23:36
requirebin sketch
var crel = require('crel');
crel(document.body,
crel(
'select',
crel('option', {value: 'foo1'}, 'foo1'),
crel('option', {value: 'foo2'}, 'foo2'),
crel('option', {value: 'foo3'}, 'foo3')
)
@KoryNunn
KoryNunn / index.js
Created October 27, 2015 05:01
requirebin sketch
// require() some stuff from npm (like you were using browserify)
// and then hit Run Code to run it on the right
var laidout = require('laidout');
var textHolder = document.createElement('span');
textHolder.innerText = 'Hello world';
laidout(textHolder, function(){
@KoryNunn
KoryNunn / foreign.js
Created October 12, 2015 01:04
A readable version of the foreign async-problem
var fs = require('fs'),
path = require('path'),
foreign = require('foreign');
function readFile(filename, callback){
fs.readFile(filename, {encoding: 'utf8'}, callback);
}
function complete(error, files){
if(error){
@KoryNunn
KoryNunn / gist:c6ca8ef9b40e27b0c042
Created July 9, 2015 07:13
Native WeakMap vs es6-weak-map
var NativeWeakMap = WeakMap;
global.WeakMap = null;
var PolyWeakMap = require('es6-weak-map');
var itterations = 1000000,
key = {};
var nativeWM = new NativeWeakMap();

Start with an ES6 base.

  • typeof null === 'null'
  • no let or const
  • no globally leaking vars
  • node-style requires
  • no high-level objects that can be implemented trivially in userland (EventEmitter, Promise)
  • functions as true objects (can set set prototype)
  • Multiple prototypes (maybe protos)?
  • No sugar for sugars sake, remove:
@KoryNunn
KoryNunn / index.js
Created June 5, 2015 03:36
Components talk
var fastn = require('fastn')({
_generic: require('fastn/genericComponent'),
list: require('fastn/listComponent'),
text: require('fastn/textComponent')
});
window.data = {
foo:'bar',
name: 'ROOT',
children: [
@KoryNunn
KoryNunn / gist:5c9a7116f69d9092209f
Created May 20, 2015 01:34
dynamic style tag..... cuz why not
var fastn = require('fastn')({
_generic: require('fastn/genericComponent'),
text: require('fastn/textComponent')
});
var ui = fastn('div',
fastn('style',
'.foo{',
'color: ', fastn.binding('color'), ';',
'}'