@lvce-editor/api 8.83.0 → 8.83.2

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";
@@ -7,7 +7,11 @@ export interface DebugEmitter {
7
7
  }
8
8
  export interface DebugProvider {
9
9
  readonly evaluate: (expression: string, callFrameId: string) => unknown;
10
+ readonly getCallStack: () => unknown;
10
11
  readonly getProperties: (objectId: string) => unknown;
12
+ readonly getScripts: () => unknown;
13
+ readonly getScriptSource: (scriptId: string) => unknown;
14
+ readonly getStatus: () => unknown;
11
15
  readonly id: string;
12
16
  readonly listProcesses: (path?: string) => unknown;
13
17
  readonly pause: () => unknown;
@@ -30,5 +34,9 @@ export declare const executeDebugStepOut: (id: string) => Promise<unknown>;
30
34
  export declare const executeDebugStep: (id: string) => Promise<unknown>;
31
35
  export declare const executeDebugSetPauseOnExceptions: (id: string, value: number) => Promise<unknown>;
32
36
  export declare const executeDebugGetProperties: (id: string, objectId: string) => Promise<unknown>;
37
+ export declare const executeDebugGetCallStack: (id: string) => Promise<unknown>;
38
+ export declare const executeDebugGetPausedStatus: (id: string) => Promise<unknown>;
39
+ export declare const executeDebugGetScripts: (id: string) => Promise<unknown>;
40
+ export declare const executeDebugGetScriptSource: (id: string, scriptId: string) => Promise<unknown>;
33
41
  export declare const executeDebugEvaluate: (id: string, expression: string, callFrameId: string) => Promise<unknown>;
34
42
  export declare const resetDebugProviderRegistry: () => void;
@@ -4,7 +4,11 @@ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
4
4
  const providers = Object.create(null);
5
5
  const requiredMethods = [
6
6
  'evaluate',
7
+ 'getCallStack',
7
8
  'getProperties',
9
+ 'getScripts',
10
+ 'getScriptSource',
11
+ 'getStatus',
8
12
  'listProcesses',
9
13
  'pause',
10
14
  'resume',
@@ -90,12 +94,28 @@ export const executeDebugSetPauseOnExceptions = async (id, value) => {
90
94
  export const executeDebugGetProperties = async (id, objectId) => {
91
95
  return getProvider(id).getProperties(objectId);
92
96
  };
97
+ export const executeDebugGetCallStack = async (id) => {
98
+ return getProvider(id).getCallStack();
99
+ };
100
+ export const executeDebugGetPausedStatus = async (id) => {
101
+ return getProvider(id).getStatus();
102
+ };
103
+ export const executeDebugGetScripts = async (id) => {
104
+ return getProvider(id).getScripts();
105
+ };
106
+ export const executeDebugGetScriptSource = async (id, scriptId) => {
107
+ return getProvider(id).getScriptSource(scriptId);
108
+ };
93
109
  export const executeDebugEvaluate = async (id, expression, callFrameId) => {
94
110
  return getProvider(id).evaluate(expression, callFrameId);
95
111
  };
96
112
  const commandMap = {
97
113
  'ExtensionHostDebug.evaluate': executeDebugEvaluate,
114
+ 'ExtensionHostDebug.getCallStack': executeDebugGetCallStack,
115
+ 'ExtensionHostDebug.getPausedStatus': executeDebugGetPausedStatus,
98
116
  'ExtensionHostDebug.getProperties': executeDebugGetProperties,
117
+ 'ExtensionHostDebug.getScripts': executeDebugGetScripts,
118
+ 'ExtensionHostDebug.getScriptSource': executeDebugGetScriptSource,
99
119
  'ExtensionHostDebug.listProcesses': executeDebugListProcesses,
100
120
  'ExtensionHostDebug.pause': executeDebugPause,
101
121
  'ExtensionHostDebug.resume': executeDebugResume,
@@ -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.2",
4
4
  "description": "Tree-shakeable extension API for Lvce Editor extensions.",
5
5
  "keywords": [
6
6
  "lvce-editor",