1.0.0 • Published 8 years ago

delegates v1.0.0

Weekly downloads
12,013,709
License
MIT
Repository
github
Last release
8 years ago

delegates

Node method and accessor delegation utilty.

Installation

$ npm install delegates

Example

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')

API

Delegate(proto, prop)

Creates a delegator instance used to configure using the prop on the given proto object. (which is usually a prototype)

Delegate#method(name)

Allows the given method name to be accessed on the host.

Delegate#getter(name)

Creates a "getter" for the property with the given name on the delegated object.

Delegate#setter(name)

Creates a "setter" for the property with the given name on the delegated object.

Delegate#access(name)

Creates an "accessor" (ie: both getter and setter) for the property with the given name on the delegated object.

Delegate#fluent(name)

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 });

License

MIT

@strapi/strapi@teakit/atomkilli8n-react-native-fast-imagern-send-smsgew-nodejs-api-client@cashremit/cr-streamline-iconssfr-koadbase.idcloud-archive-s3bb-chat@frxf/frxfdatoapieasycommands-betareact-native-thanh-toast-library@jttechnic/interpreter@thanhnguyen14797/react-native-thanh-toast-library@saeon/ol-react@saeon/quick-formcore-new-sg@olivervorasai/slidernode-nettealesscogoportutils@mink-opn/build-tokens@saaspe/componentsexpand-react-bridgenode-giolizeknushiliyahaotadiedrachtiodrachtio-fs-load-balancing-proxy@everything-registry/sub-chunk-1462@zacharygriffee/interface@zacharygriffee/struct@hypergraph-xyz/clizoro-mysql-promisezk-treezenapiyesbeeyang-jsys-agent-service@greminder/bootstrap-material-designfomex@marinaga/bananizefn-lib-example@luaeb/assetszzzxxxyyy321123@kosmic/koa@kne/egg-socket.io@kristoffertonning/vue-laravel-errorsfacerec@lego-js/testsfgridfelidfemtofhir2@houd1ni/koa@idas1/ui-component-lib@geta6/koa.io@huiweitech/matrixelto@innodata/vue-v3-ya-metrika@novembrecom/zxcvbngmojjsiotgjfogj@nswbmw/koa@nppkg/react-dnd@mattduffield/koa-browser@mblode/react-native-feather@luantm/strapifloodesh-libfixed_form_builder@lyn4ed/strapi@lynched-test/strapifirst-app-lyfuci@max_alieksieiev/react-pdf-viewer-rootfax@nandhakumarb/npm_sample@mv0409/strapi-s@mv0409/strapis@naxmefy/socket@mmooccii/lazyload-loader@ngxvoice/ngx-voicelistnergh-monoproject-cli@nextcms/nextcmsgerimismalamsenin@nexacarts/cmsgit-branching-workflow@nook/koa-joi-router@ksen/egg-socket.ioegg-wechat-pay@img-arena/img-ui-mui-theme@img-arena/ui-coreegg-securityegg-socket-io-fixegg-socket.ioegg-socket.io-4egg2egg3egg-zz-socket.ioegg1egg-socket.io-amqp
1.0.0

8 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago