Convert the code in src/core/worker.js to use ES6 classes

This removes one instance of `// eslint-disable-next-line no-shadow`, which our old pseudo-classes necessitated.

*Please note:* I'm purposely not doing any `var` to `let`/`const` conversion here, since it's generally better to (if possible) do that automatically on e.g. a directory basis instead.
This commit is contained in:
Jonas Jenwald 2020-06-16 11:44:33 +02:00
parent 6bb64da1c3
commit fb9b574f3d

View File

@ -37,39 +37,34 @@ import { MessageHandler } from "../shared/message_handler.js";
import { PDFWorkerStream } from "./worker_stream.js"; import { PDFWorkerStream } from "./worker_stream.js";
import { XRefParseException } from "./core_utils.js"; import { XRefParseException } from "./core_utils.js";
var WorkerTask = (function WorkerTaskClosure() { class WorkerTask {
// eslint-disable-next-line no-shadow constructor(name) {
function WorkerTask(name) {
this.name = name; this.name = name;
this.terminated = false; this.terminated = false;
this._capability = createPromiseCapability(); this._capability = createPromiseCapability();
} }
WorkerTask.prototype = {
get finished() { get finished() {
return this._capability.promise; return this._capability.promise;
}, }
finish() { finish() {
this._capability.resolve(); this._capability.resolve();
}, }
terminate() { terminate() {
this.terminated = true; this.terminated = true;
}, }
ensureNotTerminated() { ensureNotTerminated() {
if (this.terminated) { if (this.terminated) {
throw new Error("Worker task was terminated"); throw new Error("Worker task was terminated");
} }
}, }
}; }
return WorkerTask; class WorkerMessageHandler {
})(); static setup(handler, port) {
var WorkerMessageHandler = {
setup(handler, port) {
var testMessageProcessed = false; var testMessageProcessed = false;
handler.on("test", function wphSetupTest(data) { handler.on("test", function wphSetupTest(data) {
if (testMessageProcessed) { if (testMessageProcessed) {
@ -96,8 +91,9 @@ var WorkerMessageHandler = {
handler.on("GetDocRequest", function wphSetupDoc(data) { handler.on("GetDocRequest", function wphSetupDoc(data) {
return WorkerMessageHandler.createDocumentHandler(data, port); return WorkerMessageHandler.createDocumentHandler(data, port);
}); });
}, }
createDocumentHandler(docParams, port) {
static createDocumentHandler(docParams, port) {
// This context is actually holds references on pdfManager and handler, // This context is actually holds references on pdfManager and handler,
// until the latter is destroyed. // until the latter is destroyed.
var pdfManager; var pdfManager;
@ -662,13 +658,14 @@ var WorkerMessageHandler = {
docParams = null; // we don't need docParams anymore -- saving memory. docParams = null; // we don't need docParams anymore -- saving memory.
}); });
return workerHandlerName; return workerHandlerName;
}, }
initializeFromPort(port) {
static initializeFromPort(port) {
var handler = new MessageHandler("worker", "main", port); var handler = new MessageHandler("worker", "main", port);
WorkerMessageHandler.setup(handler, port); WorkerMessageHandler.setup(handler, port);
handler.send("ready", null); handler.send("ready", null);
}, }
}; }
function isMessagePort(maybePort) { function isMessagePort(maybePort) {
return ( return (