49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
const { parentPort } = require('worker_threads');
|
|
|
|
const JembaDb = require('./JembaDb');
|
|
|
|
const db = new JembaDb();
|
|
|
|
if (parentPort) {
|
|
parentPort.on('message', async(mes) => {
|
|
let result = {};
|
|
try {
|
|
if (db[mes.action])
|
|
result.result = await db[mes.action](mes.query);
|
|
else
|
|
result = {error: 'Action not found: ' + mes.action};
|
|
} catch (e) {
|
|
result = {error: e.message};
|
|
}
|
|
|
|
result.requestId = mes.requestId;
|
|
parentPort.postMessage(result);
|
|
});
|
|
}
|
|
|
|
//This is for proper working of pkg (by zeit) and worker_threads
|
|
//just a copy of the above code as a string
|
|
module.exports = `
|
|
const { parentPort } = require('worker_threads');
|
|
|
|
const JembaDb = require('./JembaDb');
|
|
|
|
const db = new JembaDb();
|
|
|
|
if (parentPort) {
|
|
parentPort.on('message', async(mes) => {
|
|
let result = {};
|
|
try {
|
|
if (db[mes.action])
|
|
result.result = await db[mes.action](mes.query);
|
|
else
|
|
result = {error: 'Action not found: ' + mes.action};
|
|
} catch (e) {
|
|
result = {error: e.message};
|
|
}
|
|
|
|
result.requestId = mes.requestId;
|
|
parentPort.postMessage(result);
|
|
});
|
|
}
|
|
`.replace('./JembaDb', `${__dirname.replace(/\\/g, '/')}/JembaDb`); |