Skip to content

Commit a47886c

Browse files
committed
fix build
1 parent e0cdfa5 commit a47886c

5 files changed

Lines changed: 33 additions & 4 deletions

File tree

src/vs/base/browser/ui/tree/abstractTree.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { KeyCode } from 'vs/base/common/keyCodes';
1414
import { ITreeModel, ITreeNode, ITreeRenderer, ITreeEvent, ITreeMouseEvent, ITreeContextMenuEvent, ITreeFilter, ITreeNavigator, ICollapseStateChangeEvent, ITreeDragAndDrop, TreeDragOverBubble, TreeVisibility, TreeFilterResult, ITreeModelSpliceEvent, TreeMouseEventTarget } from 'vs/base/browser/ui/tree/tree';
1515
import { ISpliceable } from 'vs/base/common/sequence';
1616
import { IDragAndDropData, StaticDND, DragAndDropData } from 'vs/base/browser/dnd';
17-
import { range, equals, distinctES6 } from 'vs/base/common/arrays';
17+
import { range, equals, distinctES6, fromSet } from 'vs/base/common/arrays';
1818
import { ElementsDragAndDropData } from 'vs/base/browser/ui/list/listView';
1919
import { domEvent } from 'vs/base/browser/event';
2020
import { fuzzyScore, FuzzyScore } from 'vs/base/common/filters';
@@ -1266,7 +1266,7 @@ export abstract class AbstractTree<T, TFilterData, TRef> implements IDisposable
12661266
set.add(node);
12671267
}
12681268

1269-
onDidChangeActiveNodes.fire(Array.from(set.values()));
1269+
onDidChangeActiveNodes.fire(fromSet(set));
12701270
}, null, this.disposables);
12711271

12721272
if (_options.keyboardSupport !== false) {

src/vs/base/common/arrays.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,12 @@ export function distinctES6<T>(array: ReadonlyArray<T>): T[] {
372372
});
373373
}
374374

375+
export function fromSet<T>(set: Set<T>): T[] {
376+
const result: T[] = [];
377+
set.forEach(o => result.push(o));
378+
return result;
379+
}
380+
375381
export function uniqueFilter<T>(keyFn: (t: T) => string): (t: T) => boolean {
376382
const seen: { [key: string]: boolean; } = Object.create(null);
377383

src/vs/base/common/collections.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ export function fromMap<T>(original: Map<string, T>): IStringDictionary<T> {
9595
return result;
9696
}
9797

98+
export function mapValues<V>(map: Map<any, V>): V[] {
99+
const result: V[] = [];
100+
map.forEach((_, v) => result.push(v));
101+
return result;
102+
}
103+
98104
export class SetMap<K, V> {
99105

100106
private map = new Map<K, Set<V>>();

src/vs/base/common/iterator.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,22 @@ export interface Iterator<T> {
1818
next(): IteratorResult<T>;
1919
}
2020

21+
interface NativeIteratorYieldResult<TYield> {
22+
done?: false;
23+
value: TYield;
24+
}
25+
26+
interface NativeIteratorReturnResult<TReturn> {
27+
done: true;
28+
value: TReturn;
29+
}
30+
31+
type NativeIteratorResult<T, TReturn = any> = NativeIteratorYieldResult<T> | NativeIteratorReturnResult<TReturn>;
32+
33+
export interface NativeIterator<T> {
34+
next(): NativeIteratorResult<T>;
35+
}
36+
2137
export module Iterator {
2238
const _empty: Iterator<any> = {
2339
next() {
@@ -56,7 +72,7 @@ export module Iterator {
5672
};
5773
}
5874

59-
export function fromIterableIterator<T>(it: IterableIterator<T>): Iterator<T> {
75+
export function fromNativeIterator<T>(it: NativeIterator<T>): Iterator<T> {
6076
return {
6177
next(): IteratorResult<T> {
6278
const result = it.next();

src/vs/base/common/resourceTree.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import * as paths from 'vs/base/common/path';
88
import { Iterator } from 'vs/base/common/iterator';
99
import { relativePath, joinPath } from 'vs/base/common/resources';
1010
import { URI } from 'vs/base/common/uri';
11+
import { mapValues } from 'vs/base/common/collections';
1112

1213
export interface ILeafNode<T, C = void> {
1314
readonly uri: URI;
@@ -49,7 +50,7 @@ class BranchNode<T, C> extends Node<C> implements IBranchNode<T, C> {
4950
}
5051

5152
get children(): Iterator<BranchNode<T, C> | LeafNode<T, C>> {
52-
return Iterator.fromIterableIterator(this._children.values());
53+
return Iterator.fromArray(mapValues(this._children));
5354
}
5455

5556
constructor(uri: URI, relativePath: string, context: C, readonly parent: IBranchNode<T, C> | undefined = undefined) {

0 commit comments

Comments
 (0)