is-node-emitter
v1.0.6
Published
Strictly checks that given value is nodejs EventEmitter. It's easy, because his API is in frozen state.
Downloads
939
Readme
is-node-emitter
Strictly checks that given value is nodejs EventEmitter or something like it. It's easy, because his API is in frozen state.
Install
npm i is-node-emitter --save
Usage
For more use-cases see the tests
var isNodeEmitter = require('is-node-emitter')
// emitters
var Emitter = require('events').EventEmitter
var DualEmitter = require('dual-emitter')
var ChildProcess = require('child_process')
var EventEmitter2 = require('eventemitter2').EventEmitter2
var EventEmitter3 = require('eventemitter3')
var ComponentEmitter = require('component-emitter')
// from iojs 2.x
var ChildProcessCtor = require('child_process').ChildProcess
returns true
var fs = require('fs')
isNodeEmitter(fs.createReadStream('./index'))
isNodeEmitter(new Emitter())
isNodeEmitter(new EventEmitter2({wildcard: false}))
isNodeEmitter(new ChildProcessCtor())
isNodeEmitter(ChildProcess.spawn('echo', ['hello']))
isNodeEmitter(ChildProcess.exec('echo hello'))
returns false
isNodeEmitter(DualEmitter())
isNodeEmitter(ComponentEmitter())
isNodeEmitter(new DualEmitter())
isNodeEmitter(new ComponentEmitter())
isNodeEmitter(new EventEmitter3())
Related
- component-emitter: Event emitter
- dual-emitter: :tropical_drink: EventEmitter done right and no dependencies. For nodejs and the browser (>= IE8). Can emit custom or DOM events.
- dush: Minimalist 1.5kb event delegation for the browser (IE8+) and nodejs.
- eventemitter2: A Node.js event emitter implementation with namespaces, wildcards, TTL and browser support.
- eventemitter3: EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface.
- kudos: kudos done right - unopinionated, made simple, so simple it hurts!
- to-emitter: Convert any object into an event-emitter, and emits events with the name of any any method called on the object.
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.