packages/vscode-extension-web-ide/test-utils/FileSystemError.ts (26 lines of code) (raw):
import type * as vscode from 'vscode';
export class FileSystemError extends Error implements vscode.FileSystemError {
readonly code: string;
static FileNotFound(messageOrUri?: string | vscode.Uri): FileSystemError {
return new FileSystemError('FileNotFound', `File not found: ${messageOrUri}`);
}
static FileExists(messageOrUri?: string | vscode.Uri): FileSystemError {
return new FileSystemError('FileExists', `File exists: ${messageOrUri}`);
}
static FileNotADirectory(messageOrUri?: string | vscode.Uri): FileSystemError {
return new FileSystemError('FileNotADirectory', `File not a directory: ${messageOrUri}`);
}
static FileIsADirectory(messageOrUri?: string | vscode.Uri): FileSystemError {
return new FileSystemError('FileIsADirectory', `File is a directory: ${messageOrUri}`);
}
static NoPermissions(messageOrUri?: string | vscode.Uri): FileSystemError {
return new FileSystemError('NoPermissions', `No permissions: ${messageOrUri}`);
}
static Unavailable(messageOrUri?: string | vscode.Uri): FileSystemError {
return new FileSystemError('Unavailable', `Unavailable: ${messageOrUri}`);
}
private constructor(code: string, messageOrUri?: string | vscode.Uri) {
super(typeof messageOrUri === 'string' ? messageOrUri : messageOrUri?.toString());
this.code = code;
}
}