@@ -52,7 +52,7 @@ public final class CSVReader: IteratorProtocol, Sequence {
5252 guard !headers. isEmpty else { throw Error . _invalidEmptyHeader ( ) }
5353 self . headers = headers
5454 self . count = ( rows: 1 , fields: headers. count)
55- // case .unknown: #warning("TODO")
55+ // case .unknown: #warning("TODO")
5656 }
5757 }
5858
@@ -159,9 +159,9 @@ extension CSVReader {
159159 // 2. Try to retrieve a scalar (if there is none, we reached the EOF).
160160 guard let scalar = try self . _scalarBuffer. next ( ) ?? self . _decoder ( ) else {
161161 switch result. isEmpty {
162- // 2.A. If no fields has been parsed, return nil.
162+ // 2.A. If no fields has been parsed, return nil.
163163 case true : return nil
164- // 2.B. If there were previous fields, the EOF counts as en empty field (since there was no row delimiter previously).
164+ // 2.B. If there were previous fields, the EOF counts as en empty field (since there was no row delimiter previously).
165165 case false : result. append ( " " ) ; break loop
166166 }
167167 }
@@ -175,14 +175,14 @@ extension CSVReader {
175175 let field = try self . _parseEscapedField ( rowIndex: rowIndex, escaping: escapingScalar)
176176 result. append ( field. value)
177177 if field. isAtEnd { break loop }
178- // 5. If the field delimiter is encountered, an implicit empty field has been defined.
178+ // 5. If the field delimiter is encountered, an implicit empty field has been defined.
179179 } else if try self . _isFieldDelimiter ( scalar) {
180180 result. append ( " " )
181- // 6. If the row delimiter is encountered, an implicit empty field has been defined (for rows that already have content).
181+ // 6. If the row delimiter is encountered, an implicit empty field has been defined (for rows that already have content).
182182 } else if try self . _isRowDelimiter ( scalar) {
183183 result. append ( " " )
184184 break loop
185- // 7. If a regular character is encountered, an "unescaped field" is awaiting parsing.
185+ // 7. If a regular character is encountered, an "unescaped field" is awaiting parsing.
186186 } else {
187187 let field = try self . _parseUnescapedField ( starting: scalar, rowIndex: rowIndex)
188188 result. append ( field. value)
@@ -203,28 +203,28 @@ extension CSVReader {
203203 self . _fieldBuffer. append ( starting)
204204
205205 // 1. This loop continue parsing a unescaped field till the field end is reached.
206- fieldLoop: while true {
207- // 2. Try to retrieve an scalar (if not, it is the EOF).
208- guard let scalar = try self . _scalarBuffer. next ( ) ?? self . _decoder ( ) else {
209- reachedRowsEnd = true
210- break fieldLoop
211- }
212- // 3. A escaping scalar cannot appear on unescaped fields. If one is encountered, an error is thrown.
213- if scalar == self . _settings. escapingScalar {
214- throw Error . _invalidUnescapedField ( rowIndex: rowIndex)
206+ fieldLoop: while true {
207+ // 2. Try to retrieve an scalar (if not, it is the EOF).
208+ guard let scalar = try self . _scalarBuffer. next ( ) ?? self . _decoder ( ) else {
209+ reachedRowsEnd = true
210+ break fieldLoop
211+ }
212+ // 3. A escaping scalar cannot appear on unescaped fields. If one is encountered, an error is thrown.
213+ if scalar == self . _settings. escapingScalar {
214+ throw Error . _invalidUnescapedField ( rowIndex: rowIndex)
215215 // 4. If the field delimiter is encountered, return the already parsed characters.
216- } else if try self . _isFieldDelimiter ( scalar) {
217- reachedRowsEnd = false
218- break fieldLoop
216+ } else if try self . _isFieldDelimiter ( scalar) {
217+ reachedRowsEnd = false
218+ break fieldLoop
219219 // 5. If the row delimiter is encountered, return the already parsed characters.
220- } else if try self . _isRowDelimiter ( scalar) {
221- reachedRowsEnd = true
222- break fieldLoop
220+ } else if try self . _isRowDelimiter ( scalar) {
221+ reachedRowsEnd = true
222+ break fieldLoop
223223 // 6. If it is a regular unicode scalar, just store it and continue parsing.
224- } else {
225- self . _fieldBuffer. append ( scalar)
224+ } else {
225+ self . _fieldBuffer. append ( scalar)
226+ }
226227 }
227- }
228228 // 7. Once the end has been reached, a field look-back (starting from the end) is performed to check if there are trim characters.
229229 if self . _settings. isTrimNeeded {
230230 while let lastScalar = self . _fieldBuffer. last, self . _settings. trimCharacters. contains ( lastScalar) {
0 commit comments