0.2.6 • Published 7 years ago

@braind/adventure v0.2.6

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

Adventure npm Code Climate gzip size

Simple WebSocket client with dead-simple Redux integration

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: [boolean] default is false,
  handleError: [function] optional,
  handleMessage: [function] optional,
  maxReconectAttempts: [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
});

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();
0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.1.0

7 years ago