@tasenor/common-plugins 1.11.59 → 1.11.61
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-ci.log +2 -2
- package/dist/CoinbaseImport/backend/CoinbaseHandler.d.ts +1 -0
- package/dist/CoinbaseImport/backend/CoinbaseHandler.js +12 -0
- package/dist/CoinbaseImport/backend/CoinbaseHandler.js.map +1 -1
- package/dist/CoinbaseImport/backend/index.js +1 -1
- package/package.json +5 -5
- package/src/CoinbaseImport/backend/CoinbaseHandler.ts +13 -0
- package/src/CoinbaseImport/backend/index.ts +1 -1
- package/src/CoinbaseImport/backend/rules.json +80 -0
package/.turbo/turbo-build.log
CHANGED
package/.turbo/turbo-ci.log
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @tasenor/common-plugins@1.11.
|
|
2
|
+
> @tasenor/common-plugins@1.11.60 ci /home/ci/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
|
|
3
3
|
> pnpm run lint
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @tasenor/common-plugins@1.11.
|
|
6
|
+
> @tasenor/common-plugins@1.11.60 lint /home/ci/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
|
|
7
7
|
> eslint 'src/**/*.{ts,tsx}' 'data/**/*.mjs'
|
|
8
8
|
|
|
@@ -10,4 +10,5 @@ export declare class CoinbaseHandler extends TransactionImportHandler {
|
|
|
10
10
|
init(files: ProcessFile[]): Promise<ProcessFile[]>;
|
|
11
11
|
segmentId(line: TextFileLine): SegmentId | typeof NO_SEGMENT;
|
|
12
12
|
time(line: TextFileLine): Date | undefined;
|
|
13
|
+
segmentationColumnPostProcess(columns: Record<string, string>): Promise<Record<string, string>>;
|
|
13
14
|
}
|
|
@@ -79,5 +79,17 @@ export class CoinbaseHandler extends TransactionImportHandler {
|
|
|
79
79
|
}
|
|
80
80
|
throw new Error(`Coinbase import handler does not implement time() for version ${this.version}.`);
|
|
81
81
|
}
|
|
82
|
+
async segmentationColumnPostProcess(columns) {
|
|
83
|
+
if (columns.type === 'Convert') {
|
|
84
|
+
const match = /Converted ([0-9.]+) (\w+) to ([0-9.]+) (\w+)/.exec(columns.Notes);
|
|
85
|
+
if (match) {
|
|
86
|
+
columns.giveAmount = match[1];
|
|
87
|
+
columns.giveAsset = match[2];
|
|
88
|
+
columns.takeAmount = match[3];
|
|
89
|
+
columns.takeAsset = match[4];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return columns;
|
|
93
|
+
}
|
|
82
94
|
}
|
|
83
95
|
//# sourceMappingURL=CoinbaseHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoinbaseHandler.js","sourceRoot":"","sources":["../../../src/CoinbaseImport/backend/CoinbaseHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CoinbaseHandler.js","sourceRoot":"","sources":["../../../src/CoinbaseImport/backend/CoinbaseHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ class CoinbaseImportPlugin extends ImportPlugin {
|
|
|
5
5
|
super(new CoinbaseHandler());
|
|
6
6
|
this.code = 'CoinbaseImport';
|
|
7
7
|
this.title = 'Import for Coinbase';
|
|
8
|
-
this.version = '1.0.
|
|
8
|
+
this.version = '1.0.23';
|
|
9
9
|
this.icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M5 6.99h3V14h2V6.99h3L9 3zM14 10v7.01h-3L15 21l4-3.99h-3V10z"/></svg>';
|
|
10
10
|
this.releaseDate = '2022-10-24';
|
|
11
11
|
this.use = 'backend';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tasenor/common-plugins",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.61",
|
|
4
4
|
"description": "Shared common plugins of Tasenor project",
|
|
5
5
|
"repository": "git@github.com:dataplugoy/tasenor-bookkeeper.git",
|
|
6
6
|
"author": "Tommi Ronkainen <tommi.ronkainen@gmail.com>",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"dayjs": "1.10.8",
|
|
14
14
|
"sprintf-js": "^1.1.2",
|
|
15
15
|
"tsx": "^4.7.0",
|
|
16
|
-
"@tasenor/common": "1.11.
|
|
17
|
-
"@tasenor/common-
|
|
18
|
-
"@tasenor/common-
|
|
16
|
+
"@tasenor/common": "1.11.61",
|
|
17
|
+
"@tasenor/common-ui": "1.11.61",
|
|
18
|
+
"@tasenor/common-node": "1.11.61"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@mui/icons-material": "^5.14.1",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"react-i18next": "^14.0.5",
|
|
32
32
|
"react-router-dom": "^6.14.1",
|
|
33
33
|
"typescript": "^5.1.6",
|
|
34
|
-
"@tasenor/config": "1.11.
|
|
34
|
+
"@tasenor/config": "1.11.61",
|
|
35
35
|
"eslint-config-tasenor": "0.0.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
@@ -89,4 +89,17 @@ export class CoinbaseHandler extends TransactionImportHandler {
|
|
|
89
89
|
}
|
|
90
90
|
throw new Error(`Coinbase import handler does not implement time() for version ${this.version}.`)
|
|
91
91
|
}
|
|
92
|
+
|
|
93
|
+
async segmentationColumnPostProcess(columns: Record<string, string>): Promise<Record<string, string>> {
|
|
94
|
+
if (columns.type === 'Convert') {
|
|
95
|
+
const match = /Converted ([0-9.]+) (\w+) to ([0-9.]+) (\w+)/.exec(columns.Notes)
|
|
96
|
+
if (match) {
|
|
97
|
+
columns.giveAmount = match[1]
|
|
98
|
+
columns.giveAsset = match[2]
|
|
99
|
+
columns.takeAmount = match[3]
|
|
100
|
+
columns.takeAsset = match[4]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return columns
|
|
104
|
+
}
|
|
92
105
|
}
|
|
@@ -9,7 +9,7 @@ class CoinbaseImportPlugin extends ImportPlugin {
|
|
|
9
9
|
|
|
10
10
|
this.code = 'CoinbaseImport' as PluginCode
|
|
11
11
|
this.title = 'Import for Coinbase'
|
|
12
|
-
this.version = '1.0.
|
|
12
|
+
this.version = '1.0.23' as Version
|
|
13
13
|
this.icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M5 6.99h3V14h2V6.99h3L9 3zM14 10v7.01h-3L15 21l4-3.99h-3V10z"/></svg>'
|
|
14
14
|
this.releaseDate = '2022-10-24'
|
|
15
15
|
this.use = 'backend'
|
|
@@ -137,6 +137,86 @@
|
|
|
137
137
|
"reason": "'trade'"
|
|
138
138
|
}
|
|
139
139
|
]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "Send (v2)",
|
|
143
|
+
"filter": "type == 'Send'",
|
|
144
|
+
"result": [
|
|
145
|
+
{
|
|
146
|
+
"data": {
|
|
147
|
+
"text": "Notes",
|
|
148
|
+
"currency": "Currency",
|
|
149
|
+
"currencyValue": "-Total",
|
|
150
|
+
"rates": "rates(Currency, Price)"
|
|
151
|
+
},
|
|
152
|
+
"type": "'crypto'",
|
|
153
|
+
"asset": "Asset",
|
|
154
|
+
"amount": "-Quantity",
|
|
155
|
+
"reason": "'expense'"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"data": {
|
|
159
|
+
"text": "Notes",
|
|
160
|
+
"currency": "Currency",
|
|
161
|
+
"currencyValue": "Total"
|
|
162
|
+
},
|
|
163
|
+
"type": "'statement'",
|
|
164
|
+
"asset": "'NEEDS_MANUAL_INSPECTION'",
|
|
165
|
+
"amount": "Total",
|
|
166
|
+
"reason": "'expense'"
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "Receive (v2)",
|
|
172
|
+
"filter": "type == 'Receive'",
|
|
173
|
+
"result": [
|
|
174
|
+
{
|
|
175
|
+
"data": {
|
|
176
|
+
"text": "Notes",
|
|
177
|
+
"currency": "Currency",
|
|
178
|
+
"currencyValue": "Total",
|
|
179
|
+
"rates": "rates(Currency, Price)"
|
|
180
|
+
},
|
|
181
|
+
"type": "'crypto'",
|
|
182
|
+
"asset": "Asset",
|
|
183
|
+
"amount": "Quantity",
|
|
184
|
+
"reason": "'income'"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"data": {
|
|
188
|
+
"currency": "Currency",
|
|
189
|
+
"currencyValue": "Total"
|
|
190
|
+
},
|
|
191
|
+
"type": "'statement'",
|
|
192
|
+
"asset": "'NEEDS_MANUAL_INSPECTION'",
|
|
193
|
+
"amount": "Total",
|
|
194
|
+
"reason": "'income'"
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "Convert (v2)",
|
|
200
|
+
"filter": "type == 'Convert'",
|
|
201
|
+
"result": [
|
|
202
|
+
{
|
|
203
|
+
"data": {
|
|
204
|
+
"text": "Notes",
|
|
205
|
+
"currency": "Currency",
|
|
206
|
+
"currencyValue": "-Total * 100"
|
|
207
|
+
},
|
|
208
|
+
"type": "'crypto'",
|
|
209
|
+
"asset": "giveAsset",
|
|
210
|
+
"amount": "-giveAmount",
|
|
211
|
+
"reason": "'trade'"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"type": "'crypto'",
|
|
215
|
+
"asset": "takeAsset",
|
|
216
|
+
"amount": "takeAmount",
|
|
217
|
+
"reason": "'trade'"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
140
220
|
}
|
|
141
221
|
]
|
|
142
222
|
}
|