Skip to content

glorious-codes/glorious-rasket

Repository files navigation

Rasket

A simple Pub-Sub implementation.

CircleCI Coverage Status

Installation

$ npm install -S @glorious/rasket

Usage

Subscribe

/*
** @eventName: String [required]
** @callback: Function [required]
*/

import rasket from '@glorious/rasket';

const eventName = 'user:updated';
const callback = data => {
  // This function will be called every time 'user:updated' is published.
}

const subscriptionId = rasket.subscribe(eventName, callback);

Unsubscribe

/*
** @subscriptionId: String [required]
*/

import rasket from '@glorious/rasket';

const subscriptionId = rasket.subscribe('event:name', data => {});

// When you no longer needs to listen the event,
// you can unsubscribe from it:
rasket.unsubscribe(subscriptionId);

Publish

/*
** @eventName: String [required]
** @data: Any [optional]
*/

import rasket from '@glorious/rasket';

const eventName = 'user:updated';
const data = { name: 'John Duo', email: 'john@gmail.com' };

rasket.publish(eventName, data);
// At this moment, every piece of code subscribed on 'user:updated'
// will be notified with that data.

Contributing

  1. Install Node. Download the "Recommend for Most Users" version.

  2. Clone the repo:

git clone git@github.com:glorious-codes/glorious-rasket.git
  1. Go to the project directory:
cd glorious-rasket
  1. Install the project dependencies:
npm install

Tests

Ensure that all code that you have added is covered with unit tests:

npm run test -- --coverage