All command methods now return promises

This commit is contained in:
Nathan Kunicki 2018-06-22 12:21:44 +01:00
parent 47fa748273
commit 667c98ccde
3 changed files with 38 additions and 24 deletions

30
DOCS.md
View File

@ -76,8 +76,8 @@ Emits when a LPF2 Hub device is found.
* [.setMotorAngle(port, angle, [speed])](#BoostHub+setMotorAngle) ⇒ <code>Promise</code>
* [.connect()](#Hub+connect) ⇒ <code>Promise</code>
* [.disconnect()](#Hub+disconnect)
* [.subscribe(port, [mode])](#Hub+subscribe)
* [.unsubscribe(port)](#Hub+unsubscribe)
* [.subscribe(port, [mode])](#Hub+subscribe)<code>Promise</code>
* [.unsubscribe(port)](#Hub+unsubscribe)<code>Promise</code>
* ["button" (button, state)](#BoostHub+event_button)
* ["distance" (port, distance)](#BoostHub+event_distance)
* ["color" (port, color)](#BoostHub+event_color)
@ -140,10 +140,11 @@ Disconnect the Hub.
**Kind**: instance method of [<code>BoostHub</code>](#BoostHub)
<a name="Hub+subscribe"></a>
### boostHub.subscribe(port, [mode])
### boostHub.subscribe(port, [mode])<code>Promise</code>
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>BoostHub</code>](#BoostHub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
@ -152,10 +153,11 @@ Subscribe to sensor notifications on a given port.
<a name="Hub+unsubscribe"></a>
### boostHub.unsubscribe(port)
### boostHub.unsubscribe(port)<code>Promise</code>
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>BoostHub</code>](#BoostHub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
@ -234,8 +236,8 @@ Emits when a rotation sensor is activated.
* [.setMotorSpeed(port, speed)](#WeDo2Hub+setMotorSpeed) ⇒ <code>Promise</code>
* [.connect()](#Hub+connect) ⇒ <code>Promise</code>
* [.disconnect()](#Hub+disconnect)
* [.subscribe(port, [mode])](#Hub+subscribe)
* [.unsubscribe(port)](#Hub+unsubscribe)
* [.subscribe(port, [mode])](#Hub+subscribe)<code>Promise</code>
* [.unsubscribe(port)](#Hub+unsubscribe)<code>Promise</code>
* ["button" (button, state)](#WeDo2Hub+event_button)
* ["distance" (port, distance)](#WeDo2Hub+event_distance)
* ["color" (port, color)](#WeDo2Hub+event_color)
@ -297,10 +299,11 @@ Disconnect the Hub.
**Kind**: instance method of [<code>WeDo2Hub</code>](#WeDo2Hub)
<a name="Hub+subscribe"></a>
### weDo2Hub.subscribe(port, [mode])
### weDo2Hub.subscribe(port, [mode])<code>Promise</code>
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>WeDo2Hub</code>](#WeDo2Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
@ -309,10 +312,11 @@ Subscribe to sensor notifications on a given port.
<a name="Hub+unsubscribe"></a>
### weDo2Hub.unsubscribe(port)
### weDo2Hub.unsubscribe(port)<code>Promise</code>
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>WeDo2Hub</code>](#WeDo2Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
@ -388,8 +392,8 @@ Emits when a rotation sensor is activated.
* [Hub](#Hub) ⇐ <code>EventEmitter</code>
* [.connect()](#Hub+connect) ⇒ <code>Promise</code>
* [.disconnect()](#Hub+disconnect)
* [.subscribe(port, [mode])](#Hub+subscribe)
* [.unsubscribe(port)](#Hub+unsubscribe)
* [.subscribe(port, [mode])](#Hub+subscribe)<code>Promise</code>
* [.unsubscribe(port)](#Hub+unsubscribe)<code>Promise</code>
<a name="Hub+connect"></a>
@ -406,10 +410,11 @@ Disconnect the Hub.
**Kind**: instance method of [<code>Hub</code>](#Hub)
<a name="Hub+subscribe"></a>
### hub.subscribe(port, [mode])
### hub.subscribe(port, [mode])<code>Promise</code>
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>Hub</code>](#Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
@ -418,10 +423,11 @@ Subscribe to sensor notifications on a given port.
<a name="Hub+unsubscribe"></a>
### hub.unsubscribe(port)
### hub.unsubscribe(port)<code>Promise</code>
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>Hub</code>](#Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |

View File

@ -116,8 +116,8 @@ Emits when a LPF2 Hub device is found.
* [.setMotorAngle(port, angle, [speed])](#BoostHub+setMotorAngle) ⇒ <code>Promise</code>
* [.connect()](#Hub+connect) ⇒ <code>Promise</code>
* [.disconnect()](#Hub+disconnect)
* [.subscribe(port, [mode])](#Hub+subscribe)
* [.unsubscribe(port)](#Hub+unsubscribe)
* [.subscribe(port, [mode])](#Hub+subscribe)<code>Promise</code>
* [.unsubscribe(port)](#Hub+unsubscribe)<code>Promise</code>
* ["button" (button, state)](#BoostHub+event_button)
* ["distance" (port, distance)](#BoostHub+event_distance)
* ["color" (port, color)](#BoostHub+event_color)
@ -180,10 +180,11 @@ Disconnect the Hub.
**Kind**: instance method of [<code>BoostHub</code>](#BoostHub)
<a name="Hub+subscribe"></a>
### boostHub.subscribe(port, [mode])
### boostHub.subscribe(port, [mode])<code>Promise</code>
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>BoostHub</code>](#BoostHub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
@ -192,10 +193,11 @@ Subscribe to sensor notifications on a given port.
<a name="Hub+unsubscribe"></a>
### boostHub.unsubscribe(port)
### boostHub.unsubscribe(port)<code>Promise</code>
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>BoostHub</code>](#BoostHub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
@ -274,8 +276,8 @@ Emits when a rotation sensor is activated.
* [.setMotorSpeed(port, speed)](#WeDo2Hub+setMotorSpeed) ⇒ <code>Promise</code>
* [.connect()](#Hub+connect) ⇒ <code>Promise</code>
* [.disconnect()](#Hub+disconnect)
* [.subscribe(port, [mode])](#Hub+subscribe)
* [.unsubscribe(port)](#Hub+unsubscribe)
* [.subscribe(port, [mode])](#Hub+subscribe)<code>Promise</code>
* [.unsubscribe(port)](#Hub+unsubscribe)<code>Promise</code>
* ["button" (button, state)](#WeDo2Hub+event_button)
* ["distance" (port, distance)](#WeDo2Hub+event_distance)
* ["color" (port, color)](#WeDo2Hub+event_color)
@ -337,10 +339,11 @@ Disconnect the Hub.
**Kind**: instance method of [<code>WeDo2Hub</code>](#WeDo2Hub)
<a name="Hub+subscribe"></a>
### weDo2Hub.subscribe(port, [mode])
### weDo2Hub.subscribe(port, [mode])<code>Promise</code>
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>WeDo2Hub</code>](#WeDo2Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
@ -349,10 +352,11 @@ Subscribe to sensor notifications on a given port.
<a name="Hub+unsubscribe"></a>
### weDo2Hub.unsubscribe(port)
### weDo2Hub.unsubscribe(port)<code>Promise</code>
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>WeDo2Hub</code>](#WeDo2Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
@ -428,8 +432,8 @@ Emits when a rotation sensor is activated.
* [Hub](#Hub) ⇐ <code>EventEmitter</code>
* [.connect()](#Hub+connect) ⇒ <code>Promise</code>
* [.disconnect()](#Hub+disconnect)
* [.subscribe(port, [mode])](#Hub+subscribe)
* [.unsubscribe(port)](#Hub+unsubscribe)
* [.subscribe(port, [mode])](#Hub+subscribe)<code>Promise</code>
* [.unsubscribe(port)](#Hub+unsubscribe)<code>Promise</code>
<a name="Hub+connect"></a>
@ -446,10 +450,11 @@ Disconnect the Hub.
**Kind**: instance method of [<code>Hub</code>](#Hub)
<a name="Hub+subscribe"></a>
### hub.subscribe(port, [mode])
### hub.subscribe(port, [mode])<code>Promise</code>
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>Hub</code>](#Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
@ -458,10 +463,11 @@ Subscribe to sensor notifications on a given port.
<a name="Hub+unsubscribe"></a>
### hub.unsubscribe(port)
### hub.unsubscribe(port)<code>Promise</code>
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [<code>Hub</code>](#Hub)
**Returns**: <code>Promise</code> - Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |

2
hub.ts
View File

@ -121,6 +121,7 @@ export class Hub extends EventEmitter {
* @method Hub#subscribe
* @param {string} port
* @param {number} [mode] The sensor mode to activate. If no mode is provided, the default for that sensor will be chosen.
* @returns {Promise} Resolved upon successful issuance of command.
*/
public subscribe (port: string, mode?: number) {
return new Promise((resolve, reject) => {
@ -138,6 +139,7 @@ export class Hub extends EventEmitter {
* Unsubscribe to sensor notifications on a given port.
* @method Hub#unsubscribe
* @param {string} port
* @returns {Promise} Resolved upon successful issuance of command.
*/
public unsubscribe (port: string) {
return new Promise((resolve, reject) => {