Skip to content
View replayer.js
export default function replayer(array, opts = {}, emit) {
let idx = 0
let timer
return {
start: next,
stop: stop,
reset: reset
}
View syncUrl.js
import url from 'url'
export default Object.assign(configure(), configure)
function configure({qsImpl} = {}) {
return {
parse(urlToParse) {
return Object.assign(createUrlObject({qsImpl}), {
href: urlToParse
})
View README.md

Minimalistic pubsub

function pubsubber() {
  const subscribers = []
  return {
    subscribe,
    once,
    publish
  }
View .gitignore
.DS_Store
npm-debug.log
node_modules
View skip-single-keys.js
const assert = require("assert");
function skipSingleKeys(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}
const keys = Object.keys(obj);
if (keys.length == 1) {
return skipSingleKeys(obj[keys[0]]);
}
View parse.js
const Rx = require('rx');
const csv = require('csv-parse');
const fs = require('fs');
Rx.Node.fromReadableStream(fs.createReadStream('file.csv').pipe(csv()))
.skip(1)
.withLatestFrom(rows.take(1), (row, header) => {
// Map header[i] => row[i]
return row.reduce((rowObj, cell, i) => {
rowObj[header[i]] = cell;
View arkena.css
.playerContainer {
position: relative;
}
.playerContainer object {
height: 100%;
left: 0;
top: 0;
position: absolute;
width: 100%;
View index.js
var concat = require('concat-stream');
function parseCSV(file) {
var parser = csvParse({
delimiter: ',',
auto_parse: true,
columns: true
});
return new Promise(function(resolve, reject) {
View nodeswitch.sh
alias useio='ln -sf /usr/local/bin/iojs /usr/local/bin/node && node -v'
alias usenode='(brew unlink node && brew link --overwrite node) > /dev/null && node -v'
View index.js
var EventEmitter = require("events").EventEmitter;
function PathEmitter() {
window.addEventListener('popstate', this._emitNavigate.bind(this));
EventEmitter.call(this);
}
PathEmitter.prototype = new EventEmitter();
PathEmitter.prototype._emitNavigate = function _emitNavigate() {
Something went wrong with that request. Please try again.