2
>
* Copyright (c) Microsoft Corporation. All rights reserved.
3
>
* Licensed under the MIT License. See License.txt in the project root for license information.
4
>
*--------------------------------------------------------------------------------------------*/
5
>
6
>
import { VSBuffer } from '../../../base/common/buffer.js';
7
>
import { Emitter, Event } from '../../../base/common/event.js';
8
>
import { Disposable, IDisposable } from '../../../base/common/lifecycle.js';
9
>
import * as resources from '../../../base/common/resources.js';
10
>
import { ReadableStreamEvents, newWriteableStream } from '../../../base/common/stream.js';
11
>
import { URI } from '../../../base/common/uri.js';
12
>
import { FileChangeType, IFileDeleteOptions, IFileOverwriteOptions, FileSystemProviderCapabilities, FileSystemProviderErrorCode, FileType, IFileWriteOptions, IFileChange, IFileSystemProviderWithFileReadWriteCapability, IStat, IWatchOptions, createFileSystemProviderError, IFileSystemProviderWithOpenReadWriteCloseCapability, IFileOpenOptions, IFileSystemProviderWithFileAtomicDeleteCapability, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileAtomicWriteCapability, IFileSystemProviderWithFileReadStreamCapability, isFileOpenForWriteOptions } from './files.js';
13
>
14
>
class File implements IStat {
15
>
16
>
readonly type: FileType.File;
17
>
readonly ctime: number;
18
>
mtime: number;
19
>
size: number;
20
>
21
>
name: string;
22
>
data?: Uint8Array;
23
>
24
>
constructor(name: string) {
25
this.type = FileType.File;
26
this.ctime = Date.now();