UNPKG

sussudio

Version:

An unofficial VS Code Internal API

42 lines (41 loc) 3.04 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Event } from "../../../base/common/event.mjs"; import { Disposable, IDisposable } from "../../../base/common/lifecycle.mjs"; import { IFileSystemProviderWithFileReadWriteCapability, IFileChange, IWatchOptions, IStat, IFileOverwriteOptions, FileType, IFileWriteOptions, IFileDeleteOptions, IFileSystemProviderWithFileReadStreamCapability, IFileReadStreamOptions, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileFolderCopyCapability } from "../../files/common/files.mjs"; import { URI } from "../../../base/common/uri.mjs"; import { CancellationToken } from "../../../base/common/cancellation.mjs"; import { ReadableStreamEvents } from "../../../base/common/stream.mjs"; import { ILogService } from "../../log/common/log.mjs"; /** * This is a wrapper on top of the local filesystem provider which will * - Convert the user data resources to file system scheme and vice-versa * - Enforces atomic reads for user data */ export declare class FileUserDataProvider extends Disposable implements IFileSystemProviderWithFileReadWriteCapability, IFileSystemProviderWithFileReadStreamCapability, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileFolderCopyCapability { private readonly fileSystemScheme; private readonly fileSystemProvider; private readonly userDataScheme; private readonly logService; get capabilities(): number; readonly onDidChangeCapabilities: Event<void>; private readonly _onDidChangeFile; readonly onDidChangeFile: Event<readonly IFileChange[]>; private readonly watchResources; constructor(fileSystemScheme: string, fileSystemProvider: IFileSystemProviderWithFileReadWriteCapability & (IFileSystemProviderWithFileReadStreamCapability | IFileSystemProviderWithFileAtomicReadCapability | IFileSystemProviderWithFileFolderCopyCapability), userDataScheme: string, logService: ILogService); watch(resource: URI, opts: IWatchOptions): IDisposable; stat(resource: URI): Promise<IStat>; mkdir(resource: URI): Promise<void>; rename(from: URI, to: URI, opts: IFileOverwriteOptions): Promise<void>; readFile(resource: URI): Promise<Uint8Array>; readFileStream(resource: URI, opts: IFileReadStreamOptions, token: CancellationToken): ReadableStreamEvents<Uint8Array>; readdir(resource: URI): Promise<[string, FileType][]>; writeFile(resource: URI, content: Uint8Array, opts: IFileWriteOptions): Promise<void>; delete(resource: URI, opts: IFileDeleteOptions): Promise<void>; copy(from: URI, to: URI, opts: IFileOverwriteOptions): Promise<void>; private handleFileChanges; private toFileSystemResource; private toUserDataResource; }