mirror of
				https://gitea.com/docker/build-push-action.git
				synced 2025-10-31 00:58:18 +07:00 
			
		
		
		
	Merge pull request #287 from docker/dependabot/npm_and_yarn/csv-parse-4.15.1
Bump csv-parse from 4.14.2 to 4.15.1
This commit is contained in:
		
						commit
						b280b0485b
					
				
							
								
								
									
										93
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										93
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -11668,10 +11668,14 @@ additional information. | ||||
| const { Transform } = __webpack_require__(413) | ||||
| const ResizeableBuffer = __webpack_require__(942) | ||||
| 
 | ||||
| // white space characters
 | ||||
| // https://en.wikipedia.org/wiki/Whitespace_character
 | ||||
| // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes#Types
 | ||||
| // \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff
 | ||||
| const tab = 9 | ||||
| const nl = 10 | ||||
| const nl = 10 // \n, 0x0A in hexadecimal, 10 in decimal
 | ||||
| const np = 12 | ||||
| const cr = 13 | ||||
| const cr = 13 // \r, 0x0D in hexadécimal, 13 in decimal
 | ||||
| const space = 32 | ||||
| const boms = { | ||||
|   // Note, the following are equals:
 | ||||
| @ -11860,6 +11864,27 @@ class Parser extends Transform { | ||||
|         throw new Error(`Invalid Option: from_line must be an integer, got ${JSON.stringify(opts.from_line)}`) | ||||
|       } | ||||
|     } | ||||
|     // Normalize options `ignore_last_delimiters`
 | ||||
|     if(options.ignore_last_delimiters === undefined || options.ignore_last_delimiters === null){ | ||||
|       options.ignore_last_delimiters = false | ||||
|     }else if(typeof options.ignore_last_delimiters === 'number'){ | ||||
|       options.ignore_last_delimiters = Math.floor(options.ignore_last_delimiters) | ||||
|       if(options.ignore_last_delimiters === 0){ | ||||
|         options.ignore_last_delimiters = false | ||||
|       } | ||||
|     }else if(typeof options.ignore_last_delimiters !== 'boolean'){ | ||||
|       throw new CsvError('CSV_INVALID_OPTION_IGNORE_LAST_DELIMITERS', [ | ||||
|         'Invalid option `ignore_last_delimiters`:', | ||||
|         'the value must be a boolean value or an integer,', | ||||
|         `got ${JSON.stringify(options.ignore_last_delimiters)}` | ||||
|       ], options) | ||||
|     } | ||||
|     if(options.ignore_last_delimiters === true && options.columns === false){ | ||||
|       throw new CsvError('CSV_IGNORE_LAST_DELIMITERS_REQUIRES_COLUMNS', [ | ||||
|         'The option `ignore_last_delimiters`', | ||||
|         'requires the activation of the `columns` option' | ||||
|       ], options) | ||||
|     } | ||||
|     // Normalize option `info`
 | ||||
|     if(options.info === undefined || options.info === null || options.info === false){ | ||||
|       options.info = false | ||||
| @ -12177,7 +12202,7 @@ class Parser extends Transform { | ||||
|       } | ||||
|       // Auto discovery of record_delimiter, unix, mac and windows supported
 | ||||
|       if(this.state.quoting === false && record_delimiter.length === 0){ | ||||
|         const record_delimiterCount = this.__autoDiscoverRowDelimiter(buf, pos) | ||||
|         const record_delimiterCount = this.__autoDiscoverRecordDelimiter(buf, pos) | ||||
|         if(record_delimiterCount){ | ||||
|           record_delimiter = this.options.record_delimiter | ||||
|         } | ||||
| @ -12218,12 +12243,12 @@ class Parser extends Transform { | ||||
|             const isNextChrTrimable = rtrim && this.__isCharTrimable(nextChr) | ||||
|             const isNextChrComment = comment !== null && this.__compareBytes(comment, buf, pos+quote.length, nextChr) | ||||
|             const isNextChrDelimiter = this.__isDelimiter(buf, pos+quote.length, nextChr) | ||||
|             const isNextChrRowDelimiter = record_delimiter.length === 0 ? this.__autoDiscoverRowDelimiter(buf, pos+quote.length) : this.__isRecordDelimiter(nextChr, buf, pos+quote.length) | ||||
|             const isNextChrRecordDelimiter = record_delimiter.length === 0 ? this.__autoDiscoverRecordDelimiter(buf, pos+quote.length) : this.__isRecordDelimiter(nextChr, buf, pos+quote.length) | ||||
|             // Escape a quote
 | ||||
|             // Treat next char as a regular character
 | ||||
|             if(escape !== null && this.__isEscape(buf, pos, chr) && this.__isQuote(buf, pos + escape.length)){ | ||||
|               pos += escape.length - 1 | ||||
|             }else if(!nextChr || isNextChrDelimiter || isNextChrRowDelimiter || isNextChrComment || isNextChrTrimable){ | ||||
|             }else if(!nextChr || isNextChrDelimiter || isNextChrRecordDelimiter || isNextChrComment || isNextChrTrimable){ | ||||
|               this.state.quoting = false | ||||
|               this.state.wasQuoting = true | ||||
|               pos += quote.length - 1 | ||||
| @ -12234,7 +12259,7 @@ class Parser extends Transform { | ||||
|                   'Invalid Closing Quote:', | ||||
|                   `got "${String.fromCharCode(nextChr)}"`, | ||||
|                   `at line ${this.info.lines}`, | ||||
|                   'instead of delimiter, row delimiter, trimable character', | ||||
|                   'instead of delimiter, record delimiter, trimable character', | ||||
|                   '(if activated) or comment', | ||||
|                 ], this.options, this.__context()) | ||||
|               ) | ||||
| @ -12275,25 +12300,24 @@ class Parser extends Transform { | ||||
|               this.info.comment_lines++ | ||||
|               // Skip full comment line
 | ||||
|             }else{ | ||||
|               // Activate records emition if above from_line
 | ||||
|               if(this.state.enabled === false && this.info.lines + (this.state.wasRowDelimiter === true ? 1: 0) >= from_line){ | ||||
|                 this.state.enabled = true | ||||
|                 this.__resetField() | ||||
|                 this.__resetRecord() | ||||
|                 pos += recordDelimiterLength - 1 | ||||
|                 continue | ||||
|               } | ||||
|               // Skip if line is empty and skip_empty_lines activated
 | ||||
|               if(skip_empty_lines === true && this.state.wasQuoting === false && this.state.record.length === 0 && this.state.field.length === 0){ | ||||
|                 this.info.empty_lines++ | ||||
|                 pos += recordDelimiterLength - 1 | ||||
|                 continue | ||||
|               } | ||||
|               // Activate records emition if above from_line
 | ||||
|               if(this.state.enabled === false && this.info.lines + (this.state.wasRowDelimiter === true ? 1: 0 ) >= from_line){ | ||||
|                 this.state.enabled = true | ||||
|                 this.__resetField() | ||||
|                 this.__resetRow() | ||||
|                 pos += recordDelimiterLength - 1 | ||||
|                 continue | ||||
|               }else{ | ||||
|               const errField = this.__onField() | ||||
|               if(errField !== undefined) return errField | ||||
|                 const errRecord = this.__onRow() | ||||
|               const errRecord = this.__onRecord() | ||||
|               if(errRecord !== undefined) return errRecord | ||||
|               } | ||||
|               if(to !== -1 && this.info.records >= to){ | ||||
|                 this.state.stop = true | ||||
|                 this.push(null) | ||||
| @ -12366,7 +12390,7 @@ class Parser extends Transform { | ||||
|         if(this.state.wasQuoting === true || this.state.record.length !== 0 || this.state.field.length !== 0){ | ||||
|           const errField = this.__onField() | ||||
|           if(errField !== undefined) return errField | ||||
|           const errRecord = this.__onRow() | ||||
|           const errRecord = this.__onRecord() | ||||
|           if(errRecord !== undefined) return errRecord | ||||
|         }else if(this.state.wasRowDelimiter === true){ | ||||
|           this.info.empty_lines++ | ||||
| @ -12382,21 +12406,17 @@ class Parser extends Transform { | ||||
|       this.state.wasRowDelimiter = false | ||||
|     } | ||||
|   } | ||||
|   // Helper to test if a character is a space or a line delimiter
 | ||||
|   __isCharTrimable(chr){ | ||||
|     return chr === space || chr === tab || chr === cr || chr === nl || chr === np | ||||
|   } | ||||
|   __onRow(){ | ||||
|   __onRecord(){ | ||||
|     const {columns, columns_duplicates_to_array, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_lines_with_empty_values} = this.options | ||||
|     const {enabled, record} = this.state | ||||
|     if(enabled === false){ | ||||
|       return this.__resetRow() | ||||
|       return this.__resetRecord() | ||||
|     } | ||||
|     // Convert the first line into column names
 | ||||
|     const recordLength = record.length | ||||
|     if(columns === true){ | ||||
|       if(isRecordEmpty(record)){ | ||||
|         this.__resetRow() | ||||
|         this.__resetRecord() | ||||
|         return | ||||
|       } | ||||
|       return this.__firstLineToColumns(record) | ||||
| @ -12438,12 +12458,12 @@ class Parser extends Transform { | ||||
|     } | ||||
|     if(skip_lines_with_empty_values === true){ | ||||
|       if(isRecordEmpty(record)){ | ||||
|         this.__resetRow() | ||||
|         this.__resetRecord() | ||||
|         return | ||||
|       } | ||||
|     } | ||||
|     if(this.state.recordHasError === true){ | ||||
|       this.__resetRow() | ||||
|       this.__resetRecord() | ||||
|       this.state.recordHasError = false | ||||
|       return | ||||
|     } | ||||
| @ -12517,7 +12537,7 @@ class Parser extends Transform { | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     this.__resetRow() | ||||
|     this.__resetRecord() | ||||
|   } | ||||
|   __firstLineToColumns(record){ | ||||
|     const {firstLineToHeaders} = this.state | ||||
| @ -12537,13 +12557,13 @@ class Parser extends Transform { | ||||
|       const normalizedHeaders = normalizeColumnsArray(headers) | ||||
|       this.state.expectedRecordLength = normalizedHeaders.length | ||||
|       this.options.columns = normalizedHeaders | ||||
|       this.__resetRow() | ||||
|       this.__resetRecord() | ||||
|       return | ||||
|     }catch(err){ | ||||
|       return err | ||||
|     } | ||||
|   } | ||||
|   __resetRow(){ | ||||
|   __resetRecord(){ | ||||
|     if(this.options.raw === true){ | ||||
|       this.state.rawBuffer.reset() | ||||
|     } | ||||
| @ -12616,6 +12636,10 @@ class Parser extends Transform { | ||||
|     } | ||||
|     return [undefined, field] | ||||
|   } | ||||
|   // Helper to test if a character is a space or a line delimiter
 | ||||
|   __isCharTrimable(chr){ | ||||
|     return chr === space || chr === tab || chr === cr || chr === nl || chr === np | ||||
|   } | ||||
|   // Keep it in case we implement the `cast_int` option
 | ||||
|   // __isInt(value){
 | ||||
|   //   // return Number.isInteger(parseInt(value))
 | ||||
| @ -12642,14 +12666,19 @@ class Parser extends Transform { | ||||
|       needMoreDataSize, | ||||
|       // Skip if the remaining buffer smaller than record delimiter
 | ||||
|       recordDelimiterMaxLength, | ||||
|       // Skip if the remaining buffer can be row delimiter following the closing quote
 | ||||
|       // Skip if the remaining buffer can be record delimiter following the closing quote
 | ||||
|       // 1 is for quote.length
 | ||||
|       quoting ? (quote.length + recordDelimiterMaxLength) : 0, | ||||
|     ) | ||||
|     return numOfCharLeft < requiredLength | ||||
|   } | ||||
|   __isDelimiter(buf, pos, chr){ | ||||
|     const {delimiter} = this.options | ||||
|     const {delimiter, ignore_last_delimiters} = this.options | ||||
|     if(ignore_last_delimiters === true && this.state.record.length === this.options.columns.length - 1){ | ||||
|       return 0 | ||||
|     }else if(ignore_last_delimiters !== false && typeof ignore_last_delimiters === 'number' && this.state.record.length === ignore_last_delimiters - 1){ | ||||
|       return 0 | ||||
|     } | ||||
|     loop1: for(let i = 0; i < delimiter.length; i++){ | ||||
|       const del = delimiter[i] | ||||
|       if(del[0] === chr){ | ||||
| @ -12704,7 +12733,7 @@ class Parser extends Transform { | ||||
|     } | ||||
|     return true | ||||
|   } | ||||
|   __autoDiscoverRowDelimiter(buf, pos){ | ||||
|   __autoDiscoverRecordDelimiter(buf, pos){ | ||||
|     const {encoding} = this.options | ||||
|     const chr = buf[pos] | ||||
|     if(chr === cr){ | ||||
|  | ||||
| @ -31,7 +31,7 @@ | ||||
|     "@actions/core": "^1.2.6", | ||||
|     "@actions/exec": "^1.0.4", | ||||
|     "@actions/github": "^4.0.0", | ||||
|     "csv-parse": "^4.14.2", | ||||
|     "csv-parse": "^4.15.1", | ||||
|     "semver": "^7.3.4", | ||||
|     "tmp": "^0.2.1" | ||||
|   }, | ||||
|  | ||||
| @ -1236,10 +1236,10 @@ cssstyle@^2.2.0: | ||||
|   dependencies: | ||||
|     cssom "~0.3.6" | ||||
| 
 | ||||
| csv-parse@*, csv-parse@^4.14.2: | ||||
|   version "4.14.2" | ||||
|   resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-4.14.2.tgz#c1329cff95a99b8773a92c4e62f8bff114b34726" | ||||
|   integrity sha512-YE2xlTKtM035/94llhgsp9qFQxGi47EkQJ1pZ+mLT/98GpIsbjkMGAb7Rmu9hNxVfYFOLf10hP+rPVqnoccLgw== | ||||
| csv-parse@*, csv-parse@^4.15.1: | ||||
|   version "4.15.1" | ||||
|   resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-4.15.1.tgz#fc5a0a1b24eaa6d4c24892daa387c46f7f92f8d2" | ||||
|   integrity sha512-TXIvRtNp0fqMJbk3yPR35bQIDzMH4khDwduElzE7Fl1wgnl25mnWYLSLqd/wS5GsDoX1rWtysivEYMNsz5jKwQ== | ||||
| 
 | ||||
| dashdash@^1.12.0: | ||||
|   version "1.14.1" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user