2.6.0 • Published 9 years ago

hoodie-client-connection-status v2.6.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
9 years ago

hoodie-client-connection-status

hoodie.connectionStatus API for the browser

Build Status Coverage Status Dependency Status devDependency Status

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

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 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 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 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)

License

Apache 2.0

2.6.0

9 years ago

2.5.0

9 years ago

2.4.1

10 years ago

2.4.0

10 years ago

2.3.0

10 years ago

2.2.0

10 years ago

2.1.0

10 years ago

2.0.0

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago