1.0.0 • Published 10 years ago

delegates v1.0.0

Weekly downloads
12,013,709
License
MIT
Repository
github
Last release
10 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

@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/cli@wacoco/ytest-iki-mini-appwinx-form-winxwiredjswjxday-5wjxday-9web-elements-iconsweb_build_01webchewow.js-juzix-platform-wsx-ray-crawlerx-ray-crawler-upgradedxhy_nftteapackage-tatespoorman297techfox-icontechfox-react-featherspcostrapistrapi-boing-globalstrapi-manager-core-strapistrapi-maxiphytesting-storybooktestnpm_lmnsvelte-component-libsyclethe-rangvue-compment@dotconf-pro/dotconf-pro@dotconf-pro/dotenv@ctbto/oidc-provider@dan/cryptocoins-icons@cybermega/flutter-resource-manager-rs@cute-apocalypse/react-tree@coupler/endpoint-http@coupler/endpoint-mq@bonetm/egg-socket.io@blkmarketco/components-library@rps-engine/core@rstacruz/pnpm@positionex/position-sdk@rudi23/koa-yup-router@robmarr/koajademailisotropy-koaisotropy-koa-context-in-browserisotropy-koa-in-browserjeuxuijoi-router-safejosh-fcajamuskalimkcoapkaiokoa-generic-controllerkoa-efficientkoa-joi-multi-validates-routerkoa-joi-routerkoa-joi-router-altkoa-joi-router-fixkoa-joi-router-ngkoa-joi-router-supportkoa-in-browserkoa-2-browserkoa-browserkoa-bluebird-cokoa-router-joilazy-bee-ui
1.0.0

10 years ago

0.1.0

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago