import * as vscode from 'vscode' ; export abstract class TreeDataProvider < T > implements vscode . TreeDataProvider < T > { protected _onDidChangeTreeData : vscode . EventEmitter < T | undefined > = new vscode . EventEmitter < T | undefined > ( ) ; readonly onDidChangeTreeData : vscode . Event < T | undefined > = this . _onDidChangeTreeData . event ; public refresh ( ) { this . _onDidChangeTreeData . fire ( ) ; } public getTreeItem ( element ) { return element ; } abstract getChildren ( element ? ) ; }