Wondering what’s next for npm?Check out our public roadmap! »

harperdb-websocket-client

1.0.5 • Public • Published

HarperDB Websocket Client

JavaScript Style Guide Project Status: Active – The project has reached a stable, usable state and is being actively developed. GitHub

A HarperDB WebSocket Client SDK powered by SocketCluster

Getting started

npm i -s harperdb-websocket-client

or

yarn add harperdb-websocket-client

Documentation

const HarperDBWebSocketClient = require('harperdb-websocket-client')
defaultSocketClusterOptions
{
  rejectUnauthorized: false,
  autoConnect: true,
  secure: true,
  connectTimeout: 100000,
  ackTimeout: 10000,
  autoReconnectOptions: {
    initialDelay: 1000,
    maxDelay: 2000
  }
}
Example
const client = new HarperDBWebSocketClient({
  debug: true,
  implicitInit: true,
  handlers: {
    onError: err => {
      console.error(err)
    }
  }
})

init()

Initializes the socket cluster instance with the options passed in via the constructor method.

Do not call if options.implicitInit was enabled.

const client = new HarperDBWebSocketClient() // options.implicitInit is not enabled
client.init()

subscribe(channel, handler)

Subscribes to a socket controller channel with the given handler.

  • channel - string - channel to be subscribed to. Should be in the format "schema:table"
  • handler - function - function to be executed when channel recieves an update
Example
client.subscribe('dev:dog', data => {
  // do something with data
})

insert(channel, records)

Creates and publishes an insert transaction on the given channel with the given records.

client.insert(`dev:dog`, [
  {
    id: '1',
    name: 'Harper',
    breed: 'Mutt'
  },
  {
    id: '2',
    name: 'Penny',
    breed: 'Mutt'
  }
])

update(channel, records)

Creates and publishes an udpate transaction on the given channel with the given records.

client.update(`dev:dog`, [
  {
    id: '1',
    breed: 'Lab'
  }
])

delete(channel, records)

Creates and publishes a delete transaction on the given channel with the given records.

client.delete(`dev:dog`, [
  { id: '2' }
])

click here to read the jsDoc markdown

License

MIT, see license file

Keywords

none

Install

npm i harperdb-websocket-client

DownloadsWeekly Downloads

15

Version

1.0.5

License

MIT

Unpacked Size

1.09 MB

Total Files

43

Homepage

harperdb.io

Last publish

Collaborators

  • avatar