@0xtorch/csv 0.0.9 → 0.0.11

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/formatCsvRows.js +7 -0
  3. package/_cjs/formatCsvRows.js.map +1 -1
  4. package/_cjs/parseCsvRowToAction/amount.js +48 -0
  5. package/_cjs/parseCsvRowToAction/amount.js.map +1 -0
  6. package/_cjs/parseCsvRowToAction/parseCsvRowToAction.js +4 -2
  7. package/_cjs/parseCsvRowToAction/parseCsvRowToAction.js.map +1 -1
  8. package/_cjs/parseCsvRowToAction/transfer.js +2 -6
  9. package/_cjs/parseCsvRowToAction/transfer.js.map +1 -1
  10. package/_cjs/schemas/formatter.js +1 -0
  11. package/_cjs/schemas/formatter.js.map +1 -1
  12. package/_cjs/schemas/formatterTypes.js +6 -1
  13. package/_cjs/schemas/formatterTypes.js.map +1 -1
  14. package/_cjs/schemas/parser.js +14 -2
  15. package/_cjs/schemas/parser.js.map +1 -1
  16. package/_esm/formatCsvRows.js +8 -1
  17. package/_esm/formatCsvRows.js.map +1 -1
  18. package/_esm/parseCsvRowToAction/amount.js +44 -0
  19. package/_esm/parseCsvRowToAction/amount.js.map +1 -0
  20. package/_esm/parseCsvRowToAction/parseCsvRowToAction.js +4 -2
  21. package/_esm/parseCsvRowToAction/parseCsvRowToAction.js.map +1 -1
  22. package/_esm/parseCsvRowToAction/transfer.js +2 -6
  23. package/_esm/parseCsvRowToAction/transfer.js.map +1 -1
  24. package/_esm/schemas/formatter.js +1 -0
  25. package/_esm/schemas/formatter.js.map +1 -1
  26. package/_esm/schemas/formatterTypes.js +5 -0
  27. package/_esm/schemas/formatterTypes.js.map +1 -1
  28. package/_esm/schemas/parser.js +15 -2
  29. package/_esm/schemas/parser.js.map +1 -1
  30. package/_types/formatCsvRows.d.ts.map +1 -1
  31. package/_types/parseCsvRowToAction/amount.d.ts +11 -0
  32. package/_types/parseCsvRowToAction/amount.d.ts.map +1 -0
  33. package/_types/parseCsvRowToAction/transfer.d.ts.map +1 -1
  34. package/_types/schemas/formatter.d.ts +2 -2
  35. package/_types/schemas/formatter.d.ts.map +1 -1
  36. package/_types/schemas/formatterTypes.d.ts +2 -1
  37. package/_types/schemas/formatterTypes.d.ts.map +1 -1
  38. package/_types/schemas/parser.d.ts +80 -16
  39. package/_types/schemas/parser.d.ts.map +1 -1
  40. package/_types/schemas/schemas.d.ts +37 -10
  41. package/_types/schemas/schemas.d.ts.map +1 -1
  42. package/formatCsvRows.ts +8 -0
  43. package/package.json +2 -2
  44. package/parseCsvRowToAction/amount.ts +66 -0
  45. package/parseCsvRowToAction/parseCsvRowToAction.ts +13 -11
  46. package/parseCsvRowToAction/transfer.ts +2 -9
  47. package/schemas/formatter.ts +1 -0
  48. package/schemas/formatterTypes.ts +6 -0
  49. package/schemas/parser.ts +16 -2
package/.DS_Store CHANGED
Binary file
@@ -53,6 +53,13 @@ const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(forma
53
53
  }
54
54
  return [column, parsed.data];
55
55
  }
56
+ case 'iso8601-jp': {
57
+ const parsed = formatterTypes_1.iso8601JpTextSchema.safeParse(value);
58
+ if (!parsed.success) {
59
+ break;
60
+ }
61
+ return [column, parsed.data];
62
+ }
56
63
  case 'datetime-jp': {
57
64
  const parsed = formatterTypes_1.datetimeJpTextSchema.safeParse(value);
58
65
  if (!parsed.success) {
@@ -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,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAmountByComponent = void 0;
4
+ const big_decimal_1 = require("@0xtorch/big-decimal");
5
+ const createAmountByComponent = ({ row, component, }) => {
6
+ if (typeof component === 'string') {
7
+ return getColumnAbsAmount(row, component);
8
+ }
9
+ switch (component.type) {
10
+ case 'plus': {
11
+ let amount = getColumnAbsAmount(row, component.columns[0]);
12
+ for (const column of component.columns.slice(1)) {
13
+ amount = (0, big_decimal_1.plus)(amount, getColumnAbsAmount(row, column));
14
+ }
15
+ return amount;
16
+ }
17
+ case 'minus': {
18
+ let amount = getColumnAbsAmount(row, component.columns[0]);
19
+ for (const column of component.columns.slice(1)) {
20
+ amount = (0, big_decimal_1.minus)(amount, getColumnAbsAmount(row, column));
21
+ }
22
+ return amount;
23
+ }
24
+ case 'times': {
25
+ let amount = getColumnAbsAmount(row, component.columns[0]);
26
+ for (const column of component.columns.slice(1)) {
27
+ amount = (0, big_decimal_1.times)(amount, getColumnAbsAmount(row, column), 18);
28
+ }
29
+ return amount;
30
+ }
31
+ case 'divide': {
32
+ let amount = getColumnAbsAmount(row, component.columns[0]);
33
+ for (const column of component.columns.slice(1)) {
34
+ amount = (0, big_decimal_1.divide)(amount, getColumnAbsAmount(row, column), 18);
35
+ }
36
+ return amount;
37
+ }
38
+ }
39
+ };
40
+ exports.createAmountByComponent = createAmountByComponent;
41
+ const getColumnAbsAmount = (row, column) => {
42
+ const amount = row[column];
43
+ if (typeof amount !== 'object') {
44
+ throw new TypeError(`amount needs to be BigDecimal but got ${typeof amount}`);
45
+ }
46
+ return (0, big_decimal_1.absoluteValue)(amount);
47
+ };
48
+ //# sourceMappingURL=amount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../parseCsvRowToAction/amount.ts"],"names":[],"mappings":";;;AAAA,sDAO6B;AAUtB,MAAM,uBAAuB,GAAG,CAAC,EACtC,GAAG,EACH,SAAS,GACyB,EAAc,EAAE;IAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,IAAA,kBAAI,EAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,IAAA,mBAAK,EAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;YACzD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,IAAA,mBAAK,EAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,IAAA,oBAAM,EAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAtCY,QAAA,uBAAuB,2BAsCnC;AAED,MAAM,kBAAkB,GAAG,CAAC,GAAiB,EAAE,MAAc,EAAc,EAAE;IAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CACjB,yCAAyC,OAAO,MAAM,EAAE,CACzD,CAAA;IACH,CAAC;IACD,OAAO,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAA"}
@@ -49,7 +49,8 @@ const parseCsvRowToActionByParser = ({ row, service, parser, symbolAssetMap, acc
49
49
  .map((component) => (0, text_1.createTextByComponent)({ row, service, component }))
50
50
  .join(''),
51
51
  app: undefined,
52
- transfers: parser.transfers.map((component) => (0, transfer_1.createTransferByComponent)({
52
+ transfers: parser.transfers
53
+ .map((component) => (0, transfer_1.createTransferByComponent)({
53
54
  row,
54
55
  service,
55
56
  symbolAssetMap,
@@ -57,7 +58,8 @@ const parseCsvRowToActionByParser = ({ row, service, parser, symbolAssetMap, acc
57
58
  accountId,
58
59
  cryptoCurrencies,
59
60
  fiatCurrencies,
60
- })),
61
+ }))
62
+ .filter(({ amount }) => amount.value > 0n),
61
63
  crossId: parser.crossId === undefined
62
64
  ? undefined
63
65
  : parser.crossId
@@ -1 +1 @@
1
- {"version":3,"file":"parseCsvRowToAction.js","sourceRoot":"","sources":["../../parseCsvRowToAction/parseCsvRowToAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseCsvRowToAction.js","sourceRoot":"","sources":["../../parseCsvRowToAction/parseCsvRowToAction.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createTransferByComponent = void 0;
4
- const big_decimal_1 = require("@0xtorch/big-decimal");
4
+ const amount_1 = require("./amount");
5
5
  const asset_1 = require("./asset");
6
6
  const createTransferByComponent = ({ row, service, symbolAssetMap, component, accountId, cryptoCurrencies, fiatCurrencies, }) => {
7
7
  const { direction, asset: assetComponent, amount: amountComponent, } = component;
8
- const amount = row[amountComponent];
9
- if (typeof amount !== 'object') {
10
- throw new TypeError(`amount needs to be BigDecimal but got ${typeof amount}`);
11
- }
12
8
  return {
13
9
  from: direction === 'in' ? undefined : accountId,
14
10
  to: direction === 'in' ? accountId : undefined,
@@ -20,7 +16,7 @@ const createTransferByComponent = ({ row, service, symbolAssetMap, component, ac
20
16
  cryptoCurrencies,
21
17
  fiatCurrencies,
22
18
  }),
23
- amount: (0, big_decimal_1.absoluteValue)(amount),
19
+ amount: (0, amount_1.createAmountByComponent)({ row, component: amountComponent }),
24
20
  price: undefined,
25
21
  direction,
26
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../parseCsvRowToAction/transfer.ts"],"names":[],"mappings":";;;AAAA,sDAAoD;AAKpD,mCAAgD;AAYzC,MAAM,yBAAyB,GAAG,CAAC,EACxC,GAAG,EACH,OAAO,EACP,cAAc,EACd,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,GACsB,EAAY,EAAE;IAClD,MAAM,EACJ,SAAS,EACT,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,GACxB,GAAG,SAAS,CAAA;IAEb,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,CAAA;IACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CACjB,yCAAyC,OAAO,MAAM,EAAE,CACzD,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChD,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC9C,KAAK,EAAE,IAAA,8BAAsB,EAAC;YAC5B,GAAG;YACH,OAAO;YACP,cAAc;YACd,SAAS,EAAE,cAAc;YACzB,gBAAgB;YAChB,cAAc;SACf,CAAC;QACF,MAAM,EAAE,IAAA,2BAAa,EAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,SAAS;QAChB,SAAS;KACV,CAAA;AACH,CAAC,CAAA;AArCY,QAAA,yBAAyB,6BAqCrC"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../parseCsvRowToAction/transfer.ts"],"names":[],"mappings":";;;AAIA,qCAAkD;AAClD,mCAAgD;AAYzC,MAAM,yBAAyB,GAAG,CAAC,EACxC,GAAG,EACH,OAAO,EACP,cAAc,EACd,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,GACsB,EAAY,EAAE;IAClD,MAAM,EACJ,SAAS,EACT,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,GACxB,GAAG,SAAS,CAAA;IAEb,OAAO;QACL,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChD,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC9C,KAAK,EAAE,IAAA,8BAAsB,EAAC;YAC5B,GAAG;YACH,OAAO;YACP,cAAc;YACd,SAAS,EAAE,cAAc;YACzB,gBAAgB;YAChB,cAAc;SACf,CAAC;QACF,MAAM,EAAE,IAAA,gCAAuB,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QACpE,KAAK,EAAE,SAAS;QAChB,SAAS;KACV,CAAA;AACH,CAAC,CAAA;AA9BY,QAAA,yBAAyB,6BA8BrC"}
@@ -9,6 +9,7 @@ exports.formatterValueTypeSchema = zod_1.z.union([
9
9
  zod_1.z.literal('big-decimal-positive'),
10
10
  zod_1.z.literal('big-decimal-negative'),
11
11
  zod_1.z.literal('iso8601'),
12
+ zod_1.z.literal('iso8601-jp'),
12
13
  zod_1.z.literal('datetime-jp'),
13
14
  ]);
14
15
  exports.formatterSchema = zod_1.z.record(zod_1.z.array(exports.formatterValueTypeSchema));
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC9C,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEW,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC9C,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,OAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACvB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEW,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatterValueSchema = exports.datetimeJpTextSchema = exports.iso8601TextSchema = exports.bigDecimalNegativeTextSchema = exports.bigDecimalPositiveTextSchema = exports.bigDecimalTextSchema = exports.stringTextSchema = exports.blankTextSchema = void 0;
3
+ exports.formatterValueSchema = exports.datetimeJpTextSchema = exports.iso8601JpTextSchema = exports.iso8601TextSchema = exports.bigDecimalNegativeTextSchema = exports.bigDecimalPositiveTextSchema = exports.bigDecimalTextSchema = exports.stringTextSchema = exports.blankTextSchema = void 0;
4
4
  const big_decimal_1 = require("@0xtorch/big-decimal");
5
5
  const zod_1 = require("zod");
6
6
  exports.blankTextSchema = zod_1.z.literal('').transform(() => undefined);
@@ -21,6 +21,10 @@ exports.iso8601TextSchema = zod_1.z
21
21
  .string()
22
22
  .regex(/^\d{4}-?\d\d-?\d\d(?:(T|( ))\d\d(?::?\d\d(?::?\d\d(?:\.\d+)?)?)?( )?(?:Z|[+-]\d\d:?\d\d)?)?$/)
23
23
  .transform((v) => new Date(v).getTime());
24
+ exports.iso8601JpTextSchema = zod_1.z
25
+ .string()
26
+ .regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/)
27
+ .transform((v) => new Date(`${v}+09:00`).getTime());
24
28
  exports.datetimeJpTextSchema = zod_1.z
25
29
  .string()
26
30
  .regex(/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}$/)
@@ -32,6 +36,7 @@ exports.formatterValueSchema = zod_1.z.union([
32
36
  exports.bigDecimalPositiveTextSchema,
33
37
  exports.bigDecimalNegativeTextSchema,
34
38
  exports.iso8601TextSchema,
39
+ exports.iso8601JpTextSchema,
35
40
  exports.datetimeJpTextSchema,
36
41
  ]);
37
42
  //# sourceMappingURL=formatterTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AACvD,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAE1D,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;AAE7B,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,CAAC;KACxB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,eAAe,CAAC;KACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAG7B,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAExC,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC1C,uBAAe;IACf,wBAAgB;IAChB,4BAAoB;IACpB,oCAA4B;IAC5B,oCAA4B;IAC5B,yBAAiB;IACjB,4BAAoB;CACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AACvD,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAE1D,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAA;AAE7B,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,CAAC;KACxB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,eAAe,CAAC;KACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,CAAC,CAAC,CAAC,CAAA;AAE3B,QAAA,iBAAiB,GAAG,OAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAE7B,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,EAAE;KACR,KAAK,CAAC,uCAAuC,CAAC;KAC9C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAGxC,QAAA,oBAAoB,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAExC,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC1C,uBAAe;IACf,wBAAgB;IAChB,4BAAoB;IACpB,oCAA4B;IAC5B,oCAA4B;IAC5B,yBAAiB;IACjB,2BAAmB;IACnB,4BAAoB;CACrB,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsersSchema = exports.parserSchema = exports.transferComponentSchema = exports.assetComponentSchema = exports.nftComponentSchema = exports.textComponentSchema = exports.actionComponentSchema = exports.columnComponentSchema = exports.conditionComponentSchema = void 0;
3
+ exports.parsersSchema = exports.parserSchema = exports.transferComponentSchema = exports.amountComponentSchema = exports.assetComponentSchema = exports.nftComponentSchema = exports.textComponentSchema = exports.actionComponentSchema = exports.columnComponentSchema = exports.conditionComponentSchema = void 0;
4
4
  const core_1 = require("@0xtorch/core");
5
5
  const zod_1 = require("zod");
6
6
  exports.conditionComponentSchema = zod_1.z.object({
@@ -57,9 +57,21 @@ exports.assetComponentSchema = zod_1.z.union([
57
57
  exports.columnComponentSchema,
58
58
  exports.nftComponentSchema,
59
59
  ]);
60
+ exports.amountComponentSchema = zod_1.z.union([
61
+ zod_1.z.string(),
62
+ zod_1.z.object({
63
+ type: zod_1.z.union([
64
+ zod_1.z.literal('plus'),
65
+ zod_1.z.literal('minus'),
66
+ zod_1.z.literal('times'),
67
+ zod_1.z.literal('divide'),
68
+ ]),
69
+ columns: zod_1.z.array(zod_1.z.string()).min(2),
70
+ }),
71
+ ]);
60
72
  exports.transferComponentSchema = zod_1.z.object({
61
73
  direction: zod_1.z.union([zod_1.z.literal('in'), zod_1.z.literal('out')]),
62
- amount: zod_1.z.string(),
74
+ amount: exports.amountComponentSchema,
63
75
  asset: exports.assetComponentSchema,
64
76
  });
65
77
  exports.parserSchema = zod_1.z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../schemas/parser.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AACrD,6BAAuB;AAEV,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC;QAEf,OAAC,CAAC,MAAM,EAAE;QAEV,OAAC,CAAC,MAAM,EAAE;QAEV,OAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3B,CAAC;QAEF,OAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC;SAC7B,CAAC;QAEF,OAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACrB,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACnD,CAAC;QAEF,OAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACnD,CAAC;KACH,CAAC;CACH,CAAC,CAAA;AAEW,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAA;AAEW,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,4BAAqB,CAAC;CAC1C,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAA;AAEW,QAAA,mBAAmB,GAAG,OAAC,CAAC,KAAK,CAAC;IAEzC,OAAC,CAAC,MAAM,EAAE;IAEV,sBAAsB;IAEtB,6BAAqB;CACtB,CAAC,CAAA;AAEW,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC;CACjC,CAAC,CAAA;AAEW,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;IAE1C,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC;YACjB,OAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC3B,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;YACzB,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SACjB,CAAC;QACF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC;IAEF,6BAAqB;IAErB,0BAAkB;CACnB,CAAC,CAAA;AAEW,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,4BAAoB;CAC5B,CAAC,CAAA;AAKW,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAwB,CAAC;IAC7C,MAAM,EAAE,4BAAqB;IAE7B,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC;IAEpC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IAErB,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,+BAAuB,CAAC;IAE3C,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,OAAC;SACT,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SAClE,QAAQ,EAAE;IAEb,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC,CAAC,QAAQ,EAAE;IAC/C,MAAM,EAAE,0BAAkB,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAA;AAEW,QAAA,aAAa,GAAG,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../schemas/parser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { bigDecimalNegativeTextSchema, bigDecimalPositiveTextSchema, bigDecimalTextSchema, blankTextSchema, datetimeJpTextSchema, iso8601TextSchema, stringTextSchema, } from './schemas/formatterTypes';
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
3
  const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(formatter).map(([column, schemaTypes]) => {
4
4
  // column に一致する column が無かったらエラー
@@ -51,6 +51,13 @@ const formatCsvRow = (row, formatter) => Object.fromEntries(Object.entries(forma
51
51
  }
52
52
  return [column, parsed.data];
53
53
  }
54
+ case 'iso8601-jp': {
55
+ const parsed = iso8601JpTextSchema.safeParse(value);
56
+ if (!parsed.success) {
57
+ break;
58
+ }
59
+ return [column, parsed.data];
60
+ }
54
61
  case 'datetime-jp': {
55
62
  const parsed = datetimeJpTextSchema.safeParse(value);
56
63
  if (!parsed.success) {
@@ -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":"AAAA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,0BAA0B,CAAA;AAYjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,IAAI,EACJ,SAAS,GACe,EAA2B,EAAE,CACrD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;AAEjD,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,SAAoB,EAAgB,EAAE,CACvE,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAC3B,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAA4B,EAAE;IAClD,gCAAgC;IAChC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,6BAA6B,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,sBAAsB;IACtB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAK;gBACP,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,oBAAoB;IACpB,6BAA6B;IAC7B,MAAM,IAAI,KAAK,CACb,eAAe,MAAM,cAAc,KAAK,6BAA6B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAC9F,CAAA;AACH,CAAC,CACF,CACF,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { absoluteValue, divide, minus, plus, times, } from '@0xtorch/big-decimal';
2
+ export const createAmountByComponent = ({ row, component, }) => {
3
+ if (typeof component === 'string') {
4
+ return getColumnAbsAmount(row, component);
5
+ }
6
+ switch (component.type) {
7
+ case 'plus': {
8
+ let amount = getColumnAbsAmount(row, component.columns[0]);
9
+ for (const column of component.columns.slice(1)) {
10
+ amount = plus(amount, getColumnAbsAmount(row, column));
11
+ }
12
+ return amount;
13
+ }
14
+ case 'minus': {
15
+ let amount = getColumnAbsAmount(row, component.columns[0]);
16
+ for (const column of component.columns.slice(1)) {
17
+ amount = minus(amount, getColumnAbsAmount(row, column));
18
+ }
19
+ return amount;
20
+ }
21
+ case 'times': {
22
+ let amount = getColumnAbsAmount(row, component.columns[0]);
23
+ for (const column of component.columns.slice(1)) {
24
+ amount = times(amount, getColumnAbsAmount(row, column), 18);
25
+ }
26
+ return amount;
27
+ }
28
+ case 'divide': {
29
+ let amount = getColumnAbsAmount(row, component.columns[0]);
30
+ for (const column of component.columns.slice(1)) {
31
+ amount = divide(amount, getColumnAbsAmount(row, column), 18);
32
+ }
33
+ return amount;
34
+ }
35
+ }
36
+ };
37
+ const getColumnAbsAmount = (row, column) => {
38
+ const amount = row[column];
39
+ if (typeof amount !== 'object') {
40
+ throw new TypeError(`amount needs to be BigDecimal but got ${typeof amount}`);
41
+ }
42
+ return absoluteValue(amount);
43
+ };
44
+ //# sourceMappingURL=amount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../parseCsvRowToAction/amount.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,GACN,MAAM,sBAAsB,CAAA;AAU7B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,GAAG,EACH,SAAS,GACyB,EAAc,EAAE;IAClD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;YACzD,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,GAAiB,EAAE,MAAc,EAAc,EAAE;IAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CACjB,yCAAyC,OAAO,MAAM,EAAE,CACzD,CAAA;IACH,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAA"}
@@ -47,7 +47,8 @@ const parseCsvRowToActionByParser = ({ row, service, parser, symbolAssetMap, acc
47
47
  .map((component) => createTextByComponent({ row, service, component }))
48
48
  .join(''),
49
49
  app: undefined,
50
- transfers: parser.transfers.map((component) => createTransferByComponent({
50
+ transfers: parser.transfers
51
+ .map((component) => createTransferByComponent({
51
52
  row,
52
53
  service,
53
54
  symbolAssetMap,
@@ -55,7 +56,8 @@ const parseCsvRowToActionByParser = ({ row, service, parser, symbolAssetMap, acc
55
56
  accountId,
56
57
  cryptoCurrencies,
57
58
  fiatCurrencies,
58
- })),
59
+ }))
60
+ .filter(({ amount }) => amount.value > 0n),
59
61
  crossId: parser.crossId === undefined
60
62
  ? undefined
61
63
  : parser.crossId
@@ -1 +1 @@
1
- {"version":3,"file":"parseCsvRowToAction.js","sourceRoot":"","sources":["../../parseCsvRowToAction/parseCsvRowToAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseCsvRowToAction.js","sourceRoot":"","sources":["../../parseCsvRowToAction/parseCsvRowToAction.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
- import { absoluteValue } from '@0xtorch/big-decimal';
1
+ import { createAmountByComponent } from './amount';
2
2
  import { createAssetByComponent } from './asset';
3
3
  export const createTransferByComponent = ({ row, service, symbolAssetMap, component, accountId, cryptoCurrencies, fiatCurrencies, }) => {
4
4
  const { direction, asset: assetComponent, amount: amountComponent, } = component;
5
- const amount = row[amountComponent];
6
- if (typeof amount !== 'object') {
7
- throw new TypeError(`amount needs to be BigDecimal but got ${typeof amount}`);
8
- }
9
5
  return {
10
6
  from: direction === 'in' ? undefined : accountId,
11
7
  to: direction === 'in' ? accountId : undefined,
@@ -17,7 +13,7 @@ export const createTransferByComponent = ({ row, service, symbolAssetMap, compon
17
13
  cryptoCurrencies,
18
14
  fiatCurrencies,
19
15
  }),
20
- amount: absoluteValue(amount),
16
+ amount: createAmountByComponent({ row, component: amountComponent }),
21
17
  price: undefined,
22
18
  direction,
23
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../parseCsvRowToAction/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAYhD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,GAAG,EACH,OAAO,EACP,cAAc,EACd,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,GACsB,EAAY,EAAE;IAClD,MAAM,EACJ,SAAS,EACT,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,GACxB,GAAG,SAAS,CAAA;IAEb,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,CAAA;IACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CACjB,yCAAyC,OAAO,MAAM,EAAE,CACzD,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChD,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC9C,KAAK,EAAE,sBAAsB,CAAC;YAC5B,GAAG;YACH,OAAO;YACP,cAAc;YACd,SAAS,EAAE,cAAc;YACzB,gBAAgB;YAChB,cAAc;SACf,CAAC;QACF,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,SAAS;QAChB,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../parseCsvRowToAction/transfer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAYhD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,GAAG,EACH,OAAO,EACP,cAAc,EACd,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,GACsB,EAAY,EAAE;IAClD,MAAM,EACJ,SAAS,EACT,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,GACxB,GAAG,SAAS,CAAA;IAEb,OAAO;QACL,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChD,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC9C,KAAK,EAAE,sBAAsB,CAAC;YAC5B,GAAG;YACH,OAAO;YACP,cAAc;YACd,SAAS,EAAE,cAAc;YACzB,gBAAgB;YAChB,cAAc;SACf,CAAC;QACF,MAAM,EAAE,uBAAuB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QACpE,KAAK,EAAE,SAAS;QAChB,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
@@ -6,6 +6,7 @@ export const formatterValueTypeSchema = z.union([
6
6
  z.literal('big-decimal-positive'),
7
7
  z.literal('big-decimal-negative'),
8
8
  z.literal('iso8601'),
9
+ z.literal('iso8601-jp'),
9
10
  z.literal('datetime-jp'),
10
11
  ]);
11
12
  export const formatterSchema = z.record(z.array(formatterValueTypeSchema));
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACxB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACjC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACvB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA"}
@@ -18,6 +18,10 @@ export const iso8601TextSchema = z
18
18
  .string()
19
19
  .regex(/^\d{4}-?\d\d-?\d\d(?:(T|( ))\d\d(?::?\d\d(?::?\d\d(?:\.\d+)?)?)?( )?(?:Z|[+-]\d\d:?\d\d)?)?$/)
20
20
  .transform((v) => new Date(v).getTime());
21
+ export const iso8601JpTextSchema = z
22
+ .string()
23
+ .regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/)
24
+ .transform((v) => new Date(`${v}+09:00`).getTime());
21
25
  // TODO timezone 追加型 date を導入する
22
26
  export const datetimeJpTextSchema = z
23
27
  .string()
@@ -30,6 +34,7 @@ export const formatterValueSchema = z.union([
30
34
  bigDecimalPositiveTextSchema,
31
35
  bigDecimalNegativeTextSchema,
32
36
  iso8601TextSchema,
37
+ iso8601JpTextSchema,
33
38
  datetimeJpTextSchema,
34
39
  ]);
35
40
  //# sourceMappingURL=formatterTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,CAAC;KACxB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,eAAe,CAAC;KACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAE1C,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,4BAA4B;IAC5B,4BAA4B;IAC5B,iBAAiB;IACjB,oBAAoB;CACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"formatterTypes.js","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,CAAC;KACxB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,eAAe,CAAC;KACtB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,CAAC;KACvB,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,8FAA8F,CAC/F;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,EAAE;KACR,KAAK,CAAC,uCAAuC,CAAC;KAC9C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAErD,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,yCAAyC,CAAC;KAChD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,4BAA4B;IAC5B,4BAA4B;IAC5B,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;CACrB,CAAC,CAAA"}
@@ -66,10 +66,23 @@ export const assetComponentSchema = z.union([
66
66
  // nft
67
67
  nftComponentSchema,
68
68
  ]);
69
+ export const amountComponentSchema = z.union([
70
+ /** column から値代入 / 絶対値で代入 */
71
+ z.string(),
72
+ /** 複数の column に四則演算追加 */
73
+ z.object({
74
+ type: z.union([
75
+ z.literal('plus'),
76
+ z.literal('minus'),
77
+ z.literal('times'),
78
+ z.literal('divide'),
79
+ ]),
80
+ columns: z.array(z.string()).min(2),
81
+ }),
82
+ ]);
69
83
  export const transferComponentSchema = z.object({
70
84
  direction: z.union([z.literal('in'), z.literal('out')]),
71
- /** column から値代入 / 絶対値で代入 */
72
- amount: z.string(),
85
+ amount: amountComponentSchema,
73
86
  asset: assetComponentSchema,
74
87
  });
75
88
  // 同一の row でも、 action type によって処理が変わるのでは?
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../schemas/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../schemas/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QACf,SAAS;QACT,CAAC,CAAC,MAAM,EAAE;QACV,SAAS;QACT,CAAC,CAAC,MAAM,EAAE;QACV,UAAU;QACV,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3B,CAAC;QACF,YAAY;QACZ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;SAC7B,CAAC;QACF,KAAK;QACL,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACrB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACnD,CAAC;QACF,SAAS;QACT,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACnD,CAAC;KACH,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;CAC1C,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACzC,mBAAmB;IACnB,CAAC,CAAC,MAAM,EAAE;IACV,UAAU;IACV,sBAAsB;IACtB,SAAS;IACT,qBAAqB;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,iBAAiB;IACjB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC;YACjB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC3B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SACjB,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;IACF,gFAAgF;IAChF,qBAAqB;IACrB,MAAM;IACN,kBAAkB;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3C,4BAA4B;IAC5B,CAAC,CAAC,MAAM,EAAE;IACV,yBAAyB;IACzB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;YACZ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;SACpB,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACpC,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,qBAAqB;IAC7B,KAAK,EAAE,oBAAoB;CAC5B,CAAC,CAAA;AAEF,yCAAyC;AACzC,oDAAoD;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;IAC7C,MAAM,EAAE,qBAAqB;IAC7B,6BAA6B;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACpC,oCAAoC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,6BAA6B;IAC7B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC3C,6BAA6B;IAC7B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SAClE,QAAQ,EAAE;IACb,6BAA6B;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAC/C,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatCsvRows.d.ts","sourceRoot":"","sources":["../formatCsvRows.ts"],"names":[],"mappings":"AASA,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"}
@@ -0,0 +1,11 @@
1
+ import { type BigDecimal } from '@0xtorch/big-decimal';
2
+ import type { z } from 'zod';
3
+ import type { amountComponentSchema } from '../schemas/parser';
4
+ import type { FormattedRow } from '../types';
5
+ type CreateAmountByComponentParameters = {
6
+ readonly row: FormattedRow;
7
+ readonly component: z.infer<typeof amountComponentSchema>;
8
+ };
9
+ export declare const createAmountByComponent: ({ row, component, }: CreateAmountByComponentParameters) => BigDecimal;
10
+ export {};
11
+ //# sourceMappingURL=amount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amount.d.ts","sourceRoot":"","sources":["../../parseCsvRowToAction/amount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,KAAK,iCAAiC,GAAG;IACvC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;CAC1D,CAAA;AAED,eAAO,MAAM,uBAAuB,wBAGjC,iCAAiC,KAAG,UAmCtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../parseCsvRowToAction/transfer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG5C,KAAK,mCAAmC,GAAG;IACzC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IACjE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAA;IACpD,QAAQ,CAAC,cAAc,EAAE,SAAS,YAAY,EAAE,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,yBAAyB,8FAQnC,mCAAmC,KAAG,QA6BxC,CAAA"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../parseCsvRowToAction/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI5C,KAAK,mCAAmC,GAAG;IACzC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IACjE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAA;IACpD,QAAQ,CAAC,cAAc,EAAE,SAAS,YAAY,EAAE,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,yBAAyB,8FAQnC,mCAAmC,KAAG,QAsBxC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { z } from 'zod';
2
- export declare const formatterValueTypeSchema: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"datetime-jp">]>;
3
- export declare const formatterSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"datetime-jp">]>, "many">>;
2
+ export declare const formatterValueTypeSchema: z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"iso8601-jp">, z.ZodLiteral<"datetime-jp">]>;
3
+ export declare const formatterSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"iso8601-jp">, z.ZodLiteral<"datetime-jp">]>, "many">>;
4
4
  //# sourceMappingURL=formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,wBAAwB,4NAQnC,CAAA;AAEF,eAAO,MAAM,eAAe,0QAA8C,CAAA"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../schemas/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,wBAAwB,wPASnC,CAAA;AAEF,eAAO,MAAM,eAAe,sSAA8C,CAAA"}
@@ -5,6 +5,7 @@ export declare const bigDecimalTextSchema: z.ZodEffects<z.ZodString, import("@0x
5
5
  export declare const bigDecimalPositiveTextSchema: z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>;
6
6
  export declare const bigDecimalNegativeTextSchema: z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>;
7
7
  export declare const iso8601TextSchema: z.ZodEffects<z.ZodString, number, string>;
8
+ export declare const iso8601JpTextSchema: z.ZodEffects<z.ZodString, number, string>;
8
9
  export declare const datetimeJpTextSchema: z.ZodEffects<z.ZodString, number, string>;
9
- export declare const formatterValueSchema: z.ZodUnion<[z.ZodEffects<z.ZodLiteral<"">, undefined, "">, z.ZodString, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, number, string>, z.ZodEffects<z.ZodString, number, string>]>;
10
+ export declare const formatterValueSchema: z.ZodUnion<[z.ZodEffects<z.ZodLiteral<"">, undefined, "">, z.ZodString, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, import("@0xtorch/big-decimal").BigDecimal, string>, z.ZodEffects<z.ZodString, number, string>, z.ZodEffects<z.ZodString, number, string>, z.ZodEffects<z.ZodString, number, string>]>;
10
11
  //# sourceMappingURL=formatterTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatterTypes.d.ts","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe,+CAA2C,CAAA;AAEvE,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,8EAGO,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,iBAAiB,2CAKY,CAAA;AAG1C,eAAO,MAAM,oBAAoB,2CAGoB,CAAA;AAErD,eAAO,MAAM,oBAAoB,0YAQ/B,CAAA"}
1
+ {"version":3,"file":"formatterTypes.d.ts","sourceRoot":"","sources":["../../schemas/formatterTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe,+CAA2C,CAAA;AAEvE,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,8EAGO,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,4BAA4B,8EAGD,CAAA;AAExC,eAAO,MAAM,iBAAiB,2CAKY,CAAA;AAE1C,eAAO,MAAM,mBAAmB,2CAGqB,CAAA;AAGrD,eAAO,MAAM,oBAAoB,2CAGoB,CAAA;AAErD,eAAO,MAAM,oBAAoB,qbAS/B,CAAA"}
@@ -186,10 +186,28 @@ export declare const assetComponentSchema: z.ZodUnion<[z.ZodObject<{
186
186
  type: "service";
187
187
  })[];
188
188
  }>]>;
189
+ export declare const amountComponentSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
190
+ type: z.ZodUnion<[z.ZodLiteral<"plus">, z.ZodLiteral<"minus">, z.ZodLiteral<"times">, z.ZodLiteral<"divide">]>;
191
+ columns: z.ZodArray<z.ZodString, "many">;
192
+ }, "strip", z.ZodTypeAny, {
193
+ type: "plus" | "minus" | "times" | "divide";
194
+ columns: string[];
195
+ }, {
196
+ type: "plus" | "minus" | "times" | "divide";
197
+ columns: string[];
198
+ }>]>;
189
199
  export declare const transferComponentSchema: z.ZodObject<{
190
200
  direction: z.ZodUnion<[z.ZodLiteral<"in">, z.ZodLiteral<"out">]>;
191
- /** column から値代入 / 絶対値で代入 */
192
- amount: z.ZodString;
201
+ amount: z.ZodUnion<[z.ZodString, z.ZodObject<{
202
+ type: z.ZodUnion<[z.ZodLiteral<"plus">, z.ZodLiteral<"minus">, z.ZodLiteral<"times">, z.ZodLiteral<"divide">]>;
203
+ columns: z.ZodArray<z.ZodString, "many">;
204
+ }, "strip", z.ZodTypeAny, {
205
+ type: "plus" | "minus" | "times" | "divide";
206
+ columns: string[];
207
+ }, {
208
+ type: "plus" | "minus" | "times" | "divide";
209
+ columns: string[];
210
+ }>]>;
193
211
  asset: z.ZodUnion<[z.ZodObject<{
194
212
  type: z.ZodLiteral<"custom">;
195
213
  assetType: z.ZodUnion<[z.ZodLiteral<"CryptoCurrency">, z.ZodLiteral<"FiatCurrency">, z.ZodLiteral<"Nft">]>;
@@ -248,7 +266,10 @@ export declare const transferComponentSchema: z.ZodObject<{
248
266
  }>]>;
249
267
  }, "strip", z.ZodTypeAny, {
250
268
  direction: "in" | "out";
251
- amount: string;
269
+ amount: string | {
270
+ type: "plus" | "minus" | "times" | "divide";
271
+ columns: string[];
272
+ };
252
273
  asset: {
253
274
  type: "column";
254
275
  column: string;
@@ -267,7 +288,10 @@ export declare const transferComponentSchema: z.ZodObject<{
267
288
  };
268
289
  }, {
269
290
  direction: "in" | "out";
270
- amount: string;
291
+ amount: string | {
292
+ type: "plus" | "minus" | "times" | "divide";
293
+ columns: string[];
294
+ };
271
295
  asset: {
272
296
  type: "column";
273
297
  column: string;
@@ -385,8 +409,16 @@ export declare const parserSchema: z.ZodObject<{
385
409
  }>]>, "many">>;
386
410
  transfers: z.ZodArray<z.ZodObject<{
387
411
  direction: z.ZodUnion<[z.ZodLiteral<"in">, z.ZodLiteral<"out">]>;
388
- /** column から値代入 / 絶対値で代入 */
389
- amount: z.ZodString;
412
+ amount: z.ZodUnion<[z.ZodString, z.ZodObject<{
413
+ type: z.ZodUnion<[z.ZodLiteral<"plus">, z.ZodLiteral<"minus">, z.ZodLiteral<"times">, z.ZodLiteral<"divide">]>;
414
+ columns: z.ZodArray<z.ZodString, "many">;
415
+ }, "strip", z.ZodTypeAny, {
416
+ type: "plus" | "minus" | "times" | "divide";
417
+ columns: string[];
418
+ }, {
419
+ type: "plus" | "minus" | "times" | "divide";
420
+ columns: string[];
421
+ }>]>;
390
422
  asset: z.ZodUnion<[z.ZodObject<{
391
423
  type: z.ZodLiteral<"custom">;
392
424
  assetType: z.ZodUnion<[z.ZodLiteral<"CryptoCurrency">, z.ZodLiteral<"FiatCurrency">, z.ZodLiteral<"Nft">]>;
@@ -445,7 +477,10 @@ export declare const parserSchema: z.ZodObject<{
445
477
  }>]>;
446
478
  }, "strip", z.ZodTypeAny, {
447
479
  direction: "in" | "out";
448
- amount: string;
480
+ amount: string | {
481
+ type: "plus" | "minus" | "times" | "divide";
482
+ columns: string[];
483
+ };
449
484
  asset: {
450
485
  type: "column";
451
486
  column: string;
@@ -464,7 +499,10 @@ export declare const parserSchema: z.ZodObject<{
464
499
  };
465
500
  }, {
466
501
  direction: "in" | "out";
467
- amount: string;
502
+ amount: string | {
503
+ type: "plus" | "minus" | "times" | "divide";
504
+ columns: string[];
505
+ };
468
506
  asset: {
469
507
  type: "column";
470
508
  column: string;
@@ -577,7 +615,10 @@ export declare const parserSchema: z.ZodObject<{
577
615
  timestamp: string;
578
616
  transfers: {
579
617
  direction: "in" | "out";
580
- amount: string;
618
+ amount: string | {
619
+ type: "plus" | "minus" | "times" | "divide";
620
+ columns: string[];
621
+ };
581
622
  asset: {
582
623
  type: "column";
583
624
  column: string;
@@ -648,7 +689,10 @@ export declare const parserSchema: z.ZodObject<{
648
689
  timestamp: string;
649
690
  transfers: {
650
691
  direction: "in" | "out";
651
- amount: string;
692
+ amount: string | {
693
+ type: "plus" | "minus" | "times" | "divide";
694
+ columns: string[];
695
+ };
652
696
  asset: {
653
697
  type: "column";
654
698
  column: string;
@@ -795,8 +839,16 @@ export declare const parsersSchema: z.ZodArray<z.ZodObject<{
795
839
  }>]>, "many">>;
796
840
  transfers: z.ZodArray<z.ZodObject<{
797
841
  direction: z.ZodUnion<[z.ZodLiteral<"in">, z.ZodLiteral<"out">]>;
798
- /** column から値代入 / 絶対値で代入 */
799
- amount: z.ZodString;
842
+ amount: z.ZodUnion<[z.ZodString, z.ZodObject<{
843
+ type: z.ZodUnion<[z.ZodLiteral<"plus">, z.ZodLiteral<"minus">, z.ZodLiteral<"times">, z.ZodLiteral<"divide">]>;
844
+ columns: z.ZodArray<z.ZodString, "many">;
845
+ }, "strip", z.ZodTypeAny, {
846
+ type: "plus" | "minus" | "times" | "divide";
847
+ columns: string[];
848
+ }, {
849
+ type: "plus" | "minus" | "times" | "divide";
850
+ columns: string[];
851
+ }>]>;
800
852
  asset: z.ZodUnion<[z.ZodObject<{
801
853
  type: z.ZodLiteral<"custom">;
802
854
  assetType: z.ZodUnion<[z.ZodLiteral<"CryptoCurrency">, z.ZodLiteral<"FiatCurrency">, z.ZodLiteral<"Nft">]>;
@@ -855,7 +907,10 @@ export declare const parsersSchema: z.ZodArray<z.ZodObject<{
855
907
  }>]>;
856
908
  }, "strip", z.ZodTypeAny, {
857
909
  direction: "in" | "out";
858
- amount: string;
910
+ amount: string | {
911
+ type: "plus" | "minus" | "times" | "divide";
912
+ columns: string[];
913
+ };
859
914
  asset: {
860
915
  type: "column";
861
916
  column: string;
@@ -874,7 +929,10 @@ export declare const parsersSchema: z.ZodArray<z.ZodObject<{
874
929
  };
875
930
  }, {
876
931
  direction: "in" | "out";
877
- amount: string;
932
+ amount: string | {
933
+ type: "plus" | "minus" | "times" | "divide";
934
+ columns: string[];
935
+ };
878
936
  asset: {
879
937
  type: "column";
880
938
  column: string;
@@ -987,7 +1045,10 @@ export declare const parsersSchema: z.ZodArray<z.ZodObject<{
987
1045
  timestamp: string;
988
1046
  transfers: {
989
1047
  direction: "in" | "out";
990
- amount: string;
1048
+ amount: string | {
1049
+ type: "plus" | "minus" | "times" | "divide";
1050
+ columns: string[];
1051
+ };
991
1052
  asset: {
992
1053
  type: "column";
993
1054
  column: string;
@@ -1058,7 +1119,10 @@ export declare const parsersSchema: z.ZodArray<z.ZodObject<{
1058
1119
  timestamp: string;
1059
1120
  transfers: {
1060
1121
  direction: "in" | "out";
1061
- amount: string;
1122
+ amount: string | {
1123
+ type: "plus" | "minus" | "times" | "divide";
1124
+ columns: string[];
1125
+ };
1062
1126
  asset: {
1063
1127
  type: "column";
1064
1128
  column: string;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../schemas/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BnC,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAA;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;IAO9B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAe/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;IAElC,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG5B,CAAA;AAKF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGvB,6BAA6B;;;;;;;;;;;;;;;;;IAE7B,oCAAoC;;IAEpC,6BAA6B;;;;;;;;;;;;;;;;;;;QAf7B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkB5B,6BAA6B;;;;;;;;;;;;;;;;;;IAK7B,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAjBxB,6BAA6B;;;;;;;;;;;;;;;;;IAE7B,oCAAoC;;IAEpC,6BAA6B;;;;;;;;;;;;;;;;;;;QAf7B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkB5B,6BAA6B;;;;;;;;;;;;;;;;;;IAK7B,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAKmB,CAAA"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../schemas/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BnC,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAA;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;IAO9B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAe/B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;IAahC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlC,CAAA;AAKF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGvB,6BAA6B;;;;;;;;;;;;;;;;;IAE7B,oCAAoC;;IAEpC,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7B,6BAA6B;;;;;;;;;;;;;;;;;;IAK7B,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAjBxB,6BAA6B;;;;;;;;;;;;;;;;;IAE7B,oCAAoC;;IAEpC,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAG7B,6BAA6B;;;;;;;;;;;;;;;;;;IAK7B,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAKmB,CAAA"}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  export declare const csvFormatSchema: z.ZodObject<{
3
3
  id: z.ZodString;
4
4
  service: z.ZodString;
5
- formatter: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"datetime-jp">]>, "many">>;
5
+ formatter: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"blank">, z.ZodLiteral<"string">, z.ZodLiteral<"big-decimal">, z.ZodLiteral<"big-decimal-positive">, z.ZodLiteral<"big-decimal-negative">, z.ZodLiteral<"iso8601">, z.ZodLiteral<"iso8601-jp">, z.ZodLiteral<"datetime-jp">]>, "many">>;
6
6
  parsers: z.ZodArray<z.ZodObject<{
7
7
  conditions: z.ZodArray<z.ZodObject<{
8
8
  column: z.ZodString;
@@ -100,7 +100,16 @@ export declare const csvFormatSchema: z.ZodObject<{
100
100
  }>]>, "many">>;
101
101
  transfers: z.ZodArray<z.ZodObject<{
102
102
  direction: z.ZodUnion<[z.ZodLiteral<"in">, z.ZodLiteral<"out">]>;
103
- amount: z.ZodString;
103
+ amount: z.ZodUnion<[z.ZodString, z.ZodObject<{
104
+ type: z.ZodUnion<[z.ZodLiteral<"plus">, z.ZodLiteral<"minus">, z.ZodLiteral<"times">, z.ZodLiteral<"divide">]>;
105
+ columns: z.ZodArray<z.ZodString, "many">;
106
+ }, "strip", z.ZodTypeAny, {
107
+ type: "plus" | "minus" | "times" | "divide";
108
+ columns: string[];
109
+ }, {
110
+ type: "plus" | "minus" | "times" | "divide";
111
+ columns: string[];
112
+ }>]>;
104
113
  asset: z.ZodUnion<[z.ZodObject<{
105
114
  type: z.ZodLiteral<"custom">;
106
115
  assetType: z.ZodUnion<[z.ZodLiteral<"CryptoCurrency">, z.ZodLiteral<"FiatCurrency">, z.ZodLiteral<"Nft">]>;
@@ -159,7 +168,10 @@ export declare const csvFormatSchema: z.ZodObject<{
159
168
  }>]>;
160
169
  }, "strip", z.ZodTypeAny, {
161
170
  direction: "in" | "out";
162
- amount: string;
171
+ amount: string | {
172
+ type: "plus" | "minus" | "times" | "divide";
173
+ columns: string[];
174
+ };
163
175
  asset: {
164
176
  type: "column";
165
177
  column: string;
@@ -178,7 +190,10 @@ export declare const csvFormatSchema: z.ZodObject<{
178
190
  };
179
191
  }, {
180
192
  direction: "in" | "out";
181
- amount: string;
193
+ amount: string | {
194
+ type: "plus" | "minus" | "times" | "divide";
195
+ columns: string[];
196
+ };
182
197
  asset: {
183
198
  type: "column";
184
199
  column: string;
@@ -289,7 +304,10 @@ export declare const csvFormatSchema: z.ZodObject<{
289
304
  timestamp: string;
290
305
  transfers: {
291
306
  direction: "in" | "out";
292
- amount: string;
307
+ amount: string | {
308
+ type: "plus" | "minus" | "times" | "divide";
309
+ columns: string[];
310
+ };
293
311
  asset: {
294
312
  type: "column";
295
313
  column: string;
@@ -360,7 +378,10 @@ export declare const csvFormatSchema: z.ZodObject<{
360
378
  timestamp: string;
361
379
  transfers: {
362
380
  direction: "in" | "out";
363
- amount: string;
381
+ amount: string | {
382
+ type: "plus" | "minus" | "times" | "divide";
383
+ columns: string[];
384
+ };
364
385
  asset: {
365
386
  type: "column";
366
387
  column: string;
@@ -411,7 +432,7 @@ export declare const csvFormatSchema: z.ZodObject<{
411
432
  }, "strip", z.ZodTypeAny, {
412
433
  service: string;
413
434
  id: string;
414
- formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "datetime-jp")[]>;
435
+ formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "iso8601-jp" | "datetime-jp")[]>;
415
436
  parsers: {
416
437
  conditions: {
417
438
  column: string;
@@ -437,7 +458,10 @@ export declare const csvFormatSchema: z.ZodObject<{
437
458
  timestamp: string;
438
459
  transfers: {
439
460
  direction: "in" | "out";
440
- amount: string;
461
+ amount: string | {
462
+ type: "plus" | "minus" | "times" | "divide";
463
+ columns: string[];
464
+ };
441
465
  asset: {
442
466
  type: "column";
443
467
  column: string;
@@ -488,7 +512,7 @@ export declare const csvFormatSchema: z.ZodObject<{
488
512
  }, {
489
513
  service: string;
490
514
  id: string;
491
- formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "datetime-jp")[]>;
515
+ formatter: Record<string, ("string" | "blank" | "big-decimal" | "big-decimal-positive" | "big-decimal-negative" | "iso8601" | "iso8601-jp" | "datetime-jp")[]>;
492
516
  parsers: {
493
517
  conditions: {
494
518
  column: string;
@@ -514,7 +538,10 @@ export declare const csvFormatSchema: z.ZodObject<{
514
538
  timestamp: string;
515
539
  transfers: {
516
540
  direction: "in" | "out";
517
- amount: string;
541
+ amount: string | {
542
+ type: "plus" | "minus" | "times" | "divide";
543
+ columns: string[];
544
+ };
518
545
  asset: {
519
546
  type: "column";
520
547
  column: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../schemas/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../schemas/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAA"}
package/formatCsvRows.ts CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  bigDecimalTextSchema,
5
5
  blankTextSchema,
6
6
  datetimeJpTextSchema,
7
+ iso8601JpTextSchema,
7
8
  iso8601TextSchema,
8
9
  stringTextSchema,
9
10
  } from './schemas/formatterTypes'
@@ -78,6 +79,13 @@ const formatCsvRow = (row: RawRow, formatter: Formatter): FormattedRow =>
78
79
  }
79
80
  return [column, parsed.data]
80
81
  }
82
+ case 'iso8601-jp': {
83
+ const parsed = iso8601JpTextSchema.safeParse(value)
84
+ if (!parsed.success) {
85
+ break
86
+ }
87
+ return [column, parsed.data]
88
+ }
81
89
  case 'datetime-jp': {
82
90
  const parsed = datetimeJpTextSchema.safeParse(value)
83
91
  if (!parsed.success) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/csv",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "Cryptorch CSV extension",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -35,7 +35,7 @@
35
35
  ],
36
36
  "dependencies": {
37
37
  "@0xtorch/big-decimal": "^0.0.10",
38
- "@0xtorch/core": "^0.0.41",
38
+ "@0xtorch/core": "^0.0.44",
39
39
  "encoding-japanese": "^2.1.0",
40
40
  "papaparse": "^5.4.1",
41
41
  "zod": "^3.23.8"
@@ -0,0 +1,66 @@
1
+ import {
2
+ type BigDecimal,
3
+ absoluteValue,
4
+ divide,
5
+ minus,
6
+ plus,
7
+ times,
8
+ } from '@0xtorch/big-decimal'
9
+ import type { z } from 'zod'
10
+ import type { amountComponentSchema } from '../schemas/parser'
11
+ import type { FormattedRow } from '../types'
12
+
13
+ type CreateAmountByComponentParameters = {
14
+ readonly row: FormattedRow
15
+ readonly component: z.infer<typeof amountComponentSchema>
16
+ }
17
+
18
+ export const createAmountByComponent = ({
19
+ row,
20
+ component,
21
+ }: CreateAmountByComponentParameters): BigDecimal => {
22
+ if (typeof component === 'string') {
23
+ return getColumnAbsAmount(row, component)
24
+ }
25
+
26
+ switch (component.type) {
27
+ case 'plus': {
28
+ let amount = getColumnAbsAmount(row, component.columns[0])
29
+ for (const column of component.columns.slice(1)) {
30
+ amount = plus(amount, getColumnAbsAmount(row, column))
31
+ }
32
+ return amount
33
+ }
34
+ case 'minus': {
35
+ let amount = getColumnAbsAmount(row, component.columns[0])
36
+ for (const column of component.columns.slice(1)) {
37
+ amount = minus(amount, getColumnAbsAmount(row, column))
38
+ }
39
+ return amount
40
+ }
41
+ case 'times': {
42
+ let amount = getColumnAbsAmount(row, component.columns[0])
43
+ for (const column of component.columns.slice(1)) {
44
+ amount = times(amount, getColumnAbsAmount(row, column), 18)
45
+ }
46
+ return amount
47
+ }
48
+ case 'divide': {
49
+ let amount = getColumnAbsAmount(row, component.columns[0])
50
+ for (const column of component.columns.slice(1)) {
51
+ amount = divide(amount, getColumnAbsAmount(row, column), 18)
52
+ }
53
+ return amount
54
+ }
55
+ }
56
+ }
57
+
58
+ const getColumnAbsAmount = (row: FormattedRow, column: string): BigDecimal => {
59
+ const amount = row[column]
60
+ if (typeof amount !== 'object') {
61
+ throw new TypeError(
62
+ `amount needs to be BigDecimal but got ${typeof amount}`,
63
+ )
64
+ }
65
+ return absoluteValue(amount)
66
+ }
@@ -90,17 +90,19 @@ const parseCsvRowToActionByParser = ({
90
90
  )
91
91
  .join(''),
92
92
  app: undefined,
93
- transfers: parser.transfers.map((component) =>
94
- createTransferByComponent({
95
- row,
96
- service,
97
- symbolAssetMap,
98
- component,
99
- accountId,
100
- cryptoCurrencies,
101
- fiatCurrencies,
102
- }),
103
- ),
93
+ transfers: parser.transfers
94
+ .map((component) =>
95
+ createTransferByComponent({
96
+ row,
97
+ service,
98
+ symbolAssetMap,
99
+ component,
100
+ accountId,
101
+ cryptoCurrencies,
102
+ fiatCurrencies,
103
+ }),
104
+ )
105
+ .filter(({ amount }) => amount.value > 0n),
104
106
  crossId:
105
107
  parser.crossId === undefined
106
108
  ? undefined
@@ -1,8 +1,8 @@
1
- import { absoluteValue } from '@0xtorch/big-decimal'
2
1
  import type { CryptoCurrency, FiatCurrency, Transfer } from '@0xtorch/core'
3
2
  import type { z } from 'zod'
4
3
  import type { transferComponentSchema } from '../schemas/parser'
5
4
  import type { FormattedRow } from '../types'
5
+ import { createAmountByComponent } from './amount'
6
6
  import { createAssetByComponent } from './asset'
7
7
 
8
8
  type CreateTransferByComponentParameters = {
@@ -30,13 +30,6 @@ export const createTransferByComponent = ({
30
30
  amount: amountComponent,
31
31
  } = component
32
32
 
33
- const amount = row[amountComponent]
34
- if (typeof amount !== 'object') {
35
- throw new TypeError(
36
- `amount needs to be BigDecimal but got ${typeof amount}`,
37
- )
38
- }
39
-
40
33
  return {
41
34
  from: direction === 'in' ? undefined : accountId,
42
35
  to: direction === 'in' ? accountId : undefined,
@@ -48,7 +41,7 @@ export const createTransferByComponent = ({
48
41
  cryptoCurrencies,
49
42
  fiatCurrencies,
50
43
  }),
51
- amount: absoluteValue(amount),
44
+ amount: createAmountByComponent({ row, component: amountComponent }),
52
45
  price: undefined,
53
46
  direction,
54
47
  }
@@ -7,6 +7,7 @@ export const formatterValueTypeSchema = z.union([
7
7
  z.literal('big-decimal-positive'),
8
8
  z.literal('big-decimal-negative'),
9
9
  z.literal('iso8601'),
10
+ z.literal('iso8601-jp'),
10
11
  z.literal('datetime-jp'),
11
12
  ])
12
13
 
@@ -27,6 +27,11 @@ export const iso8601TextSchema = z
27
27
  )
28
28
  .transform((v) => new Date(v).getTime())
29
29
 
30
+ export const iso8601JpTextSchema = z
31
+ .string()
32
+ .regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/)
33
+ .transform((v) => new Date(`${v}+09:00`).getTime())
34
+
30
35
  // TODO timezone 追加型 date を導入する
31
36
  export const datetimeJpTextSchema = z
32
37
  .string()
@@ -40,5 +45,6 @@ export const formatterValueSchema = z.union([
40
45
  bigDecimalPositiveTextSchema,
41
46
  bigDecimalNegativeTextSchema,
42
47
  iso8601TextSchema,
48
+ iso8601JpTextSchema,
43
49
  datetimeJpTextSchema,
44
50
  ])
package/schemas/parser.ts CHANGED
@@ -74,10 +74,24 @@ export const assetComponentSchema = z.union([
74
74
  nftComponentSchema,
75
75
  ])
76
76
 
77
+ export const amountComponentSchema = z.union([
78
+ /** column から値代入 / 絶対値で代入 */
79
+ z.string(),
80
+ /** 複数の column に四則演算追加 */
81
+ z.object({
82
+ type: z.union([
83
+ z.literal('plus'),
84
+ z.literal('minus'),
85
+ z.literal('times'),
86
+ z.literal('divide'),
87
+ ]),
88
+ columns: z.array(z.string()).min(2),
89
+ }),
90
+ ])
91
+
77
92
  export const transferComponentSchema = z.object({
78
93
  direction: z.union([z.literal('in'), z.literal('out')]),
79
- /** column から値代入 / 絶対値で代入 */
80
- amount: z.string(),
94
+ amount: amountComponentSchema,
81
95
  asset: assetComponentSchema,
82
96
  })
83
97