csv-to-js-parser
Advanced tools
Comparing version 2.0.6 to 2.1.0
10
app.js
@@ -58,3 +58,3 @@ /* | ||
{ | ||
description[key] = {type: 'string', order: 1}; | ||
description[key] = {type: 'string', group: 1}; | ||
} | ||
@@ -84,7 +84,7 @@ } | ||
if (index === -1) throw new Error('Cannnot find selected fileds in the header'); | ||
if (Number(description[key].order) > 0) | ||
if (Number(description[key].group) > 0) | ||
{ | ||
flag = false; | ||
constantsIndexes[key] = index; | ||
constantOrder.push({order: description[key].order, key: key}); | ||
constantOrder.push({group: description[key].group, key: key}); | ||
} | ||
@@ -97,3 +97,3 @@ else | ||
if (flag) throw new Error('You have to specify at least one group field!'); | ||
//Sorting data by orders and spliting by all constants | ||
//Sorting data by groups and spliting by all constants | ||
{ | ||
@@ -116,3 +116,3 @@ function compare(a, b) | ||
//Sorting constantOrder | ||
constantOrder = constantOrder.sort(compareObjectArray('order', 'number')); | ||
constantOrder = constantOrder.sort(compareObjectArray('group', 'number')); | ||
data = [data]; | ||
@@ -119,0 +119,0 @@ for (let i = 0; i < constantOrder.length; i++) |
{ | ||
"name": "csv-to-js-parser", | ||
"version": "2.0.6", | ||
"version": "2.1.0", | ||
"description": "Converting csv data into array of JavaScript objects. This module can group data from input tables.", | ||
@@ -5,0 +5,0 @@ "main": "app.js", |
@@ -75,9 +75,9 @@ # Преобразование данных csv в объекты JavaScript | ||
{ | ||
customer_id: {type: 'number', order: 1}, | ||
customer_id: {type: 'number', group: 1}, | ||
product: {type: 'string'}, | ||
product_id: {type: 'number'}, | ||
customer_name: {type: 'string', order: 2}, | ||
customer_name: {type: 'string', group: 2}, | ||
price: {type: 'number'}, | ||
closed: {type: 'boolean'}, | ||
customer_status: {type: 'number', order: 2} | ||
customer_status: {type: 'number', group: 2} | ||
}; | ||
@@ -94,3 +94,3 @@ let obj = csvToObj(data, ';', description); | ||
* order: порядок группировки. Задаётся только для тех столбцов, которые нужно группировать. Таким должен быть хотя бы один столбец. Значения этого свойства показывают в каком порядке нужно группировать столбцы. Группировка идёт в порядке возрастания значения order. То есть сначала группируются столбцы с order: 1, потом внутри первой группировки группируются столбцы с order: 2 и т. д. Можно воспринимать свойство order аналогично конструкции Group By в языке SQL. | ||
* group: порядок группировки. Задаётся только для тех столбцов, которые нужно группировать. Таким должен быть хотя бы один столбец. Значения этого свойства показывают в каком порядке нужно группировать столбцы. Группировка идёт в порядке возрастания значения group. То есть сначала группируются столбцы с group: 1, потом внутри первой группировки группируются столбцы с group: 2 и т. д. Можно воспринимать свойство group аналогично конструкции Group By в языке SQL. | ||
@@ -117,4 +117,4 @@ Если параметр description не задан, то всем столбцам входной таблицы приписывается строковый тип и группировка производится по всем столбцам. Это значит, что каждая строка входной таблицы преобразуется в отдельный объект JavaScript. | ||
| female | 30 | 9 | | ||
| female | 30 | 10 | | ||
| female | 30 | 10 | | ||
| female | 30 | 10 | | ||
| female | 31 | 11 | | ||
@@ -131,4 +131,4 @@ | female | 31 | 12 | | ||
{ | ||
age: {type: 'number', order: 1}, | ||
sex: {type: 'string', order: 2}, | ||
age: {type: 'number', group: 1}, | ||
sex: {type: 'string', group: 2}, | ||
person_id: {type: 'number'} | ||
@@ -135,0 +135,0 @@ }; |
@@ -691,9 +691,9 @@ 'use strict'; | ||
{ | ||
customer_id: {type: 'number', order: 1}, | ||
customer_id: {type: 'number', group: 1}, | ||
product: {type: 'string'}, | ||
product_id: {type: 'number'}, | ||
customer_name: {type: 'string', order: 2}, | ||
customer_name: {type: 'string', group: 2}, | ||
price: {type: 'number'}, | ||
closed: {type: 'boolean'}, | ||
customer_status: {type: 'number', order: 2} | ||
customer_status: {type: 'number', group: 2} | ||
}; | ||
@@ -703,5 +703,5 @@ | ||
{ | ||
age: {type: 'number', order: 1}, | ||
sex: {type: 'string', order: 2}, | ||
person_id: {type: 'number', order: 3} | ||
age: {type: 'number', group: 1}, | ||
sex: {type: 'string', group: 2}, | ||
person_id: {type: 'number', group: 3} | ||
}; | ||
@@ -711,4 +711,4 @@ | ||
{ | ||
age: {type: 'number', order: 1}, | ||
sex: {type: 'string', order: 2}, | ||
age: {type: 'number', group: 1}, | ||
sex: {type: 'string', group: 2}, | ||
person_id: {type: 'number'} | ||
@@ -720,4 +720,4 @@ }; | ||
age: {type: 'number'}, | ||
sex: {type: 'string', order: 2}, | ||
person_id: {type: 'number', order: 1} | ||
sex: {type: 'string', group: 2}, | ||
person_id: {type: 'number', group: 1} | ||
}; | ||
@@ -724,0 +724,0 @@ |
43401