Skip to content

Instantly share code, notes, and snippets.

View brianswisher's full-sized avatar

Brian Swisher brianswisher

View GitHub Profile
@brianswisher
brianswisher / web_sketch.js
Last active December 21, 2015 00:48
WebSketch
((store, render)=>{
function memoize(f, cache){
return function(k){
if (k === null) return undefined;
if (cache[k]) return cache[k];
return cache[k] = f(k);
}
}
@brianswisher
brianswisher / number_pad.js
Last active December 13, 2015 16:02
Number pad
((name)=>{
const container =
document.getElementById(name) ||
document.createElement("div");
container.id = name;
var htm = `
<div class="-container">${content()}</div>
<style>
#${name} .-container {
padding: 2vw 32vw;
@brianswisher
brianswisher / test_template.js
Last active December 8, 2015 17:23
Test template
((assert, it)=>{
function func(){
return true;
}
it("<better decription here>", function() {
return assert(
func(),
true
);
@brianswisher
brianswisher / unit_test.js
Created December 8, 2015 15:31
Unit test
((assert, it)=>{
it("1 equals 1", function() {
return assert(1, 1);
});
})(
(value, expected)=>{ //assert
return value === expected;
},
(describe, test)=>{ //it
@brianswisher
brianswisher / debounce.js
Created December 7, 2015 19:51
Debounce
((app)=>{
var elapse = 0,
intv;
app.props.onEvent = app.debounce(app.run, app.props.DEBOUNCE_DEFER);
intv = setInterval(()=>{
app.props.onEvent({
app: app
});
@brianswisher
brianswisher / has_scroll_collision.js
Created December 7, 2015 15:56
Has scroll collision; returns Boolean is target touches viewable scroll
((target)=>{
function getPos(el){
for (var lx=0, ly=0;
el != null;
lx += el.offsetLeft, ly += el.offsetTop, el = el.offsetParent);
return {x: lx,y: ly};
}
function getScrollAmount(){
const doc = document.documentElement;
@brianswisher
brianswisher / get_scroll_max.js
Last active December 7, 2015 15:42
Get scroll max return the current right & bottom scroll values; {right: number, bottom: number}
(()=>{
function getScrollAmount(){
const doc = document.documentElement;
return {
left: (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0),
top: (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)
};
}
@brianswisher
brianswisher / get_scroll_right.js
Last active December 7, 2015 15:42
Get scroll right; return number
(()=>{
function getScrollAmount(){
const doc = document.documentElement;
return {
left: (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0),
top: (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)
};
}
@brianswisher
brianswisher / get_scroll_bottom.js
Last active December 7, 2015 15:42
Get scroll bottom; returns number
(()=>{
function getScrollAmount(){
const doc = document.documentElement;
return {
left: (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0),
top: (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)
};
}
@brianswisher
brianswisher / get_scroll_amount.js
Created December 7, 2015 15:18
Get Scroll Amount; returns {left:NUM, top:NUM}
(()=>{
function getScrollAmount(){
const doc = document.documentElement;
return {
left: (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0),
top: (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)
};
}