Skip to content

Instantly share code, notes, and snippets.

@laurie71
laurie71 / module.js
Last active December 15, 2015 04:09
JSDoc3 and CommonJS modules with aliased exports object
var module = exports;
module.Type1 = function() {};
module.fn1 = function() {};
@laurie71
laurie71 / api.js
Created August 16, 2011 02:00 — forked from blissdev/api.js
exports.updateCollection = function(req, res, next) {
console.error('REQUEST UPDATE for: ', req.params.collection);
console.error('UPDATE DATA\n', req.body);
Collection.update({ _id: req.params.collection }, req.body, {}, function(err, collection) {
if (err) {
console.error('UPDATE FAILED:', err.stack || err);
return next(err);
}
console.error('UPDATE OK, updated:', collection);
res.send(collection);
@laurie71
laurie71 / mongoose-set-test.js
Created August 1, 2011 16:36
mongoose setter mis-behaviour
var assert = require('assert')
, mongoose = require('mongoose')
, Schema = mongoose.Schema
, OID = Schema.ObjectId
, schema, model, conn, o
, log = console.error
schema = new Schema({ str: String })
schema.path('str').set(function(v) {
@laurie71
laurie71 / Vector.cc
Created May 20, 2011 01:18
test harness for proxying c++ classes in v8/node
#include "Vector.h"
Persistent<FunctionTemplate> Vector::ctor;
void
Vector::Initialize(Handle<Object> target) {
HandleScope scope;
ctor = Persistent<FunctionTemplate>::New(FunctionTemplate::New(New));
ctor->InstanceTemplate()->SetInternalFieldCount(1);
@laurie71
laurie71 / blocks.js
Created April 5, 2011 06:52
proof-of-concept middleware to support content blocks
var debug = require('util').debug;
// helper prototype for rendering block scripts, stylesheet links, etc
var blocktag = {
toString: function() {
var tag = this.tag,
html = '<'+tag,
that = this;
Object.getOwnPropertyNames(this).forEach(function(prop) {
@laurie71
laurie71 / A~debug.js
Created February 10, 2011 01:15
Using Express partials from mounted apps
// path/to/module/debug.js
var express = require('express');
exports.diagnostics = function() {
var app1 = express.createServer();
app1.configure(function() {
this.set('view engine', 'ejs');
this.set('views', __dirname + '/views/app1');