Removed un-needed if-let statements in Serializer.serialize(_:) method
This commit is contained in:
parent
05648329cd
commit
b7c93ed182
|
@ -103,11 +103,7 @@ public struct Serializer {
|
||||||
|
|
||||||
if !self.serializedHeaders {
|
if !self.serializedHeaders {
|
||||||
let headers = data.keys.map { title -> [UInt8] in
|
let headers = data.keys.map { title -> [UInt8] in
|
||||||
if let delimiter = self.configuration.cellDelimiter {
|
return title.bytes.escaping(self.configuration.cellDelimiter)
|
||||||
return title.bytes.escaping(delimiter)
|
|
||||||
} else {
|
|
||||||
return title.bytes
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
do { try self.onRow(Array(headers.joined(separator: [configuration.cellSeparator]))) }
|
do { try self.onRow(Array(headers.joined(separator: [configuration.cellSeparator]))) }
|
||||||
catch let error { errors.errors.append(error) }
|
catch let error { errors.errors.append(error) }
|
||||||
|
@ -117,11 +113,7 @@ public struct Serializer {
|
||||||
guard let first = data.first?.value else { return errors.result }
|
guard let first = data.first?.value else { return errors.result }
|
||||||
(first.startIndex..<first.endIndex).forEach { index in
|
(first.startIndex..<first.endIndex).forEach { index in
|
||||||
let cells = data.values.map { column -> [UInt8] in
|
let cells = data.values.map { column -> [UInt8] in
|
||||||
if let delimiter = self.configuration.cellDelimiter {
|
return column[index].bytes.escaping(self.configuration.cellDelimiter)
|
||||||
return column[index].bytes.escaping(delimiter)
|
|
||||||
} else {
|
|
||||||
return column[index].bytes
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
do { try onRow(Array(cells.joined(separator: [configuration.cellSeparator]))) }
|
do { try onRow(Array(cells.joined(separator: [configuration.cellSeparator]))) }
|
||||||
catch let error { errors.errors.append(error) }
|
catch let error { errors.errors.append(error) }
|
||||||
|
|
|
@ -38,7 +38,7 @@ final class StressTests: XCTestCase {
|
||||||
let csv = Array(data)
|
let csv = Array(data)
|
||||||
let parsed = SyncParser().parse(csv)
|
let parsed = SyncParser().parse(csv)
|
||||||
|
|
||||||
// Baseline: 21.951
|
// Baseline: 21.453
|
||||||
// Time to beat: 11.932
|
// Time to beat: 11.932
|
||||||
measure {
|
measure {
|
||||||
serializer.serialize(parsed)
|
serializer.serialize(parsed)
|
||||||
|
@ -50,7 +50,7 @@ final class StressTests: XCTestCase {
|
||||||
let csv = Array(data)
|
let csv = Array(data)
|
||||||
let parsed = SyncParser().parse(csv)
|
let parsed = SyncParser().parse(csv)
|
||||||
|
|
||||||
// Baseline: 22.721
|
// Baseline: 22.903
|
||||||
// Time to beat: 11.932
|
// Time to beat: 11.932
|
||||||
measure {
|
measure {
|
||||||
_ = serializer.serialize(parsed)
|
_ = serializer.serialize(parsed)
|
||||||
|
|
Loading…
Reference in New Issue