@0xtorch/csv 0.0.9 → 0.0.10
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.
- package/.DS_Store +0 -0
- package/_cjs/parseCsvRowToAction/amount.js +48 -0
- package/_cjs/parseCsvRowToAction/amount.js.map +1 -0
- package/_cjs/parseCsvRowToAction/parseCsvRowToAction.js +4 -2
- package/_cjs/parseCsvRowToAction/parseCsvRowToAction.js.map +1 -1
- package/_cjs/parseCsvRowToAction/transfer.js +2 -6
- package/_cjs/parseCsvRowToAction/transfer.js.map +1 -1
- package/_cjs/schemas/parser.js +14 -2
- package/_cjs/schemas/parser.js.map +1 -1
- package/_esm/parseCsvRowToAction/amount.js +44 -0
- package/_esm/parseCsvRowToAction/amount.js.map +1 -0
- package/_esm/parseCsvRowToAction/parseCsvRowToAction.js +4 -2
- package/_esm/parseCsvRowToAction/parseCsvRowToAction.js.map +1 -1
- package/_esm/parseCsvRowToAction/transfer.js +2 -6
- package/_esm/parseCsvRowToAction/transfer.js.map +1 -1
- package/_esm/schemas/parser.js +15 -2
- package/_esm/schemas/parser.js.map +1 -1
- package/_types/parseCsvRowToAction/amount.d.ts +11 -0
- package/_types/parseCsvRowToAction/amount.d.ts.map +1 -0
- package/_types/parseCsvRowToAction/transfer.d.ts.map +1 -1
- package/_types/schemas/parser.d.ts +80 -16
- package/_types/schemas/parser.d.ts.map +1 -1
- package/_types/schemas/schemas.d.ts +34 -7
- package/_types/schemas/schemas.d.ts.map +1 -1
- package/package.json +2 -2
- package/parseCsvRowToAction/amount.ts +66 -0
- package/parseCsvRowToAction/parseCsvRowToAction.ts +13 -11
- package/parseCsvRowToAction/transfer.ts +2 -9
- package/schemas/parser.ts +16 -2
package/.DS_Store
CHANGED
|
Binary file
|
|
@@ -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
|
|
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":";;;AAEA,2CAA4C;AAC5C,+BAA+C;AAC/C,iCAA8C;AAC9C,2CAAkD;AAClD,yCAAsD;AAY/C,MAAM,mBAAmB,GAAG,CAAC,EAClC,GAAG,EACH,OAAO,EACP,OAAO,EACP,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,GACgB,EAAsB,EAAE;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,2BAA2B,CAAC;gBACzC,GAAG;gBACH,OAAO;gBACP,MAAM;gBACN,cAAc;gBACd,SAAS;gBACT,gBAAgB;gBAChB,cAAc;aACf,CAAC,CAAA;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AA7BY,QAAA,mBAAmB,uBA6B/B;AAYD,MAAM,2BAA2B,GAAG,CAAC,EACnC,GAAG,EACH,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,GACwB,EAAsB,EAAE;IAE9D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAA,0BAAc,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;aAClB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,4BAAqB,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;aACtE,IAAI,CAAC,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,IAAA,gCAAoB,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAClE,OAAO,EACL,MAAM,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,OAAO;iBACX,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,IAAA,4BAAqB,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACnD;iBACA,IAAI,CAAC,EAAE,CAAC;QACjB,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,MAAM,CAAC,SAAS,
|
|
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
|
|
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,
|
|
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":";;;
|
|
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"}
|
package/_cjs/schemas/parser.js
CHANGED
|
@@ -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:
|
|
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,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../schemas/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAYtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,GAAG,EACH,OAAO,EACP,OAAO,EACP,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,GACgB,EAAsB,EAAE;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,2BAA2B,CAAC;gBACzC,GAAG;gBACH,OAAO;gBACP,MAAM;gBACN,cAAc;gBACd,SAAS;gBACT,gBAAgB;gBAChB,cAAc;aACf,CAAC,CAAA;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8BAA8B;YAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAYD,MAAM,2BAA2B,GAAG,CAAC,EACnC,GAAG,EACH,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,GACwB,EAAsB,EAAE;IAC9D,uCAAuC;IACvC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;aAClB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;aACtE,IAAI,CAAC,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,oBAAoB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAClE,OAAO,EACL,MAAM,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,OAAO;iBACX,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACnD;iBACA,IAAI,CAAC,EAAE,CAAC;QACjB,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,MAAM,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"parseCsvRowToAction.js","sourceRoot":"","sources":["../../parseCsvRowToAction/parseCsvRowToAction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAYtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,GAAG,EACH,OAAO,EACP,OAAO,EACP,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,GACgB,EAAsB,EAAE;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,2BAA2B,CAAC;gBACzC,GAAG;gBACH,OAAO;gBACP,MAAM;gBACN,cAAc;gBACd,SAAS;gBACT,gBAAgB;gBAChB,cAAc;aACf,CAAC,CAAA;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8BAA8B;YAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAYD,MAAM,2BAA2B,GAAG,CAAC,EACnC,GAAG,EACH,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,GACwB,EAAsB,EAAE;IAC9D,uCAAuC;IACvC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;aAClB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;aACtE,IAAI,CAAC,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,oBAAoB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAClE,OAAO,EACL,MAAM,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,OAAO;iBACX,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACnD;iBACA,IAAI,CAAC,EAAE,CAAC;QACjB,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,MAAM,CAAC,SAAS;aACxB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,yBAAyB,CAAC;YACxB,GAAG;YACH,OAAO;YACP,cAAc;YACd,SAAS;YACT,SAAS;YACT,gBAAgB;YAChB,cAAc;SACf,CAAC,CACH;aACA,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5C,OAAO,EACL,MAAM,CAAC,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,OAAO;iBACX,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACnD;iBACA,IAAI,CAAC,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EACJ,MAAM,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,MAAM;iBACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACnD;iBACA,IAAI,CAAC,EAAE,CAAC;QACjB,MAAM,EACJ,MAAM,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;KAC1E,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
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":"
|
|
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"}
|
package/_esm/schemas/parser.js
CHANGED
|
@@ -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
|
-
|
|
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":"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"}
|
|
@@ -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":"
|
|
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"}
|
|
@@ -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
|
-
|
|
192
|
-
|
|
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
|
-
|
|
389
|
-
|
|
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
|
-
|
|
799
|
-
|
|
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
|
|
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"}
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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
|
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xtorch/csv",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
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.
|
|
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
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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:
|
|
44
|
+
amount: createAmountByComponent({ row, component: amountComponent }),
|
|
52
45
|
price: undefined,
|
|
53
46
|
direction,
|
|
54
47
|
}
|
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
|
-
|
|
80
|
-
amount: z.string(),
|
|
94
|
+
amount: amountComponentSchema,
|
|
81
95
|
asset: assetComponentSchema,
|
|
82
96
|
})
|
|
83
97
|
|