From 00aa9811e6cfb6a6200d2dc5b2e81eef4a5f033e Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 3 Jan 2022 13:57:53 +0100 Subject: [PATCH] Convert the `pagesRefCache`, on `PDFLinkService`, from an Object to a Map This seems like a more appropriate data structure, and as part of these changes the property was also converted to a *private* one. --- web/pdf_link_service.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/web/pdf_link_service.js b/web/pdf_link_service.js index 846bbd669..0913993de 100644 --- a/web/pdf_link_service.js +++ b/web/pdf_link_service.js @@ -103,6 +103,8 @@ function addLinkAttributes(link, { url, target, rel, enabled = true } = {}) { * @implements {IPDFLinkService} */ class PDFLinkService { + #pagesRefCache = new Map(); + /** * @param {PDFLinkServiceOptions} options */ @@ -122,14 +124,12 @@ class PDFLinkService { this.pdfDocument = null; this.pdfViewer = null; this.pdfHistory = null; - - this._pagesRefCache = null; } setDocument(pdfDocument, baseUrl = null) { this.baseUrl = baseUrl; this.pdfDocument = pdfDocument; - this._pagesRefCache = Object.create(null); + this.#pagesRefCache.clear(); } setViewer(pdfViewer) { @@ -505,7 +505,7 @@ class PDFLinkService { } const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`; - this._pagesRefCache[refStr] = pageNum; + this.#pagesRefCache.set(refStr, pageNum); } /** @@ -517,7 +517,7 @@ class PDFLinkService { } const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`; - return this._pagesRefCache?.[refStr] || null; + return this.#pagesRefCache.get(refStr) || null; } /**