mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-28 22:37:54 -04:00 
			
		
		
		
	- 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);
 | |
|   };
 | |
| }
 |