UNPKG

abind

Version:

Auto bind instance methods of classes.

146 lines (90 loc) 3.14 kB
abind ========== <!--- This file is generated by ape-tmpl. Do not update manually. ---> <!-- Badge Start --> <a name="badges"></a> [![Build Status][bd_travis_shield_url]][bd_travis_url] [![npm Version][bd_npm_shield_url]][bd_npm_url] [![JS Standard][bd_standard_shield_url]][bd_standard_url] [bd_repo_url]: https://github.com/a-labo/abind [bd_travis_url]: http://travis-ci.org/a-labo/abind [bd_travis_shield_url]: http://img.shields.io/travis/a-labo/abind.svg?style=flat [bd_travis_com_url]: http://travis-ci.com/a-labo/abind [bd_travis_com_shield_url]: https://api.travis-ci.com/a-labo/abind.svg?token= [bd_license_url]: https://github.com/a-labo/abind/blob/master/LICENSE [bd_codeclimate_url]: http://codeclimate.com/github/a-labo/abind [bd_codeclimate_shield_url]: http://img.shields.io/codeclimate/github/a-labo/abind.svg?style=flat [bd_codeclimate_coverage_shield_url]: http://img.shields.io/codeclimate/coverage/github/a-labo/abind.svg?style=flat [bd_gemnasium_url]: https://gemnasium.com/a-labo/abind [bd_gemnasium_shield_url]: https://gemnasium.com/a-labo/abind.svg [bd_npm_url]: http://www.npmjs.org/package/abind [bd_npm_shield_url]: http://img.shields.io/npm/v/abind.svg?style=flat [bd_standard_url]: http://standardjs.com/ [bd_standard_shield_url]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg <!-- Badge End --> <!-- Description Start --> <a name="description"></a> Auto bind instance methods of classes. <!-- Description End --> <!-- Overview Start --> <a name="overview"></a> <!-- Overview End --> <!-- Sections Start --> <a name="sections"></a> <!-- Section from "doc/guides/01.Installation.md.hbs" Start --> <a name="section-doc-guides-01-installation-md"></a> Installation ----- ```bash $ npm install abind --save ``` <!-- Section from "doc/guides/01.Installation.md.hbs" End --> <!-- Section from "doc/guides/02.Usage.md.hbs" Start --> <a name="section-doc-guides-02-usage-md"></a> Usage --------- ```javascript 'use strict' const abind = require('abind') class Talker { constructor (name) { this.name = name abind(this) } sayHi () { return `Hi, i'm ${this.name}` } } let { sayHi } = new Talker('Tom') console.log(sayHi()) // -> Hi, i'm Tom ``` <!-- Section from "doc/guides/02.Usage.md.hbs" End --> <!-- Section from "doc/guides/03.Signature.md.hbs" Start --> <a name="section-doc-guides-03-signature-md"></a> Signature --------- `abind(instance, options) -> Object` ### Params | Name | Type | Description | | ----- | --- | -------- | | instance | Object | Instance to bind | | options | Object | Optional settings | | options.proto | Object | Prototype to bind | | options.excludes | string[] | Names to exclude | <!-- Section from "doc/guides/03.Signature.md.hbs" End --> <!-- Sections Start --> <!-- LICENSE Start --> <a name="license"></a> License ------- This software is released under the [MIT License](https://github.com/a-labo/abind/blob/master/LICENSE). <!-- LICENSE End --> <!-- Links Start --> <a name="links"></a> Links ------ + [a-labo][a_labo_url] [a_labo_url]: https://github.com/a-labo <!-- Links End -->