diff --git a/src/vs/base/browser/ui/tree/dataTree.ts b/src/vs/base/browser/ui/tree/dataTree.ts index 015ec089e11..149247577a7 100644 --- a/src/vs/base/browser/ui/tree/dataTree.ts +++ b/src/vs/base/browser/ui/tree/dataTree.ts @@ -36,14 +36,15 @@ interface IDataTreeListTemplateData { } class DataTreeNodeWrapper implements ITreeNode { - get element(): T { return this.node.element.element; } - get parent(): ITreeNode { return new DataTreeNodeWrapper(this.node.parent); } + + get element(): T { return this.node.element.element!; } + get parent(): ITreeNode | undefined { return this.node.parent && new DataTreeNodeWrapper(this.node.parent); } get children(): ITreeNode[] { return this.node.children.map(node => new DataTreeNodeWrapper(node)); } get depth(): number { return this.node.depth; } get collapsible(): boolean { return this.node.collapsible; } get collapsed(): boolean { return this.node.collapsed; } get visible(): boolean { return this.node.visible; } - get filterData(): TFilterData { return this.node.filterData; } + get filterData(): TFilterData | undefined { return this.node.filterData; } constructor(private node: ITreeNode, TFilterData>) { } }