* Parses a line of CSV-encoded values. Returns an array of fields. * * @param {string} line Input line.
(line)
| 87 | * @param {string} line Input line. |
| 88 | */ |
| 89 | parseLine(line) { |
| 90 | let pos = 0; |
| 91 | const endPos = line.length; |
| 92 | const fields = []; |
| 93 | if (endPos == 0) return fields; |
| 94 | let nextPos = 0; |
| 95 | while(nextPos !== -1) { |
| 96 | nextPos = line.indexOf(',', pos); |
| 97 | let field; |
| 98 | if (nextPos === -1) { |
| 99 | field = line.substr(pos); |
| 100 | } else { |
| 101 | field = line.substring(pos, nextPos); |
| 102 | } |
| 103 | fields.push(this.escapeField(field)); |
| 104 | pos = nextPos + 1; |
| 105 | }; |
| 106 | return fields |
| 107 | } |
| 108 | } |
no test coverage detected