Fix a number of typescript issues (#32308)

- Prefer
[window.location.assign](https://developer.mozilla.org/en-US/docs/Web/API/Location/assign)
over assigning to
[window.location](https://developer.mozilla.org/en-US/docs/Web/API/Window/location)
which typescript does not like. This works in all browsers including
PaleMoon.
- Fix all typescript issues in `web_src/js/webcomponents`, no behaviour
changes.
- ~~Workaround bug in `@typescript-eslint/no-unnecessary-type-assertion`
rule.~~
- Omit vendored file from type checks.
- `tsc` error count is reduce by 53 with these changes.
This commit is contained in:
silverwind 2024-10-31 15:57:40 +01:00 committed by GitHub
parent 5e6523aa57
commit 8107823026
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 36 additions and 26 deletions

View file

@ -4,10 +4,11 @@ try {
new Intl.NumberFormat('en', {style: 'unit', unit: 'minute'}).format(1);
} catch {
const intlNumberFormat = Intl.NumberFormat;
Intl.NumberFormat = function(locales, options) {
// @ts-expect-error - polyfill is incomplete
Intl.NumberFormat = function(locales: string | string[], options: Intl.NumberFormatOptions) {
if (options.style === 'unit') {
return {
format(value) {
format(value: number | bigint | string) {
return ` ${value} ${options.unit}`;
},
};