提交 a20e0af8 编写于 作者: J Joao Moreno

fix strict null checks

上级 813c488f
......@@ -118,8 +118,8 @@ export enum ChildrenResolutionReason {
}
export interface IChildrenResolutionEvent<T> {
element: T;
reason: ChildrenResolutionReason;
readonly element: T | null;
readonly reason: ChildrenResolutionReason;
}
export class DataTree<T extends NonNullable<any>, TFilterData = void> implements IDisposable {
......@@ -134,7 +134,7 @@ export class DataTree<T extends NonNullable<any>, TFilterData = void> implements
get onDidChangeFocus(): Event<ITreeEvent<T>> { return mapEvent(this.tree.onDidChangeFocus, asTreeEvent); }
get onDidChangeSelection(): Event<ITreeEvent<T>> { return mapEvent(this.tree.onDidChangeSelection, asTreeEvent); }
get onDidChangeCollapseState(): Event<T> { return mapEvent(this.tree.onDidChangeCollapseState, e => e.element.element); }
get onDidChangeCollapseState(): Event<T> { return mapEvent(this.tree.onDidChangeCollapseState, e => e.element.element!); }
private _onDidResolveChildren = new Emitter<IChildrenResolutionEvent<T>>();
readonly onDidResolveChildren: Event<IChildrenResolutionEvent<T>> = this._onDidResolveChildren.event;
......@@ -252,17 +252,21 @@ export class DataTree<T extends NonNullable<any>, TFilterData = void> implements
}
}
private setChildren(element: IDataTreeNode<T>, children?: ISequence<ITreeElement<IDataTreeNode<T>>>): void {
private setChildren(element: IDataTreeNode<T> | null, children?: ISequence<ITreeElement<IDataTreeNode<T>>>): void {
const insertedElements = new Set<T>();
const onDidCreateNode = (node: ITreeNode<IDataTreeNode<T>, TFilterData>) => {
insertedElements.add(node.element.element);
this.nodes.set(node.element.element, node.element);
if (node.element.element) {
insertedElements.add(node.element.element);
this.nodes.set(node.element.element, node.element);
}
};
const onDidDeleteNode = (node: ITreeNode<IDataTreeNode<T>, TFilterData>) => {
if (!insertedElements.has(node.element.element)) {
this.nodes.delete(node.element.element);
if (node.element.element) {
if (!insertedElements.has(node.element.element)) {
this.nodes.delete(node.element.element);
}
}
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册