Node method and accessor delegation utilty.
$ npm install delegates
var delegate = require('delegates'); ... delegate(proto, 'request') .method('acceptsLanguages') .method('acceptsEncodings') .method('acceptsCharsets') .method('accepts') .method('is') .access('querystring') .access('idempotent') .access('socket') .access('length') .access('query') .access('search') .access('status') .access('method') .access('path') .access('body') .access('host') .access('url') .getter('subdomains') .getter('protocol') .getter('header') .getter('stale') .getter('fresh') .getter('secure') .getter('ips') .getter('ip')
Creates a delegator instance used to configure using the prop
on the given
proto
object. (which is usually a prototype)
Allows the given method name
to be accessed on the host.
Creates a "getter" for the property with the given name
on the delegated
object.
Creates a "setter" for the property with the given name
on the delegated
object.
Creates an "accessor" (ie: both getter and setter) for the property with the
given name
on the delegated object.
A unique type of "accessor" that works for a "fluent" API. When called as a getter, the method returns the expected value. However, if the method is called with a value, it will return itself so it can be chained. For example:
delegate(proto, 'request') .fluent('query') // getter var q = request.query(); // setter (chainable) request .query({ a: 1 }) .query({ b: 2 });
MIT