Skip to content

Instantly share code, notes, and snippets.

View Raynos's full-sized avatar

Jake Verbaten Raynos

View GitHub Profile
function clone(o) {
return Object.create(
Object.getPrototypeOf(o),
Object.getOwnPropertyDescriptors(o)
);
}
var chatServer = {
/**
* Invoke function. callback will be invoked with (err, list). error is any server error and list is JSON format
* of some yet to be defined type that basically covers all your contact list rendering need
**/
getContacts: function (callback) { /* code you don't care about */ },
/**
* Callback will be invoked with (err, call)
*
**/
@Raynos
Raynos / select.js
Created December 10, 2011 16:01
tiny select. Selecting has never been so awesome \o/
// Pretty fast - http://jsperf.com/select-vs-natives-vs-jquery
/*
By, shortcuts for getting elements.
*/
var By = {
id: function (id) { return document.getElementById(id) },
tag: function (tag, context) {
return (context || document).getElementsByTagName(tag)
},
"class": function (klass, context) {
.app-setting-button {
}
var pd = require("npm::pd/src/pd");
var requestAnimationFrame =
webkitRequestAnimationFrame ||
mozRequestAnimationFrame ||
oRequestAnimationFrame ||
msRequestAnimationFrame ||
requestAnimationFrame;
var EventEmitter = pd.Base.make({
var mixed_in = extend({ ... }, a, b);
var composited = {
constructor: function () {
this.a = a;
this.b = b;
},
...
}
var SubKlass = Klass.make(...mixins);
var SubKlass = Object.create(Klass);
extend(SubKlass, ...mixins);
@Raynos
Raynos / Cin.ui.Button.js
Created December 11, 2011 16:24
Cindela UI drafting, brainstorming
// Require the Cin app framework.
var EventPublisher = require('event::EventPublisher'),
Base = require('ui::Base');
var Button = Base.make(EventPublisher, {
enable: function _enable() {
// ...
this.emit('enabled');
}
});
@Raynos
Raynos / Cin.ui.Button.js
Created December 11, 2011 16:28
Cindela UI drafting, brainstorming
var EventPublisher = require('Cin.event.EventPublisher');
Base = require('Cin.ui.Base'),
extend = Object.extend;
let Button = Base <| extend(EventPublisher, {
enable() {
// ...
this.emit('enabled');
}
};
@Raynos
Raynos / iterateWalk.js
Created December 13, 2011 19:34
All the DOM recursion you'll ever need
var slice = Array.prototype.slice
function iterativelyWalk(nodes, cb) {
nodes = slice.call(nodes)
while(nodes.length) {
var node = nodes.shift(),
ret = cb(node)
if (ret) {