hoodie-client-connection-status v2.6.0
hoodie-client-connection-status
hoodie.connectionStatus API for the browser
hoodie-client-connection-status is a JavaScript library for the browser. It
allows to check a connection, and emits disconnect & reconnect events if
the request status changes. Status is persisted in localStorage.
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.ok
- 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.ok
Read-only
connectionStatus.ok- Returns
undefinedif no status yet - Returns
truelast check responded ok - Returns
falseif last check failed
The state is persisted in cache.
connectionStatus.isChecking
Read-only
connectionStatus.isCheckingReturns true if connection is checked continuously, otherwise false.
The state is persisted in cache.
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)Returns connectionStatus API
Example
connectionStatus.startChecking({interval: 30000})
.on('disconnect', showOfflineNotification)connectionStatus.stopChecking()
Stops checking connection continuously.
connectionStatus.stopChecking()Returns connectionStatus API
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 git@github.com:hoodiehq/hoodie-client-connection-status.git
cd hoodie-client-connection-status
npm installRun all tests and code style checks
npm testRun all tests on file change
npm run test:watchRun 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)