From 2cd7ccd2534029ad04bb45c04ec01485ed5012d5 Mon Sep 17 00:00:00 2001 From: Nathan Kunicki Date: Fri, 22 Jun 2018 12:40:06 +0100 Subject: [PATCH] All command methods now return promises --- DOCS.md | 21 ++++++++++++--------- README.md | 21 ++++++++++++--------- hub.ts | 9 +++++++-- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/DOCS.md b/DOCS.md index 12f528e..ad43842 100644 --- a/DOCS.md +++ b/DOCS.md @@ -75,7 +75,7 @@ Emits when a LPF2 Hub device is found. * [.setMotorSpeed(port, speed, [time])](#BoostHub+setMotorSpeed) ⇒ Promise * [.setMotorAngle(port, angle, [speed])](#BoostHub+setMotorAngle) ⇒ Promise * [.connect()](#Hub+connect) ⇒ Promise - * [.disconnect()](#Hub+disconnect) + * [.disconnect()](#Hub+disconnect) ⇒ Promise * [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise * [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise * ["button" (button, state)](#BoostHub+event_button) @@ -131,13 +131,14 @@ Connect to the Hub. **Kind**: instance method of [BoostHub](#BoostHub) **Overrides**: [connect](#Hub+connect) -**Returns**: Promise - Resolved when successfully connected. +**Returns**: Promise - Resolved upon successful connect. -### boostHub.disconnect() +### boostHub.disconnect() ⇒ Promise Disconnect the Hub. **Kind**: instance method of [BoostHub](#BoostHub) +**Returns**: Promise - Resolved upon successful disconnect. ### boostHub.subscribe(port, [mode]) ⇒ Promise @@ -235,7 +236,7 @@ Emits when a rotation sensor is activated. * [.setLEDRGB(red, green, blue)](#WeDo2Hub+setLEDRGB) ⇒ Promise * [.setMotorSpeed(port, speed)](#WeDo2Hub+setMotorSpeed) ⇒ Promise * [.connect()](#Hub+connect) ⇒ Promise - * [.disconnect()](#Hub+disconnect) + * [.disconnect()](#Hub+disconnect) ⇒ Promise * [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise * [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise * ["button" (button, state)](#WeDo2Hub+event_button) @@ -290,13 +291,14 @@ Connect to the Hub. **Kind**: instance method of [WeDo2Hub](#WeDo2Hub) **Overrides**: [connect](#Hub+connect) -**Returns**: Promise - Resolved when successfully connected. +**Returns**: Promise - Resolved upon successful connect. -### weDo2Hub.disconnect() +### weDo2Hub.disconnect() ⇒ Promise Disconnect the Hub. **Kind**: instance method of [WeDo2Hub](#WeDo2Hub) +**Returns**: Promise - Resolved upon successful disconnect. ### weDo2Hub.subscribe(port, [mode]) ⇒ Promise @@ -391,7 +393,7 @@ Emits when a rotation sensor is activated. * [Hub](#Hub) ⇐ EventEmitter * [.connect()](#Hub+connect) ⇒ Promise - * [.disconnect()](#Hub+disconnect) + * [.disconnect()](#Hub+disconnect) ⇒ Promise * [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise * [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise @@ -401,13 +403,14 @@ Emits when a rotation sensor is activated. Connect to the Hub. **Kind**: instance method of [Hub](#Hub) -**Returns**: Promise - Resolved when successfully connected. +**Returns**: Promise - Resolved upon successful connect. -### hub.disconnect() +### hub.disconnect() ⇒ Promise Disconnect the Hub. **Kind**: instance method of [Hub](#Hub) +**Returns**: Promise - Resolved upon successful disconnect. ### hub.subscribe(port, [mode]) ⇒ Promise diff --git a/README.md b/README.md index 6a9bcc6..266374f 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ Emits when a LPF2 Hub device is found. * [.setMotorSpeed(port, speed, [time])](#BoostHub+setMotorSpeed) ⇒ Promise * [.setMotorAngle(port, angle, [speed])](#BoostHub+setMotorAngle) ⇒ Promise * [.connect()](#Hub+connect) ⇒ Promise - * [.disconnect()](#Hub+disconnect) + * [.disconnect()](#Hub+disconnect) ⇒ Promise * [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise * [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise * ["button" (button, state)](#BoostHub+event_button) @@ -171,13 +171,14 @@ Connect to the Hub. **Kind**: instance method of [BoostHub](#BoostHub) **Overrides**: [connect](#Hub+connect) -**Returns**: Promise - Resolved when successfully connected. +**Returns**: Promise - Resolved upon successful connect. -### boostHub.disconnect() +### boostHub.disconnect() ⇒ Promise Disconnect the Hub. **Kind**: instance method of [BoostHub](#BoostHub) +**Returns**: Promise - Resolved upon successful disconnect. ### boostHub.subscribe(port, [mode]) ⇒ Promise @@ -275,7 +276,7 @@ Emits when a rotation sensor is activated. * [.setLEDRGB(red, green, blue)](#WeDo2Hub+setLEDRGB) ⇒ Promise * [.setMotorSpeed(port, speed)](#WeDo2Hub+setMotorSpeed) ⇒ Promise * [.connect()](#Hub+connect) ⇒ Promise - * [.disconnect()](#Hub+disconnect) + * [.disconnect()](#Hub+disconnect) ⇒ Promise * [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise * [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise * ["button" (button, state)](#WeDo2Hub+event_button) @@ -330,13 +331,14 @@ Connect to the Hub. **Kind**: instance method of [WeDo2Hub](#WeDo2Hub) **Overrides**: [connect](#Hub+connect) -**Returns**: Promise - Resolved when successfully connected. +**Returns**: Promise - Resolved upon successful connect. -### weDo2Hub.disconnect() +### weDo2Hub.disconnect() ⇒ Promise Disconnect the Hub. **Kind**: instance method of [WeDo2Hub](#WeDo2Hub) +**Returns**: Promise - Resolved upon successful disconnect. ### weDo2Hub.subscribe(port, [mode]) ⇒ Promise @@ -431,7 +433,7 @@ Emits when a rotation sensor is activated. * [Hub](#Hub) ⇐ EventEmitter * [.connect()](#Hub+connect) ⇒ Promise - * [.disconnect()](#Hub+disconnect) + * [.disconnect()](#Hub+disconnect) ⇒ Promise * [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise * [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise @@ -441,13 +443,14 @@ Emits when a rotation sensor is activated. Connect to the Hub. **Kind**: instance method of [Hub](#Hub) -**Returns**: Promise - Resolved when successfully connected. +**Returns**: Promise - Resolved upon successful connect. -### hub.disconnect() +### hub.disconnect() ⇒ Promise Disconnect the Hub. **Kind**: instance method of [Hub](#Hub) +**Returns**: Promise - Resolved upon successful disconnect. ### hub.subscribe(port, [mode]) ⇒ Promise diff --git a/hub.ts b/hub.ts index 50c866b..3159445 100644 --- a/hub.ts +++ b/hub.ts @@ -38,7 +38,7 @@ export class Hub extends EventEmitter { /** * Connect to the Hub. * @method Hub#connect - * @returns {Promise} Resolved when successfully connected. + * @returns {Promise} Resolved upon successful connect. */ public connect () { return new Promise((connectResolve, connectReject) => { @@ -110,9 +110,14 @@ export class Hub extends EventEmitter { /** * Disconnect the Hub. * @method Hub#disconnect + * @returns {Promise} Resolved upon successful disconnect. */ public disconnect () { - this._peripheral.disconnect(); + return new Promise((resolve, reject) => { + this._peripheral.disconnect(() => { + return resolve(); + }); + }); }