Skip to main content

JavaScript Wrapper Library

There is a JavaScript ES6 wrapper library that can be imported and contains a class that can be used to simplify the communication.

For access this reach out on [email protected]

Class

Constructor

serverURL, type, clientVersion, currentSystem, ssl = false, logger = console

Methods

setSystem(string)

close()

send(object)

makeHeader(): object

connect(string)

Events

open

close

error: error

message: header, payload, event

disconnect

ping

Examples

An example of the libary being imported and used when it is in the /modles/ subdirectory is as follows:

import _ServerSocket from './modules/serverSocket.js';

const serverURL = '127.0.0.1';
const APIVersion = '1.0.0';
const systemName = 'Demo';
const isSSL = false;
const type = 'Browser';

const Server = new _ServerSocket(serverURL, type, APIVersion, systemName, isSSL);

Server.addEventListener('message', event => {
    const [header, payload] = event.detail;
    socketDoMessage(header, payload);
});
Server.addEventListener('open', event => {
    Server.send({
        'command':'register',
        'subscribe': ['flows', 'network', 'system', 'prompt']
    });
    document.getElementById('disconnected').classList.add('hidden');
});
Server.addEventListener('close', ()=>{
    const _logs = document.getElementById('logs');
    _logs.innerHTML = '<div class="logDisconnect">Disconnected</div>' + _logs.innerHTML;
    document.getElementById('disconnected').classList.remove('hidden')
});

function socketDoMessage(header, payload) {
    switch (payload.module) {
        case 'flows':
            doFlows(payload);
            break;
        case 'network':
            doNetwork(payload);
            break;
        case 'prompt':
            doPropmt(payload);
            break;
        case 'playback':
            doPlayback(payload);
            break;
        case 'system':
            doSystem(payload);
            break;
        default:
            break;
    }
}

function doFlows(payload) {
    //doStuff
}

function doNetwork(payload) {
    //doStuff
}

function doPropmt(payload) {
    //doStuff
}

function doPlayback(payload) {
    //doStuff
}

function doSystem(payload) {
    //doStuff
}