0.2.3 • Published 7 years ago

eventemittable v0.2.3

Weekly downloads
1
License
Apache-2.0
Repository
-
Last release
7 years ago

eventemittable

A composable EventEmitter for Stampit v3

Install

$ npm install stampit eventemittable --save

Stampit v3 or greater is a peer dependency of this module.

Usage

import EventEmittable from 'eventemittable';
import stampit from 'stampit';

// some stamp
const User = stampit.init((opts, {instance}) => {
  if (opts.name) {
    instance.name = opts.name;
  }
})
.props({
  name: {
    first: "(unnamed)",
    last: "(unnamed)"
  }
});

// an emittable version of some stamp
const EmittableUser = User.compose(EventEmittable);

// elsewhere...
const user = EmittableUser({name: {first: 'Guy', last: 'Fieri'}});
user.on('name', name => {
  console.log(`${name.first} ${name.last}`);
});
user.emit('name', user.name); // 'Guy Fieri'

Notes

Apologies to koresar. :D

License

© 2017 Christopher Hiller. Licensed Apache-2.0.