@giancosta86/omnicourse
Version:
Interactive, React-based drill-down analysis of your learning experience
34 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTaxonomyReifierFromWorker = void 0;
const uuid_1 = require("uuid");
function createTaxonomyReifierFromWorker(taxonomyWorker) {
return function (taxonomyName, rawTaxonomy) {
return new Promise((resolve, reject) => {
const correlationId = (0, uuid_1.v4)();
const eventHandler = (event) => {
const responseMessage = event.data;
if (responseMessage.correlationId != correlationId) {
return;
}
taxonomyWorker.removeEventListener("message", eventHandler);
switch (responseMessage.type) {
case "taxonomyReady":
return resolve(responseMessage.taxonomy);
case "taxonomyError":
return reject(responseMessage.errorMessage);
}
};
taxonomyWorker.addEventListener("message", eventHandler);
const requestMessage = {
type: "computeTaxonomy",
correlationId,
taxonomyName,
rawTaxonomy
};
taxonomyWorker.postMessage(requestMessage);
});
};
}
exports.createTaxonomyReifierFromWorker = createTaxonomyReifierFromWorker;
//# sourceMappingURL=reifier.js.map