Skip to content

Instantly share code, notes, and snippets.

View getify's full-sized avatar
💭
Just coding

Kyle Simpson getify

💭
Just coding
View GitHub Profile
@getify
getify / promises.js
Last active August 29, 2015 14:11 — forked from smockle/promises.js
// if you convert to everything returning asynquence sequences
ASQ( get("/api/google/sheets/resources") )
.val( JSON.parse )
.seq( handlebar.bind(null,"#template", "#output") )
.seq( pourover )
.seq( linkify )
.or(function(err) {
console.error(err);
});
//COMPILER: Scope, can you register an `Animal` and a `dog`?
//SCOPE: Sure.
var Animal, dog;
//ENGINE: Scope, do you have `Animal` available?
//SCOPE: Sure, here it is.
//ENGINE: I'm assigning a reference to the anonymous function to `Animal`
//COMPILER: I see a function expression with a parameter called `inLove`
//COMPILER: Scope, can you register `inLove` inside this function scope?
@getify
getify / ASQ Map
Last active August 29, 2015 14:14 — forked from broguinn/ASQ Map
//In asynquence-contrib
var emptyItems = [],
sq = ASQ();
sq.map(emptyItems, function(item, done){
// do some things to item
item.values = [];
done(item);
});
@getify
getify / nasty.js
Last active August 29, 2015 14:18 — forked from tomasdev/nasty.js
function segmentArray(arr,segmentSize) {
segmentSize = Math.max(1,Math.min(+segmentSize||0,arr.length));
return Array.apply(null,{length:Math.ceil(arr.length / segmentSize)}).map(function(_,i){
return arr.slice(i*segmentSize,(i+1)*segmentSize);
});
}
// lift `serviceCall(..)`
function promiseServiceCall(v) {
return new Promise(function(resolve,reject){
@getify
getify / run.js
Last active October 1, 2015 17:49 — forked from spikesagal/run.js
ES6 destructure named args into properties of constructed object (this).
'use strict';
class Person {
constructor({
firstName: this.firstName = '<FIRSTNAME_UNKNOWN>',
lastName: this.lastName = '<LASTNAME_UNKNOWN>'
} = {}) {}
printName() {
console.log(this.lastName, ',', this.firstName);
}
}
// Doesn't throw an error, but doesn't return an object
const getObj = () => { a: 1 };
console.log(getObj()); //=> val 'undefined' : void
// Reason: It looks like an arrow function returning an object, but it isn't.
// It's an arrow function with a function body (containing a labeled
// statement) that returns nothing.
const getObj = () =>
{ // <- Start function body
a: // <- A label to use when break/continue; e.g. break a;
@getify
getify / 1-click-to-load.js
Last active December 22, 2021 06:44 — forked from cowboyd/1-click-to-load.js
Handle a stream of clicks by canceling the latest one
// FORKED FROM: https://gist.github.com/cowboyd/74c0fd9e7aa3cccaeda0b84604c0136a
//
// using CAF instead of Effection.
/**
* Implements an operation to fetch the data as described in https://twitter.com/BenLesh/status/1455597411385098242
* The "winner" is unambiguous. It is the request corresponding to the latest click, guaranteed.
* Other important things to note:
*
* 1. The HTTP request is cancelled every time along with its containing task