Package Exports
- @braintree/event-emitter
- @braintree/event-emitter/dist/event-emitter.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@braintree/event-emitter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
event-emitter
A helper module for creating objects with event emitter capabilities.
Installation
npm
npm install --save @braintree/event-emitter
This module uses commonjs. You must use a build tool such as Browserify or Webpack to include it in your frontend project.
Usage
Creating an Object that Inherits from Event Emitter
import EventEmitter from "@braintree/event-emitter";
class MyClass extends EventEmitter() {
// my class definition
}
const emitter = new MyClass();
Listen for events
emitter.on("event-name", function (data) {
console.log("called with", data.payload, "!");
});
emitter.emit("event-name", { payload: "foo" }); // logs "called with foo!"
Unsubscribe from events
const cb = function () {};
emitter.on("event-name", cb);
emitter.off("event-name", cb);
emitter.emit("event-name", { payload: "foo" }); // cb is not called
Tests
npm test