@codingame/monaco-vscode-files-service-override 1.83.4 → 1.83.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/files.d.ts CHANGED
@@ -84,7 +84,16 @@ declare class DelegateFileSystemProvider implements IFileSystemProvider {
84
84
  rename(from: URI, to: URI, opts: IFileOverwriteOptions): Promise<void>;
85
85
  }
86
86
  declare function getServiceOverride(): IEditorOverrideServices;
87
+ /**
88
+ * Register a custom file system provider for the given scheme. This allows us to override
89
+ * the default file system provider for a given scheme.
90
+ */
91
+ declare function registerCustomProvider(scheme: string, provider: IFileSystemProvider): void;
87
92
  declare function registerExtensionFile(extensionLocation: URI, filePath: string, getContent: () => Promise<string | Uint8Array>): IDisposable;
93
+ /**
94
+ * Can be used to create a file before the fileService is initialized
95
+ */
96
+ declare function initFile(scheme: string, file: URI, content: Uint8Array | string, options?: Partial<IFileWriteOptions>): Promise<void>;
88
97
  /**
89
98
  * Register a file system overlay
90
99
  *
@@ -98,4 +107,4 @@ declare function registerExtensionFile(extensionLocation: URI, filePath: string,
98
107
  */
99
108
  declare function registerFileSystemOverlay(priority: number, provider: IFileSystemProviderWithFileReadWriteCapability): IDisposable;
100
109
 
101
- export { DelegateFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, getServiceOverride as default, registerExtensionFile, registerFileSystemOverlay };
110
+ export { DelegateFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, getServiceOverride as default, initFile, registerCustomProvider, registerExtensionFile, registerFileSystemOverlay };
package/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export { DelegateFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, default, registerExtensionFile, registerFileSystemOverlay } from './files.js';
1
+ export { DelegateFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, default, initFile, registerCustomProvider, registerExtensionFile, registerFileSystemOverlay } from './files.js';
2
2
  export { InMemoryFileSystemProvider } from './vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js';
3
3
  export { FileChangeType, FilePermission, FileSystemProviderCapabilities, FileSystemProviderError, FileSystemProviderErrorCode, FileType, IFileChange, IFileDeleteOptions, IFileOverwriteOptions, IFileSystemProviderWithFileReadWriteCapability, IFileWriteOptions, IStat, IWatchOptions } from 'vscode/vscode/vs/platform/files/common/files';
4
4
  export { HTMLFileSystemProvider } from './vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js';
5
+ export { IndexedDBFileSystemProvider } from './vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js';
6
+ export { IndexedDB } from './vscode/src/vs/base/browser/indexedDB.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-files-service-override",
3
- "version": "1.83.4",
3
+ "version": "1.83.6",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -18,7 +18,7 @@
18
18
  "module": "index.js",
19
19
  "types": "index.d.ts",
20
20
  "dependencies": {
21
- "vscode": "npm:@codingame/monaco-vscode-api@1.83.4",
21
+ "vscode": "npm:@codingame/monaco-vscode-api@1.83.6",
22
22
  "monaco-editor": "0.44.0"
23
23
  }
24
24
  }
@@ -0,0 +1,48 @@
1
+ import { Event } from 'vscode/vscode/vs/base/common/event';
2
+ import { Disposable, IDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { URI } from 'vscode/vscode/vs/base/common/uri';
4
+ import { IFileSystemProviderWithFileReadWriteCapability, FileSystemProviderCapabilities, IFileChange, IWatchOptions, IStat, IFileWriteOptions, IFileOverwriteOptions, IFileDeleteOptions, FileType } from 'vscode/vscode/vs/platform/files/common/files';
5
+ import { IndexedDB } from '../../../base/browser/indexedDB.js';
6
+
7
+ type IndexedDBFileSystemProviderErrorData = {
8
+ readonly scheme: string;
9
+ readonly operation: string;
10
+ readonly code: string;
11
+ };
12
+ type DirEntry = [string, FileType];
13
+ declare class IndexedDBFileSystemProvider extends Disposable implements IFileSystemProviderWithFileReadWriteCapability {
14
+ readonly scheme: string;
15
+ private indexedDB;
16
+ private readonly store;
17
+ readonly capabilities: FileSystemProviderCapabilities;
18
+ readonly onDidChangeCapabilities: Event<void>;
19
+ private readonly extUri;
20
+ private readonly changesBroadcastChannel;
21
+ private readonly _onDidChangeFile;
22
+ readonly onDidChangeFile: Event<readonly IFileChange[]>;
23
+ private readonly _onReportError;
24
+ readonly onReportError: Event<IndexedDBFileSystemProviderErrorData>;
25
+ private readonly mtimes;
26
+ private cachedFiletree;
27
+ private writeManyThrottler;
28
+ constructor(scheme: string, indexedDB: IndexedDB, store: string, watchCrossWindowChanges: boolean);
29
+ watch(resource: URI, opts: IWatchOptions): IDisposable;
30
+ mkdir(resource: URI): Promise<void>;
31
+ stat(resource: URI): Promise<IStat>;
32
+ readdir(resource: URI): Promise<DirEntry[]>;
33
+ readFile(resource: URI): Promise<Uint8Array>;
34
+ writeFile(resource: URI, content: Uint8Array, opts: IFileWriteOptions): Promise<void>;
35
+ rename(from: URI, to: URI, opts: IFileOverwriteOptions): Promise<void>;
36
+ delete(resource: URI, opts: IFileDeleteOptions): Promise<void>;
37
+ private tree;
38
+ private triggerChanges;
39
+ private getFiletree;
40
+ private bulkWrite;
41
+ private fileWriteBatch;
42
+ private writeMany;
43
+ private deleteKeys;
44
+ reset(): Promise<void>;
45
+ private reportError;
46
+ }
47
+
48
+ export { IndexedDBFileSystemProvider, type IndexedDBFileSystemProviderErrorData };