Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Jul 13, 2026. It is now read-only.

kocisov/adventure-client

Open more actions menu

Repository files navigation

Adventure npm Code Climate gzip size

Simple WebSocket Client

Features

  • Reconnect implemented
  • Handle Errors and Messages + Redux with your simple functions

Installation

# yarn
yarn add @braind/adventure

# npm
npm install @braind/adventure --save

Usage

import adventureClient from '@braind/adventure';
import store from './redux/store';

const adventure = new adventureClient({
  debug: true,
  handleMessage,
  maxReconnectAttempts: 5,
  reconnect: true,
  reconnectInterval: 5000,
  reduxDispatcher,
  responseType: 'json',
  url: 'ws://localhost:3000'
});

function handleMessage(message) {
  console.log(message);

  if (message === 'Ping' || message.type === 'Ping') {
    adventure.send('Pong');
  }
}

function reduxDispatcher(message) {
  const { type, data: payload } = message;

  switch(type) {
    case 'RECEIVED_INFO':
      store.dispatch({
        type: 'RECEIVED_INFO',
        payload
      });

    default:
      console.log('Received unspecified action type');
  }
}

const currentSocketNumber = adventure.socketNumber();
const nextSocketNumber = adventure.nextSocketNumber();
const lastSocketNumber = adventure.lastSocketNumber();

API

adventureClient([opts])

Creates Adventure Client

Options
  • debug: boolean - default is false,
  • handleError: function - optional,
  • handleMessage: function - optional,
  • maxReconnectAttempts: number - default is 3,
  • reconnect: boolean - default is false,
  • reconnectInterval: number - default is 5000ms,
  • reduxDispatcher: function - optional,
  • responseType: [json, text] - default is json,
  • url: string -> 'ws://localhost:3000' - required

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.