Skip to content

Instantly share code, notes, and snippets.

View BenjaminVerble's full-sized avatar

Benjamin Verble BenjaminVerble

View GitHub Profile
if (!Object.setPrototypeOf) {
Object.setPrototypeOf = function(obj, proto) {
obj.__proto__ = proto;
return obj;
}
}
Object.setPrototypeOf(NodeList.prototype, Array.prototype)
Node.prototype.on = window.on = function(names, fn) {
var bind = require('simulacra')
var dom = require('dom')
module.exports = function (update) {
var template =
`<div id="product">
<h1 class="name"></h1>
<div class="details">
<div><span class="size"></span></div>
function getOk() {
return new Promise(function(resolve, reject) {
setTimeout(function(){
resolve({message: 'ok'})
},5000)
});
}
async function main() {
try {
var st = require('st')
var http = require('http')
var port = 1337
http.createServer(
st({
path: process.cwd(),
cache: false
})
).listen(port)
@BenjaminVerble
BenjaminVerble / immutable-examples.js
Last active September 8, 2015 22:06
immutable data with primatives
const users = [{name: 'Ben', age: 32}, {name: 'Nina', age: 31}]
const agedUsers = users.map(user => Object.assign({}, user, {age: user.age + 1}))
const addUser = (currentUsers, newUser) => [newUser, ...currentUsers]
const updatedUserList = addUser(agedUsers, {name: 'Jack', age: 2})
console.log(updatedUserList)
// main.js
const vel = require('vel')
const testElement = require('./test-element')
const el = vel(function (h, state) {
return <div>
<h1>clicked {String(state.n)} times</h1>
<button onclick={onclick}>click me!</button>
{testElement(h, state, el)}
var path = require('path');
var net = require('net');
var multilevel = require('multilevel');
var level = require('level');
exports.register = function (server, options, next) {
var dbClient, con;
var db = level(options.dbPath, {
valueEncoding: 'json',
@BenjaminVerble
BenjaminVerble / gist:c6b9d62b3bf487d4c205
Created September 10, 2014 05:26
angular-multi-select
/*
* Angular JS Multi Select
* Creates a dropdown-like button with checkboxes.
*
* Project started on: Tue, 14 Jan 2014 - 5:18:02 PM
* Current version: 2.0.1
*
* Released under the MIT License
* --------------------------------------------------------------------------------
* The MIT License (MIT)
var fruits = {
apple: "apple",
orange: "orange",
fruitAction: function (nameOfAction, cb) {
console.log("you ran " + nameOfAction);
var callB = cb.bind(this);
callB();
}
}
@BenjaminVerble
BenjaminVerble / gist:cdebc7ac3dc08a58db1e
Created July 25, 2014 04:00
JSON.parse and back again, node.js
var http = require('http');
// var contact = {"name": "Ben", "age": 31};
var server = http.createServer(function (req, res) {
var outputString = '';
req.setEncoding('utf8');