34 lines
810 B
TypeScript
34 lines
810 B
TypeScript
import { closeLog, initLog } from '../../deps.ts';
|
|
import { DEBUG } from '../../flags.ts';
|
|
import { parseRoll } from './parser.ts';
|
|
import { loggingEnabled } from './rollUtils.ts';
|
|
|
|
loggingEnabled && initLog('logs/worker', DEBUG);
|
|
|
|
// Alert rollQueue that this worker is ready
|
|
self.postMessage('ready');
|
|
|
|
// Handle the roll
|
|
self.onmessage = async (e) => {
|
|
const payload = e.data;
|
|
const returnmsg = parseRoll(payload.rollCmd, payload.modifiers) || {
|
|
error: true,
|
|
errorCode: 'EmptyMessage',
|
|
errorMsg: 'Error: Empty message',
|
|
line1: '',
|
|
line2: '',
|
|
line3: '',
|
|
counts: {
|
|
total: 0,
|
|
successful: 0,
|
|
failed: 0,
|
|
rerolled: 0,
|
|
dropped: 0,
|
|
exploded: 0,
|
|
},
|
|
};
|
|
self.postMessage(returnmsg);
|
|
loggingEnabled && (await closeLog());
|
|
self.close();
|
|
};
|