@0xtorch/csv 0.0.73 → 0.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ const getCsvRowCount = async ({ file, }) => {
8
8
  (0, papaparse_1.parse)(file, {
9
9
  header: false,
10
10
  skipEmptyLines: true,
11
+ newline: '\n',
11
12
  complete: () => {
12
13
  resolve();
13
14
  },
@@ -1 +1 @@
1
- {"version":3,"file":"getCsvRowCount.js","sourceRoot":"","sources":["../getCsvRowCount.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAM1B,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,IAAI,GACqB,EAAmB,EAAE;IAE9C,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAA,iBAAK,EAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBACnB,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBACvC,OAAM;gBACR,CAAC;gBACD,QAAQ,IAAI,CAAC,CAAA;YACf,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA;AA3BY,QAAA,cAAc,kBA2B1B"}
1
+ {"version":3,"file":"getCsvRowCount.js","sourceRoot":"","sources":["../getCsvRowCount.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAM1B,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,IAAI,GACqB,EAAmB,EAAE;IAE9C,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAA,iBAAK,EAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBACnB,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBACvC,OAAM;gBACR,CAAC;gBACD,QAAQ,IAAI,CAAC,CAAA;YACf,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA;AA5BY,QAAA,cAAc,kBA4B1B"}
@@ -12,6 +12,7 @@ const hasValidHeaderRow = async ({ file, encoding, format, }) => {
12
12
  (0, papaparse_1.parse)(file, {
13
13
  header: false,
14
14
  skipEmptyLines: true,
15
+ newline: '\n',
15
16
  encoding,
16
17
  complete: () => {
17
18
  resolve();
@@ -27,20 +28,22 @@ const hasValidHeaderRow = async ({ file, encoding, format, }) => {
27
28
  parser.abort();
28
29
  return;
29
30
  }
31
+ const cells = result.data.map((v) => typeof v === 'string'
32
+ ? v.replaceAll('\r', '').replaceAll('\u{65279}', '').trim()
33
+ : v);
30
34
  if (headerStartColumnRegExps !== undefined) {
31
35
  for (const [index, column] of headerStartColumnRegExps.entries()) {
32
- const cell = result.data[index];
36
+ const cell = cells[index];
33
37
  if (typeof cell !== 'string') {
34
38
  return;
35
39
  }
36
- const value = cell.replaceAll('\r', '').trim();
37
- if (!column.test(value)) {
40
+ if (!column.test(cell)) {
38
41
  return;
39
42
  }
40
43
  }
41
44
  }
42
45
  for (const key of Object.keys(format.formatter)) {
43
- if (!result.data.includes(key)) {
46
+ if (!cells.includes(key)) {
44
47
  parser.abort();
45
48
  return;
46
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hasValidHeaderRow.js","sourceRoot":"","sources":["../hasValidHeaderRow.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAS1B,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,QAAQ,EACR,MAAM,GACsB,EAAE,EAAE;IAChC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,wBAAwB,GAC5B,MAAM,CAAC,kBAAkB,KAAK,SAAS;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAA,iBAAK,EAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,QAAQ;YACR,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACvB,QAAQ,IAAI,CAAC,CAAA;gBACb,IACE,MAAM,CAAC,kBAAkB,KAAK,SAAS;oBACvC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EACpC,CAAC;oBACD,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;oBAC3C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;wBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC7B,OAAM;wBACR,CAAC;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;wBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxB,OAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,OAAM;oBACR,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,IAAI,CAAA;gBACd,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AA7DY,QAAA,iBAAiB,qBA6D7B"}
1
+ {"version":3,"file":"hasValidHeaderRow.js","sourceRoot":"","sources":["../hasValidHeaderRow.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAS1B,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,QAAQ,EACR,MAAM,GACsB,EAAE,EAAE;IAChC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,wBAAwB,GAC5B,MAAM,CAAC,kBAAkB,KAAK,SAAS;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAA,iBAAK,EAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACvB,QAAQ,IAAI,CAAC,CAAA;gBACb,IACE,MAAM,CAAC,kBAAkB,KAAK,SAAS;oBACvC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EACpC,CAAC;oBACD,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,OAAO,CAAC,KAAK,QAAQ;oBACnB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;oBAC3D,CAAC,CAAC,CAAC,CACN,CAAA;gBAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;oBAC3C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;wBACjE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;wBACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC7B,OAAM;wBACR,CAAC;wBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACvB,OAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzB,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,OAAM;oBACR,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,IAAI,CAAA;gBACd,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAnEY,QAAA,iBAAiB,qBAmE7B"}
@@ -24,6 +24,7 @@ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, sav
24
24
  (0, papaparse_1.parse)(file, {
25
25
  header: false,
26
26
  skipEmptyLines: true,
27
+ newline: '\n',
27
28
  encoding,
28
29
  complete: () => {
29
30
  resolve();
@@ -34,8 +35,10 @@ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, sav
34
35
  parser.abort();
35
36
  return;
36
37
  }
38
+ const cells = result.data.map((v) => typeof v === 'string'
39
+ ? v.replaceAll('\r', '').replaceAll('\u{65279}', '').trim()
40
+ : v);
37
41
  if (formatIndexRecord === undefined) {
38
- const cells = result.data.map((v) => typeof v === 'string' ? v.replaceAll('\r', '').trim() : v);
39
42
  if (headerStartColumnRegExps !== undefined) {
40
43
  for (const [index, column] of headerStartColumnRegExps.entries()) {
41
44
  if (!column.test(cells[index])) {
@@ -57,13 +60,13 @@ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, sav
57
60
  headerRow = cells;
58
61
  return;
59
62
  }
60
- if (result.data.every((v) => v === '')) {
63
+ if (cells.every((v) => v === '')) {
61
64
  return;
62
65
  }
63
66
  if (format.footerStartColumns !== undefined) {
64
67
  let matched = true;
65
68
  for (const [index, column] of format.footerStartColumns.entries()) {
66
- if (result.data[index] !== column) {
69
+ if (cells[index] !== column) {
67
70
  matched = false;
68
71
  break;
69
72
  }
@@ -78,7 +81,7 @@ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, sav
78
81
  for (const columnPatterns of format.ignoreStartColumns) {
79
82
  let matched = true;
80
83
  for (const [index, pattern] of columnPatterns.entries()) {
81
- if (!new RegExp(pattern).test(result.data[index])) {
84
+ if (!new RegExp(pattern).test(cells[index])) {
82
85
  matched = false;
83
86
  break;
84
87
  }
@@ -91,11 +94,11 @@ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, sav
91
94
  const row = {};
92
95
  for (const key of Object.keys(format.formatter)) {
93
96
  const index = formatIndexRecord[key];
94
- row[key] = result.data[index];
97
+ row[key] = cells[index];
95
98
  }
96
99
  const formattedRow = formatRow(row, format.formatter);
97
100
  if (formattedRow === undefined) {
98
- ignoreRows.push(result.data);
101
+ ignoreRows.push(cells);
99
102
  ignoreRowCount += 1;
100
103
  return;
101
104
  }
@@ -111,7 +114,7 @@ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, sav
111
114
  fiats,
112
115
  });
113
116
  if (rowActions.length === 0) {
114
- ignoreRows.push(result.data);
117
+ ignoreRows.push(cells);
115
118
  ignoreRowCount += 1;
116
119
  }
117
120
  actions.push(...rowActions);
@@ -141,7 +144,7 @@ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, sav
141
144
  currentRows = [];
142
145
  }
143
146
  currentKeyValue = keyValue;
144
- currentRawRows.push(result.data);
147
+ currentRawRows.push(cells);
145
148
  currentRows.push(formattedRow);
146
149
  }
147
150
  if (actions.length >= chunkSize + 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"streamCsvToActions.js","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":";;;AACA,yCAAiC;AACjC,mDAA8C;AAC9C,6DAA+D;AAC/D,kDAAyD;AAsBlD,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,GAAG,GACc,EAA0C,EAAE;IAEzE,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,KAAc,CAAA;IAClB,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,SAA+B,CAAA;IACnC,MAAM,UAAU,GAAe,EAAE,CAAA;IACjC,IAAI,eAAmC,CAAA;IACvC,IAAI,WAAW,GAAmB,EAAE,CAAA;IACpC,IAAI,cAAc,GAAe,EAAE,CAAA;IACnC,IAAI,OAAO,GAAa,EAAE,CAAA;IAE1B,MAAM,wBAAwB,GAC5B,MAAM,CAAC,kBAAkB,KAAK,SAAS;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzD,IAAI,iBAAqD,CAAA;IACzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,IAAA,iBAAK,EAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,QAAQ;YACR,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC7C,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBACD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAA;oBACD,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;wBAC3C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;4BACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gCAC/B,OAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,MAAM,qBAAqB,GAA2B,EAAE,CAAA;oBACxD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;wBAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;4BACjB,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;4BACnC,MAAM,CAAC,KAAK,EAAE,CAAA;4BACd,OAAM;wBACR,CAAC;wBACD,qBAAqB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;oBACpC,CAAC;oBACD,iBAAiB,GAAG,qBAAqB,CAAA;oBACzC,SAAS,GAAG,KAAK,CAAA;oBACjB,OAAM;gBACR,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBACvC,OAAM;gBACR,CAAC;gBAGD,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAI,CAAA;oBAClB,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;wBAClE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;4BAClC,OAAO,GAAG,KAAK,CAAA;4BACf,MAAK;wBACP,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,OAAM;oBACR,CAAC;gBACH,CAAC;gBAED,QAAQ,IAAI,CAAC,CAAA;gBAGb,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBAC5C,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;wBACvD,IAAI,OAAO,GAAG,IAAI,CAAA;wBAClB,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;4BACxD,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gCAClD,OAAO,GAAG,KAAK,CAAA;gCACf,MAAK;4BACP,CAAC;wBACH,CAAC;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAGD,MAAM,GAAG,GAA2B,EAAE,CAAA;gBACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;oBACpC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC/B,CAAC;gBACD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;gBACrD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC5B,cAAc,IAAI,CAAC,CAAA;oBACnB,OAAM;gBACR,CAAC;gBAGD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACpC,cAAc,GAAG,EAAE,CAAA;oBACnB,WAAW,GAAG,EAAE,CAAA;oBAChB,MAAM,UAAU,GAAG,IAAA,6CAAwB,EAAC;wBAC1C,IAAI,EAAE,CAAC,YAAY,CAAC;wBACpB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;wBAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,QAAQ;wBACR,KAAK;qBACN,CAAC,CAAA;oBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAC5B,cAAc,IAAI,CAAC,CAAA;oBACrB,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAA,oBAAc,EAAC;wBAC9B,GAAG,EAAE,YAAY;wBACjB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;qBACvB,CAAC,CAAA;oBACF,IACE,eAAe,KAAK,SAAS;wBAC7B,eAAe,KAAK,QAAQ;wBAC5B,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;wBACD,MAAM,UAAU,GAAG,IAAA,6CAAwB,EAAC;4BAC1C,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;4BAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;4BACrC,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,QAAQ;4BACR,KAAK;yBACN,CAAC,CAAA;wBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC5B,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAA;4BAClC,cAAc,IAAI,WAAW,CAAC,MAAM,CAAA;wBACtC,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;wBAC3B,cAAc,GAAG,EAAE,CAAA;wBACnB,WAAW,GAAG,EAAE,CAAA;oBAClB,CAAC;oBACD,eAAe,GAAG,QAAQ,CAAA;oBAC1B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAChC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAChC,CAAC;gBAGD,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;oBAC3D,MAAM,aAAa,GAAa,EAAE,CAAA;oBAClC,MAAM,gBAAgB,GAAa,EAAE,CAAA;oBACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;4BACvC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC/B,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC5B,CAAC;oBACH,CAAC;oBACD,OAAO,GAAG,gBAAgB,CAAA;oBAC1B,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;oBACrC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,GAAG,KAAK,CAAA;wBACf,KAAK,GAAG,CAAC,CAAA;wBACT,MAAM,CAAC,KAAK,EAAE,CAAA;oBAChB,CAAC;oBACD,MAAM,CAAC,MAAM,EAAE,CAAA;gBACjB,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,QAAQ;YACR,cAAc;YACd,SAAS;YACT,UAAU;SACX,CAAA;IACH,CAAC;IAGD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAA,6CAAwB,EAAC;YAC1C,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ;YACR,KAAK;SACN,CAAC,CAAA;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAA;YAClC,cAAc,IAAI,WAAW,CAAC,MAAM,CAAA;QACtC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;IAC7B,CAAC;IAGD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,KAAK,CAAA;YACf,KAAK,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,KAAK;QACL,QAAQ;QACR,cAAc;QACd,SAAS;QACT,UAAU;KACX,CAAA;AACH,CAAC,CAAA;AA/OY,QAAA,kBAAkB,sBA+O9B;AAED,MAAM,SAAS,GAAG,CAChB,GAA2B,EAC3B,SAAiC,EACP,EAAE;IAC5B,IAAI,CAAC;QACH,OAAO,IAAA,4BAAY,EAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"streamCsvToActions.js","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export const getCsvRowCount = async ({ file, }) => {
6
6
  parse(file, {
7
7
  header: false,
8
8
  skipEmptyLines: true,
9
+ newline: '\n',
9
10
  complete: () => {
10
11
  resolve();
11
12
  },
@@ -1 +1 @@
1
- {"version":3,"file":"getCsvRowCount.js","sourceRoot":"","sources":["../getCsvRowCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAMjC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,IAAI,GACqB,EAAmB,EAAE;IAC9C,aAAa;IACb,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,KAAK,CAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBACnB,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBACvC,OAAM;gBACR,CAAC;gBACD,QAAQ,IAAI,CAAC,CAAA;YACf,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA"}
1
+ {"version":3,"file":"getCsvRowCount.js","sourceRoot":"","sources":["../getCsvRowCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAMjC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,IAAI,GACqB,EAAmB,EAAE;IAC9C,aAAa;IACb,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,KAAK,CAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;oBACnB,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBACvC,OAAM;gBACR,CAAC;gBACD,QAAQ,IAAI,CAAC,CAAA;YACf,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA"}
@@ -9,6 +9,7 @@ export const hasValidHeaderRow = async ({ file, encoding, format, }) => {
9
9
  parse(file, {
10
10
  header: false,
11
11
  skipEmptyLines: true,
12
+ newline: '\n',
12
13
  encoding,
13
14
  complete: () => {
14
15
  resolve();
@@ -24,20 +25,22 @@ export const hasValidHeaderRow = async ({ file, encoding, format, }) => {
24
25
  parser.abort();
25
26
  return;
26
27
  }
28
+ const cells = result.data.map((v) => typeof v === 'string'
29
+ ? v.replaceAll('\r', '').replaceAll('\u{65279}', '').trim()
30
+ : v);
27
31
  if (headerStartColumnRegExps !== undefined) {
28
32
  for (const [index, column] of headerStartColumnRegExps.entries()) {
29
- const cell = result.data[index];
33
+ const cell = cells[index];
30
34
  if (typeof cell !== 'string') {
31
35
  return;
32
36
  }
33
- const value = cell.replaceAll('\r', '').trim();
34
- if (!column.test(value)) {
37
+ if (!column.test(cell)) {
35
38
  return;
36
39
  }
37
40
  }
38
41
  }
39
42
  for (const key of Object.keys(format.formatter)) {
40
- if (!result.data.includes(key)) {
43
+ if (!cells.includes(key)) {
41
44
  parser.abort();
42
45
  return;
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hasValidHeaderRow.js","sourceRoot":"","sources":["../hasValidHeaderRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AASjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,QAAQ,EACR,MAAM,GACsB,EAAE,EAAE;IAChC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,wBAAwB,GAC5B,MAAM,CAAC,kBAAkB,KAAK,SAAS;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,KAAK,CAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,QAAQ;YACR,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACvB,QAAQ,IAAI,CAAC,CAAA;gBACb,IACE,MAAM,CAAC,kBAAkB,KAAK,SAAS;oBACvC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EACpC,CAAC;oBACD,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;oBAC3C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;wBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC7B,OAAM;wBACR,CAAC;wBACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;wBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACxB,OAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,OAAM;oBACR,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,IAAI,CAAA;gBACd,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"hasValidHeaderRow.js","sourceRoot":"","sources":["../hasValidHeaderRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AASjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,QAAQ,EACR,MAAM,GACsB,EAAE,EAAE;IAChC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,wBAAwB,GAC5B,MAAM,CAAC,kBAAkB,KAAK,SAAS;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,KAAK,CAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACvB,QAAQ,IAAI,CAAC,CAAA;gBACb,IACE,MAAM,CAAC,kBAAkB,KAAK,SAAS;oBACvC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EACpC,CAAC;oBACD,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,OAAO,CAAC,KAAK,QAAQ;oBACnB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;oBAC3D,CAAC,CAAC,CAAC,CACN,CAAA;gBAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;oBAC3C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;wBACjE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;wBACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC7B,OAAM;wBACR,CAAC;wBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACvB,OAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzB,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,OAAM;oBACR,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,IAAI,CAAA;gBACd,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -22,6 +22,7 @@ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fia
22
22
  parse(file, {
23
23
  header: false,
24
24
  skipEmptyLines: true,
25
+ newline: '\n',
25
26
  encoding,
26
27
  complete: () => {
27
28
  resolve();
@@ -32,8 +33,10 @@ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fia
32
33
  parser.abort();
33
34
  return;
34
35
  }
36
+ const cells = result.data.map((v) => typeof v === 'string'
37
+ ? v.replaceAll('\r', '').replaceAll('\u{65279}', '').trim()
38
+ : v);
35
39
  if (formatIndexRecord === undefined) {
36
- const cells = result.data.map((v) => typeof v === 'string' ? v.replaceAll('\r', '').trim() : v);
37
40
  if (headerStartColumnRegExps !== undefined) {
38
41
  for (const [index, column] of headerStartColumnRegExps.entries()) {
39
42
  if (!column.test(cells[index])) {
@@ -55,14 +58,14 @@ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fia
55
58
  headerRow = cells;
56
59
  return;
57
60
  }
58
- if (result.data.every((v) => v === '')) {
61
+ if (cells.every((v) => v === '')) {
59
62
  return;
60
63
  }
61
64
  // end analysis if footerStartColumns is matched
62
65
  if (format.footerStartColumns !== undefined) {
63
66
  let matched = true;
64
67
  for (const [index, column] of format.footerStartColumns.entries()) {
65
- if (result.data[index] !== column) {
68
+ if (cells[index] !== column) {
66
69
  matched = false;
67
70
  break;
68
71
  }
@@ -78,7 +81,7 @@ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fia
78
81
  for (const columnPatterns of format.ignoreStartColumns) {
79
82
  let matched = true;
80
83
  for (const [index, pattern] of columnPatterns.entries()) {
81
- if (!new RegExp(pattern).test(result.data[index])) {
84
+ if (!new RegExp(pattern).test(cells[index])) {
82
85
  matched = false;
83
86
  break;
84
87
  }
@@ -92,11 +95,11 @@ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fia
92
95
  const row = {};
93
96
  for (const key of Object.keys(format.formatter)) {
94
97
  const index = formatIndexRecord[key];
95
- row[key] = result.data[index];
98
+ row[key] = cells[index];
96
99
  }
97
100
  const formattedRow = formatRow(row, format.formatter);
98
101
  if (formattedRow === undefined) {
99
- ignoreRows.push(result.data);
102
+ ignoreRows.push(cells);
100
103
  ignoreRowCount += 1;
101
104
  return;
102
105
  }
@@ -113,7 +116,7 @@ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fia
113
116
  fiats,
114
117
  });
115
118
  if (rowActions.length === 0) {
116
- ignoreRows.push(result.data);
119
+ ignoreRows.push(cells);
117
120
  ignoreRowCount += 1;
118
121
  }
119
122
  actions.push(...rowActions);
@@ -143,7 +146,7 @@ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fia
143
146
  currentRows = [];
144
147
  }
145
148
  currentKeyValue = keyValue;
146
- currentRawRows.push(result.data);
149
+ currentRawRows.push(cells);
147
150
  currentRows.push(formattedRow);
148
151
  }
149
152
  // actions が chunkSize に達したら最後の action source と同一 source を除いて actions を保存
@@ -1 +1 @@
1
- {"version":3,"file":"streamCsvToActions.js","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAsBzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,GAAG,GACc,EAA0C,EAAE;IACzE,aAAa;IACb,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,KAAc,CAAA;IAClB,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,SAA+B,CAAA;IACnC,MAAM,UAAU,GAAe,EAAE,CAAA;IACjC,IAAI,eAAmC,CAAA;IACvC,IAAI,WAAW,GAAmB,EAAE,CAAA;IACpC,IAAI,cAAc,GAAe,EAAE,CAAA;IACnC,IAAI,OAAO,GAAa,EAAE,CAAA;IAE1B,MAAM,wBAAwB,GAC5B,MAAM,CAAC,kBAAkB,KAAK,SAAS;QACrC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzD,IAAI,iBAAqD,CAAA;IACzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,KAAK,CAAC,IAAI,EAAE;YACV,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,IAAI;YACpB,QAAQ;YACR,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,EAAE,CAAA;YACX,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC7C,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;gBACD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAA;oBACD,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;wBAC3C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;4BACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gCAC/B,OAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,MAAM,qBAAqB,GAA2B,EAAE,CAAA;oBACxD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;wBAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;4BACjB,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;4BACnC,MAAM,CAAC,KAAK,EAAE,CAAA;4BACd,OAAM;wBACR,CAAC;wBACD,qBAAqB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;oBACpC,CAAC;oBACD,iBAAiB,GAAG,qBAAqB,CAAA;oBACzC,SAAS,GAAG,KAAK,CAAA;oBACjB,OAAM;gBACR,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBACvC,OAAM;gBACR,CAAC;gBAED,gDAAgD;gBAChD,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBAC5C,IAAI,OAAO,GAAG,IAAI,CAAA;oBAClB,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;wBAClE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;4BAClC,OAAO,GAAG,KAAK,CAAA;4BACf,MAAK;wBACP,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,OAAM;oBACR,CAAC;gBACH,CAAC;gBAED,QAAQ,IAAI,CAAC,CAAA;gBAEb,8CAA8C;gBAC9C,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBAC5C,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;wBACvD,IAAI,OAAO,GAAG,IAAI,CAAA;wBAClB,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;4BACxD,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gCAClD,OAAO,GAAG,KAAK,CAAA;gCACf,MAAK;4BACP,CAAC;wBACH,CAAC;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,SAAS;gBACT,MAAM,GAAG,GAA2B,EAAE,CAAA;gBACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;oBACpC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC/B,CAAC;gBACD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;gBACrD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC5B,cAAc,IAAI,CAAC,CAAA;oBACnB,OAAM;gBACR,CAAC;gBAED,QAAQ;gBACR,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACpC,cAAc,GAAG,EAAE,CAAA;oBACnB,WAAW,GAAG,EAAE,CAAA;oBAChB,MAAM,UAAU,GAAG,wBAAwB,CAAC;wBAC1C,IAAI,EAAE,CAAC,YAAY,CAAC;wBACpB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;wBAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,QAAQ;wBACR,KAAK;qBACN,CAAC,CAAA;oBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAC5B,cAAc,IAAI,CAAC,CAAA;oBACrB,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,cAAc,CAAC;wBAC9B,GAAG,EAAE,YAAY;wBACjB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;qBACvB,CAAC,CAAA;oBACF,IACE,eAAe,KAAK,SAAS;wBAC7B,eAAe,KAAK,QAAQ;wBAC5B,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;wBACD,MAAM,UAAU,GAAG,wBAAwB,CAAC;4BAC1C,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;4BAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;4BACrC,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,QAAQ;4BACR,KAAK;yBACN,CAAC,CAAA;wBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC5B,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAA;4BAClC,cAAc,IAAI,WAAW,CAAC,MAAM,CAAA;wBACtC,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;wBAC3B,cAAc,GAAG,EAAE,CAAA;wBACnB,WAAW,GAAG,EAAE,CAAA;oBAClB,CAAC;oBACD,eAAe,GAAG,QAAQ,CAAA;oBAC1B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBAChC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAChC,CAAC;gBAED,yEAAyE;gBACzE,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;oBAC3D,MAAM,aAAa,GAAa,EAAE,CAAA;oBAClC,MAAM,gBAAgB,GAAa,EAAE,CAAA;oBACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;4BACvC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC/B,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBAC5B,CAAC;oBACH,CAAC;oBACD,OAAO,GAAG,gBAAgB,CAAA;oBAC1B,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;oBACrC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,GAAG,KAAK,CAAA;wBACf,KAAK,GAAG,CAAC,CAAA;wBACT,MAAM,CAAC,KAAK,EAAE,CAAA;oBAChB,CAAC;oBACD,MAAM,CAAC,MAAM,EAAE,CAAA;gBACjB,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,QAAQ;YACR,cAAc;YACd,SAAS;YACT,UAAU;SACX,CAAA;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,wBAAwB,CAAC;YAC1C,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ;YACR,KAAK;SACN,CAAC,CAAA;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAA;YAClC,cAAc,IAAI,WAAW,CAAC,MAAM,CAAA;QACtC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;IAC7B,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,KAAK,CAAA;YACf,KAAK,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,KAAK;QACL,QAAQ;QACR,cAAc;QACd,SAAS;QACT,UAAU;KACX,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAChB,GAA2B,EAC3B,SAAiC,EACP,EAAE;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"streamCsvToActions.js","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCsvRowCount.d.ts","sourceRoot":"","sources":["../getCsvRowCount.ts"],"names":[],"mappings":"AAEA,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,cAAc,cAExB,wBAAwB,KAAG,OAAO,CAAC,MAAM,CAyB3C,CAAA"}
1
+ {"version":3,"file":"getCsvRowCount.d.ts","sourceRoot":"","sources":["../getCsvRowCount.ts"],"names":[],"mappings":"AAEA,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,cAAc,cAExB,wBAAwB,KAAG,OAAO,CAAC,MAAM,CA0B3C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"hasValidHeaderRow.d.ts","sourceRoot":"","sources":["../hasValidHeaderRow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,gCAI3B,2BAA2B,qBAyD7B,CAAA"}
1
+ {"version":3,"file":"hasValidHeaderRow.d.ts","sourceRoot":"","sources":["../hasValidHeaderRow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,gCAI3B,2BAA2B,qBA+D7B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamCsvToActions.d.ts","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKzE,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAA;AAEtD,KAAK,4BAA4B,GAAG;IAClC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAA;IACnC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,kBAAkB,kEAQ5B,4BAA4B,KAAG,OAAO,CAAC,6BAA6B,CAuOtE,CAAA"}
1
+ {"version":3,"file":"streamCsvToActions.d.ts","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKzE,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAA;AAEtD,KAAK,4BAA4B,GAAG;IAClC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAA;IACnC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,EAAE,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,kBAAkB,kEAQ5B,4BAA4B,KAAG,OAAO,CAAC,6BAA6B,CA0OtE,CAAA"}
package/getCsvRowCount.ts CHANGED
@@ -14,6 +14,7 @@ export const getCsvRowCount = async ({
14
14
  parse(file, {
15
15
  header: false,
16
16
  skipEmptyLines: true,
17
+ newline: '\n',
17
18
  complete: () => {
18
19
  resolve()
19
20
  },
@@ -24,6 +24,7 @@ export const hasValidHeaderRow = async ({
24
24
  parse(file, {
25
25
  header: false,
26
26
  skipEmptyLines: true,
27
+ newline: '\n',
27
28
  encoding,
28
29
  complete: () => {
29
30
  resolve()
@@ -42,21 +43,26 @@ export const hasValidHeaderRow = async ({
42
43
  return
43
44
  }
44
45
 
46
+ const cells = result.data.map((v) =>
47
+ typeof v === 'string'
48
+ ? v.replaceAll('\r', '').replaceAll('\u{65279}', '').trim()
49
+ : v,
50
+ )
51
+
45
52
  if (headerStartColumnRegExps !== undefined) {
46
53
  for (const [index, column] of headerStartColumnRegExps.entries()) {
47
- const cell = result.data[index]
54
+ const cell = cells[index]
48
55
  if (typeof cell !== 'string') {
49
56
  return
50
57
  }
51
- const value = cell.replaceAll('\r', '').trim()
52
- if (!column.test(value)) {
58
+ if (!column.test(cell)) {
53
59
  return
54
60
  }
55
61
  }
56
62
  }
57
63
 
58
64
  for (const key of Object.keys(format.formatter)) {
59
- if (!result.data.includes(key)) {
65
+ if (!cells.includes(key)) {
60
66
  parser.abort()
61
67
  return
62
68
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/csv",
3
- "version": "0.0.73",
3
+ "version": "0.0.75",
4
4
  "description": "Cryptorch CSV extension",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -55,6 +55,7 @@ export const streamCsvToActions = async ({
55
55
  parse(file, {
56
56
  header: false,
57
57
  skipEmptyLines: true,
58
+ newline: '\n',
58
59
  encoding,
59
60
  complete: () => {
60
61
  resolve()
@@ -65,10 +66,12 @@ export const streamCsvToActions = async ({
65
66
  parser.abort()
66
67
  return
67
68
  }
69
+ const cells = result.data.map((v) =>
70
+ typeof v === 'string'
71
+ ? v.replaceAll('\r', '').replaceAll('\u{65279}', '').trim()
72
+ : v,
73
+ )
68
74
  if (formatIndexRecord === undefined) {
69
- const cells = result.data.map((v) =>
70
- typeof v === 'string' ? v.replaceAll('\r', '').trim() : v,
71
- )
72
75
  if (headerStartColumnRegExps !== undefined) {
73
76
  for (const [index, column] of headerStartColumnRegExps.entries()) {
74
77
  if (!column.test(cells[index])) {
@@ -92,7 +95,7 @@ export const streamCsvToActions = async ({
92
95
  return
93
96
  }
94
97
 
95
- if (result.data.every((v) => v === '')) {
98
+ if (cells.every((v) => v === '')) {
96
99
  return
97
100
  }
98
101
 
@@ -100,7 +103,7 @@ export const streamCsvToActions = async ({
100
103
  if (format.footerStartColumns !== undefined) {
101
104
  let matched = true
102
105
  for (const [index, column] of format.footerStartColumns.entries()) {
103
- if (result.data[index] !== column) {
106
+ if (cells[index] !== column) {
104
107
  matched = false
105
108
  break
106
109
  }
@@ -118,7 +121,7 @@ export const streamCsvToActions = async ({
118
121
  for (const columnPatterns of format.ignoreStartColumns) {
119
122
  let matched = true
120
123
  for (const [index, pattern] of columnPatterns.entries()) {
121
- if (!new RegExp(pattern).test(result.data[index])) {
124
+ if (!new RegExp(pattern).test(cells[index])) {
122
125
  matched = false
123
126
  break
124
127
  }
@@ -133,11 +136,11 @@ export const streamCsvToActions = async ({
133
136
  const row: Record<string, string> = {}
134
137
  for (const key of Object.keys(format.formatter)) {
135
138
  const index = formatIndexRecord[key]
136
- row[key] = result.data[index]
139
+ row[key] = cells[index]
137
140
  }
138
141
  const formattedRow = formatRow(row, format.formatter)
139
142
  if (formattedRow === undefined) {
140
- ignoreRows.push(result.data)
143
+ ignoreRows.push(cells)
141
144
  ignoreRowCount += 1
142
145
  return
143
146
  }
@@ -155,7 +158,7 @@ export const streamCsvToActions = async ({
155
158
  fiats,
156
159
  })
157
160
  if (rowActions.length === 0) {
158
- ignoreRows.push(result.data)
161
+ ignoreRows.push(cells)
159
162
  ignoreRowCount += 1
160
163
  }
161
164
  actions.push(...rowActions)
@@ -186,7 +189,7 @@ export const streamCsvToActions = async ({
186
189
  currentRows = []
187
190
  }
188
191
  currentKeyValue = keyValue
189
- currentRawRows.push(result.data)
192
+ currentRawRows.push(cells)
190
193
  currentRows.push(formattedRow)
191
194
  }
192
195
 
@@ -1,18 +0,0 @@
1
- UID:,Account Type:,Time Zone:UTC+9
2
- id,Order id,Time,Trade Type,Symbol,Action,Amount,Trading Unit,Filled Price,PnL,Fee,Fee Unit,Position Change,Position Balance,Balance Change,Balance,Balance Unit
3
- 667165099547201542,667165099534618642,2024-01-16 01:35:55,Spot,ETH-USDT,Buy,0.06301100,ETH,2519.40000000,0E-8,-0.00003151,ETH,0E-8,0E-8,0.06297949,8.34093237,ETH
4
- 667165099547201543,667165099534618642,2024-01-16 01:35:55,Spot,ETH-USDT,Sell,158.74991340,ETH,2519.40000000,0E-8,0E-8,USDT,0E-8,0E-8,-158.74991340,17202.73187832,USDT
5
- 667166838446919694,667166838433615872,2024-01-16 01:42:49,Transfer,,Transfer in,0,cont,0E-8,0E-8,0E-8,USDT,0E-8,0E-8,3.87864514,17206.61052346,USDT
6
- 667156126383247364,0,2024-01-16 01:00:15,Swap,ETH-USDT-SWAP,Funding fee income,10,cont,2515.07000000,0.45640796,0E-8,USDT,0E-8,0E-8,0.45640796,17156.08193268,USDT
7
- 667035278628392989,529436909564100616,2024-01-15 17:00:03,Swap,AXS-USDT-SWAP,Funding fee expense,20000,cont,7.90200000,-6.69940146,0E-8,USDT,0E-8,0E-8,-6.69940146,17012.18748172,USDT
8
- 665676914052861960,0,2024-01-11 23:02:23,Swap,AXS-USDT-SWAP,Manual margin increase,500,cont,0E-8,0E-8,0E-8,USDT,500.00000000,7831.00572500,-500.00000000,16523.01856039,USDT
9
- 663776891149000707,0,2024-01-06 17:12:23,Swap,SLP-USDT-SWAP,Manual margin decrease,2000,cont,0E-8,0E-8,0E-8,USDT,-2000.00000000,9121.74769750,2000.00000000,16300.49863796,USDT
10
- 662758029959929856,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,449,cont,0.78400000,-78.60636183,-0.10560480,USDT,-276.84278373,836.69411475,198.13081711,12990.45785307,USDT
11
- 662758029959929863,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,81,cont,0.78410000,-14.18875771,-0.01905363,USDT,-49.94268482,0E-8,35.73487348,13589.22490604,USDT
12
- 662758029959929859,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,330,cont,0.78400000,-57.77304990,-0.07761600,USDT,-203.47019740,234.91559154,145.61953151,13421.13864928,USDT
13
- 662758029959929861,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,300,cont,0.78410000,-52.55095445,-0.07056900,USDT,-184.97290672,49.94268482,132.35138328,13553.49003255,USDT
14
- 662758029959929857,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,646,cont,0.78400000,-113.09512191,-0.15193920,USDT,-398.30832581,438.38578894,285.06126470,13275.51911777,USDT
15
- 662758029955735578,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,257,cont,0.78400000,-44.99295098,-0.06044640,USDT,-158.46012343,1271.99702191,113.40672605,12678.92030991,USDT
16
- 662758029955735568,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,300,cont,0.78390000,-52.49095445,-0.07055100,USDT,-184.97290672,1707.91650542,132.41140128,12366.94149544,USDT
17
- 662758029955735576,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,450,cont,0.78400000,-78.78143168,-0.10584000,USDT,-277.45936009,1430.45714534,198.57208842,12565.51358386,USDT
18
- 662758029955735582,662758029951541258,2024-01-03 21:43:47,Swap,SUI-USDT-SWAP,Buy,257,cont,0.78400000,-44.99295098,-0.06044640,USDT,-158.46012343,1113.53689848,113.40672605,12792.32703596,USDT
@@ -1,3 +0,0 @@
1
- UID:469514189849931987,Account Type:Sub,Time Zone:UTC+9
2
- id,Order id,Time,Trade Type,Symbol,Action,Amount,Trading Unit,Filled Price,PnL,Fee,Fee Unit,Position Change,Position Balance,Balance Change,Balance,Balance Unit
3
- 684488648108486666,684488648086896640,2024-03-03 20:53:30,Transfer,,Transfer out,0,cont,0E-8,0E-8,0E-8,WLD,0E-8,0E-8,-0.00015600,0E-8,WLD
package/tests/okx.ts DELETED
@@ -1,275 +0,0 @@
1
- import type { CsvFormat } from '../types'
2
-
3
- export const okxTradeJstFormat = {
4
- id: 'okx-trade-jst',
5
- service: 'okx',
6
- headerStartColumns: ['^.*id$'],
7
- headerCheckRowSize: 4,
8
- formatter: {
9
- 'Order id': ['string'],
10
- Time: ['iso8601-jp'],
11
- 'Trade Type': ['string'],
12
- Symbol: ['string'],
13
- Action: ['string'],
14
- PnL: ['big-decimal'],
15
- Fee: ['big-decimal'],
16
- 'Fee Unit': ['string'],
17
- 'Balance Change': ['big-decimal'],
18
- 'Balance Unit': ['string'],
19
- },
20
- parser: {
21
- key: ['Order id', 'Time'],
22
- parsers: [
23
- {
24
- conditions: [
25
- {
26
- value: { type: 'cell', column: 'Trade Type', row: 0 },
27
- pattern: 'Swap',
28
- },
29
- {
30
- value: { type: 'cell', column: 'Action', row: 0 },
31
- pattern: {
32
- type: 'in',
33
- values: ['Buy', 'Sell'],
34
- },
35
- },
36
- ],
37
- generators: [
38
- {
39
- type: 'realize-profit',
40
- source: {
41
- type: 'join',
42
- values: [
43
- { type: 'service' },
44
- '_trade_',
45
- { type: 'cell', column: 'Order id', row: 0 },
46
- '_',
47
- { type: 'cell', column: 'Time', row: 0 },
48
- ],
49
- },
50
- timestamp: {
51
- type: 'cell',
52
- column: 'Time',
53
- row: 0,
54
- },
55
- comment: {
56
- type: 'join',
57
- values: [
58
- 'Trade Type: ',
59
- { type: 'cell', column: 'Trade Type', row: 0 },
60
- ' / Symbol: ',
61
- { type: 'cell', column: 'Symbol', row: 0 },
62
- ' / Action: ',
63
- { type: 'cell', column: 'Action', row: 0 },
64
- ],
65
- },
66
- transfers: [
67
- {
68
- target: [
69
- {
70
- column: 'PnL',
71
- pattern: { type: 'positive' },
72
- },
73
- ],
74
- direction: 'in',
75
- amount: {
76
- type: 'text',
77
- value: { type: 'cell', column: 'PnL', row: 0 },
78
- },
79
- asset: {
80
- type: 'symbol',
81
- value: { type: 'cell', column: 'Fee Unit', row: 0 },
82
- },
83
- },
84
- ],
85
- },
86
- {
87
- type: 'realize-loss',
88
- source: {
89
- type: 'join',
90
- values: [
91
- { type: 'service' },
92
- '_trade_',
93
- { type: 'cell', column: 'Order id', row: 0 },
94
- '_',
95
- { type: 'cell', column: 'Time', row: 0 },
96
- ],
97
- },
98
- timestamp: {
99
- type: 'cell',
100
- column: 'Time',
101
- row: 0,
102
- },
103
- comment: {
104
- type: 'join',
105
- values: [
106
- 'Trade Type: ',
107
- { type: 'cell', column: 'Trade Type', row: 0 },
108
- ' / Symbol: ',
109
- { type: 'cell', column: 'Symbol', row: 0 },
110
- ' / Action: ',
111
- { type: 'cell', column: 'Action', row: 0 },
112
- ],
113
- },
114
- transfers: [
115
- {
116
- target: [
117
- {
118
- column: 'PnL',
119
- pattern: { type: 'negative' },
120
- },
121
- ],
122
- direction: 'out',
123
- amount: {
124
- type: 'text',
125
- value: { type: 'cell', column: 'PnL', row: 0 },
126
- },
127
- asset: {
128
- type: 'symbol',
129
- value: { type: 'cell', column: 'Fee Unit', row: 0 },
130
- },
131
- },
132
- ],
133
- },
134
- {
135
- type: 'fee',
136
- source: {
137
- type: 'join',
138
- values: [
139
- { type: 'service' },
140
- '_trade_',
141
- { type: 'cell', column: 'Order id', row: 0 },
142
- '_',
143
- { type: 'cell', column: 'Time', row: 0 },
144
- ],
145
- },
146
- timestamp: {
147
- type: 'cell',
148
- column: 'Time',
149
- row: 0,
150
- },
151
- comment: {
152
- type: 'join',
153
- values: [
154
- 'Trade Type: ',
155
- { type: 'cell', column: 'Trade Type', row: 0 },
156
- ' / Symbol: ',
157
- { type: 'cell', column: 'Symbol', row: 0 },
158
- ' / Action: ',
159
- { type: 'cell', column: 'Action', row: 0 },
160
- ],
161
- },
162
- transfers: [
163
- {
164
- target: [
165
- {
166
- column: 'Fee',
167
- pattern: { type: 'negative' },
168
- },
169
- ],
170
- direction: 'out',
171
- amount: {
172
- type: 'text',
173
- value: { type: 'cell', column: 'Fee', row: 0 },
174
- },
175
- asset: {
176
- type: 'symbol',
177
- value: { type: 'cell', column: 'Fee Unit', row: 0 },
178
- },
179
- },
180
- ],
181
- },
182
- ],
183
- },
184
- {
185
- conditions: [
186
- {
187
- value: { type: 'cell', column: 'Trade Type', row: 0 },
188
- pattern: 'Swap',
189
- },
190
- {
191
- value: { type: 'cell', column: 'Action', row: 0 },
192
- pattern: {
193
- type: 'in',
194
- values: ['Manual margin increase', 'Manual margin decrease'],
195
- },
196
- },
197
- ],
198
- generators: [
199
- {
200
- type: 'ignore',
201
- source: {
202
- type: 'join',
203
- values: [
204
- { type: 'service' },
205
- '_trade_',
206
- { type: 'cell', column: 'Order id', row: 0 },
207
- '_',
208
- { type: 'cell', column: 'Time', row: 0 },
209
- ],
210
- },
211
- timestamp: {
212
- type: 'cell',
213
- column: 'Time',
214
- row: 0,
215
- },
216
- comment: {
217
- type: 'join',
218
- values: [
219
- 'Trade Type: ',
220
- { type: 'cell', column: 'Trade Type', row: 0 },
221
- ' / Action: ',
222
- { type: 'cell', column: 'Action', row: 0 },
223
- ' / Balance Change: ',
224
- { type: 'cell', column: 'Balance Change', row: 0 },
225
- { type: 'cell', column: 'Balance Unit', row: 0 },
226
- ],
227
- },
228
- transfers: [],
229
- },
230
- ],
231
- },
232
- {
233
- conditions: [
234
- {
235
- value: { type: 'cell', column: 'Trade Type', row: 0 },
236
- pattern: 'Transfer',
237
- },
238
- ],
239
- generators: [
240
- {
241
- type: 'ignore',
242
- source: {
243
- type: 'join',
244
- values: [
245
- { type: 'service' },
246
- '_trade_',
247
- { type: 'cell', column: 'Order id', row: 0 },
248
- '_',
249
- { type: 'cell', column: 'Time', row: 0 },
250
- ],
251
- },
252
- timestamp: {
253
- type: 'cell',
254
- column: 'Time',
255
- row: 0,
256
- },
257
- comment: {
258
- type: 'join',
259
- values: [
260
- 'Trade Type: ',
261
- { type: 'cell', column: 'Trade Type', row: 0 },
262
- ' / Action: ',
263
- { type: 'cell', column: 'Action', row: 0 },
264
- ' / Balance Change: ',
265
- { type: 'cell', column: 'Balance Change', row: 0 },
266
- { type: 'cell', column: 'Balance Unit', row: 0 },
267
- ],
268
- },
269
- transfers: [],
270
- },
271
- ],
272
- },
273
- ],
274
- },
275
- } satisfies CsvFormat