Now with Partition Management
    Have ideas to improve npm?Join in the discussion! »

    @braind/adventure

    0.2.6 • Public • Published

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

    Install

    npm i @braind/adventure

    DownloadsWeekly Downloads

    19

    Version

    0.2.6

    License

    MIT

    Last publish

    Collaborators

    • avatar