From 391b70851629e979a519615f8de08afdf0aecfa6 Mon Sep 17 00:00:00 2001 From: David Worms Date: Fri, 5 Oct 2018 17:11:30 +0200 Subject: [PATCH] internal: rename rowDelimiterLength to rowDelimiterMaxLength --- CHANGELOG.md | 4 ++++ lib/es5/index.js | 9 ++++----- lib/index.js | 9 ++++----- src/index.coffee.md | 9 ++++----- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25fe9ee..18267bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog +## Trunk + +* internal: rename rowDelimiterLength to rowDelimiterMaxLength + ## Version 3.1.2 * readme: fix links to project website diff --git a/lib/es5/index.js b/lib/es5/index.js index dd81d69..52f7559 100644 --- a/lib/es5/index.js +++ b/lib/es5/index.js @@ -279,7 +279,7 @@ Parser = function Parser() { chunks: [], rawBuf: '', buf: '', - rowDelimiterLength: this.options.rowDelimiter ? Math.max.apply(Math, _toConsumableArray(this.options.rowDelimiter.map(function (v) { + rowDelimiterMaxLength: this.options.rowDelimiter ? Math.max.apply(Math, _toConsumableArray(this.options.rowDelimiter.map(function (v) { return v.length; }))) : void 0, lineHasError: false, @@ -421,7 +421,6 @@ Parser.prototype.__push = function (line) { columnName = this.options.columns[i]; if (columnName === void 0 || columnName === null || columnName === false) { - // console.log('columnName', columnName) continue; } @@ -554,9 +553,9 @@ Parser.prototype.__write = function (chars, end) { // Skip if the remaining buffer can be comment // Skip if the remaining buffer can be row delimiter - if (!this.options.rowDelimiter && i + 3 > l || !this._.commenting && l - i < this.options.comment.length && this.options.comment.substr(0, l - i) === remainingBuffer || this.options.rowDelimiter && l - i < this._.rowDelimiterLength && this.options.rowDelimiter.some(function (rd) { + if (!this.options.rowDelimiter && i + 3 > l || !this._.commenting && l - i < this.options.comment.length && this.options.comment.substr(0, l - i) === remainingBuffer || this.options.rowDelimiter && l - i < this._.rowDelimiterMaxLength && this.options.rowDelimiter.some(function (rd) { return rd.substr(0, l - i) === remainingBuffer; // Skip if the remaining buffer can be row delimiter following the closing quote - }) || this.options.rowDelimiter && this._.quoting && l - i < this.options.quote.length + this._.rowDelimiterLength && this.options.rowDelimiter.some(function (rd) { + }) || this.options.rowDelimiter && this._.quoting && l - i < this.options.quote.length + this._.rowDelimiterMaxLength && this.options.rowDelimiter.some(function (rd) { return (_this2.options.quote + rd).substr(0, l - i) === remainingBuffer; // Skip if the remaining buffer can be delimiter // Skip if the remaining buffer can be escape sequence }) || l - i <= this.options.delimiter.length && this.options.delimiter.substr(0, l - i) === remainingBuffer || l - i <= this.options.escape.length && this.options.escape.substr(0, l - i) === remainingBuffer) { @@ -590,7 +589,7 @@ Parser.prototype.__write = function (chars, end) { } this.options.rowDelimiter = [rowDelimiter]; - this._.rowDelimiterLength = rowDelimiter.length; + this._.rowDelimiterMaxLength = rowDelimiter.length; } } // Parse that damn char // Note, shouldn't we have sth like chars.substr(i, @options.escape.length) diff --git a/lib/index.js b/lib/index.js index 866c54e..30a2903 100644 --- a/lib/index.js +++ b/lib/index.js @@ -220,7 +220,7 @@ Parser = function(options = {}) { chunks: [], rawBuf: '', buf: '', - rowDelimiterLength: this.options.rowDelimiter ? Math.max(...this.options.rowDelimiter.map(function(v) { + rowDelimiterMaxLength: this.options.rowDelimiter ? Math.max(...this.options.rowDelimiter.map(function(v) { return v.length; })) : void 0, lineHasError: false, @@ -342,7 +342,6 @@ Parser.prototype.__push = function(line) { field = line[i]; columnName = this.options.columns[i]; if (columnName === void 0 || columnName === null || columnName === false) { - // console.log('columnName', columnName) continue; } if (typeof columnName !== 'string') { @@ -448,10 +447,10 @@ Parser.prototype.__write = function(chars, end) { // (i+1000 >= l) or // Skip if the remaining buffer can be comment // Skip if the remaining buffer can be row delimiter - if ((!this.options.rowDelimiter && i + 3 > l) || (!this._.commenting && l - i < this.options.comment.length && this.options.comment.substr(0, l - i) === remainingBuffer) || (this.options.rowDelimiter && l - i < this._.rowDelimiterLength && this.options.rowDelimiter.some(function(rd) { + if ((!this.options.rowDelimiter && i + 3 > l) || (!this._.commenting && l - i < this.options.comment.length && this.options.comment.substr(0, l - i) === remainingBuffer) || (this.options.rowDelimiter && l - i < this._.rowDelimiterMaxLength && this.options.rowDelimiter.some(function(rd) { return rd.substr(0, l - i) === remainingBuffer; // Skip if the remaining buffer can be row delimiter following the closing quote - })) || (this.options.rowDelimiter && this._.quoting && l - i < (this.options.quote.length + this._.rowDelimiterLength) && this.options.rowDelimiter.some((rd) => { + })) || (this.options.rowDelimiter && this._.quoting && l - i < (this.options.quote.length + this._.rowDelimiterMaxLength) && this.options.rowDelimiter.some((rd) => { return (this.options.quote + rd).substr(0, l - i) === remainingBuffer; // Skip if the remaining buffer can be delimiter // Skip if the remaining buffer can be escape sequence @@ -481,7 +480,7 @@ Parser.prototype.__write = function(chars, end) { rowDelimiter += '\n'; } this.options.rowDelimiter = [rowDelimiter]; - this._.rowDelimiterLength = rowDelimiter.length; + this._.rowDelimiterMaxLength = rowDelimiter.length; } } // Parse that damn char diff --git a/src/index.coffee.md b/src/index.coffee.md index e8fb1b6..3b391e4 100644 --- a/src/index.coffee.md +++ b/src/index.coffee.md @@ -135,7 +135,7 @@ Options are documented [here](http://csv.js.org/parse/options/). chunks: [] rawBuf: '' buf: '' - rowDelimiterLength: Math.max(@options.rowDelimiter.map( (v) -> v.length)...) if @options.rowDelimiter + rowDelimiterMaxLength: Math.max(@options.rowDelimiter.map( (v) -> v.length)...) if @options.rowDelimiter lineHasError: false isEnded: false @ @@ -224,7 +224,6 @@ Implementation of the [`stream.Transform` API](https://nodejs.org/api/stream.htm lineAsColumns = {} for field, i in line columnName = @options.columns[i] - # console.log('columnName', columnName) continue if columnName is undefined or columnName is null or columnName is false throw Error "Invalid column name #{JSON.stringify columnName}" if typeof columnName isnt 'string' lineAsColumns[columnName] = field @@ -293,9 +292,9 @@ Implementation of the [`stream.Transform` API](https://nodejs.org/api/stream.htm # Skip if the remaining buffer can be comment (not @_.commenting and l - i < @options.comment.length and @options.comment.substr(0, l - i) is remainingBuffer) or # Skip if the remaining buffer can be row delimiter - (@options.rowDelimiter and l - i < @_.rowDelimiterLength and @options.rowDelimiter.some( (rd) -> rd.substr(0, l - i) is remainingBuffer)) or + (@options.rowDelimiter and l - i < @_.rowDelimiterMaxLength and @options.rowDelimiter.some( (rd) -> rd.substr(0, l - i) is remainingBuffer)) or # Skip if the remaining buffer can be row delimiter following the closing quote - (@options.rowDelimiter and @_.quoting and l - i < (@options.quote.length + @_.rowDelimiterLength) and @options.rowDelimiter.some((rd) => (@options.quote + rd).substr(0, l - i) is remainingBuffer)) or + (@options.rowDelimiter and @_.quoting and l - i < (@options.quote.length + @_.rowDelimiterMaxLength) and @options.rowDelimiter.some((rd) => (@options.quote + rd).substr(0, l - i) is remainingBuffer)) or # Skip if the remaining buffer can be delimiter (l - i <= @options.delimiter.length and @options.delimiter.substr(0, l - i) is remainingBuffer) or # Skip if the remaining buffer can be escape sequence @@ -318,7 +317,7 @@ Implementation of the [`stream.Transform` API](https://nodejs.org/api/stream.htm if rowDelimiter rowDelimiter += '\n' if rowDelimiter is '\r' and chars.charAt(nextCharPos) is '\n' @options.rowDelimiter = [rowDelimiter] - @_.rowDelimiterLength = rowDelimiter.length + @_.rowDelimiterMaxLength = rowDelimiter.length # Parse that damn char # Note, shouldn't we have sth like chars.substr(i, @options.escape.length) if not @_.commenting and char is @options.escape