Skip to content

Commit 74334cf

Browse files
committed
refactor(csv-parse)!: rename group_columns_by_name option
1 parent 7b55f05 commit 74334cf

17 files changed

+126
-127
lines changed

packages/csv-parse/ROADMAP.md

-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,5 @@ We invite you to join and contribute but create an issue before engaging any wor
88
* promise: new API module (medium)
99
* errors: finish normalisation of all errors (easy)
1010
* encoding: new encoding_input and encoding_output options (medium)
11-
* `columns_duplicates_to_array`: this is just too long but I don't have much insipiration for a better name
1211
* `info`: remove the `parser.info` object and move its properties to `state`
1312
* `info`: rename the `info` related properties and functions to `context`

packages/csv-parse/dist/cjs/index.cjs

+11-11
Original file line numberDiff line numberDiff line change
@@ -5193,18 +5193,18 @@ class Parser extends Transform {
51935193
`got ${JSON.stringify(options.columns)}`
51945194
], options);
51955195
}
5196-
// Normalize option `columns_duplicates_to_array`
5197-
if(options.columns_duplicates_to_array === undefined || options.columns_duplicates_to_array === null || options.columns_duplicates_to_array === false){
5198-
options.columns_duplicates_to_array = false;
5199-
}else if(options.columns_duplicates_to_array !== true){
5200-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5201-
'Invalid option columns_duplicates_to_array:',
5196+
// Normalize option `group_columns_by_name`
5197+
if(options.group_columns_by_name === undefined || options.group_columns_by_name === null || options.group_columns_by_name === false){
5198+
options.group_columns_by_name = false;
5199+
}else if(options.group_columns_by_name !== true){
5200+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5201+
'Invalid option group_columns_by_name:',
52025202
'expect an boolean,',
5203-
`got ${JSON.stringify(options.columns_duplicates_to_array)}`
5203+
`got ${JSON.stringify(options.group_columns_by_name)}`
52045204
], options);
52055205
}else if(options.columns === false){
5206-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5207-
'Invalid option columns_duplicates_to_array:',
5206+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5207+
'Invalid option group_columns_by_name:',
52085208
'the `columns` mode must be activated.'
52095209
], options);
52105210
}
@@ -5860,7 +5860,7 @@ class Parser extends Transform {
58605860
}
58615861
}
58625862
__onRecord(){
5863-
const {columns, columns_duplicates_to_array, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
5863+
const {columns, group_columns_by_name, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
58645864
const {enabled, record} = this.state;
58655865
if(enabled === false){
58665866
return this.__resetRecord();
@@ -5924,7 +5924,7 @@ class Parser extends Transform {
59245924
for(let i = 0, l = record.length; i < l; i++){
59255925
if(columns[i] === undefined || columns[i].disabled) continue;
59265926
// Turn duplicate columns into an array
5927-
if (columns_duplicates_to_array === true && obj[columns[i].name] !== undefined) {
5927+
if (group_columns_by_name === true && obj[columns[i].name] !== undefined) {
59285928
if (Array.isArray(obj[columns[i].name])) {
59295929
obj[columns[i].name] = obj[columns[i].name].concat(record[i]);
59305930
} else {

packages/csv-parse/dist/cjs/index.d.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ export interface Options {
8282
* Convert values into an array of values when columns are activated and
8383
* when multiple columns of the same name are found.
8484
*/
85-
columns_duplicates_to_array?: boolean;
86-
columnsDuplicatesToArray?: boolean;
85+
group_columns_by_name?: boolean;
86+
groupColumnsByName?: boolean;
8787
/**
8888
* Treat all the characters after this one as a comment, default to '' (disabled).
8989
*/
@@ -241,7 +241,7 @@ export type CsvErrorCode =
241241
| 'CSV_INVALID_OPTION_CAST'
242242
| 'CSV_INVALID_OPTION_CAST_DATE'
243243
| 'CSV_INVALID_OPTION_COLUMNS'
244-
| 'CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY'
244+
| 'CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME'
245245
| 'CSV_INVALID_OPTION_COMMENT'
246246
| 'CSV_INVALID_OPTION_DELIMITER'
247247
| 'CSV_INVALID_OPTION_ON_RECORD'

packages/csv-parse/dist/cjs/sync.cjs

+11-11
Original file line numberDiff line numberDiff line change
@@ -5193,18 +5193,18 @@ class Parser extends Transform {
51935193
`got ${JSON.stringify(options.columns)}`
51945194
], options);
51955195
}
5196-
// Normalize option `columns_duplicates_to_array`
5197-
if(options.columns_duplicates_to_array === undefined || options.columns_duplicates_to_array === null || options.columns_duplicates_to_array === false){
5198-
options.columns_duplicates_to_array = false;
5199-
}else if(options.columns_duplicates_to_array !== true){
5200-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5201-
'Invalid option columns_duplicates_to_array:',
5196+
// Normalize option `group_columns_by_name`
5197+
if(options.group_columns_by_name === undefined || options.group_columns_by_name === null || options.group_columns_by_name === false){
5198+
options.group_columns_by_name = false;
5199+
}else if(options.group_columns_by_name !== true){
5200+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5201+
'Invalid option group_columns_by_name:',
52025202
'expect an boolean,',
5203-
`got ${JSON.stringify(options.columns_duplicates_to_array)}`
5203+
`got ${JSON.stringify(options.group_columns_by_name)}`
52045204
], options);
52055205
}else if(options.columns === false){
5206-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5207-
'Invalid option columns_duplicates_to_array:',
5206+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5207+
'Invalid option group_columns_by_name:',
52085208
'the `columns` mode must be activated.'
52095209
], options);
52105210
}
@@ -5860,7 +5860,7 @@ class Parser extends Transform {
58605860
}
58615861
}
58625862
__onRecord(){
5863-
const {columns, columns_duplicates_to_array, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
5863+
const {columns, group_columns_by_name, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
58645864
const {enabled, record} = this.state;
58655865
if(enabled === false){
58665866
return this.__resetRecord();
@@ -5924,7 +5924,7 @@ class Parser extends Transform {
59245924
for(let i = 0, l = record.length; i < l; i++){
59255925
if(columns[i] === undefined || columns[i].disabled) continue;
59265926
// Turn duplicate columns into an array
5927-
if (columns_duplicates_to_array === true && obj[columns[i].name] !== undefined) {
5927+
if (group_columns_by_name === true && obj[columns[i].name] !== undefined) {
59285928
if (Array.isArray(obj[columns[i].name])) {
59295929
obj[columns[i].name] = obj[columns[i].name].concat(record[i]);
59305930
} else {

packages/csv-parse/dist/esm/index.d.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ export interface Options {
8282
* Convert values into an array of values when columns are activated and
8383
* when multiple columns of the same name are found.
8484
*/
85-
columns_duplicates_to_array?: boolean;
86-
columnsDuplicatesToArray?: boolean;
85+
group_columns_by_name?: boolean;
86+
groupColumnsByName?: boolean;
8787
/**
8888
* Treat all the characters after this one as a comment, default to '' (disabled).
8989
*/
@@ -241,7 +241,7 @@ export type CsvErrorCode =
241241
| 'CSV_INVALID_OPTION_CAST'
242242
| 'CSV_INVALID_OPTION_CAST_DATE'
243243
| 'CSV_INVALID_OPTION_COLUMNS'
244-
| 'CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY'
244+
| 'CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME'
245245
| 'CSV_INVALID_OPTION_COMMENT'
246246
| 'CSV_INVALID_OPTION_DELIMITER'
247247
| 'CSV_INVALID_OPTION_ON_RECORD'

packages/csv-parse/dist/esm/index.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -5189,18 +5189,18 @@ class Parser extends Transform {
51895189
`got ${JSON.stringify(options.columns)}`
51905190
], options);
51915191
}
5192-
// Normalize option `columns_duplicates_to_array`
5193-
if(options.columns_duplicates_to_array === undefined || options.columns_duplicates_to_array === null || options.columns_duplicates_to_array === false){
5194-
options.columns_duplicates_to_array = false;
5195-
}else if(options.columns_duplicates_to_array !== true){
5196-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5197-
'Invalid option columns_duplicates_to_array:',
5192+
// Normalize option `group_columns_by_name`
5193+
if(options.group_columns_by_name === undefined || options.group_columns_by_name === null || options.group_columns_by_name === false){
5194+
options.group_columns_by_name = false;
5195+
}else if(options.group_columns_by_name !== true){
5196+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5197+
'Invalid option group_columns_by_name:',
51985198
'expect an boolean,',
5199-
`got ${JSON.stringify(options.columns_duplicates_to_array)}`
5199+
`got ${JSON.stringify(options.group_columns_by_name)}`
52005200
], options);
52015201
}else if(options.columns === false){
5202-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5203-
'Invalid option columns_duplicates_to_array:',
5202+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5203+
'Invalid option group_columns_by_name:',
52045204
'the `columns` mode must be activated.'
52055205
], options);
52065206
}
@@ -5856,7 +5856,7 @@ class Parser extends Transform {
58565856
}
58575857
}
58585858
__onRecord(){
5859-
const {columns, columns_duplicates_to_array, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
5859+
const {columns, group_columns_by_name, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
58605860
const {enabled, record} = this.state;
58615861
if(enabled === false){
58625862
return this.__resetRecord();
@@ -5920,7 +5920,7 @@ class Parser extends Transform {
59205920
for(let i = 0, l = record.length; i < l; i++){
59215921
if(columns[i] === undefined || columns[i].disabled) continue;
59225922
// Turn duplicate columns into an array
5923-
if (columns_duplicates_to_array === true && obj[columns[i].name] !== undefined) {
5923+
if (group_columns_by_name === true && obj[columns[i].name] !== undefined) {
59245924
if (Array.isArray(obj[columns[i].name])) {
59255925
obj[columns[i].name] = obj[columns[i].name].concat(record[i]);
59265926
} else {

packages/csv-parse/dist/esm/sync.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -5189,18 +5189,18 @@ class Parser extends Transform {
51895189
`got ${JSON.stringify(options.columns)}`
51905190
], options);
51915191
}
5192-
// Normalize option `columns_duplicates_to_array`
5193-
if(options.columns_duplicates_to_array === undefined || options.columns_duplicates_to_array === null || options.columns_duplicates_to_array === false){
5194-
options.columns_duplicates_to_array = false;
5195-
}else if(options.columns_duplicates_to_array !== true){
5196-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5197-
'Invalid option columns_duplicates_to_array:',
5192+
// Normalize option `group_columns_by_name`
5193+
if(options.group_columns_by_name === undefined || options.group_columns_by_name === null || options.group_columns_by_name === false){
5194+
options.group_columns_by_name = false;
5195+
}else if(options.group_columns_by_name !== true){
5196+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5197+
'Invalid option group_columns_by_name:',
51985198
'expect an boolean,',
5199-
`got ${JSON.stringify(options.columns_duplicates_to_array)}`
5199+
`got ${JSON.stringify(options.group_columns_by_name)}`
52005200
], options);
52015201
}else if(options.columns === false){
5202-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5203-
'Invalid option columns_duplicates_to_array:',
5202+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5203+
'Invalid option group_columns_by_name:',
52045204
'the `columns` mode must be activated.'
52055205
], options);
52065206
}
@@ -5856,7 +5856,7 @@ class Parser extends Transform {
58565856
}
58575857
}
58585858
__onRecord(){
5859-
const {columns, columns_duplicates_to_array, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
5859+
const {columns, group_columns_by_name, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
58605860
const {enabled, record} = this.state;
58615861
if(enabled === false){
58625862
return this.__resetRecord();
@@ -5920,7 +5920,7 @@ class Parser extends Transform {
59205920
for(let i = 0, l = record.length; i < l; i++){
59215921
if(columns[i] === undefined || columns[i].disabled) continue;
59225922
// Turn duplicate columns into an array
5923-
if (columns_duplicates_to_array === true && obj[columns[i].name] !== undefined) {
5923+
if (group_columns_by_name === true && obj[columns[i].name] !== undefined) {
59245924
if (Array.isArray(obj[columns[i].name])) {
59255925
obj[columns[i].name] = obj[columns[i].name].concat(record[i]);
59265926
} else {

packages/csv-parse/dist/iife/index.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -5192,18 +5192,18 @@ var csv_parse = (function (exports) {
51925192
`got ${JSON.stringify(options.columns)}`
51935193
], options);
51945194
}
5195-
// Normalize option `columns_duplicates_to_array`
5196-
if(options.columns_duplicates_to_array === undefined || options.columns_duplicates_to_array === null || options.columns_duplicates_to_array === false){
5197-
options.columns_duplicates_to_array = false;
5198-
}else if(options.columns_duplicates_to_array !== true){
5199-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5200-
'Invalid option columns_duplicates_to_array:',
5195+
// Normalize option `group_columns_by_name`
5196+
if(options.group_columns_by_name === undefined || options.group_columns_by_name === null || options.group_columns_by_name === false){
5197+
options.group_columns_by_name = false;
5198+
}else if(options.group_columns_by_name !== true){
5199+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5200+
'Invalid option group_columns_by_name:',
52015201
'expect an boolean,',
5202-
`got ${JSON.stringify(options.columns_duplicates_to_array)}`
5202+
`got ${JSON.stringify(options.group_columns_by_name)}`
52035203
], options);
52045204
}else if(options.columns === false){
5205-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5206-
'Invalid option columns_duplicates_to_array:',
5205+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5206+
'Invalid option group_columns_by_name:',
52075207
'the `columns` mode must be activated.'
52085208
], options);
52095209
}
@@ -5859,7 +5859,7 @@ var csv_parse = (function (exports) {
58595859
}
58605860
}
58615861
__onRecord(){
5862-
const {columns, columns_duplicates_to_array, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
5862+
const {columns, group_columns_by_name, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
58635863
const {enabled, record} = this.state;
58645864
if(enabled === false){
58655865
return this.__resetRecord();
@@ -5923,7 +5923,7 @@ var csv_parse = (function (exports) {
59235923
for(let i = 0, l = record.length; i < l; i++){
59245924
if(columns[i] === undefined || columns[i].disabled) continue;
59255925
// Turn duplicate columns into an array
5926-
if (columns_duplicates_to_array === true && obj[columns[i].name] !== undefined) {
5926+
if (group_columns_by_name === true && obj[columns[i].name] !== undefined) {
59275927
if (Array.isArray(obj[columns[i].name])) {
59285928
obj[columns[i].name] = obj[columns[i].name].concat(record[i]);
59295929
} else {

packages/csv-parse/dist/iife/sync.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -5192,18 +5192,18 @@ var csv_parse_sync = (function (exports) {
51925192
`got ${JSON.stringify(options.columns)}`
51935193
], options);
51945194
}
5195-
// Normalize option `columns_duplicates_to_array`
5196-
if(options.columns_duplicates_to_array === undefined || options.columns_duplicates_to_array === null || options.columns_duplicates_to_array === false){
5197-
options.columns_duplicates_to_array = false;
5198-
}else if(options.columns_duplicates_to_array !== true){
5199-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5200-
'Invalid option columns_duplicates_to_array:',
5195+
// Normalize option `group_columns_by_name`
5196+
if(options.group_columns_by_name === undefined || options.group_columns_by_name === null || options.group_columns_by_name === false){
5197+
options.group_columns_by_name = false;
5198+
}else if(options.group_columns_by_name !== true){
5199+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5200+
'Invalid option group_columns_by_name:',
52015201
'expect an boolean,',
5202-
`got ${JSON.stringify(options.columns_duplicates_to_array)}`
5202+
`got ${JSON.stringify(options.group_columns_by_name)}`
52035203
], options);
52045204
}else if(options.columns === false){
5205-
throw new CsvError('CSV_INVALID_OPTION_COLUMNS_DUPLICATES_TO_ARRAY', [
5206-
'Invalid option columns_duplicates_to_array:',
5205+
throw new CsvError('CSV_INVALID_OPTION_GROUP_COLUMNS_BY_NAME', [
5206+
'Invalid option group_columns_by_name:',
52075207
'the `columns` mode must be activated.'
52085208
], options);
52095209
}
@@ -5859,7 +5859,7 @@ var csv_parse_sync = (function (exports) {
58595859
}
58605860
}
58615861
__onRecord(){
5862-
const {columns, columns_duplicates_to_array, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
5862+
const {columns, group_columns_by_name, encoding, info, from, relax_column_count, relax_column_count_less, relax_column_count_more, raw, skip_records_with_empty_values} = this.options;
58635863
const {enabled, record} = this.state;
58645864
if(enabled === false){
58655865
return this.__resetRecord();
@@ -5923,7 +5923,7 @@ var csv_parse_sync = (function (exports) {
59235923
for(let i = 0, l = record.length; i < l; i++){
59245924
if(columns[i] === undefined || columns[i].disabled) continue;
59255925
// Turn duplicate columns into an array
5926-
if (columns_duplicates_to_array === true && obj[columns[i].name] !== undefined) {
5926+
if (group_columns_by_name === true && obj[columns[i].name] !== undefined) {
59275927
if (Array.isArray(obj[columns[i].name])) {
59285928
obj[columns[i].name] = obj[columns[i].name].concat(record[i]);
59295929
} else {

0 commit comments

Comments
 (0)