@sussudio/base
Version:
Internal APIs for VS Code's utilities and user interface building blocks.
43 lines (41 loc) • 1.59 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { URI } from './uri.mjs';
interface IDataTransferFile {
readonly name: string;
readonly uri?: URI;
data(): Promise<Uint8Array>;
}
export interface IDataTransferItem {
readonly id: string;
asString(): Thenable<string>;
asFile(): IDataTransferFile | undefined;
value: any;
}
export declare function createStringDataTransferItem(stringOrPromise: string | Promise<string>): IDataTransferItem;
export declare function createFileDataTransferItem(
fileName: string,
uri: URI | undefined,
data: () => Promise<Uint8Array>,
): IDataTransferItem;
export declare class VSDataTransfer {
private readonly _entries;
get size(): number;
has(mimeType: string): boolean;
get(mimeType: string): IDataTransferItem | undefined;
append(mimeType: string, value: IDataTransferItem): void;
replace(mimeType: string, value: IDataTransferItem): void;
delete(mimeType: string): void;
entries(): Iterable<[string, IDataTransferItem]>;
values(): Iterable<IDataTransferItem>;
forEach(f: (value: IDataTransferItem, key: string) => void): void;
private toKey;
}
export declare const UriList: Readonly<{
create: (entries: ReadonlyArray<string | URI>) => string;
split: (str: string) => string[];
parse: (str: string) => string[];
}>;
export {};