From f84f2646f4928b3d45acd73759b3dc8661e140dd Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Thu, 31 Aug 2023 12:01:33 +0200 Subject: [PATCH] Fix JSDoc types This fixes invalid type references (either due to invalid paths for the import or missing imports) in the JS doc, as well as some missing or invalid parameter names for @param annotations. --- src/display/annotation_layer.js | 5 ++++- src/display/editor/annotation_editor_layer.js | 6 +++--- src/display/editor/editor.js | 4 ++-- src/display/editor/ink.js | 2 +- src/display/editor/tools.js | 2 +- src/display/transport_stream.js | 5 +++++ src/display/xfa_layer.js | 2 ++ src/display/xfa_text.js | 2 ++ web/annotation_layer_builder.js | 4 +++- web/pdf_page_view.js | 2 +- web/pdf_thumbnail_view.js | 4 ++++ web/pdf_thumbnail_viewer.js | 1 + web/pdf_viewer.js | 4 ++++ web/ui_utils.js | 6 +++--- web/xfa_layer_builder.js | 2 ++ 15 files changed, 38 insertions(+), 13 deletions(-) diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index ba9cfb997..cecfdd540 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -15,7 +15,10 @@ /** @typedef {import("./api").PDFPageProxy} PDFPageProxy */ /** @typedef {import("./display_utils").PageViewport} PageViewport */ -/** @typedef {import("./interfaces").IDownloadManager} IDownloadManager */ +// eslint-disable-next-line max-len +/** @typedef {import("../../web/text_accessibility.js").TextAccessibilityManager} TextAccessibilityManager */ +// eslint-disable-next-line max-len +/** @typedef {import("../../web/interfaces").IDownloadManager} IDownloadManager */ /** @typedef {import("../../web/interfaces").IPDFLinkService} IPDFLinkService */ import { diff --git a/src/display/editor/annotation_editor_layer.js b/src/display/editor/annotation_editor_layer.js index c25b4a0a5..72faafc4c 100644 --- a/src/display/editor/annotation_editor_layer.js +++ b/src/display/editor/annotation_editor_layer.js @@ -17,10 +17,10 @@ /** @typedef {import("./tools.js").AnnotationEditorUIManager} AnnotationEditorUIManager */ /** @typedef {import("../display_utils.js").PageViewport} PageViewport */ // eslint-disable-next-line max-len -/** @typedef {import("../../web/text_accessibility.js").TextAccessibilityManager} TextAccessibilityManager */ -/** @typedef {import("../../web/interfaces").IL10n} IL10n */ +/** @typedef {import("../../../web/text_accessibility.js").TextAccessibilityManager} TextAccessibilityManager */ +/** @typedef {import("../../../web/interfaces").IL10n} IL10n */ // eslint-disable-next-line max-len -/** @typedef {import("../src/display/annotation_layer.js").AnnotationLayer} AnnotationLayer */ +/** @typedef {import("../annotation_layer.js").AnnotationLayer} AnnotationLayer */ import { AnnotationEditorType, FeatureTest } from "../../shared/util.js"; import { AnnotationEditor } from "./editor.js"; diff --git a/src/display/editor/editor.js b/src/display/editor/editor.js index 55d531c52..2b4b61bdf 100644 --- a/src/display/editor/editor.js +++ b/src/display/editor/editor.js @@ -146,7 +146,7 @@ class AnnotationEditor { * @param {string} mime * @returns {boolean} */ - static isHandlingMimeForPasting(_mime) { + static isHandlingMimeForPasting(mime) { return false; } @@ -998,7 +998,7 @@ class AnnotationEditor { * @param {boolean} isForCopying * @param {Object} [context] */ - serialize(_isForCopying = false, _context = null) { + serialize(isForCopying = false, context = null) { unreachable("An editor must be serializable"); } diff --git a/src/display/editor/ink.js b/src/display/editor/ink.js index cd73b5309..f4858eabb 100644 --- a/src/display/editor/ink.js +++ b/src/display/editor/ink.js @@ -891,7 +891,7 @@ class InkEditor extends AnnotationEditor { /** * Convert into a Path2D. - * @param {Arra} bezier + * @param {Array>} bezier * @returns {Path2D} */ static #buildPath2D(bezier) { diff --git a/src/display/editor/tools.js b/src/display/editor/tools.js index f0e3ade4e..ec1bdf343 100644 --- a/src/display/editor/tools.js +++ b/src/display/editor/tools.js @@ -418,7 +418,7 @@ class KeyboardManager { /** * Execute a callback, if any, for a given keyboard event. * The self is used as `this` in the callback. - * @param {Object} self. + * @param {Object} self * @param {KeyboardEvent} event * @returns */ diff --git a/src/display/transport_stream.js b/src/display/transport_stream.js index 9a634c3af..3bedfaefd 100644 --- a/src/display/transport_stream.js +++ b/src/display/transport_stream.js @@ -13,6 +13,11 @@ * limitations under the License. */ +/** @typedef {import("../interfaces").IPDFStream} IPDFStream */ +/** @typedef {import("../interfaces").IPDFStreamReader} IPDFStreamReader */ +// eslint-disable-next-line max-len +/** @typedef {import("../interfaces").IPDFStreamRangeReader} IPDFStreamRangeReader */ + import { assert, PromiseCapability } from "../shared/util.js"; import { isPdfFile } from "./display_utils.js"; diff --git a/src/display/xfa_layer.js b/src/display/xfa_layer.js index b5c94327f..802634844 100644 --- a/src/display/xfa_layer.js +++ b/src/display/xfa_layer.js @@ -13,6 +13,8 @@ * limitations under the License. */ +// eslint-disable-next-line max-len +/** @typedef {import("./annotation_storage").AnnotationStorage} AnnotationStorage */ /** @typedef {import("./display_utils").PageViewport} PageViewport */ /** @typedef {import("../../web/interfaces").IPDFLinkService} IPDFLinkService */ diff --git a/src/display/xfa_text.js b/src/display/xfa_text.js index 9bdeeee5a..0241b24d8 100644 --- a/src/display/xfa_text.js +++ b/src/display/xfa_text.js @@ -13,6 +13,8 @@ * limitations under the License. */ +/** @typedef {import("./api").TextContent} TextContent */ + class XfaText { /** * Walk an XFA tree and create an array of text nodes that is compatible diff --git a/web/annotation_layer_builder.js b/web/annotation_layer_builder.js index b653a6b0d..43a4fc783 100644 --- a/web/annotation_layer_builder.js +++ b/web/annotation_layer_builder.js @@ -16,11 +16,13 @@ /** @typedef {import("../src/display/api").PDFPageProxy} PDFPageProxy */ // eslint-disable-next-line max-len /** @typedef {import("../src/display/display_utils").PageViewport} PageViewport */ +// eslint-disable-next-line max-len +/** @typedef {import("../src/display/annotation_storage").AnnotationStorage} AnnotationStorage */ /** @typedef {import("./interfaces").IDownloadManager} IDownloadManager */ /** @typedef {import("./interfaces").IL10n} IL10n */ /** @typedef {import("./interfaces").IPDFLinkService} IPDFLinkService */ // eslint-disable-next-line max-len -/** @typedef {import("./textaccessibility.js").TextAccessibilityManager} TextAccessibilityManager */ +/** @typedef {import("./text_accessibility.js").TextAccessibilityManager} TextAccessibilityManager */ import { AnnotationLayer } from "pdfjs-lib"; import { NullL10n } from "./l10n_utils.js"; diff --git a/web/pdf_page_view.js b/web/pdf_page_view.js index 8838422d3..9690a5d6d 100644 --- a/web/pdf_page_view.js +++ b/web/pdf_page_view.js @@ -548,7 +548,7 @@ class PDFPageView { /** * Update e.g. the scale and/or rotation of the page. - * @param {PDFPageViewUpdateParameters} + * @param {PDFPageViewUpdateParameters} params */ update({ scale = 0, diff --git a/web/pdf_thumbnail_view.js b/web/pdf_thumbnail_view.js index 9e2d7017b..345c65d6f 100644 --- a/web/pdf_thumbnail_view.js +++ b/web/pdf_thumbnail_view.js @@ -13,6 +13,10 @@ * limitations under the License. */ +// eslint-disable-next-line max-len +/** @typedef {import("../src/display/optional_content_config").OptionalContentConfig} OptionalContentConfig */ +// eslint-disable-next-line max-len +/** @typedef {import("../src/display/display_utils").PageViewport} PageViewport */ /** @typedef {import("./event_utils").EventBus} EventBus */ /** @typedef {import("./interfaces").IL10n} IL10n */ /** @typedef {import("./interfaces").IPDFLinkService} IPDFLinkService */ diff --git a/web/pdf_thumbnail_viewer.js b/web/pdf_thumbnail_viewer.js index c5fc4395c..a53b8ca08 100644 --- a/web/pdf_thumbnail_viewer.js +++ b/web/pdf_thumbnail_viewer.js @@ -14,6 +14,7 @@ */ /** @typedef {import("../src/display/api").PDFDocumentProxy} PDFDocumentProxy */ +/** @typedef {import("../src/display/api").PDFPageProxy} PDFPageProxy */ /** @typedef {import("./event_utils").EventBus} EventBus */ /** @typedef {import("./interfaces").IL10n} IL10n */ /** @typedef {import("./interfaces").IPDFLinkService} IPDFLinkService */ diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index 67b5e00d3..3161e4445 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -23,6 +23,10 @@ /** @typedef {import("./interfaces").IDownloadManager} IDownloadManager */ /** @typedef {import("./interfaces").IL10n} IL10n */ /** @typedef {import("./interfaces").IPDFLinkService} IPDFLinkService */ +// eslint-disable-next-line max-len +/** @typedef {import("./pdf_find_controller").PDFFindController} PDFFindController */ +// eslint-disable-next-line max-len +/** @typedef {import("./pdf_scripting_manager").PDFScriptingManager} PDFScriptingManager */ import { AnnotationEditorType, diff --git a/web/ui_utils.js b/web/ui_utils.js index e0f4e979b..c03d23d15 100644 --- a/web/ui_utils.js +++ b/web/ui_utils.js @@ -195,7 +195,7 @@ function watchScroll(viewAreaElement, callback) { /** * Helper function to parse query string (e.g. ?param1=value¶m2=...). - * @param {string} + * @param {string} query * @returns {Map} */ function parseQueryString(query) { @@ -461,7 +461,7 @@ function backtrackBeforeAllVisibleElements(index, views, top) { * rendering canvas. Earlier and later refer to index in `views`, not page * layout.) * - * @param {GetVisibleElementsParameters} + * @param {GetVisibleElementsParameters} params * @returns {Object} `{ first, last, views: [{ id, x, y, view, percent }] }` */ function getVisibleElements({ @@ -791,7 +791,7 @@ function getActiveOrFocusedElement() { /** * Converts API PageLayout values to the format used by `BaseViewer`. - * @param {string} mode - The API PageLayout value. + * @param {string} layout - The API PageLayout value. * @returns {Object} */ function apiPageLayoutToViewerModes(layout) { diff --git a/web/xfa_layer_builder.js b/web/xfa_layer_builder.js index 719c482f7..b3f94afba 100644 --- a/web/xfa_layer_builder.js +++ b/web/xfa_layer_builder.js @@ -15,6 +15,8 @@ /** @typedef {import("../src/display/api").PDFPageProxy} PDFPageProxy */ // eslint-disable-next-line max-len +/** @typedef {import("../src/display/annotation_storage").AnnotationStorage} AnnotationStorage */ +// eslint-disable-next-line max-len /** @typedef {import("../src/display/display_utils").PageViewport} PageViewport */ /** @typedef {import("./interfaces").IPDFLinkService} IPDFLinkService */