unherit
Clone a constructor without affecting the super-class
Last updated 4 years ago by wooorm .
MIT · Repository · Bugs · Original npm
$ cnpm install unherit 
SYNC missed versions from official npm registry.

unherit

Build Coverage Downloads Size

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

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install unherit

Use

import {EventEmitter} from 'events'
import {unherit} from '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

This package exports the following identifiers: unherit. There is no default export.

unherit(Super)

Create a custom constructor (Function) from Super (Function) which can be modified without affecting the original class.

License

MIT © Titus Wormer

Current Tags

  • 3.0.1                                ...           latest (3 years ago)

5 Versions

  • 3.0.1                                ...           3 years ago
  • 1.1.1                                ...           7 years ago
  • 3.0.0                                ...           4 years ago
  • 1.1.2                                ...           6 years ago
  • 1.1.3                                ...           6 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (10)
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org