Skip to content

Commit a84b127

Browse files
committed
[feat]: ScriptError update
1 parent 1563475 commit a84b127

File tree

1 file changed

+38
-4
lines changed

1 file changed

+38
-4
lines changed

Sources/ScriptToolkit/ScriptToolkit.swift

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,44 @@ import Foundation
99
import Files
1010
import SwiftShell
1111

12-
public enum ScriptError: Error {
13-
case fileExists
14-
case fileNotFound
15-
case moreInfoNeeded
12+
public enum ScriptError: Error, CustomStringConvertible {
13+
case fileExists(message: String)
14+
case fileNotFound(message: String)
15+
case folderExists(message: String)
16+
case folderNotFound(message: String)
17+
case argumentError(message: String)
18+
case moreInfoNeeded(message: String)
19+
20+
public var description: String {
21+
let prefix = "💥 error: "
22+
var errorDescription = ""
23+
24+
switch self {
25+
case let .fileExists(message):
26+
errorDescription = "file exists: \(message)"
27+
28+
case let .fileNotFound(message):
29+
errorDescription = "file not found: \(message)"
30+
31+
case let .folderExists(message):
32+
errorDescription = "folder exists: \(message)"
33+
34+
case let .folderNotFound(message):
35+
errorDescription = "folder not found: \(message)"
36+
37+
case let .argumentError(message):
38+
errorDescription = "invalid argument: \(message)"
39+
40+
case let .moreInfoNeeded(message):
41+
errorDescription = "more info needed: \(message)"
42+
43+
default:
44+
errorDescription = "general failure"
45+
46+
}
47+
48+
return prefix + errorDescription
49+
}
1650
}
1751

1852
public struct ScriptToolkit {

0 commit comments

Comments
 (0)