diff options
-rw-r--r-- | source/features/edit-comments-faster.tsx | 2 | ||||
-rw-r--r-- | source/features/embed-gist-via-iframe.tsx | 4 | ||||
-rw-r--r-- | source/features/pr-filters.tsx | 2 | ||||
-rw-r--r-- | source/features/reload-failed-proxied-images.tsx | 2 | ||||
-rw-r--r-- | source/features/split-issue-pr-search-results.tsx | 2 | ||||
-rw-r--r-- | source/globals.d.ts | 4 |
6 files changed, 10 insertions, 6 deletions
diff --git a/source/features/edit-comments-faster.tsx b/source/features/edit-comments-faster.tsx index aadac096..324d8d67 100644 --- a/source/features/edit-comments-faster.tsx +++ b/source/features/edit-comments-faster.tsx @@ -8,7 +8,7 @@ function init(): void { for (const item of menuItems) { item.classList.add('rgh-edit-comment'); - const button = item.cloneNode() as HTMLButtonElement; + const button = item.cloneNode(); button.append(pencilIcon()); button.classList.replace('dropdown-item', 'timeline-comment-action'); item.closest('details')!.before(button); diff --git a/source/features/embed-gist-via-iframe.tsx b/source/features/embed-gist-via-iframe.tsx index c2218838..1c252a3f 100644 --- a/source/features/embed-gist-via-iframe.tsx +++ b/source/features/embed-gist-via-iframe.tsx @@ -2,8 +2,8 @@ import select from 'select-dom'; import features from '../libs/features'; function init(): void { - const embedViaScript = select('.file-navigation-option [value^="<script"]')!; - const embedViaIframe = embedViaScript.cloneNode(true) as HTMLButtonElement; + const embedViaScript = select<HTMLButtonElement>('.file-navigation-option [value^="<script"]')!; + const embedViaIframe = embedViaScript.cloneNode(true); // Remove analytics attributes embedViaIframe.removeAttribute('data-hydro-click'); diff --git a/source/features/pr-filters.tsx b/source/features/pr-filters.tsx index 0992e93a..6a5df5e6 100644 --- a/source/features/pr-filters.tsx +++ b/source/features/pr-filters.tsx @@ -54,7 +54,7 @@ async function addStatusFilter(reviewsFilter: HTMLElement): Promise<void> { } // Copy existing element and adapt its content - const statusFilter = reviewsFilter.cloneNode(true) as HTMLDetailsElement; + const statusFilter = reviewsFilter.cloneNode(true); const dropdown = select('.select-menu-list', statusFilter)!; select('summary', statusFilter)!.textContent = 'Status\u00A0'; diff --git a/source/features/reload-failed-proxied-images.tsx b/source/features/reload-failed-proxied-images.tsx index 3f45648c..d7f11fd7 100644 --- a/source/features/reload-failed-proxied-images.tsx +++ b/source/features/reload-failed-proxied-images.tsx @@ -9,7 +9,7 @@ async function handleErroredImage({delegateTarget}: DelegateEvent<ErrorEvent, HT // A clone image retries downloading // `loadImage` awaits it // If successfully loaded, the failed image will be replaced. - delegateTarget.replaceWith(await loadImage(delegateTarget.cloneNode() as HTMLImageElement)); + delegateTarget.replaceWith(await loadImage(delegateTarget.cloneNode())); } catch {} } diff --git a/source/features/split-issue-pr-search-results.tsx b/source/features/split-issue-pr-search-results.tsx index df203f66..0f626908 100644 --- a/source/features/split-issue-pr-search-results.tsx +++ b/source/features/split-issue-pr-search-results.tsx @@ -40,7 +40,7 @@ function init(): void { <include-fragment src={createUrl('issue', location.pathname + '/count')} /> ); - const prLink = issueLink.cloneNode(true) as HTMLAnchorElement; + const prLink = issueLink.cloneNode(true); prLink.textContent = 'Pull requests'; prLink.href = createUrl('pr'); prLink.append( diff --git a/source/globals.d.ts b/source/globals.d.ts index 62188b67..e00f9431 100644 --- a/source/globals.d.ts +++ b/source/globals.d.ts @@ -66,3 +66,7 @@ interface HTMLFormControlsCollection { declare module '*.svg' { export default (): SVGElement => SVGElement; } + +interface Node extends EventTarget { + cloneNode(deep?: boolean): this; +} |