https://github.com/mozilla/pdf.js/blob/0df1a5661958df0c4ed2f73b0f3266d825c5c280/src/display/api.js#L710-L719
The return type signature `@returns {Promise<{num: number, gen: number}>}` is mismatched with its definition. (should be `@returns {Promise<number>}`)
const worker = new Worker(workerSrc);
          const messageHandler = new MessageHandler("main", "worker", worker);
          const terminateEarly = () => {
            worker.removeEventListener("error", onWorkerError);
            messageHandler.destroy();
            worker.terminate();
            if (this.destroyed) {
              this._readyCapability.reject(new Error("Worker was destroyed"));
            } else {
              
              
              this._setupFakeWorker();
            }
          };
          const onWorkerError = () => {
            if (!this._webWorker) {
              
              
              terminateEarly();
            }
          };
          worker.addEventListener("error", onWorkerError);
          messageHandler.on("test", data => {
            worker.removeEventListener("error", onWorkerError);
            if (this.destroyed) {
              terminateEarly();
              return; 
            }
            if (data) {