mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-23 18:19:12 +01:00
Add DataTransferItem.kind (#151384)
Fixes #150963 The new `.kind` property makes it easier to tell the type of a data transfer item
This commit is contained in:
@@ -1330,6 +1330,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
TextSearchCompleteMessageType: TextSearchCompleteMessageType,
|
||||
DataTransfer: extHostTypes.DataTransfer,
|
||||
DataTransferItem: extHostTypes.DataTransferItem,
|
||||
DataTransferItemKind: extHostTypes.DataTransferItemKind,
|
||||
CoveredCount: extHostTypes.CoveredCount,
|
||||
FileCoverage: extHostTypes.FileCoverage,
|
||||
StatementCoverage: extHostTypes.StatementCoverage,
|
||||
|
||||
@@ -1965,6 +1965,8 @@ export namespace DataTransferItem {
|
||||
const file = item.fileData;
|
||||
if (file) {
|
||||
return new class extends types.DataTransferItem {
|
||||
override get kind() { return types.DataTransferItemKind.File; }
|
||||
|
||||
override asFile(): vscode.DataTransferFile {
|
||||
return {
|
||||
name: file.name,
|
||||
|
||||
@@ -2438,8 +2438,16 @@ export enum TreeItemCollapsibleState {
|
||||
Expanded = 2
|
||||
}
|
||||
|
||||
export enum DataTransferItemKind {
|
||||
String = 1,
|
||||
File = 2,
|
||||
}
|
||||
|
||||
@es5ClassCompat
|
||||
export class DataTransferItem {
|
||||
|
||||
get kind(): DataTransferItemKind { return DataTransferItemKind.String; }
|
||||
|
||||
async asString(): Promise<string> {
|
||||
return typeof this.value === 'string' ? this.value : JSON.stringify(this.value);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user