@hoodie/connection-status
v4.0.3
Published
hoodie.connectionStatus API for the browser
Downloads
1,484
Readme
hoodie-connection-status
hoodie.connectionStatus API for the browser
hoodie-connection-status
is a browser library to monitor a connection status.
It emits disconnect
& reconnect
events if the request status changes and
persists its status.
Example
var connectionStatus = new ConnectionStatus('https://example.com/ping')
connectionStatus.on('disconnect', showOfflineNotification)
connectionStatus.on('reconnect reset', hideOfflineNotification)
myOtherRemoteApiThing.on('error', connectionStatus.check)
API
- Constructor
- connectionStatus.ready
- connectionStatus.ok
- connectionStatus.isChecking
- connectionStatus.check()
- connectionStatus.startChecking()
- connectionStatus.stopChecking()
- connectionStatus.reset()
- Events
Constructor
new ConnectionStatus(options)
Example
var connectionStatus = new ConnectionStatus('https://example.com/ping')
connectionStatus.on('disconnect', showOfflineNotification)
connectionStatus.check()
connectionStatus.ready
Read-only
Promise that resolves once the ConnectionStatus instance loaded its current state from the cache.
connectionStatus.ok
Read-only
connectionStatus.ok
- Returns
undefined
if no status yet - Returns
true
last check responded ok - Returns
false
if last check failed
The state is persisted in cache.
connectionStatus.isChecking
Read-only
connectionStatus.isChecking
- Returns
undefined
if status not loaded yet, see connectionStatus.ready - Returns
true
if connection is checked continuously - Returns
false
if connection is not checked continuously
connectionStatus.check(options)
connectionStatus.check(options)
Resolves without value.
Rejects with:
Example
connectionStatus.check()
.then(function () {
// Connection is good, connectionStatus.ok is true
})
.catch(function () {
// Cannot connect to server, connectionStatus.ok is false
})
connectionStatus.startChecking(options)
Starts checking connection continuously
connectionStatus.startChecking(options)
Resolves without values.
Example
connectionStatus.startChecking({interval: 30000})
.on('disconnect', showOfflineNotification)
connectionStatus.stopChecking()
Stops checking connection continuously.
connectionStatus.stopChecking()
Resolves without values. Does not reject.
connectionStatus.reset(options)
Clears status & cache, aborts all pending requests.
connectionStatus.reset(options)
options
is the same as in Constructor
Resolves without values. Does not reject.
Example
connectionStatus.reset(options).then(function () {
connectionStatus.ok === undefined // true
})
Events
Example
connectionStatus.on('disconnect', function () {})
connectionStatus.on('reconnect', function () {})
connectionStatus.on('reset', function () {})
Testing
Local setup
git clone [email protected]:hoodiehq/hoodie-connection-status.git
cd hoodie-connection-status
npm install
Run all tests and code style checks
npm test
Run all tests on file change
npm run test:watch
Run specific tests only
node tests/specs # run unit tests
node tests/specs/check # run .check() unit tests
node tests/integration/walkthrough # run walkthrough integration test
# PROTIP™ Pipe output through a [pretty reporter](https://www.npmjs.com/package/tape#pretty-reporters)
Contributing
Have a look at the Hoodie project's contribution guidelines. If you want to hang out you can join our Hoodie Community Chat.