Skip to content

Commit

Permalink
Babel + flow + documentation.js (#5)
Browse files Browse the repository at this point in the history
* Refactor to use babel + flow + documentation.js
  • Loading branch information
niahmiah authored May 19, 2017
1 parent 041c17d commit 4bacf80
Show file tree
Hide file tree
Showing 36 changed files with 7,332 additions and 383 deletions.
16 changes: 16 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"presets": [
[
"env",
{
"targets": {
"node": "current"
}
}
],
"flow"
],
"plugins": [
"add-module-exports"
]
}
6 changes: 4 additions & 2 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
node_modules
coverage
node_modules/
coverage/
lib/
flow-typed/
1 change: 1 addition & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"jquery": true,
"browser": true
},
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
Expand Down
8 changes: 8 additions & 0 deletions .flowconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[ignore]
.*/node_modules/stylelint.*
.*/node_modules/documentation.*
[include]

[libs]

[options]
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4
6
245 changes: 245 additions & 0 deletions API.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,245 @@
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

### Table of Contents

- [AmqpMessenger](#amqpmessenger)
- [constructor](#constructor)
- [start](#start)
- [stop](#stop)
- [publish](#publish)
- [\_createObservable](#_createobservable)
- [createNotificationObservable](#createnotificationobservable)
- [createWorkObservable](#createworkobservable)
- [Message](#message)
- [constructor](#constructor-1)
- [toString](#tostring)
- [toWS](#tows)
- [toAmqp](#toamqp)
- [getTopic](#gettopic)
- [ack](#ack)
- [nack](#nack)
- [fromAmqp](#fromamqp)
- [Messenger](#messenger)
- [constructor](#constructor-2)
- [start](#start-1)
- [stop](#stop-1)
- [publish](#publish-1)
- [createNotificationObservable](#createnotificationobservable-1)
- [createWorkObservable](#createworkobservable-1)
- [WebsocketRelay](#websocketrelay)
- [constructor](#constructor-3)

## AmqpMessenger

**Extends Messenger**

A messenger that can use amqp topic exchanges and queues

**Parameters**

- `params` **{amqp: {connectionString: [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), exchangeName: [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)}, port: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)}**

### constructor

Create a new amqp messenger instance

**Parameters**

- `params` **{amqp: {connectionString: [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), exchangeName: [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)}, port: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)}**

### start

start the service

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;any>**

### stop

stop the service

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;any>**

### publish

publish a message to a topic

**Parameters**

- `topic` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `message` **[Message](#message)**

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;any>**

### \_createObservable

create an observable for a given topic, type, and queue

**Parameters**

- `topic` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `type` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `queue` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Rx.Observable&lt;any>>**

### createNotificationObservable

create an observable for a given topic, that is meant for multiple recipients per message

**Parameters**

- `topic` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Rx.Observable&lt;any>>**

### createWorkObservable

create an observable for a given topic, that is meant for a single recipient per message

**Parameters**

- `topic` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `queue` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Rx.Observable&lt;any>>**

## Message

A Message object

**Parameters**

- `message` **MessageData**

### constructor

create a new instance of Message

**Parameters**

- `message` **MessageData**

### toString

Stringify the message

Returns **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

### toWS

Convert the message for websocket delivery

Returns **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

### toAmqp

Convert the message for amqp delivery

Returns **[Buffer](https://nodejs.org/api/buffer.html)**

### getTopic

Get the preferred topic name from the message context

Returns **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

### ack

Ack a work message (mark it as completed)

Returns **void**

### nack

Nack a work message (mark it as failed, for redelivery)

Returns **void**

### fromAmqp

Convert a raw amqp message into an instance of Message

**Parameters**

- `rawMessage`
- `channel`

Returns **[Message](#message)**

## Messenger

**Extends events.EventEmitter**

An in-memory messenger, providing pub/sub like features

**Parameters**

- `params` **{port: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)}**

### constructor

Create a new messenger instance

**Parameters**

- `params` **{port: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)}**

### start

start the service

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;any>**

### stop

stop the service

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;any>**

### publish

publish a message to a topic

**Parameters**

- `topic` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `message` **[Message](#message)**

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;any>**

### createNotificationObservable

create an observable for a given topic, that is meant for multiple recipients per message

**Parameters**

- `topic` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Rx.Observable&lt;any>>**

### createWorkObservable

create an observable for a given topic, that is meant for a single recipient per message

**Parameters**

- `topic` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**
- `sharedQueue` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)**

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Rx.Observable&lt;any>>**

## WebsocketRelay

A performant websocket relay for messenger

**Parameters**

- `params` **{messenger: [Messenger](#messenger), port: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number), pingInterval: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)}**

### constructor

create a new instance of websocket relay

**Parameters**

- `params` **{messenger: [Messenger](#messenger), port: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number), pingInterval: [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)}**
Loading

0 comments on commit 4bacf80

Please sign in to comment.