Skip to content

Instantly share code, notes, and snippets.

View Raynos's full-sized avatar

Jake Verbaten Raynos

View GitHub Profile
@Raynos
Raynos / failure.js
Created January 30, 2014 00:32
Using throw for async tests === no cleanup
var test = require('mocha').it
var assert = require('assert')
var request = require('request')
var http = require('http')
test('request things', function (done) {
var PORT = Math.floor(Math.random() * 10000 + 20000)
var serv = http.createServer(function (req, res) {
if (Math.random() < 0.5) {
// throws, `serv.close()` never called
var Assert = require('assert-tap2')
var run = require('gens2/run')
// NO FRAMEWORK. Just node style assert
// that outputs TAP.
run(function* () {
var assert = Assert('a test case')
...
function Router(options) {
options = options || {}
var notFound = options.notFound || defaultNotFound
var errorHandler = options.errorHandler || defaultErrorHandler
var router = new RoutesRouter()
var cache = require('continuable-cache');
var extend = require('xtend/mutable');
function MemoizedServer(createServer) {
var createCachedServer = cache(createServer);
var started = false;
var server = {
start: function start(callback) {
server.counter++;
function diff(left, right) {
if (isThunk(left) && isThunk(right)) {
if (thunkType(left) !== thunkType(right)) {
pushOntoPatchQueue(right)
}
var comparator = getComparator(left) || function (a, b) { return a === b }
var recurse = !comparator(getArg(left), getArg(right))
pushOntoPatchQueue(diff(
var toElement = require("virtual-dom/render")
var diff = require("virtual-dom/diff")
var patch = require("virtual-dom/patch")
var raf = require("raf").polyfill
module.exports = main
function main(obs, render, elem) {
var currTree = render(obs())
var rootNode = toElement(currTree)
@Raynos
Raynos / diff.js
Last active August 29, 2015 13:56
function diff(left, right) {
if (isThunk(left) && isThunk(right)) {
var argsLeft = getArgs(left)
var fnLeft = getFn(left)
var argsRight = getArgs(right)
var fnRight = getFn(right)
if (fnLeft !== fnRight) {
var tree = fnRight.apply(null, argsRight)
var oldTree = getTree(left)
(*
A Diffable<T> can be embedded in a VirtualDOMNode
When `diff(left, right)` encounters a `Diffable` in
`right` it will invoke `right.diffable(left, right)`
When doing so `left` could be another `Diffable` or a
previous VirtualDOMNode, `Diffable` must handle -
both cases.
var counter = 0;
var ticks = 0;
setImmediate(function countTick() {
ticks++
setImmediate(countTick)
})
var todo = new ImObject({
var h = require("virtual-dom/h")
var extend = require("xtend")
var Delegator = require("dom-delegator")
var uuid = require("uuid")
var event = require("dom-delegator/event")
/* example function
function render() {
return h("div", [
h("span", "Details hello world example"),