@0xtorch/csv 0.0.34 → 0.0.35

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.
Files changed (49) hide show
  1. package/.DS_Store +0 -0
  2. package/_cjs/detectFileEncoding.js +16 -0
  3. package/_cjs/detectFileEncoding.js.map +1 -0
  4. package/_cjs/formatCsvRows.js +3 -2
  5. package/_cjs/formatCsvRows.js.map +1 -1
  6. package/_cjs/hasValidHeaderRow.js +29 -0
  7. package/_cjs/hasValidHeaderRow.js.map +1 -0
  8. package/_cjs/index.js +7 -1
  9. package/_cjs/index.js.map +1 -1
  10. package/_cjs/parseRowsToActions/index.js +5 -4
  11. package/_cjs/parseRowsToActions/index.js.map +1 -1
  12. package/_cjs/streamCsvToActions.js +143 -0
  13. package/_cjs/streamCsvToActions.js.map +1 -0
  14. package/_esm/detectFileEncoding.js +12 -0
  15. package/_esm/detectFileEncoding.js.map +1 -0
  16. package/_esm/formatCsvRows.js +1 -1
  17. package/_esm/formatCsvRows.js.map +1 -1
  18. package/_esm/hasValidHeaderRow.js +25 -0
  19. package/_esm/hasValidHeaderRow.js.map +1 -0
  20. package/_esm/index.js +3 -0
  21. package/_esm/index.js.map +1 -1
  22. package/_esm/parseRowsToActions/index.js +1 -1
  23. package/_esm/parseRowsToActions/index.js.map +1 -1
  24. package/_esm/streamCsvToActions.js +145 -0
  25. package/_esm/streamCsvToActions.js.map +1 -0
  26. package/_types/detectFileEncoding.d.ts +3 -0
  27. package/_types/detectFileEncoding.d.ts.map +1 -0
  28. package/_types/formatCsvRows.d.ts +1 -0
  29. package/_types/formatCsvRows.d.ts.map +1 -1
  30. package/_types/hasValidHeaderRow.d.ts +9 -0
  31. package/_types/hasValidHeaderRow.d.ts.map +1 -0
  32. package/_types/index.d.ts +3 -0
  33. package/_types/index.d.ts.map +1 -1
  34. package/_types/parseRowsToActions/index.d.ts +13 -1
  35. package/_types/parseRowsToActions/index.d.ts.map +1 -1
  36. package/_types/streamCsvToActions.d.ts +20 -0
  37. package/_types/streamCsvToActions.d.ts.map +1 -0
  38. package/detectFileEncoding.ts +15 -0
  39. package/formatCsvRows.ts +1 -1
  40. package/hasValidHeaderRow.ts +36 -0
  41. package/index.ts +3 -0
  42. package/package.json +1 -1
  43. package/parseRowsToActions/index.ts +1 -1
  44. package/streamCsvToActions.ts +181 -0
  45. package/tests/bitbank-huge.csv +144245 -0
  46. package/tests/bitbank.ts +7 -0
  47. package/tests/cryptoCurrencies.json +187471 -0
  48. package/tests/cryptoCurrency.ts +10 -0
  49. package/tests/shift-jis.csv +53 -0
package/.DS_Store CHANGED
Binary file
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.detectFileEncoding = void 0;
4
+ const encoding_japanese_1 = require("encoding-japanese");
5
+ const detectFileEncoding = async (fileStream) => {
6
+ const reader = fileStream.getReader();
7
+ const result = await reader.read();
8
+ await reader.cancel();
9
+ const detected = (0, encoding_japanese_1.detect)(result.value);
10
+ if (typeof detected === 'string') {
11
+ return detected;
12
+ }
13
+ return detected.valueOf().toString();
14
+ };
15
+ exports.detectFileEncoding = detectFileEncoding;
16
+ //# sourceMappingURL=detectFileEncoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectFileEncoding.js","sourceRoot":"","sources":["../detectFileEncoding.ts"],"names":[],"mappings":";;;AACA,yDAA0C;AAEnC,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAA0B,EACT,EAAE;IACnB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;IACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAClC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;IACrB,MAAM,QAAQ,GAAG,IAAA,0BAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAA;AACtC,CAAC,CAAA;AAXY,QAAA,kBAAkB,sBAW9B"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatCsvRows = void 0;
3
+ exports.formatCsvRow = exports.formatCsvRows = void 0;
4
4
  const formatterTypes_1 = require("./schemas/formatterTypes");
5
- const formatCsvRows = ({ rows, formatter, }) => rows.map((row) => formatCsvRow(row, formatter));
5
+ const formatCsvRows = ({ rows, formatter, }) => rows.map((row) => (0, exports.formatCsvRow)(row, formatter));
6
6
  exports.formatCsvRows = formatCsvRows;
7
7
  const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(formatter).map(([column, schemaTypes]) => {
8
8
  if (!(column in row)) {
@@ -71,4 +71,5 @@ const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(forma
71
71
  }
72
72
  throw new Error(`The column "${column}"'s value "${value}" does not match schema: [${schemaTypes.join(',')}]`);
73
73
  }));
74
+ exports.formatCsvRow = formatCsvRow;
74
75
  //# sourceMappingURL=formatCsvRows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasValidHeaderRow = void 0;
4
+ const papaparse_1 = require("papaparse");
5
+ const hasValidHeaderRow = async ({ file, encoding, format, }) => {
6
+ let isValid = false;
7
+ (0, papaparse_1.parse)(file, {
8
+ header: false,
9
+ skipEmptyLines: true,
10
+ encoding,
11
+ step: (result, parser) => {
12
+ if (!Array.isArray(result.data)) {
13
+ parser.abort();
14
+ return;
15
+ }
16
+ for (const key of Object.keys(format.formatter)) {
17
+ if (!result.data.includes(key)) {
18
+ parser.abort();
19
+ return;
20
+ }
21
+ }
22
+ isValid = true;
23
+ parser.abort();
24
+ },
25
+ });
26
+ return isValid;
27
+ };
28
+ exports.hasValidHeaderRow = hasValidHeaderRow;
29
+ //# sourceMappingURL=hasValidHeaderRow.js.map
@@ -0,0 +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,IAAA,iBAAK,EAAC,IAAI,EAAE;QACV,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,IAAI;QACpB,QAAQ;QACR,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACd,OAAM;YACR,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,GAAG,IAAI,CAAA;YACd,MAAM,CAAC,KAAK,EAAE,CAAA;QAChB,CAAC;KACF,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AA1BY,QAAA,iBAAiB,qBA0B7B"}
package/_cjs/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.csvFormatSchema = exports.parseRowsToActions = exports.parseCsvText = exports.parseCsvFileToText = exports.parseCsvFileToActions = exports.formatCsvRows = void 0;
3
+ exports.streamCsvToActions = exports.csvFormatSchema = exports.parseRowsToActions = exports.parseCsvText = exports.parseCsvFileToText = exports.parseCsvFileToActions = exports.hasValidHeaderRow = exports.formatCsvRows = exports.detectFileEncoding = void 0;
4
+ var detectFileEncoding_1 = require("./detectFileEncoding");
5
+ Object.defineProperty(exports, "detectFileEncoding", { enumerable: true, get: function () { return detectFileEncoding_1.detectFileEncoding; } });
4
6
  var formatCsvRows_1 = require("./formatCsvRows");
5
7
  Object.defineProperty(exports, "formatCsvRows", { enumerable: true, get: function () { return formatCsvRows_1.formatCsvRows; } });
8
+ var hasValidHeaderRow_1 = require("./hasValidHeaderRow");
9
+ Object.defineProperty(exports, "hasValidHeaderRow", { enumerable: true, get: function () { return hasValidHeaderRow_1.hasValidHeaderRow; } });
6
10
  var parseCsvFileToActions_1 = require("./parseCsvFileToActions");
7
11
  Object.defineProperty(exports, "parseCsvFileToActions", { enumerable: true, get: function () { return parseCsvFileToActions_1.parseCsvFileToActions; } });
8
12
  var parseCsvFileToText_1 = require("./parseCsvFileToText");
@@ -13,4 +17,6 @@ var parseRowsToActions_1 = require("./parseRowsToActions");
13
17
  Object.defineProperty(exports, "parseRowsToActions", { enumerable: true, get: function () { return parseRowsToActions_1.parseRowsToActions; } });
14
18
  var schemas_1 = require("./schemas");
15
19
  Object.defineProperty(exports, "csvFormatSchema", { enumerable: true, get: function () { return schemas_1.csvFormatSchema; } });
20
+ var streamCsvToActions_1 = require("./streamCsvToActions");
21
+ Object.defineProperty(exports, "streamCsvToActions", { enumerable: true, get: function () { return streamCsvToActions_1.streamCsvToActions; } });
16
22
  //# sourceMappingURL=index.js.map
package/_cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,iEAA+D;AAAtD,8HAAA,qBAAqB,OAAA;AAC9B,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,qCAA2C;AAAlC,0GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,iEAA+D;AAAtD,8HAAA,qBAAqB,OAAA;AAC9B,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,qCAA2C;AAAlC,0GAAA,eAAe,OAAA;AACxB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseRowsToActions = void 0;
3
+ exports.parseTargetRowsToActions = exports.parseRowsToActions = void 0;
4
4
  const key_1 = require("./key");
5
5
  const parse_1 = require("./parse");
6
6
  const parseRowsToActions = ({ rows, parser, symbolAssetMap, service, cryptoes, fiats, errorLogger, }) => {
@@ -10,7 +10,7 @@ const parseRowsToActions = ({ rows, parser, symbolAssetMap, service, cryptoes, f
10
10
  let currentRows = [];
11
11
  for (const row of rows) {
12
12
  if (parser.key === undefined) {
13
- const rowActions = parseTargetRowsToActions({
13
+ const rowActions = (0, exports.parseTargetRowsToActions)({
14
14
  rows: [row],
15
15
  parsers: parser.parsers,
16
16
  symbolAssetMap,
@@ -31,7 +31,7 @@ const parseRowsToActions = ({ rows, parser, symbolAssetMap, service, cryptoes, f
31
31
  if (currentKeyValue !== undefined &&
32
32
  currentKeyValue !== keyValue &&
33
33
  currentRows.length > 0) {
34
- const keyActions = parseTargetRowsToActions({
34
+ const keyActions = (0, exports.parseTargetRowsToActions)({
35
35
  rows: currentRows,
36
36
  parsers: parser.parsers,
37
37
  symbolAssetMap,
@@ -51,7 +51,7 @@ const parseRowsToActions = ({ rows, parser, symbolAssetMap, service, cryptoes, f
51
51
  currentRows.push(row);
52
52
  }
53
53
  if (currentRows.length > 0) {
54
- const keyActions = parseTargetRowsToActions({
54
+ const keyActions = (0, exports.parseTargetRowsToActions)({
55
55
  rows: currentRows,
56
56
  parsers: parser.parsers,
57
57
  symbolAssetMap,
@@ -95,6 +95,7 @@ const parseTargetRowsToActions = (parameters) => {
95
95
  }
96
96
  return allActions;
97
97
  };
98
+ exports.parseTargetRowsToActions = parseTargetRowsToActions;
98
99
  const resetActionOrders = (actions) => {
99
100
  const sourceCounts = new Map();
100
101
  const orderedActions = [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../parseRowsToActions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../parseRowsToActions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.streamCsvToActions = void 0;
4
+ const papaparse_1 = require("papaparse");
5
+ const zod_1 = require("zod");
6
+ const formatCsvRows_1 = require("./formatCsvRows");
7
+ const parseRowsToActions_1 = require("./parseRowsToActions");
8
+ const key_1 = require("./parseRowsToActions/key");
9
+ const recordSchema = zod_1.z.record(zod_1.z.string());
10
+ const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, save, chunkSize = 100, }) => {
11
+ let success = true;
12
+ let error;
13
+ let ignoreRowCount = 0;
14
+ let rowCount = 0;
15
+ let currentKeyValue;
16
+ let currentRows = [];
17
+ let actions = [];
18
+ (0, papaparse_1.parse)(file, {
19
+ header: true,
20
+ skipEmptyLines: true,
21
+ encoding,
22
+ step: async (result, parsers) => {
23
+ rowCount += 1;
24
+ const row = recordSchema.parse(result.data);
25
+ const formattedRow = formatRow(row, format.formatter);
26
+ if (formattedRow === undefined) {
27
+ console.log('ignore:', row);
28
+ ignoreRowCount += 1;
29
+ return;
30
+ }
31
+ if (format.parser.key === undefined) {
32
+ currentRows = [];
33
+ const rowActions = (0, parseRowsToActions_1.parseTargetRowsToActions)({
34
+ rows: [formattedRow],
35
+ parsers: format.parser.parsers,
36
+ symbolAssetMap: format.symbolAssetMap,
37
+ service: format.service,
38
+ cryptoes,
39
+ fiats,
40
+ });
41
+ if (rowActions.length === 0) {
42
+ console.log('ignore:', row);
43
+ ignoreRowCount += 1;
44
+ }
45
+ actions.push(...rowActions);
46
+ }
47
+ else {
48
+ const keyValue = (0, key_1.createKeyValue)({
49
+ row: formattedRow,
50
+ key: format.parser.key,
51
+ });
52
+ if (currentKeyValue !== undefined &&
53
+ currentKeyValue !== keyValue &&
54
+ currentRows.length > 0) {
55
+ const keyActions = (0, parseRowsToActions_1.parseTargetRowsToActions)({
56
+ rows: currentRows,
57
+ parsers: format.parser.parsers,
58
+ symbolAssetMap: format.symbolAssetMap,
59
+ service: format.service,
60
+ cryptoes,
61
+ fiats,
62
+ });
63
+ if (keyActions.length === 0) {
64
+ ignoreRowCount += currentRows.length;
65
+ }
66
+ actions.push(...keyActions);
67
+ currentRows = [];
68
+ }
69
+ currentKeyValue = keyValue;
70
+ currentRows.push(formattedRow);
71
+ }
72
+ if (actions.length >= chunkSize + 1) {
73
+ const lastActionSource = actions[actions.length - 1].source;
74
+ const savingActions = [];
75
+ const remainingActions = [];
76
+ for (const action of actions) {
77
+ if (action.source === lastActionSource) {
78
+ remainingActions.push(action);
79
+ }
80
+ else {
81
+ savingActions.push(action);
82
+ }
83
+ }
84
+ actions = remainingActions;
85
+ try {
86
+ await save(savingActions);
87
+ }
88
+ catch (e) {
89
+ success = false;
90
+ error = e;
91
+ parsers.abort();
92
+ }
93
+ }
94
+ },
95
+ });
96
+ if (!success) {
97
+ return {
98
+ success: false,
99
+ error,
100
+ rowCount,
101
+ ignoreRowCount,
102
+ };
103
+ }
104
+ if (currentRows.length > 0) {
105
+ const keyActions = (0, parseRowsToActions_1.parseTargetRowsToActions)({
106
+ rows: currentRows,
107
+ parsers: format.parser.parsers,
108
+ symbolAssetMap: format.symbolAssetMap,
109
+ service: format.service,
110
+ cryptoes,
111
+ fiats,
112
+ });
113
+ if (keyActions.length === 0) {
114
+ ignoreRowCount += currentRows.length;
115
+ }
116
+ actions.push(...keyActions);
117
+ }
118
+ if (actions.length > 0) {
119
+ try {
120
+ await save(actions);
121
+ }
122
+ catch (e) {
123
+ success = false;
124
+ error = e;
125
+ }
126
+ }
127
+ return {
128
+ success,
129
+ error,
130
+ rowCount,
131
+ ignoreRowCount,
132
+ };
133
+ };
134
+ exports.streamCsvToActions = streamCsvToActions;
135
+ const formatRow = (row, formatter) => {
136
+ try {
137
+ return (0, formatCsvRows_1.formatCsvRow)(row, formatter);
138
+ }
139
+ catch (error) {
140
+ return undefined;
141
+ }
142
+ };
143
+ //# sourceMappingURL=streamCsvToActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamCsvToActions.js","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":";;;AACA,yCAAiC;AACjC,6BAAuB;AACvB,mDAA8C;AAC9C,6DAA+D;AAC/D,kDAAyD;AAazD,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAA;AASlC,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,eAAmC,CAAA;IACvC,IAAI,WAAW,GAAmB,EAAE,CAAA;IACpC,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,IAAA,iBAAK,EAAC,IAAI,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI;QACpB,QAAQ;QACR,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;YAC9B,QAAQ,IAAI,CAAC,CAAA;YAGb,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;YACrD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAC3B,cAAc,IAAI,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YAGD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpC,WAAW,GAAG,EAAE,CAAA;gBAChB,MAAM,UAAU,GAAG,IAAA,6CAAwB,EAAC;oBAC1C,IAAI,EAAE,CAAC,YAAY,CAAC;oBACpB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;oBAC9B,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ;oBACR,KAAK;iBACN,CAAC,CAAA;gBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;oBAC3B,cAAc,IAAI,CAAC,CAAA;gBACrB,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,IAAA,oBAAc,EAAC;oBAC9B,GAAG,EAAE,YAAY;oBACjB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;iBACvB,CAAC,CAAA;gBACF,IACE,eAAe,KAAK,SAAS;oBAC7B,eAAe,KAAK,QAAQ;oBAC5B,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;oBACD,MAAM,UAAU,GAAG,IAAA,6CAAwB,EAAC;wBAC1C,IAAI,EAAE,WAAW;wBACjB,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,cAAc,IAAI,WAAW,CAAC,MAAM,CAAA;oBACtC,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;oBAC3B,WAAW,GAAG,EAAE,CAAA;gBAClB,CAAC;gBACD,eAAe,GAAG,QAAQ,CAAA;gBAC1B,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,CAAC;YAGD,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC3D,MAAM,aAAa,GAAa,EAAE,CAAA;gBAClC,MAAM,gBAAgB,GAAa,EAAE,CAAA;gBACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;wBACvC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC/B,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC5B,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,gBAAgB,CAAA;gBAC1B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,CAAA;gBAC3B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,GAAG,KAAK,CAAA;oBACf,KAAK,GAAG,CAAC,CAAA;oBACT,OAAO,CAAC,KAAK,EAAE,CAAA;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,QAAQ;YACR,cAAc;SACf,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,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,CAAC,CAAA;QACrB,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;KACf,CAAA;AACH,CAAC,CAAA;AA9IY,QAAA,kBAAkB,sBA8I9B;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"}
@@ -0,0 +1,12 @@
1
+ import { detect } from 'encoding-japanese';
2
+ export const detectFileEncoding = async (fileStream) => {
3
+ const reader = fileStream.getReader();
4
+ const result = await reader.read();
5
+ await reader.cancel();
6
+ const detected = detect(result.value);
7
+ if (typeof detected === 'string') {
8
+ return detected;
9
+ }
10
+ return detected.valueOf().toString();
11
+ };
12
+ //# sourceMappingURL=detectFileEncoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectFileEncoding.js","sourceRoot":"","sources":["../detectFileEncoding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAA0B,EACT,EAAE;IACnB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;IACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAClC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAA;AACtC,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { bigDecimalNegativeTextSchema, bigDecimalPositiveTextSchema, bigDecimalTextSchema, blankTextSchema, datetimeJpTextSchema, iso8601JpTextSchema, iso8601TextSchema, stringTextSchema, } from './schemas/formatterTypes';
2
2
  export const formatCsvRows = ({ rows, formatter, }) => rows.map((row) => formatCsvRow(row, formatter));
3
- const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(formatter).map(([column, schemaTypes]) => {
3
+ export const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(formatter).map(([column, schemaTypes]) => {
4
4
  // column に一致する column が無かったらエラー
5
5
  if (!(column in row)) {
6
6
  throw new Error(`The column '${column}' does not exist in the CSV`);
@@ -1 +1 @@
1
- {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatCsvRows.js","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { parse } from 'papaparse';
2
+ export const hasValidHeaderRow = async ({ file, encoding, format, }) => {
3
+ let isValid = false;
4
+ parse(file, {
5
+ header: false,
6
+ skipEmptyLines: true,
7
+ encoding,
8
+ step: (result, parser) => {
9
+ if (!Array.isArray(result.data)) {
10
+ parser.abort();
11
+ return;
12
+ }
13
+ for (const key of Object.keys(format.formatter)) {
14
+ if (!result.data.includes(key)) {
15
+ parser.abort();
16
+ return;
17
+ }
18
+ }
19
+ isValid = true;
20
+ parser.abort();
21
+ },
22
+ });
23
+ return isValid;
24
+ };
25
+ //# sourceMappingURL=hasValidHeaderRow.js.map
@@ -0,0 +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,KAAK,CAAC,IAAI,EAAE;QACV,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,IAAI;QACpB,QAAQ;QACR,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACd,OAAM;YACR,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,OAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,GAAG,IAAI,CAAA;YACd,MAAM,CAAC,KAAK,EAAE,CAAA;QAChB,CAAC;KACF,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
package/_esm/index.js CHANGED
@@ -1,7 +1,10 @@
1
+ export { detectFileEncoding } from './detectFileEncoding';
1
2
  export { formatCsvRows } from './formatCsvRows';
3
+ export { hasValidHeaderRow } from './hasValidHeaderRow';
2
4
  export { parseCsvFileToActions } from './parseCsvFileToActions';
3
5
  export { parseCsvFileToText } from './parseCsvFileToText';
4
6
  export { parseCsvText } from './parseCsvText';
5
7
  export { parseRowsToActions } from './parseRowsToActions';
6
8
  export { csvFormatSchema } from './schemas';
9
+ export { streamCsvToActions } from './streamCsvToActions';
7
10
  //# sourceMappingURL=index.js.map
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -71,7 +71,7 @@ export const parseRowsToActions = ({ rows, parser, symbolAssetMap, service, cryp
71
71
  ignoreRowCount,
72
72
  };
73
73
  };
74
- const parseTargetRowsToActions = (parameters) => {
74
+ export const parseTargetRowsToActions = (parameters) => {
75
75
  const { parsers, errorLogger, ...otherParameters } = parameters;
76
76
  const allActions = [];
77
77
  for (const parser of parsers) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../parseRowsToActions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../parseRowsToActions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import { parse } from 'papaparse';
2
+ import { z } from 'zod';
3
+ import { formatCsvRow } from './formatCsvRows';
4
+ import { parseTargetRowsToActions } from './parseRowsToActions';
5
+ import { createKeyValue } from './parseRowsToActions/key';
6
+ const recordSchema = z.record(z.string());
7
+ export const streamCsvToActions = async ({ file, encoding, format, cryptoes, fiats, save, chunkSize = 100, }) => {
8
+ // stream で処理
9
+ let success = true;
10
+ let error;
11
+ let ignoreRowCount = 0;
12
+ let rowCount = 0;
13
+ let currentKeyValue;
14
+ let currentRows = [];
15
+ let actions = [];
16
+ parse(file, {
17
+ header: true,
18
+ skipEmptyLines: true,
19
+ encoding,
20
+ step: async (result, parsers) => {
21
+ rowCount += 1;
22
+ // format
23
+ const row = recordSchema.parse(result.data);
24
+ const formattedRow = formatRow(row, format.formatter);
25
+ if (formattedRow === undefined) {
26
+ console.log('ignore:', row);
27
+ ignoreRowCount += 1;
28
+ return;
29
+ }
30
+ // parse
31
+ if (format.parser.key === undefined) {
32
+ currentRows = [];
33
+ const rowActions = parseTargetRowsToActions({
34
+ rows: [formattedRow],
35
+ parsers: format.parser.parsers,
36
+ symbolAssetMap: format.symbolAssetMap,
37
+ service: format.service,
38
+ cryptoes,
39
+ fiats,
40
+ });
41
+ if (rowActions.length === 0) {
42
+ console.log('ignore:', row);
43
+ ignoreRowCount += 1;
44
+ }
45
+ actions.push(...rowActions);
46
+ }
47
+ else {
48
+ const keyValue = createKeyValue({
49
+ row: formattedRow,
50
+ key: format.parser.key,
51
+ });
52
+ if (currentKeyValue !== undefined &&
53
+ currentKeyValue !== keyValue &&
54
+ currentRows.length > 0) {
55
+ const keyActions = parseTargetRowsToActions({
56
+ rows: currentRows,
57
+ parsers: format.parser.parsers,
58
+ symbolAssetMap: format.symbolAssetMap,
59
+ service: format.service,
60
+ cryptoes,
61
+ fiats,
62
+ });
63
+ if (keyActions.length === 0) {
64
+ ignoreRowCount += currentRows.length;
65
+ }
66
+ actions.push(...keyActions);
67
+ currentRows = [];
68
+ }
69
+ currentKeyValue = keyValue;
70
+ currentRows.push(formattedRow);
71
+ }
72
+ // actions が chunkSize に達したら最後の action source と同一 source を除いて actions を保存
73
+ if (actions.length >= chunkSize + 1) {
74
+ const lastActionSource = actions[actions.length - 1].source;
75
+ const savingActions = [];
76
+ const remainingActions = [];
77
+ for (const action of actions) {
78
+ if (action.source === lastActionSource) {
79
+ remainingActions.push(action);
80
+ }
81
+ else {
82
+ savingActions.push(action);
83
+ }
84
+ }
85
+ actions = remainingActions;
86
+ try {
87
+ await save(savingActions);
88
+ }
89
+ catch (e) {
90
+ success = false;
91
+ error = e;
92
+ parsers.abort();
93
+ }
94
+ }
95
+ },
96
+ });
97
+ if (!success) {
98
+ return {
99
+ success: false,
100
+ error,
101
+ rowCount,
102
+ ignoreRowCount,
103
+ };
104
+ }
105
+ // currentRows が残っていたら actions に追加
106
+ if (currentRows.length > 0) {
107
+ const keyActions = parseTargetRowsToActions({
108
+ rows: currentRows,
109
+ parsers: format.parser.parsers,
110
+ symbolAssetMap: format.symbolAssetMap,
111
+ service: format.service,
112
+ cryptoes,
113
+ fiats,
114
+ });
115
+ if (keyActions.length === 0) {
116
+ ignoreRowCount += currentRows.length;
117
+ }
118
+ actions.push(...keyActions);
119
+ }
120
+ // actions が残っていたら actions 保存処理
121
+ if (actions.length > 0) {
122
+ try {
123
+ await save(actions);
124
+ }
125
+ catch (e) {
126
+ success = false;
127
+ error = e;
128
+ }
129
+ }
130
+ return {
131
+ success,
132
+ error,
133
+ rowCount,
134
+ ignoreRowCount,
135
+ };
136
+ };
137
+ const formatRow = (row, formatter) => {
138
+ try {
139
+ return formatCsvRow(row, formatter);
140
+ }
141
+ catch (error) {
142
+ return undefined;
143
+ }
144
+ };
145
+ //# sourceMappingURL=streamCsvToActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamCsvToActions.js","sourceRoot":"","sources":["../streamCsvToActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ReadableStream } from 'node:stream/web';
2
+ export declare const detectFileEncoding: (fileStream: ReadableStream) => Promise<string>;
3
+ //# sourceMappingURL=detectFileEncoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectFileEncoding.d.ts","sourceRoot":"","sources":["../detectFileEncoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGrD,eAAO,MAAM,kBAAkB,eACjB,cAAc,KACzB,OAAO,CAAC,MAAM,CAShB,CAAA"}
@@ -7,5 +7,6 @@ type FormatCsvRowsParameters = {
7
7
  readonly formatter: Formatter;
8
8
  };
9
9
  export declare const formatCsvRows: ({ rows, formatter, }: FormatCsvRowsParameters) => readonly FormattedRow[];
10
+ export declare const formatCsvRow: (row: RawRow, formatter: Formatter) => FormattedRow;
10
11
  export {};
11
12
  //# sourceMappingURL=formatCsvRows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatCsvRows.d.ts","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAA;AAEtE,KAAK,MAAM,GAAG;IACZ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,aAAa,yBAGvB,uBAAuB,KAAG,SAAS,YAAY,EACD,CAAA"}
1
+ {"version":3,"file":"formatCsvRows.d.ts","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAA;AAEtE,KAAK,MAAM,GAAG;IACZ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,aAAa,yBAGvB,uBAAuB,KAAG,SAAS,YAAY,EACD,CAAA;AAEjD,eAAO,MAAM,YAAY,QAAS,MAAM,aAAa,SAAS,KAAG,YA6E9D,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { CsvFormat } from './types';
2
+ type HasValidHeaderRowParameters = {
3
+ file: File | string;
4
+ encoding: string;
5
+ format: CsvFormat;
6
+ };
7
+ export declare const hasValidHeaderRow: ({ file, encoding, format, }: HasValidHeaderRowParameters) => Promise<boolean>;
8
+ export {};
9
+ //# sourceMappingURL=hasValidHeaderRow.d.ts.map