File tree Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -39,16 +39,21 @@ public enum RESPValue {
39
39
40
40
/// Initializes a `bulkString` value.
41
41
/// - Parameter value: The `String` to store in a `.bulkString` representation.
42
- public init ( bulk value: String ) {
43
- var buffer = RESPValue . allocator. buffer ( capacity: value. count)
44
- buffer. writeString ( value)
42
+ public init ( bulk value: String ? ) {
43
+ guard let unwrappedValue = value else {
44
+ self = . bulkString( nil )
45
+ return
46
+ }
47
+
48
+ var buffer = RESPValue . allocator. buffer ( capacity: unwrappedValue. count)
49
+ buffer. writeString ( unwrappedValue)
45
50
self = . bulkString( buffer)
46
51
}
47
52
48
53
/// Initializes a `bulkString` value.
49
54
/// - Parameter value: The `Int` value to store in a `.bulkString` representation.
50
- public init ( bulk value: Int ) {
51
- self . init ( bulk: value. description)
55
+ public init < Value : FixedWidthInteger > ( bulk value: Value ? ) {
56
+ self . init ( bulk: value? . description)
52
57
}
53
58
54
59
/// Stores the representation determined by the `RESPValueConvertible` value.
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ extension RESPTranslatorTests {
37
37
XCTAssertTrue ( writingTestPass ( input: . bulkString( buffer) , expected: " $5 \r \n " . bytes + bytes + " \r \n " . bytes) )
38
38
XCTAssertTrue ( writingTestPass ( input: . init( bulk: " ®in§³¾ " ) , expected: " $10 \r \n ®in§³¾ \r \n " ) )
39
39
XCTAssertTrue ( writingTestPass ( input: . init( bulk: " " ) , expected: " $0 \r \n \r \n " ) )
40
+ XCTAssertTrue ( writingTestPass ( input: . init( bulk: Optional< Int> . none) , expected: " $0 \r \n \r \n " ) )
40
41
}
41
42
42
43
func testWriting_integers( ) {
You can’t perform that action at this time.
0 commit comments