reverse-parser.js 1.44 KB
"use strict";

function parseMessage(msg) {
    const splited = msg.split(',');

    return {
        namapel: _getNamaPel(splited),
        tarifdaya: _getTarifDaya(splited),
        tarif: _getTarif(splited),
        daya: _getDaya(splited),
        jumlahkwh: _getJumlahKwh(splited)
    }
}

function _getNamaPel(splited) {
    try {
        return splited[2];
    }
    catch(e) {
        console.trace('Exception on _getNamaPel:', e);
        return;
    }
}

function _getTarifDaya(splited) {
    try {
        let value = splited[5];

        if (value.indexOf('VA') < 0) {
            value += 'VA';
        }

        return value;
    }
    catch(e) {
        console.trace('Exception on _getTarifDaya:', e);
        return;
    }
}

function _getJumlahKwh(splited) {
    try {
        let value = splited[7];
        value = value.replace(/^kWh\s*/, '');
        return value;
    }
    catch(e) {
        console.trace('Exception on _getJumlahKwh:', e);
        return;
    }
}

function _getTarif(splited) {
    const tarifdaya = _getTarifDaya(splited);

    try {
        return tarifdaya.split('/')[0];
    }
    catch(e) {
        console.trace('Exception on _getTarif:', e);
        return;
    }
}

function _getDaya(splited) {
    const tarifdaya = _getTarifDaya(splited);

    try {
        return tarifdaya.split('/')[1];
    }
    catch(e) {
        console.trace('Exception on _getDaya:', e);
        return;
    }
}

exports.parseMessage = parseMessage;