0.2.0 • Published 10 years ago

co-mediator v0.2.0

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

co-mediator NPM version Build Status Dependency Status Coverage percentage

A mediator with co wrapped subscriber.

Install

$ npm install --save co-mediator

Usage

let CoMediator = require('co-mediator');
let cm = new CoMediator();
let testData1 = 'a string 1';
let testData2 = 'a string 2';

//a normal subscriber.
let subscriberSymbol1 = cm.subscribe('test', function (publishedData1, publishedData2) {
  console.log(publishedData1 + ' and ' + publishedData2);
});

//a generator subscriber. it will be co wrapped.
let subscriberSymbol2 = cm.subscribe('test', function* (publishedData1, publishedData2) {
  console.log(publishedData1 + ' and ' + publishedData2);
  yield Promise.resolve(true);
});

//error handler
let subscriberSymbol3 = cm.subscribe('test', function* (publishedData1, publishedData2) {
  throw 'an error from the subscriber';
}, function (e) {
  console.log('thrown error ' + e);
});

//publish. specipying channel & arguments. you can pass 0 or more arguments
cm.publish('test');
cm.publish('test', testData1);
cm.publish('test', testData1, testData2);

//unsubscribe
cm.unsubscribe(subscriberSymbol1);
cm.unsubscribe(subscriberSymbol2);
cm.unsubscribe(subscriberSymbol3);
cm.publish('test', testData1, testData2);

//subscribe once
let subscriberSymbol3 = cm.subscribeOnce('test', function* (publishedData1, publishedData2) {
  console.log('this code will be called one time');
}, function (e) {
  console.log('thrown error ' + e);
});
cm.publish('test', testData1, testData2);

//subscribe procedure
cm.subscribeProcedure('ch', function* (param) {
  console.log('passed param is ' + param);
  return yield Promise.resolve('result');
});

//call procedure
cm.procedure('ch', 'param')
  .then(function (val) {
    console.log('result is ' + val);
  })
  .catch(function (e) {
    console.log('this line prints if called proc throws error');
  });

License

MIT © PAIO co.,ltd.

0.2.0

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago