node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



NPM Version NPM Downloads Node.js Version Build Status Test Coverage

A utility to inject a prototype chain, fully generic and adaptable.

This largely exists for performance. Injecting a single prototype with many properties on it has been historically faster than adding those properties to an existing instance.

var http = require('http')
var proto = require('extend-proto')
var proto = Proto({
    req: http.IncomingMessage,
    res: http.ServerResponse
proto.req.defineProperty('kittens', { value: 'the best' })
http.createServer(function(req, res) {
  proto(req, res)
  req.kittens // the best 

MIT Licensed