Skip to content

Commit 7995bc9

Browse files
committed
Move to extension
1 parent 829625f commit 7995bc9

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

Sources/Commands/Options.swift

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,27 @@ enum BuildSystemKind: String, ExpressibleByArgument, CaseIterable {
9090
case xcode
9191
}
9292

93+
public extension Sanitizer {
94+
init(argument: String) throws {
95+
if let sanitizer = Sanitizer(rawValue: argument) {
96+
self = sanitizer
97+
return
98+
}
99+
100+
for sanitizer in Sanitizer.allCases where sanitizer.shortName == argument {
101+
self = sanitizer
102+
return
103+
}
104+
105+
throw ArgumentConversionError.custom("valid sanitizers: \(Sanitizer.formattedValues)")
106+
}
107+
108+
/// All sanitizer options in a comma separated string
109+
fileprivate static var formattedValues: String {
110+
return Sanitizer.allCases.map(\.rawValue).joined(separator: ", ")
111+
}
112+
}
113+
93114
public struct SwiftToolOptions: ParsableArguments {
94115
@OptionGroup()
95116
var buildFlagsGroup: BuildFlagsGroup

Sources/SPMBuildCore/Sanitizers.swift

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,6 @@ public enum Sanitizer: String, Encodable, CaseIterable {
1818
case undefined
1919
case scudo
2020

21-
public init(argument: String) throws {
22-
if let sanitizer = Sanitizer(rawValue: argument) {
23-
self = sanitizer
24-
return
25-
}
26-
27-
for sanitizer in Sanitizer.allCases where sanitizer.shortName == argument {
28-
self = sanitizer
29-
return
30-
}
31-
32-
throw ArgumentConversionError.custom("valid sanitizers: \(Sanitizer.formattedValues)")
33-
}
34-
35-
/// All sanitizer options in a comma separated string
36-
public static var formattedValues: String {
37-
return Sanitizer.allCases.map(\.rawValue).joined(separator: ", ")
38-
}
39-
4021
/// Return an established short name for a sanitizer, e.g. "asan".
4122
public var shortName: String {
4223
switch self {

0 commit comments

Comments
 (0)