mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-19 14:49:48 +01:00
Apply recent learnings about array filter (#161233)
This commit is contained in:
@@ -100,7 +100,10 @@ export class ExtHostTreeViews implements ExtHostTreeViewsShape {
|
||||
get onDidChangeSelection() { return treeView.onDidChangeSelection; },
|
||||
get visible() { return treeView.visible; },
|
||||
get onDidChangeVisibility() { return treeView.onDidChangeVisibility; },
|
||||
get onDidChangeCheckboxState() { checkProposedApiEnabled(extension, 'treeItemCheckbox'); return treeView.onDidChangeCheckboxState; },
|
||||
get onDidChangeCheckboxState() {
|
||||
checkProposedApiEnabled(extension, 'treeItemCheckbox');
|
||||
return treeView.onDidChangeCheckboxState;
|
||||
},
|
||||
get message() { return treeView.message; },
|
||||
set message(message: string) {
|
||||
treeView.message = message;
|
||||
@@ -488,6 +491,7 @@ class ExtHostTreeView<T> extends Disposable {
|
||||
}
|
||||
|
||||
async setCheckboxState(checkboxUpdates: CheckboxUpdate[]) {
|
||||
type CheckboxUpdateWithItem = { extensionItem: NonNullable<T>; treeItem: vscode.TreeItem2; newState: TreeItemCheckboxState };
|
||||
const items = (await Promise.all(checkboxUpdates.map(async checkboxUpdate => {
|
||||
const extensionItem = this.getExtensionElement(checkboxUpdate.treeItemHandle);
|
||||
if (extensionItem) {
|
||||
@@ -498,7 +502,7 @@ class ExtHostTreeView<T> extends Disposable {
|
||||
};
|
||||
}
|
||||
return Promise.resolve(undefined);
|
||||
}))).filter((item) => item !== undefined) as { extensionItem: T; treeItem: vscode.TreeItem2; newState: TreeItemCheckboxState }[];
|
||||
}))).filter<CheckboxUpdateWithItem>((item): item is CheckboxUpdateWithItem => item !== undefined);
|
||||
|
||||
items.forEach(item => {
|
||||
item.treeItem.checkboxState = item.newState ? TreeItemCheckboxState.Checked : TreeItemCheckboxState.Unchecked;
|
||||
|
||||
Reference in New Issue
Block a user