redis-smq-common
Version:
Provides essential components and utilities shared across RedisSMQ packages.
33 lines • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.postMessage = postMessage;
exports.exit = exit;
const worker_threads_1 = require("worker_threads");
const index_js_1 = require("../types/index.js");
function formatErrorMessage(code, err) {
const error = err && err instanceof Error
? { name: err.name, message: err.message }
: null;
return {
code,
error,
};
}
function formatOKMessage(data) {
return {
code: index_js_1.EWorkerThreadChildExecutionCode.OK,
data,
};
}
function postMessage(messagePort, code, err, data) {
const msg = code === index_js_1.EWorkerThreadChildExecutionCode.OK
? formatOKMessage(data)
: formatErrorMessage(code, err);
messagePort.postMessage(msg);
}
function exit(code, err) {
if (worker_threads_1.parentPort)
postMessage(worker_threads_1.parentPort, code, err);
process.exit(code);
}
//# sourceMappingURL=worker-thread-message.js.map