Reduce use of explicit any type (#274723) (#279751)

This commit is contained in:
Benjamin Pasero
2025-11-27 09:56:44 +01:00
committed by GitHub
parent 6f702802e6
commit a2ad562e64
8 changed files with 21 additions and 29 deletions

View File

@@ -440,7 +440,6 @@ export default tseslint.config(
'src/vs/base/common/observableInternal/logging/debugger/rpc.ts',
'src/vs/base/test/browser/ui/grid/util.ts',
// Platform
'src/vs/platform/browserElements/electron-main/nativeBrowserElementsMainService.ts',
'src/vs/platform/commands/common/commands.ts',
'src/vs/platform/contextkey/browser/contextKeyService.ts',
'src/vs/platform/contextkey/common/contextkey.ts',
@@ -448,7 +447,6 @@ export default tseslint.config(
'src/vs/platform/debug/common/extensionHostDebugIpc.ts',
'src/vs/platform/debug/electron-main/extensionHostDebugIpc.ts',
'src/vs/platform/diagnostics/common/diagnostics.ts',
'src/vs/platform/diagnostics/node/diagnosticsService.ts',
'src/vs/platform/download/common/downloadIpc.ts',
'src/vs/platform/extensions/common/extensions.ts',
'src/vs/platform/instantiation/common/descriptors.ts',
@@ -619,7 +617,6 @@ export default tseslint.config(
'src/vs/workbench/contrib/chat/browser/chatSessions/view/sessionsTreeRenderer.ts',
'src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.ts',
'src/vs/workbench/contrib/chat/common/chatModel.ts',
'src/vs/workbench/contrib/chat/common/chatModes.ts',
'src/vs/workbench/contrib/chat/common/chatService.ts',
'src/vs/workbench/contrib/chat/common/chatServiceImpl.ts',
'src/vs/workbench/contrib/chat/common/chatSessionsService.ts',
@@ -680,7 +677,6 @@ export default tseslint.config(
'src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.ts',
'src/vs/workbench/contrib/markdown/browser/markdownSettingRenderer.ts',
'src/vs/workbench/contrib/markers/browser/markers.contribution.ts',
'src/vs/workbench/contrib/markers/browser/markersTable.ts',
'src/vs/workbench/contrib/markers/browser/markersView.ts',
'src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts',
'src/vs/workbench/contrib/mergeEditor/browser/utils.ts',
@@ -714,7 +710,6 @@ export default tseslint.config(
'src/vs/workbench/contrib/notebook/common/model/notebookTextModel.ts',
'src/vs/workbench/contrib/notebook/common/notebookCommon.ts',
'src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverServiceImpl.ts',
'src/vs/workbench/contrib/notebook/common/notebookRange.ts',
'src/vs/workbench/contrib/notebook/test/browser/testNotebookEditor.ts',
'src/vs/workbench/contrib/performance/electron-browser/startupProfiler.ts',
'src/vs/workbench/contrib/preferences/browser/preferences.contribution.ts',
@@ -745,8 +740,6 @@ export default tseslint.config(
'src/vs/workbench/contrib/search/browser/searchTreeModel/searchTreeCommon.ts',
'src/vs/workbench/contrib/search/browser/searchTreeModel/textSearchHeading.ts',
'src/vs/workbench/contrib/search/browser/searchView.ts',
'src/vs/workbench/contrib/search/browser/searchWidget.ts',
'src/vs/workbench/contrib/search/common/cacheState.ts',
'src/vs/workbench/contrib/search/test/browser/mockSearchTree.ts',
'src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.ts',
'src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.ts',

View File

@@ -39,7 +39,7 @@ export class NativeBrowserElementsMainService extends Disposable implements INat
get windowId(): never { throw new Error('Not implemented in electron-main'); }
async findWebviewTarget(debuggers: any, windowId: number, browserType: BrowserType): Promise<string | undefined> {
async findWebviewTarget(debuggers: Electron.Debugger, windowId: number, browserType: BrowserType): Promise<string | undefined> {
const { targetInfos } = await debuggers.sendCommand('Target.getTargets');
let target: typeof targetInfos[number] | undefined = undefined;
const matchingTarget = targetInfos.find((targetInfo: { url: string }) => {
@@ -104,7 +104,7 @@ export class NativeBrowserElementsMainService extends Disposable implements INat
return target.targetId;
}
async waitForWebviewTargets(debuggers: any, windowId: number, browserType: BrowserType): Promise<any> {
async waitForWebviewTargets(debuggers: Electron.Debugger, windowId: number, browserType: BrowserType): Promise<string | undefined> {
const start = Date.now();
const timeout = 10000;
@@ -172,7 +172,7 @@ export class NativeBrowserElementsMainService extends Disposable implements INat
});
}
async finishOverlay(debuggers: any, sessionId: string | undefined): Promise<void> {
async finishOverlay(debuggers: Electron.Debugger, sessionId: string | undefined): Promise<void> {
if (debuggers.isAttached() && sessionId) {
await debuggers.sendCommand('Overlay.setInspectMode', {
mode: 'none',
@@ -340,9 +340,9 @@ export class NativeBrowserElementsMainService extends Disposable implements INat
return { outerHTML: nodeData.outerHTML, computedStyle: nodeData.computedStyle, bounds: scaledBounds };
}
async getNodeData(sessionId: string, debuggers: any, window: BrowserWindow, cancellationId?: number): Promise<NodeDataResponse> {
async getNodeData(sessionId: string, debuggers: Electron.Debugger, window: BrowserWindow, cancellationId?: number): Promise<NodeDataResponse> {
return new Promise((resolve, reject) => {
const onMessage = async (event: any, method: string, params: { backendNodeId: number }) => {
const onMessage = async (event: Electron.Event, method: string, params: { backendNodeId: number }) => {
if (method === 'Overlay.inspectNodeRequested') {
debuggers.off('message', onMessage);
await debuggers.sendCommand('Runtime.evaluate', {
@@ -416,7 +416,7 @@ export class NativeBrowserElementsMainService extends Disposable implements INat
});
}
formatMatchedStyles(matched: any): string {
formatMatchedStyles(matched: { inlineStyle?: { cssProperties?: Array<{ name: string; value: string }> }; matchedCSSRules?: Array<{ rule: { selectorList: { selectors: Array<{ text: string }> }; origin: string; style: { cssProperties: Array<{ name: string; value: string }> } } }>; inherited?: Array<{ matchedCSSRules?: Array<{ rule: { selectorList: { selectors: Array<{ text: string }> }; origin: string; style: { cssProperties: Array<{ name: string; value: string }> } } }> }> }): string {
const lines: string[] = [];
// inline
@@ -435,7 +435,7 @@ export class NativeBrowserElementsMainService extends Disposable implements INat
if (matched.matchedCSSRules?.length) {
for (const ruleEntry of matched.matchedCSSRules) {
const rule = ruleEntry.rule;
const selectors = rule.selectorList.selectors.map((s: any) => s.text).join(', ');
const selectors = rule.selectorList.selectors.map(s => s.text).join(', ');
lines.push(`/* Matched Rule from ${rule.origin} */`);
lines.push(`${selectors} {`);
for (const prop of rule.style.cssProperties) {
@@ -454,7 +454,7 @@ export class NativeBrowserElementsMainService extends Disposable implements INat
const rules = inherited.matchedCSSRules || [];
for (const ruleEntry of rules) {
const rule = ruleEntry.rule;
const selectors = rule.selectorList.selectors.map((s: any) => s.text).join(', ');
const selectors = rule.selectorList.selectors.map(s => s.text).join(', ');
lines.push(`/* Inherited from ancestor level ${level} (${rule.origin}) */`);
lines.push(`${selectors} {`);
for (const prop of rule.style.cssProperties) {

View File

@@ -431,7 +431,7 @@ export class DiagnosticsService implements IDiagnosticsService {
return output.join('\n');
}
private expandGPUFeatures(gpuFeatures: any): string {
private expandGPUFeatures(gpuFeatures: Record<string, string>): string {
const longestFeatureName = Math.max(...Object.keys(gpuFeatures).map(feature => feature.length));
// Make columns aligned by adding spaces after feature name
return Object.keys(gpuFeatures).map(feature => `${feature}: ${' '.repeat(longestFeatureName - feature.length)} ${gpuFeatures[feature]}`).join('\n ');

View File

@@ -99,7 +99,7 @@ export class ChatModeService extends Disposable implements IChatModeService {
}
}
private deserializeCachedModes(cachedCustomModes: any): void {
private deserializeCachedModes(cachedCustomModes: unknown): void {
if (!Array.isArray(cachedCustomModes)) {
this.logService.error('Invalid cached custom modes data: expected array');
return;

View File

@@ -252,12 +252,12 @@ class MarkerSourceColumnRenderer implements ITableRenderer<MarkerTableItem, IMar
}
}
class MarkersTableVirtualDelegate implements ITableVirtualDelegate<any> {
class MarkersTableVirtualDelegate implements ITableVirtualDelegate<MarkerTableItem> {
static readonly HEADER_ROW_HEIGHT = 24;
static readonly ROW_HEIGHT = 24;
readonly headerRowHeight = MarkersTableVirtualDelegate.HEADER_ROW_HEIGHT;
getHeight(item: any) {
getHeight(item: MarkerTableItem) {
return MarkersTableVirtualDelegate.ROW_HEIGHT;
}
}
@@ -341,8 +341,7 @@ export class MarkersTable extends Disposable implements IProblemsWidget {
// mouseover/mouseleave event handlers
const onRowHover = Event.chain(this._register(new DomEmitter(list, 'mouseover')).event, $ =>
$.map(e => DOM.findParentWithClass(e.target as HTMLElement, 'monaco-list-row', 'monaco-list-rows'))
// eslint-disable-next-line local/code-no-any-casts
.filter<HTMLElement>(((e: HTMLElement | null) => !!e) as any)
.filter<HTMLElement>(e => !!e)
.map(e => parseInt(e.getAttribute('data-index')!))
);

View File

@@ -19,12 +19,12 @@ export interface ICellRange {
}
export function isICellRange(candidate: any): candidate is ICellRange {
export function isICellRange(candidate: unknown): candidate is ICellRange {
if (!candidate || typeof candidate !== 'object') {
return false;
}
return typeof (<ICellRange>candidate).start === 'number'
&& typeof (<ICellRange>candidate).end === 'number';
return typeof (candidate as ICellRange).start === 'number'
&& typeof (candidate as ICellRange).end === 'number';
}
export function cellIndexesToRanges(indexes: number[]) {

View File

@@ -84,11 +84,11 @@ class ReplaceAllAction extends Action {
this._searchWidget = searchWidget;
}
override run(): Promise<any> {
override run(): Promise<void> {
if (this._searchWidget) {
return this._searchWidget.triggerReplaceAll();
}
return Promise.resolve(null);
return Promise.resolve();
}
}
@@ -548,9 +548,9 @@ export class SearchWidget extends Widget {
this._register(this.replaceInput.onPreserveCaseKeyDown((keyboardEvent: IKeyboardEvent) => this.onPreserveCaseKeyDown(keyboardEvent)));
}
triggerReplaceAll(): Promise<any> {
triggerReplaceAll(): Promise<void> {
this._onReplaceAll.fire();
return Promise.resolve(null);
return Promise.resolve();
}
private onToggleReplaceButton(): void {

View File

@@ -45,7 +45,7 @@ export class FileQueryCacheState {
constructor(
private cacheQuery: (cacheKey: string) => IFileQuery,
private loadFn: (query: IFileQuery) => Promise<any>,
private loadFn: (query: IFileQuery) => Promise<unknown>,
private disposeFn: (cacheKey: string) => Promise<void>,
private previousCacheState: FileQueryCacheState | undefined
) {