Skip to content

Commit 750052f

Browse files
committed
Use throwing closures instead of Swift.Result
1 parent 5a72222 commit 750052f

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

Sources/DiscriminatedUnionMacros/DiscriminatedUnionMacro.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,11 +229,11 @@ private struct TupleExtractionPropertyGenerator {
229229

230230
return """
231231
232-
public static func tupleFrom\(raw: titleCasedName)(_ instance: Self) -> Swift.Result<\(raw: tupleType), PayloadExtractionError> {
232+
public static func tupleFrom\(raw: titleCasedName)(_ instance: Self) throws(PayloadExtractionError) -> \(raw: tupleType) {
233233
if case .\(raw: caseName)(\(raw: pBindings)) = instance {
234-
.success(\(raw: returnValue(parameterClause: parameterClause)))
234+
return \(raw: returnValue(parameterClause: parameterClause))
235235
} else {
236-
.failure(.invalidExtraction(expected: .\(raw: caseName), actual: instance.discriminant))
236+
throw .invalidExtraction(expected: .\(raw: caseName), actual: instance.discriminant)
237237
}
238238
}
239239

Tests/DiscriminatedUnionTests/DiscriminatedUnionTests.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -85,27 +85,27 @@ enum Pet {
8585
case invalidExtraction(expected: Discriminant, actual: Discriminant)
8686
}
8787
88-
public static func tupleFromCat(_ instance: Self) -> Swift.Result<Bool, PayloadExtractionError> {
88+
public static func tupleFromCat(_ instance: Self) throws(PayloadExtractionError) -> Bool {
8989
if case .cat(let curious) = instance {
90-
.success(curious)
90+
return curious
9191
} else {
92-
.failure(.invalidExtraction(expected: .cat, actual: instance.discriminant))
92+
throw .invalidExtraction(expected: .cat, actual: instance.discriminant)
9393
}
9494
}
9595
96-
public static func tupleFromBird(_ instance: Self) -> Swift.Result<(name: String, Int), PayloadExtractionError> {
96+
public static func tupleFromBird(_ instance: Self) throws(PayloadExtractionError) -> (name: String, Int) {
9797
if case .bird(let name, let index1) = instance {
98-
.success((name, index1))
98+
return (name, index1)
9999
} else {
100-
.failure(.invalidExtraction(expected: .bird, actual: instance.discriminant))
100+
throw .invalidExtraction(expected: .bird, actual: instance.discriminant)
101101
}
102102
}
103103
104-
public static func tupleFromHydra(_ instance: Self) -> Swift.Result<(() -> String, String), PayloadExtractionError> {
104+
public static func tupleFromHydra(_ instance: Self) throws(PayloadExtractionError) -> (() -> String, String) {
105105
if case .hydra(let index0, let index1) = instance {
106-
.success((index0, index1))
106+
return (index0, index1)
107107
} else {
108-
.failure(.invalidExtraction(expected: .hydra, actual: instance.discriminant))
108+
throw .invalidExtraction(expected: .hydra, actual: instance.discriminant)
109109
}
110110
}
111111
}

0 commit comments

Comments
 (0)