Skip to content
Clone a constructor without affecting the super-class
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig
.gitignore
.npmrc
.prettierignore
.travis.yml
funding.yml
index.js
license
package.json
readme.md
test.js

readme.md

unherit

Build Coverage Downloads Size

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

Installation

npm:

npm install unherit

Usage

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

// 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.

new Emitter().defaultMaxListeners === 0 // => true
new EventEmitter().defaultMaxListeners === undefined // => true
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

You can’t perform that action at this time.