UNPKG

@sussudio/base

Version:

Internal APIs for VS Code's utilities and user interface building blocks.

43 lines (41 loc) 1.59 kB
/*--------------------------------------------------------------------------------------------- * 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 {};