diff --git a/Sources/CSV/Seralizer.swift b/Sources/CSV/Seralizer.swift index b8903f1..24932db 100644 --- a/Sources/CSV/Seralizer.swift +++ b/Sources/CSV/Seralizer.swift @@ -103,11 +103,7 @@ public struct Serializer { if !self.serializedHeaders { let headers = data.keys.map { title -> [UInt8] in - if let delimiter = self.configuration.cellDelimiter { - return title.bytes.escaping(delimiter) - } else { - return title.bytes - } + return title.bytes.escaping(self.configuration.cellDelimiter) } do { try self.onRow(Array(headers.joined(separator: [configuration.cellSeparator]))) } catch let error { errors.errors.append(error) } @@ -117,11 +113,7 @@ public struct Serializer { guard let first = data.first?.value else { return errors.result } (first.startIndex.. [UInt8] in - if let delimiter = self.configuration.cellDelimiter { - return column[index].bytes.escaping(delimiter) - } else { - return column[index].bytes - } + return column[index].bytes.escaping(self.configuration.cellDelimiter) } do { try onRow(Array(cells.joined(separator: [configuration.cellSeparator]))) } catch let error { errors.errors.append(error) } diff --git a/Tests/CSVTests/StressTests.swift b/Tests/CSVTests/StressTests.swift index 8bf39b9..15cbab9 100644 --- a/Tests/CSVTests/StressTests.swift +++ b/Tests/CSVTests/StressTests.swift @@ -38,7 +38,7 @@ final class StressTests: XCTestCase { let csv = Array(data) let parsed = SyncParser().parse(csv) - // Baseline: 21.951 + // Baseline: 21.453 // Time to beat: 11.932 measure { serializer.serialize(parsed) @@ -50,7 +50,7 @@ final class StressTests: XCTestCase { let csv = Array(data) let parsed = SyncParser().parse(csv) - // Baseline: 22.721 + // Baseline: 22.903 // Time to beat: 11.932 measure { _ = serializer.serialize(parsed)