From e3564deefafca8231b78897ba4f20d85ce280d28 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 22 Mar 2026 11:10:15 +0100 Subject: [PATCH] Remove the internal `#ensureObj` method in the `PDFObjects` class With the introduction of `Map.prototype.getOrInsertComputed()` usage this method is no longer necessary, and the code can just be inlined instead. --- src/display/pdf_objects.js | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/display/pdf_objects.js b/src/display/pdf_objects.js index 5f8edd82c..7c54b01e4 100644 --- a/src/display/pdf_objects.js +++ b/src/display/pdf_objects.js @@ -28,16 +28,6 @@ const dataObj = () => ({ class PDFObjects { #objs = new Map(); - /** - * Ensures there is an object defined for `objId`. - * - * @param {string} objId - * @returns {Object} - */ - #ensureObj(objId) { - return this.#objs.getOrInsertComputed(objId, dataObj); - } - /** * If called *without* callback, this returns the data of `objId` but the * object needs to be resolved. If it isn't, this method throws. @@ -54,7 +44,7 @@ class PDFObjects { // If there is a callback, then the get can be async and the object is // not required to be resolved right now. if (callback) { - const obj = this.#ensureObj(objId); + const obj = this.#objs.getOrInsertComputed(objId, dataObj); obj.promise.then(() => callback(obj.data)); return null; } @@ -99,7 +89,7 @@ class PDFObjects { * @param {any} [data] */ resolve(objId, data = null) { - const obj = this.#ensureObj(objId); + const obj = this.#objs.getOrInsertComputed(objId, dataObj); if (obj.data !== INITIAL_DATA) { throw new Error(`Object already resolved ${objId}.`); }