cabana/src/workers/message-parser.worker.js

26 lines
832 B
JavaScript
Raw Normal View History

var window = self;
2017-06-29 22:04:29 -06:00
require('core-js/fn/object/values');
2017-06-13 18:40:05 -06:00
import DBC from '../models/can/dbc';
import DbcUtils from '../utils/dbc';
function reparseEntry(entry, address, dbc, canStartTime, prevMsgEntry) {
2017-06-13 18:40:05 -06:00
const data = Buffer.from(entry.hexData, 'hex');
return DbcUtils.parseMessage(dbc, entry.time, address, data, canStartTime, prevMsgEntry);
2017-06-13 18:40:05 -06:00
}
self.onmessage = function(e) {
const {message, dbcText, canStartTime} = e.data;
const dbc = new DBC(dbcText);
for(var i = 0; i < message.entries.length; i++) {
const entry = message.entries[i];
const prevMsgEntry = i > 0 ? message.entries[i - 1] : null;
2017-06-13 18:40:05 -06:00
const {msgEntry} = reparseEntry(entry, message.address, dbc, canStartTime, prevMsgEntry);
message.entries[i] = msgEntry;
2017-06-13 18:40:05 -06:00
}
self.postMessage(message);
self.close();
}