Files
cjihrig ba73a67d45 tools: update to ESLint 4.10.0
PR-URL: https://github.com/nodejs/node/pull/16738
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
2017-12-13 16:59:02 +00:00
..
2017-12-13 16:59:02 +00:00

unherit Build Status Coverage Status

Create a custom constructor which can be modified without affecting the original class.

Installation

npm:

npm install unherit

Usage

var EventEmitter = require('events').EventEmitter;

/* Create a private class which acts just like
 * `EventEmitter`. */
var Emitter = unherit(EventEmitter);

Emitter.prototype.defaultMaxListeners = 0;
/* Now, all instances of `Emitter` have no maximum
 * listeners, without affecting other `EventEmitter`s. */

assert(new Emitter().defaultMaxListeners === 0); // true
assert(new EventEmitter().defaultMaxListeners === undefined); // true
assert(new Emitter() instanceof EventEmitter); // true

API

unherit(Super)

Create a custom constructor which can be modified without affecting the original class.

Parameters
  • Super (Function) — Super-class.
Returns

Function — Constructor acting like Super, which can be modified without affecting the original class.

License

MIT © Titus Wormer