@lvce-editor/api 8.83.0 → 8.83.1

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/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { registerDebugProvider, resetDebugProviderRegistry } from './parts/Debug
10
10
  export { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot, registerCompletionProvider, resetCompletionProviderRegistry, } from './parts/Completion/Completion.ts';
11
11
  export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, registerDiagnosticProvider, resetDiagnosticProviderRegistry, } from './parts/Diagnostic/Diagnostic.ts';
12
12
  export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from './parts/Formatting/Formatting.ts';
13
- export { exists, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, remove, stat, writeFile, type ReadAsObjectUrlResult, } from './parts/FileSystem/FileSystem.ts';
13
+ export { exists, getFileHash, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, remove, stat, writeFile, type ReadAsObjectUrlResult, } from './parts/FileSystem/FileSystem.ts';
14
14
  export { registerFileChangeHandler, type FileChangeHandler, type FileChanges } from './parts/FileChangeHandler/FileChangeHandler.ts';
15
15
  export { executeFileSystemProviderGetPathSeparator, executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from './parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts';
16
16
  export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showNotification, type NotificationType, } from './parts/Host/Host.ts';
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ export { registerDebugProvider, resetDebugProviderRegistry } from "./parts/Debug
10
10
  export { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot, registerCompletionProvider, resetCompletionProviderRegistry, } from "./parts/Completion/Completion.js";
11
11
  export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, registerDiagnosticProvider, resetDiagnosticProviderRegistry, } from "./parts/Diagnostic/Diagnostic.js";
12
12
  export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from "./parts/Formatting/Formatting.js";
13
- export { exists, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, remove, stat, writeFile, } from "./parts/FileSystem/FileSystem.js";
13
+ export { exists, getFileHash, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, remove, stat, writeFile, } from "./parts/FileSystem/FileSystem.js";
14
14
  export { registerFileChangeHandler } from "./parts/FileChangeHandler/FileChangeHandler.js";
15
15
  export { executeFileSystemProviderGetPathSeparator, executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from "./parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js";
16
16
  export { confirm, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showNotification, } from "./parts/Host/Host.js";
@@ -6,6 +6,7 @@ export interface ReadAsObjectUrlResult {
6
6
  }
7
7
  export declare const exists: (uri: string) => Promise<boolean>;
8
8
  export declare const readDirWithFileTypes: (uri: string) => Promise<readonly FileSystemDirent[]>;
9
+ export declare const getFileHash: (uri: string) => Promise<string>;
9
10
  export declare const readFile: (uri: string) => Promise<string>;
10
11
  export declare const readAsObjectUrl: (uri: string) => Promise<ReadAsObjectUrlResult>;
11
12
  export declare const mkdir: (uri: string) => Promise<void>;
@@ -32,6 +32,9 @@ export const exists = async (uri) => {
32
32
  export const readDirWithFileTypes = async (uri) => {
33
33
  return FileSystemWorker.readDirWithFileTypes(uri);
34
34
  };
35
+ export const getFileHash = async (uri) => {
36
+ return FileSystemWorker.invoke('FileSystem.getFileHash', uri);
37
+ };
35
38
  export const readFile = async (uri) => {
36
39
  if (isMemory(uri)) {
37
40
  return ExtensionManagementWorker.invoke('ExtensionApi.readFile', uri);
@@ -21,12 +21,15 @@ const assertCanWrite = (id) => {
21
21
  class ExtensionOutputChannel {
22
22
  #id;
23
23
  #pendingWrite;
24
- constructor(id, pendingWrite) {
24
+ constructor(id) {
25
25
  this.#id = id;
26
- this.#pendingWrite = pendingWrite;
26
+ }
27
+ #initialize() {
28
+ this.#pendingWrite ||= OutputChannelStorage.clear(this.#id);
29
+ return this.#pendingWrite;
27
30
  }
28
31
  #queueWrite(write) {
29
- this.#pendingWrite = this.#pendingWrite.then(write);
32
+ this.#pendingWrite = this.#initialize().then(write);
30
33
  return this.#pendingWrite;
31
34
  }
32
35
  async append(text) {
@@ -43,7 +46,7 @@ class ExtensionOutputChannel {
43
46
  }
44
47
  async getLogs() {
45
48
  assertCanWrite(this.#id);
46
- await this.#pendingWrite;
49
+ await this.#initialize();
47
50
  return OutputChannelStorage.getLogs(this.#id);
48
51
  }
49
52
  async replace(text) {
@@ -63,7 +66,7 @@ export const createOutputChannel = (id) => {
63
66
  id,
64
67
  };
65
68
  ExtensionApiCommandRegistry.registerCommandMap(commandMap);
66
- const handle = new ExtensionOutputChannel(id, OutputChannelStorage.clear(id));
69
+ const handle = new ExtensionOutputChannel(id);
67
70
  outputChannelHandles[id] = handle;
68
71
  return handle;
69
72
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/api",
3
- "version": "8.83.0",
3
+ "version": "8.83.1",
4
4
  "description": "Tree-shakeable extension API for Lvce Editor extensions.",
5
5
  "keywords": [
6
6
  "lvce-editor",