mirror of
https://github.com/go-gitea/gitea
synced 2024-12-22 16:44:26 +00:00
8107823026
- 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.
19 lines
716 B
TypeScript
19 lines
716 B
TypeScript
try {
|
|
// some browsers like PaleMoon don't have full support for Intl.NumberFormat, so do the minimum polyfill to support "relative-time-element"
|
|
// https://repo.palemoon.org/MoonchildProductions/UXP/issues/2289
|
|
new Intl.NumberFormat('en', {style: 'unit', unit: 'minute'}).format(1);
|
|
} catch {
|
|
const intlNumberFormat = Intl.NumberFormat;
|
|
// @ts-expect-error - polyfill is incomplete
|
|
Intl.NumberFormat = function(locales: string | string[], options: Intl.NumberFormatOptions) {
|
|
if (options.style === 'unit') {
|
|
return {
|
|
format(value: number | bigint | string) {
|
|
return ` ${value} ${options.unit}`;
|
|
},
|
|
};
|
|
}
|
|
return intlNumberFormat(locales, options);
|
|
};
|
|
}
|