mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 10:38:59 +01:00
Remove JSON as ITreeNode is all primitives
This commit is contained in:
@@ -263,8 +263,8 @@ export abstract class ExtHostEditorsShape {
|
||||
}
|
||||
|
||||
export abstract class ExtHostExplorersShape {
|
||||
$provideTreeContent(treeContentProviderId: string): TPromise<string> { throw ni(); };
|
||||
$resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise<string> { throw ni(); }
|
||||
$provideTreeContent(treeContentProviderId: string): TPromise<vscode.ITreeNode> { throw ni(); };
|
||||
$resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise<vscode.ITreeNode[]> { throw ni(); }
|
||||
}
|
||||
|
||||
export abstract class ExtHostExtensionServiceShape {
|
||||
|
||||
@@ -13,7 +13,7 @@ import {MainContext, ExtHostExplorersShape, MainThreadExplorersShape} from './ex
|
||||
export class ExtHostExplorers extends ExtHostExplorersShape {
|
||||
private _proxy: MainThreadExplorersShape;
|
||||
|
||||
private _treeContentProviders: { [treeContentProviderId: string]: vscode.TreeContentProvider; };
|
||||
private _treeContentProviders: { [treeContentProviderId: string]: vscode.TreeContentProvider };
|
||||
|
||||
constructor(
|
||||
threadService: IThreadService
|
||||
@@ -36,25 +36,25 @@ export class ExtHostExplorers extends ExtHostExplorersShape {
|
||||
});
|
||||
}
|
||||
|
||||
$provideTreeContent(treeContentProviderId: string): TPromise<string> {
|
||||
$provideTreeContent(treeContentProviderId: string): TPromise<vscode.ITreeNode> {
|
||||
const provider = this._treeContentProviders[treeContentProviderId];
|
||||
if (!provider) {
|
||||
throw new Error(`no TreeContentProvider registered with id '${treeContentProviderId}'`);
|
||||
}
|
||||
|
||||
return TPromise.wrap(provider.provideTreeContent().then(treeContent => {
|
||||
return JSON.stringify(treeContent);
|
||||
return treeContent;
|
||||
}));
|
||||
}
|
||||
|
||||
$resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise<string> {
|
||||
$resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise<vscode.ITreeNode[]> {
|
||||
const provider = this._treeContentProviders[treeContentProviderId];
|
||||
if (!provider) {
|
||||
throw new Error(`no TreeContentProvider registered with id '${treeContentProviderId}'`);
|
||||
}
|
||||
|
||||
return TPromise.wrap(provider.resolveChildren(node).then(children => {
|
||||
return JSON.stringify(children);
|
||||
return children;
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,14 +26,10 @@ export class MainThreadExplorers extends MainThreadExplorersShape {
|
||||
$registerTreeContentProvider(providerId: string): void {
|
||||
this.treeExplorerViewletService.registerTreeContentProvider(providerId, {
|
||||
provideTreeContent: (): TPromise<ITreeNode> => {
|
||||
return this._proxy.$provideTreeContent(providerId).then(jsonTree => {
|
||||
return <ITreeNode>JSON.parse(jsonTree);
|
||||
})
|
||||
return this._proxy.$provideTreeContent(providerId);
|
||||
},
|
||||
resolveChildren: (node: ITreeNode): TPromise<ITreeNode[]> => {
|
||||
return this._proxy.$resolveChildren(providerId, node).then(jsonChildren => {
|
||||
return <ITreeNode[]>JSON.parse(jsonChildren);
|
||||
})
|
||||
return this._proxy.$resolveChildren(providerId, node);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user