const { Soup } = imports.gi;
const ByteArray = imports.byteArray;
const Debug = imports.clapper_src.debug;

const { debug } = Debug;

function parseData(dataType, bytes)
{
    if(dataType !== Soup.WebsocketDataType.TEXT) {
        debug('ignoring non-text WebSocket message');
        return [false];
    }

    let parsedMsg = null;
    const msg = bytes.get_data();

    try {
        parsedMsg = JSON.parse(ByteArray.toString(msg));
    }
    catch(err) {
        debug(err);
    }

    if(!parsedMsg || !parsedMsg.action) {
        debug('no "action" in parsed WebSocket message');
        return [false];
    }

    return [true, parsedMsg];
}
