@@ -6,11 +6,11 @@ public protocol ConversionStrategy {
6
6
}
7
7
8
8
public protocol DecoderStrategy : ConversionStrategy {
9
- static func decode( _ value: RawValue ) -> ConvertedValue
9
+ static func decode( _ value: RawValue ) throws -> ConvertedValue
10
10
}
11
11
12
12
public protocol EncoderStrategy : ConversionStrategy {
13
- static func encode( _ value: ConvertedValue ) -> RawValue
13
+ static func encode( _ value: ConvertedValue ) throws -> RawValue
14
14
}
15
15
16
16
public typealias TwoWayConversionStrategy = EncoderStrategy & DecoderStrategy
@@ -31,14 +31,14 @@ extension Converted: Decodable where Converter.RawValue: Decodable, Converter: D
31
31
public init ( from decoder: Decoder ) throws {
32
32
let container = try decoder. singleValueContainer ( )
33
33
let rawValue = try container. decode ( Converter . RawValue. self)
34
- let decodedValue = Converter . decode ( rawValue)
34
+ let decodedValue = try Converter . decode ( rawValue)
35
35
self . init ( wrappedValue: decodedValue)
36
36
}
37
37
}
38
38
39
39
extension Converted : Encodable where Converter. RawValue: Encodable , Converter: EncoderStrategy {
40
40
public func encode( to encoder: Encoder ) throws {
41
- let rawValue = Converter . encode ( wrappedValue)
41
+ let rawValue = try Converter . encode ( wrappedValue)
42
42
try rawValue. encode ( to: encoder)
43
43
}
44
44
}
@@ -49,14 +49,14 @@ extension Optional: ConversionStrategy where Wrapped: ConversionStrategy {
49
49
}
50
50
51
51
extension Optional : EncoderStrategy where Wrapped: EncoderStrategy {
52
- public static func encode( _ value: Wrapped . ConvertedValue ? ) -> Wrapped . RawValue ? {
53
- value. map ( Wrapped . encode)
52
+ public static func encode( _ value: Wrapped . ConvertedValue ? ) throws -> Wrapped . RawValue ? {
53
+ try value. map ( Wrapped . encode)
54
54
}
55
55
}
56
56
57
57
extension Optional : DecoderStrategy where Wrapped: DecoderStrategy {
58
- public static func decode( _ value: Wrapped . RawValue ? ) -> Wrapped . ConvertedValue ? {
59
- value. map ( Wrapped . decode)
58
+ public static func decode( _ value: Wrapped . RawValue ? ) throws -> Wrapped . ConvertedValue ? {
59
+ try value. map ( Wrapped . decode)
60
60
}
61
61
}
62
62
0 commit comments