diff --git a/src/service-override/files.ts b/src/service-override/files.ts index 1bf6c427..4f0010bb 100644 --- a/src/service-override/files.ts +++ b/src/service-override/files.ts @@ -305,6 +305,9 @@ class OverlayFileSystemProvider implements IFileSystemProviderWithFileReadWriteC capabilities = FileSystemProviderCapabilities.FileReadWrite | FileSystemProviderCapabilities.PathCaseSensitive private async readFromDelegates (caller: (delegate: IFileSystemProviderWithFileReadWriteCapability) => Promise) { + if (this.delegates.length === 0) { + throw createFileSystemProviderError('No delegate', FileSystemProviderErrorCode.Unavailable) + } let firstError: unknown | undefined for (const delegate of this.delegates) { try { @@ -325,6 +328,9 @@ class OverlayFileSystemProvider implements IFileSystemProviderWithFileReadWriteC } private async writeToDelegates (caller: (delegate: IFileSystemProviderWithFileReadWriteCapability) => Promise): Promise { + if (this.delegates.length === 0) { + throw createFileSystemProviderError('No delegate', FileSystemProviderErrorCode.Unavailable) + } for (const provider of this.delegates) { if ((provider.capabilities & FileSystemProviderCapabilities.Readonly) > 0) { continue @@ -669,5 +675,6 @@ export { RegisteredFile, RegisteredReadOnlyFile, RegisteredMemoryFile, - DelegateFileSystemProvider + DelegateFileSystemProvider, + OverlayFileSystemProvider }