@lvce-editor/api 9.35.3 → 9.35.4

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
@@ -16,7 +16,7 @@ export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, regis
16
16
  export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from './parts/Formatting/Formatting.ts';
17
17
  export { exists, getFileHash, getFileHashes, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, readFileAsBlob, remove, stat, writeFile, type ReadAsObjectUrlResult, } from './parts/FileSystem/FileSystem.ts';
18
18
  export { registerFileChangeHandler, type FileChangeHandler, type FileChanges } from './parts/FileChangeHandler/FileChangeHandler.ts';
19
- export { executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from './parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts';
19
+ export { executeFileSystemProviderGetOpenExternalPath, executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from './parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts';
20
20
  export { closeUri, confirm, getRecentlyOpenedWorkspaceUris, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showNotification, type NotificationType, } from './parts/Host/Host.ts';
21
21
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from './parts/Hover/Hover.ts';
22
22
  export { executeSignatureHelpProvider, getSignatureHelpProviderRegistrySnapshot, registerSignatureHelpProvider, resetSignatureHelpProviderRegistry, } from './parts/SignatureHelp/SignatureHelp.ts';
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, regis
16
16
  export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from "./parts/Formatting/Formatting.js";
17
17
  export { exists, getFileHash, getFileHashes, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, readFileAsBlob, remove, stat, writeFile, } from "./parts/FileSystem/FileSystem.js";
18
18
  export { registerFileChangeHandler } from "./parts/FileChangeHandler/FileChangeHandler.js";
19
- export { executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from "./parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js";
19
+ export { executeFileSystemProviderGetOpenExternalPath, executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from "./parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js";
20
20
  export { closeUri, confirm, getRecentlyOpenedWorkspaceUris, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showNotification, } from "./parts/Host/Host.js";
21
21
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from "./parts/Hover/Hover.js";
22
22
  export { executeSignatureHelpProvider, getSignatureHelpProviderRegistrySnapshot, registerSignatureHelpProvider, resetSignatureHelpProviderRegistry, } from "./parts/SignatureHelp/SignatureHelp.js";
@@ -1,5 +1,6 @@
1
1
  import type { FileSystemDirent } from '../FileSystemDirent/FileSystemDirent.ts';
2
2
  export interface FileSystemProvider {
3
+ readonly getOpenExternalPath?: (uri: string) => string | Promise<string>;
3
4
  readonly id: string;
4
5
  readonly isReadonly?: () => boolean | Promise<boolean>;
5
6
  readonly mkdir?: (uri: string) => void | Promise<void>;
@@ -3,6 +3,7 @@ import type { FileSystemDirent } from '../FileSystemDirent/FileSystemDirent.ts';
3
3
  import type { FileSystemProvider } from '../FileSystemProvider/FileSystemProvider.ts';
4
4
  import type { FileSystemProviderRegistrySnapshot } from '../FileSystemProviderRegistrySnapshot/FileSystemProviderRegistrySnapshot.ts';
5
5
  export declare const executeFileSystemProviderReadFile: (id: string, uri: string) => Promise<Blob | string>;
6
+ export declare const executeFileSystemProviderGetOpenExternalPath: (id: string, uri: string) => Promise<string>;
6
7
  export declare const executeFileSystemProviderMkdir: (id: string, uri: string) => Promise<void>;
7
8
  export declare const executeFileSystemProviderRemove: (id: string, uri: string) => Promise<void>;
8
9
  export declare const executeFileSystemProviderRename: (id: string, oldUri: string, newUri: string) => Promise<void>;
@@ -17,7 +17,7 @@ const assertFileSystemProvider = (provider) => {
17
17
  if (provider.isReadonly !== undefined && typeof provider.isReadonly !== 'function') {
18
18
  throw new ExtensionApiError(`file system provider ${provider.id} has invalid isReadonly function`);
19
19
  }
20
- for (const method of ['mkdir', 'remove', 'rename', 'writeFile']) {
20
+ for (const method of ['getOpenExternalPath', 'mkdir', 'remove', 'rename', 'writeFile']) {
21
21
  if (provider[method] !== undefined && typeof provider[method] !== 'function') {
22
22
  throw new ExtensionApiError(`file system provider ${provider.id} has invalid ${method} function`);
23
23
  }
@@ -36,6 +36,13 @@ const getProvider = (id) => {
36
36
  export const executeFileSystemProviderReadFile = async (id, uri) => {
37
37
  return getProvider(id).readFile(uri);
38
38
  };
39
+ export const executeFileSystemProviderGetOpenExternalPath = async (id, uri) => {
40
+ const provider = getProvider(id);
41
+ if (!provider.getOpenExternalPath) {
42
+ throw new ExtensionApiError(`file system provider ${id} is missing getOpenExternalPath function`);
43
+ }
44
+ return provider.getOpenExternalPath(uri);
45
+ };
39
46
  export const executeFileSystemProviderMkdir = async (id, uri) => {
40
47
  const provider = getProvider(id);
41
48
  if (!provider.mkdir) {
@@ -92,6 +99,7 @@ export const getFileSystemProviderRegistrySnapshot = () => {
92
99
  export const registerFileSystemProvider = (provider) => {
93
100
  assertFileSystemProvider(provider);
94
101
  providers[provider.id] = {
102
+ getOpenExternalPath: provider.getOpenExternalPath,
95
103
  id: provider.id,
96
104
  isReadonly: provider.isReadonly,
97
105
  mkdir: provider.mkdir,
@@ -110,6 +118,7 @@ export const registerFileSystemProvider = (provider) => {
110
118
  };
111
119
  };
112
120
  const commandMap = {
121
+ 'ExtensionApi.executeFileSystemProviderGetOpenExternalPath': executeFileSystemProviderGetOpenExternalPath,
113
122
  'ExtensionApi.executeFileSystemProviderIsReadonly': executeFileSystemProviderIsReadonly,
114
123
  'ExtensionApi.executeFileSystemProviderMkdir': executeFileSystemProviderMkdir,
115
124
  'ExtensionApi.executeFileSystemProviderReadDirWithFileTypes': executeFileSystemProviderReadDirWithFileTypes,
@@ -1,5 +1,6 @@
1
1
  import type { FileSystemDirent } from '../FileSystemDirent/FileSystemDirent.ts';
2
2
  export interface RegisteredFileSystemProvider {
3
+ readonly getOpenExternalPath?: (uri: string) => string | Promise<string>;
3
4
  readonly id: string;
4
5
  readonly isReadonly?: () => boolean | Promise<boolean>;
5
6
  readonly mkdir?: (uri: string) => void | Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/api",
3
- "version": "9.35.3",
3
+ "version": "9.35.4",
4
4
  "description": "Tree-shakeable extension API for Lvce Editor extensions.",
5
5
  "keywords": [
6
6
  "lvce-editor",