# mgv-mediator

> Implementation of Mediator Pattern in ES6

Latest version **0.2.8** (published 2017-12-18) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install mgv-mediator
pnpm add mgv-mediator
yarn add mgv-mediator
bun add mgv-mediator
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.2.8 |
| Published | 2017-12-18 |
| First published | 2017-11-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Morgiver |
| Maintainers | morgiver |
| Keywords | Mediator, Pattern |

## Links

- npm: https://www.npmjs.com/package/mgv-mediator
- Repository: https://github.com/Morgiver/mgv-mediator
- Homepage: https://github.com/Morgiver/mgv-mediator#readme
- Issues: https://github.com/Morgiver/mgv-mediator/issues
- npm.io page: https://npm.io/package/mgv-mediator

## Recent versions

- 0.2.8 (latest) — 2017-12-18
- 0.2.7 — 2017-12-18
- 0.2.6 — 2017-12-18
- 0.2.5 — 2017-11-10
- 0.2.4 — 2017-11-10
- 0.2.3 — 2017-11-10

## README

# mgv-mediator
This module is an implementation of Mediator pattern in ES6 Javascript.

###Install
Installation with npm
```
npm i --save mgv-mediator 
```

#### Basic use :
```Javascript
let Mediator   = require('mgv-mediator').Mediator;
let Subscriber = require('mgv-mediator').Subscriber;

/**
 * First, creating the Mediator
 */
let Room   = new Mediator();
/**
 * Then creating the Subscribers 
 */
let subOne = new Subscriber('subOne');
subOne.on('event-for-subOne', (data, from) => {
    console.log(data);
    from.receive({ event: 'event-response', data: 'PONG !' }, subOne);
});

let subTwo = new Subscriber('subTwo');
subTwo.on('event-response', (data, from) => {
    console.log(data);
});

/**
 * Registering all Subscribers into the Mediator
 */
Room._registerSubscriber(subOne);
Room._registerSubscriber(subTwo);

/**
 * Send data from subTwo to subOne
 */
subTwo.send({
    event: 'event-for-subOne',
    data: 'PING !'
}, 'subOne');
```

This result as :
```
PING !
PONG !
```

### More example of use :
In writing, available asap.

---
_Source: https://npm.io/package/mgv-mediator · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
