I hereby claim:
- I am jayeb on github.
- I am jayeb (https://keybase.io/jayeb) on keybase.
- I have a public key ASCvyJqeDp8-CdFWIe2Q5Ua5ByKrqqZfCOWwDbIquRTFDgo
To claim this, I am signing this object:
_.mixin({ | |
chainPromises: function (collection, mapper) { | |
return _.reduce(collection, function chainPromise(previousPromise, value, key) { | |
return previousPromise.then(mapper.bind(null, value, key)); | |
}, Promise.resolve()); | |
} | |
}); |
I hereby claim:
To claim this, I am signing this object:
function preload(imageURL) { | |
return new Promise(function (resolve, reject) { | |
var img = new Image(), | |
onLoad, | |
onError; | |
function cleanUp() { | |
img.removeEventListener('load', onLoad); | |
img.removeEventListener('error', onError); | |
} |
// jQuery deparam | |
// borrowed from jQuery BBQ: Back Button & Query Library - v1.3pre - 8/26/2010 | |
// http://benalman.com/ | |
// Copyright (c) 2010 Ben Alman; Licensed MIT, GPL | |
(function($, decode) { | |
$.deparam = function( params, coerce ) { | |
var obj = {}, | |
coerce_types = { 'true': !0, 'false': !1, 'null': null }; | |
// Iterate over all name=value pairs. |
(function() { | |
var w = window, | |
getRandomAlbum = function() { | |
var albums, r, rAlbum; | |
if (w.location.hash == '#/albums') { | |
albums = document.querySelectorAll('div[data-type="album"]'); | |
r = Math.random(); | |
rAlbum = albums[Math.floor(r * albums.length)]; | |
w.removeEventListener('hashchange', getRandomAlbum, false); | |
w.location.hash = '/album/' + rAlbum.dataset.id; |
(function($, Mustache) { | |
$.fn.mustache = function(data, partials, stream) { | |
return $(this).map(function() { | |
var template = $.trim(this.innerHTML); | |
return Mustache.render(template, data, partials, stream); | |
}); | |
} | |
})(jQuery, Mustache); |
(function($) { | |
var originalDeferred = $.Deferred; | |
$.extend({ | |
Deferred: function() { | |
return $.extend({ | |
follow: function(leader) { | |
var follower = this; | |
if (!!leader && leader.promise) { |
(function(Modernizr) { | |
var win = window; | |
function _finish(result) { | |
Modernizr.addTest("cssimageset", result); | |
} | |
if (win.getComputedStyle) { | |
Modernizr.testStyles( | |
"#modernizr{background-image:"+Modernizr._prefixes.join("image-set:(url(//) 1x, url(//) 2x);background-image:").slice(0,-17)+"}", |
(function($){ | |
$.fn.transitionDuration = function() { | |
var d = $(this).css("transitionDuration") || "0s"; | |
return (parseFloat(d) * (/ms/.test(d)?1:1000)).toFixed(0); | |
} | |
})(jQuery); |
(function(Modernizr) { | |
var win = window, | |
transitionTo = "999px"; | |
function _finish(result) { | |
Modernizr.addTest("csstransitionspseudos", result); | |
} | |
if (Modernizr.csstransitions && win.getComputedStyle) { | |
Modernizr.testStyles( |