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 {
3939
4040 /// Initializes a `bulkString` value.
4141 /// - 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)
4550 self = . bulkString( buffer)
4651 }
4752
4853 /// Initializes a `bulkString` value.
4954 /// - 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)
5257 }
5358
5459 /// Stores the representation determined by the `RESPValueConvertible` value.
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ extension RESPTranslatorTests {
3737 XCTAssertTrue ( writingTestPass ( input: . bulkString( buffer) , expected: " $5 \r \n " . bytes + bytes + " \r \n " . bytes) )
3838 XCTAssertTrue ( writingTestPass ( input: . init( bulk: " ®in§³¾ " ) , expected: " $10 \r \n ®in§³¾ \r \n " ) )
3939 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 " ) )
4041 }
4142
4243 func testWriting_integers( ) {
You can’t perform that action at this time.
0 commit comments