@tasenor/common-node 1.11.18 → 1.11.20

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.
@@ -4,33 +4,7 @@ import { TransactionRules } from './TransactionRules';
4
4
  import { TextFileProcessHandler } from './TextFileProcessHandler';
5
5
  import { Process, ProcessFile } from '../process';
6
6
  /**
7
- * ## Importing
8
- *
9
7
  * This module has types used in the importing data to the system using Interactive Stateful Process.
10
- *
11
- * ### Importing Process
12
- *
13
- * The import processing goes through the following stages:
14
- *
15
- * ```mermaid
16
- * flowchart LR
17
- * START --> segmentation
18
- * segmentation --> classification
19
- * classification --> analyze
20
- * analyze --> execution
21
- * execution --> END
22
- * ```
23
- *
24
- * 1. **Segmentation**: Split incoming data to smaller pieces so that parts of the original data are grouped
25
- * together under unique *segmentation ID*. Each group present some meaningful unit of information
26
- * belonging together called *segment*.
27
- * 2. **Classification**: For each segment, determine which *class* it belongs to. Classes are some
28
- * defined set of qualities describing similar segments.
29
- * 3. **Analyze**: Based on the classification, additional information can be collected and/or calculated
30
- * for each segment.
31
- * 4. **Execution**: Once information for each segment is complete, we can execute database insertions,
32
- * REST API calls or whatever appropriate actions based on the segement data.
33
- *
34
8
  */
35
9
  export declare class TransactionImportHandler extends TextFileProcessHandler {
36
10
  UI: TransactionUI;
@@ -9,33 +9,7 @@ import { TextFileProcessHandler } from './TextFileProcessHandler';
9
9
  import { BadState, InvalidFile, NotImplemented, SystemError } from '../error';
10
10
  import clone from 'clone';
11
11
  /**
12
- * ## Importing
13
- *
14
12
  * This module has types used in the importing data to the system using Interactive Stateful Process.
15
- *
16
- * ### Importing Process
17
- *
18
- * The import processing goes through the following stages:
19
- *
20
- * ```mermaid
21
- * flowchart LR
22
- * START --> segmentation
23
- * segmentation --> classification
24
- * classification --> analyze
25
- * analyze --> execution
26
- * execution --> END
27
- * ```
28
- *
29
- * 1. **Segmentation**: Split incoming data to smaller pieces so that parts of the original data are grouped
30
- * together under unique *segmentation ID*. Each group present some meaningful unit of information
31
- * belonging together called *segment*.
32
- * 2. **Classification**: For each segment, determine which *class* it belongs to. Classes are some
33
- * defined set of qualities describing similar segments.
34
- * 3. **Analyze**: Based on the classification, additional information can be collected and/or calculated
35
- * for each segment.
36
- * 4. **Execution**: Once information for each segment is complete, we can execute database insertions,
37
- * REST API calls or whatever appropriate actions based on the segement data.
38
- *
39
13
  */
40
14
  export class TransactionImportHandler extends TextFileProcessHandler {
41
15
  UI;
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionImportHandler.js","sourceRoot":"","sources":["../../../src/import/TransactionImportHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionImportHandler.js","sourceRoot":"","sources":["../../../src/import/TransactionImportHandler.ts"],"names":[],"mappings":"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"}
@@ -1,178 +1,7 @@
1
1
  import { TransactionDescription, UIQuery, ImportSegment, ProcessConfig, SegmentId, TextFileLine } from '@tasenor/common';
2
2
  import { TransactionImportHandler } from './TransactionImportHandler';
3
3
  /**
4
- * ## Transaction rule system
5
- *
6
- * The classification of the import data uses rule system describing how to transform segmented
7
- * data to *transfers*, i.e. generic description of bookkeeping events. Initially in the beginning
8
- * of the processing the settings and rules defined for the particular importer are copied to the
9
- * initial state of the process. During the processing we may ask questions and add more information
10
- * to the process.
11
- *
12
- * So the structure of the configration is
13
- * ```json
14
- * {
15
- * "language": "fi",
16
- * "currency": "EUR",
17
- * ...
18
- * "account.income.currency.EUR": "1910",
19
- * ...
20
- * "rules": [...],
21
- * "questions": {...},
22
- * "answers": {...}
23
- * }
24
- * ```
25
- * There are
26
- * 1. Generic universal settings like *language* or *currency*.
27
- * 2. Then there is an account and import setting configuration that has been possibly resolved during the import process
28
- * by asking from user, but which will also apply universally afterwards and are copied to the future import
29
- * configuration.
30
- * 3. **Rules** section defines how to map segments to transfers.
31
- * 4. **Question** section defines UI questions to resolve some cases, that always require user interaction and
32
- * cannot be resolved automatically.
33
- * 5. **Answers** section is a collection of responses to questions stored by each segment. They are not universally
34
- * copied to the importer, but are only relevant the current import only.
35
- *
36
- * ### Settings
37
- *
38
- * The following general settings are used
39
- * - `currency` - A main currency of the bookkeeping database.
40
- * - `language` - A translation language for the imported texts.
41
- * - `tags.*.*.*` - A list of tags to be added for every transaction descriptions. Also some specific tags
42
- * can be specified, since `*.*.*` uses the same convention than account configurations.
43
- *
44
- * Accounts are defined as the following.
45
- * - `account.<reason>.<type>.<asset>` - Defines the account number to be used for the given purpose.
46
- * Parts can be `'*'` to allow any purpose. Otherwise they are
47
- * explained in more detail in {@link TransferAnalyzer}.
48
- *
49
- * Miscellaneous optional settings:
50
- * - `isTradeFeePartOfTotal` If set to `true`, assume that trading fee is included in the total.
51
- * Otherwise it is assumed to be paid on the top of the total.
52
- * - `recordDeposits` If set to false, skip deposits.
53
- * - `recordWithdrawals` If set to false, skip withdrawls.
54
- * - `allowShortSelling` If set, allow short selling, i.e. selling assets we don't have.
55
- *
56
- * #### Example
57
- * ```json
58
- * {
59
- * "currency": "EUR",
60
- * "language": "en",
61
- * "tags.*.*.*": ["Lynx"],
62
- * "account.deposit.currency.EUR": "1918",
63
- * "account.deposit.external.EUR": "9999",
64
- * "account.withdrawal.currency.EUR": "1918",
65
- * "account.withdrawal.external.EUR": "9999",
66
- * "account.expense.statement.INTEREST_EXPENSE": "9550",
67
- * "account.expense.currency.EUR": "1918",
68
- *
69
- * "rules": [],
70
- * "questions": [],
71
- * "answers": {}
72
- * }
73
- * ```
74
- *
75
- * ### Rules
76
- *
77
- * Rules sections is a list of rule definitions of form
78
- * ```json
79
- * {
80
- * "name": "Name of the rule",
81
- * "filter": "<expression>",
82
- * "comment": "<optional description>",
83
- * "options": {
84
- * <optional flags>
85
- * },
86
- * "result": [
87
- * <transfer1>, <transfer2>...
88
- * ]
89
- * }
90
- * ```
91
- * The *name* is any string describing the rule. Rules are used so that each segment resulting from the segmentation
92
- * step are handled in the order of their timestamps. Lines belonging to the segment are offered one by one to the
93
- * *filter* expression and if returning true, the entries in *result* are concatenated together. Each entry in the
94
- * result is a *transfer description*.
95
- *
96
- * The filtering and result expressions has various variables set during the processing. All variables from
97
- * the segmentation is included. Typically they are the same as the column names in the CSV file for example.
98
- * See {@link TransactionRules.classifyLines} for other variables available.
99
- *
100
- * The structure of transfers are explained in {@link TransferAnalyzer}.
101
- *
102
- * The syntax of the filter and result is explained in {@link RulesEngine}.
103
- *
104
- * Currently one one boolean option is supported: `singleMatch` which means that matching any of the lines in the
105
- * segment suffices and the parsing result is returned immediately when matching rule is found. The rest of the
106
- * lines are ignored. It is useful when for example using `sum(lines, 'field')` to gather values from all lines
107
- * of the segment at once.
108
- *
109
- * ### Questions
110
- *
111
- * There are situation, where importer cannot deduct some part of the transfer automatically. In that case we can
112
- * define a question that needs to be answered every time, when the matching rule has been found. For example
113
- * we may determine based on the transaction data that it is related to computers but we want to know the exact
114
- * type of the purchase. Then we can define a question
115
- * ```json
116
- * {
117
- * "name": "Computer purchase",
118
- * "label": "What category is the purchase",
119
- * "ask": {
120
- * "Hardware equipment": "HARDWARE",
121
- * "Software": "SOFTWARE"
122
- * }
123
- * },
124
- * ```
125
- *
126
- * The question can be used in the transfer as explained in {@link TransferAnalyzer}.
127
- *
128
- * Different question types are documented in {@link TransactionUI.parseQuery}.
129
- *
130
- * ### Answers
131
- *
132
- * This section collects answers given earlier during the processing. They are grouped per segment ID per transfer.
133
- * For example
134
- * ```json
135
- * "d3e89d9af37dda4609bed94770fc5c52be946175": {
136
- * "type": "HARDWARE"
137
- * },
138
- * ```
139
- * It may contain also complete transaction definition, which will override all parsing
140
- * ```
141
- * "581e46d024678ddcddc01ae36369bf6fc54f16b2": {
142
- * "transfers": [
143
- * {
144
- * "data": {
145
- * "text": "Payment for something"
146
- * },
147
- * "type": "account",
148
- * "asset": "8650",
149
- * "amount": 59.27,
150
- * "reason": "expense"
151
- * },
152
- * {
153
- * "type": "account",
154
- * "asset": "3020",
155
- * "amount": -59.27,
156
- * "reason": "expense"
157
- * }
158
- * ]
159
- * }
160
- * ```
161
- * There is also a global answer section applied to all imports. If an asset has changed its name, it can be
162
- * stored like this in the empty segment ID:
163
- * ```
164
- * "": {
165
- * "asset-renaming": [
166
- * {
167
- * "date": "<YYYY-MM-DD>"
168
- * "type": "stock",
169
- * "old": "<OLD ASSET>"
170
- * "new": "<NEW ASSET>"
171
- * }
172
- * ]
173
- * }
174
- * }
175
- * ```
4
+ * Rule handler.
176
5
  */
177
6
  export declare class TransactionRules {
178
7
  private handler;
@@ -2,178 +2,7 @@ import { isAssetTransfer, RuleParsingError, RulesEngine, isUIQueryRef, warning,
2
2
  import clone from 'clone';
3
3
  import { BadState, SystemError } from '../error';
4
4
  /**
5
- * ## Transaction rule system
6
- *
7
- * The classification of the import data uses rule system describing how to transform segmented
8
- * data to *transfers*, i.e. generic description of bookkeeping events. Initially in the beginning
9
- * of the processing the settings and rules defined for the particular importer are copied to the
10
- * initial state of the process. During the processing we may ask questions and add more information
11
- * to the process.
12
- *
13
- * So the structure of the configration is
14
- * ```json
15
- * {
16
- * "language": "fi",
17
- * "currency": "EUR",
18
- * ...
19
- * "account.income.currency.EUR": "1910",
20
- * ...
21
- * "rules": [...],
22
- * "questions": {...},
23
- * "answers": {...}
24
- * }
25
- * ```
26
- * There are
27
- * 1. Generic universal settings like *language* or *currency*.
28
- * 2. Then there is an account and import setting configuration that has been possibly resolved during the import process
29
- * by asking from user, but which will also apply universally afterwards and are copied to the future import
30
- * configuration.
31
- * 3. **Rules** section defines how to map segments to transfers.
32
- * 4. **Question** section defines UI questions to resolve some cases, that always require user interaction and
33
- * cannot be resolved automatically.
34
- * 5. **Answers** section is a collection of responses to questions stored by each segment. They are not universally
35
- * copied to the importer, but are only relevant the current import only.
36
- *
37
- * ### Settings
38
- *
39
- * The following general settings are used
40
- * - `currency` - A main currency of the bookkeeping database.
41
- * - `language` - A translation language for the imported texts.
42
- * - `tags.*.*.*` - A list of tags to be added for every transaction descriptions. Also some specific tags
43
- * can be specified, since `*.*.*` uses the same convention than account configurations.
44
- *
45
- * Accounts are defined as the following.
46
- * - `account.<reason>.<type>.<asset>` - Defines the account number to be used for the given purpose.
47
- * Parts can be `'*'` to allow any purpose. Otherwise they are
48
- * explained in more detail in {@link TransferAnalyzer}.
49
- *
50
- * Miscellaneous optional settings:
51
- * - `isTradeFeePartOfTotal` If set to `true`, assume that trading fee is included in the total.
52
- * Otherwise it is assumed to be paid on the top of the total.
53
- * - `recordDeposits` If set to false, skip deposits.
54
- * - `recordWithdrawals` If set to false, skip withdrawls.
55
- * - `allowShortSelling` If set, allow short selling, i.e. selling assets we don't have.
56
- *
57
- * #### Example
58
- * ```json
59
- * {
60
- * "currency": "EUR",
61
- * "language": "en",
62
- * "tags.*.*.*": ["Lynx"],
63
- * "account.deposit.currency.EUR": "1918",
64
- * "account.deposit.external.EUR": "9999",
65
- * "account.withdrawal.currency.EUR": "1918",
66
- * "account.withdrawal.external.EUR": "9999",
67
- * "account.expense.statement.INTEREST_EXPENSE": "9550",
68
- * "account.expense.currency.EUR": "1918",
69
- *
70
- * "rules": [],
71
- * "questions": [],
72
- * "answers": {}
73
- * }
74
- * ```
75
- *
76
- * ### Rules
77
- *
78
- * Rules sections is a list of rule definitions of form
79
- * ```json
80
- * {
81
- * "name": "Name of the rule",
82
- * "filter": "<expression>",
83
- * "comment": "<optional description>",
84
- * "options": {
85
- * <optional flags>
86
- * },
87
- * "result": [
88
- * <transfer1>, <transfer2>...
89
- * ]
90
- * }
91
- * ```
92
- * The *name* is any string describing the rule. Rules are used so that each segment resulting from the segmentation
93
- * step are handled in the order of their timestamps. Lines belonging to the segment are offered one by one to the
94
- * *filter* expression and if returning true, the entries in *result* are concatenated together. Each entry in the
95
- * result is a *transfer description*.
96
- *
97
- * The filtering and result expressions has various variables set during the processing. All variables from
98
- * the segmentation is included. Typically they are the same as the column names in the CSV file for example.
99
- * See {@link TransactionRules.classifyLines} for other variables available.
100
- *
101
- * The structure of transfers are explained in {@link TransferAnalyzer}.
102
- *
103
- * The syntax of the filter and result is explained in {@link RulesEngine}.
104
- *
105
- * Currently one one boolean option is supported: `singleMatch` which means that matching any of the lines in the
106
- * segment suffices and the parsing result is returned immediately when matching rule is found. The rest of the
107
- * lines are ignored. It is useful when for example using `sum(lines, 'field')` to gather values from all lines
108
- * of the segment at once.
109
- *
110
- * ### Questions
111
- *
112
- * There are situation, where importer cannot deduct some part of the transfer automatically. In that case we can
113
- * define a question that needs to be answered every time, when the matching rule has been found. For example
114
- * we may determine based on the transaction data that it is related to computers but we want to know the exact
115
- * type of the purchase. Then we can define a question
116
- * ```json
117
- * {
118
- * "name": "Computer purchase",
119
- * "label": "What category is the purchase",
120
- * "ask": {
121
- * "Hardware equipment": "HARDWARE",
122
- * "Software": "SOFTWARE"
123
- * }
124
- * },
125
- * ```
126
- *
127
- * The question can be used in the transfer as explained in {@link TransferAnalyzer}.
128
- *
129
- * Different question types are documented in {@link TransactionUI.parseQuery}.
130
- *
131
- * ### Answers
132
- *
133
- * This section collects answers given earlier during the processing. They are grouped per segment ID per transfer.
134
- * For example
135
- * ```json
136
- * "d3e89d9af37dda4609bed94770fc5c52be946175": {
137
- * "type": "HARDWARE"
138
- * },
139
- * ```
140
- * It may contain also complete transaction definition, which will override all parsing
141
- * ```
142
- * "581e46d024678ddcddc01ae36369bf6fc54f16b2": {
143
- * "transfers": [
144
- * {
145
- * "data": {
146
- * "text": "Payment for something"
147
- * },
148
- * "type": "account",
149
- * "asset": "8650",
150
- * "amount": 59.27,
151
- * "reason": "expense"
152
- * },
153
- * {
154
- * "type": "account",
155
- * "asset": "3020",
156
- * "amount": -59.27,
157
- * "reason": "expense"
158
- * }
159
- * ]
160
- * }
161
- * ```
162
- * There is also a global answer section applied to all imports. If an asset has changed its name, it can be
163
- * stored like this in the empty segment ID:
164
- * ```
165
- * "": {
166
- * "asset-renaming": [
167
- * {
168
- * "date": "<YYYY-MM-DD>"
169
- * "type": "stock",
170
- * "old": "<OLD ASSET>"
171
- * "new": "<NEW ASSET>"
172
- * }
173
- * ]
174
- * }
175
- * }
176
- * ```
5
+ * Rule handler.
177
6
  */
178
7
  export class TransactionRules {
179
8
  // TODO: Could also define extension from ProcessConfig configuration type definition and start building precise description.
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionRules.js","sourceRoot":"","sources":["../../../src/import/TransactionRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionRules.js","sourceRoot":"","sources":["../../../src/import/TransactionRules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasenor/common-node",
3
- "version": "1.11.18",
3
+ "version": "1.11.20",
4
4
  "description": "Common Node-parts of Tasenor project",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -35,7 +35,7 @@
35
35
  "sqlite3": "^5.1.7",
36
36
  "tar": "^6.2.0",
37
37
  "ts-opaque": "^3.0.1",
38
- "@tasenor/common": "1.11.18"
38
+ "@tasenor/common": "1.11.20"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@jest/globals": "^29.7.0",
@@ -44,8 +44,8 @@
44
44
  "jest": "^29.7.0",
45
45
  "ts-jest": "^29.1.2",
46
46
  "typescript": "^5.3.3",
47
- "eslint-config-tasenor": "0.0.0",
48
- "@tasenor/config": "1.11.18"
47
+ "@tasenor/config": "1.11.20",
48
+ "eslint-config-tasenor": "0.0.0"
49
49
  },
50
50
  "scripts": {
51
51
  "ci": "pnpm run lint && pnpm run test",
@@ -11,33 +11,7 @@ import { BadState, InvalidFile, NotImplemented, SystemError } from '../error'
11
11
  import clone from 'clone'
12
12
 
13
13
  /**
14
- * ## Importing
15
- *
16
14
  * This module has types used in the importing data to the system using Interactive Stateful Process.
17
- *
18
- * ### Importing Process
19
- *
20
- * The import processing goes through the following stages:
21
- *
22
- * ```mermaid
23
- * flowchart LR
24
- * START --> segmentation
25
- * segmentation --> classification
26
- * classification --> analyze
27
- * analyze --> execution
28
- * execution --> END
29
- * ```
30
- *
31
- * 1. **Segmentation**: Split incoming data to smaller pieces so that parts of the original data are grouped
32
- * together under unique *segmentation ID*. Each group present some meaningful unit of information
33
- * belonging together called *segment*.
34
- * 2. **Classification**: For each segment, determine which *class* it belongs to. Classes are some
35
- * defined set of qualities describing similar segments.
36
- * 3. **Analyze**: Based on the classification, additional information can be collected and/or calculated
37
- * for each segment.
38
- * 4. **Execution**: Once information for each segment is complete, we can execute database insertions,
39
- * REST API calls or whatever appropriate actions based on the segement data.
40
- *
41
15
  */
42
16
  export class TransactionImportHandler extends TextFileProcessHandler {
43
17
 
@@ -5,178 +5,7 @@ import clone from 'clone'
5
5
  import { BadState, SystemError } from '../error'
6
6
 
7
7
  /**
8
- * ## Transaction rule system
9
- *
10
- * The classification of the import data uses rule system describing how to transform segmented
11
- * data to *transfers*, i.e. generic description of bookkeeping events. Initially in the beginning
12
- * of the processing the settings and rules defined for the particular importer are copied to the
13
- * initial state of the process. During the processing we may ask questions and add more information
14
- * to the process.
15
- *
16
- * So the structure of the configration is
17
- * ```json
18
- * {
19
- * "language": "fi",
20
- * "currency": "EUR",
21
- * ...
22
- * "account.income.currency.EUR": "1910",
23
- * ...
24
- * "rules": [...],
25
- * "questions": {...},
26
- * "answers": {...}
27
- * }
28
- * ```
29
- * There are
30
- * 1. Generic universal settings like *language* or *currency*.
31
- * 2. Then there is an account and import setting configuration that has been possibly resolved during the import process
32
- * by asking from user, but which will also apply universally afterwards and are copied to the future import
33
- * configuration.
34
- * 3. **Rules** section defines how to map segments to transfers.
35
- * 4. **Question** section defines UI questions to resolve some cases, that always require user interaction and
36
- * cannot be resolved automatically.
37
- * 5. **Answers** section is a collection of responses to questions stored by each segment. They are not universally
38
- * copied to the importer, but are only relevant the current import only.
39
- *
40
- * ### Settings
41
- *
42
- * The following general settings are used
43
- * - `currency` - A main currency of the bookkeeping database.
44
- * - `language` - A translation language for the imported texts.
45
- * - `tags.*.*.*` - A list of tags to be added for every transaction descriptions. Also some specific tags
46
- * can be specified, since `*.*.*` uses the same convention than account configurations.
47
- *
48
- * Accounts are defined as the following.
49
- * - `account.<reason>.<type>.<asset>` - Defines the account number to be used for the given purpose.
50
- * Parts can be `'*'` to allow any purpose. Otherwise they are
51
- * explained in more detail in {@link TransferAnalyzer}.
52
- *
53
- * Miscellaneous optional settings:
54
- * - `isTradeFeePartOfTotal` If set to `true`, assume that trading fee is included in the total.
55
- * Otherwise it is assumed to be paid on the top of the total.
56
- * - `recordDeposits` If set to false, skip deposits.
57
- * - `recordWithdrawals` If set to false, skip withdrawls.
58
- * - `allowShortSelling` If set, allow short selling, i.e. selling assets we don't have.
59
- *
60
- * #### Example
61
- * ```json
62
- * {
63
- * "currency": "EUR",
64
- * "language": "en",
65
- * "tags.*.*.*": ["Lynx"],
66
- * "account.deposit.currency.EUR": "1918",
67
- * "account.deposit.external.EUR": "9999",
68
- * "account.withdrawal.currency.EUR": "1918",
69
- * "account.withdrawal.external.EUR": "9999",
70
- * "account.expense.statement.INTEREST_EXPENSE": "9550",
71
- * "account.expense.currency.EUR": "1918",
72
- *
73
- * "rules": [],
74
- * "questions": [],
75
- * "answers": {}
76
- * }
77
- * ```
78
- *
79
- * ### Rules
80
- *
81
- * Rules sections is a list of rule definitions of form
82
- * ```json
83
- * {
84
- * "name": "Name of the rule",
85
- * "filter": "<expression>",
86
- * "comment": "<optional description>",
87
- * "options": {
88
- * <optional flags>
89
- * },
90
- * "result": [
91
- * <transfer1>, <transfer2>...
92
- * ]
93
- * }
94
- * ```
95
- * The *name* is any string describing the rule. Rules are used so that each segment resulting from the segmentation
96
- * step are handled in the order of their timestamps. Lines belonging to the segment are offered one by one to the
97
- * *filter* expression and if returning true, the entries in *result* are concatenated together. Each entry in the
98
- * result is a *transfer description*.
99
- *
100
- * The filtering and result expressions has various variables set during the processing. All variables from
101
- * the segmentation is included. Typically they are the same as the column names in the CSV file for example.
102
- * See {@link TransactionRules.classifyLines} for other variables available.
103
- *
104
- * The structure of transfers are explained in {@link TransferAnalyzer}.
105
- *
106
- * The syntax of the filter and result is explained in {@link RulesEngine}.
107
- *
108
- * Currently one one boolean option is supported: `singleMatch` which means that matching any of the lines in the
109
- * segment suffices and the parsing result is returned immediately when matching rule is found. The rest of the
110
- * lines are ignored. It is useful when for example using `sum(lines, 'field')` to gather values from all lines
111
- * of the segment at once.
112
- *
113
- * ### Questions
114
- *
115
- * There are situation, where importer cannot deduct some part of the transfer automatically. In that case we can
116
- * define a question that needs to be answered every time, when the matching rule has been found. For example
117
- * we may determine based on the transaction data that it is related to computers but we want to know the exact
118
- * type of the purchase. Then we can define a question
119
- * ```json
120
- * {
121
- * "name": "Computer purchase",
122
- * "label": "What category is the purchase",
123
- * "ask": {
124
- * "Hardware equipment": "HARDWARE",
125
- * "Software": "SOFTWARE"
126
- * }
127
- * },
128
- * ```
129
- *
130
- * The question can be used in the transfer as explained in {@link TransferAnalyzer}.
131
- *
132
- * Different question types are documented in {@link TransactionUI.parseQuery}.
133
- *
134
- * ### Answers
135
- *
136
- * This section collects answers given earlier during the processing. They are grouped per segment ID per transfer.
137
- * For example
138
- * ```json
139
- * "d3e89d9af37dda4609bed94770fc5c52be946175": {
140
- * "type": "HARDWARE"
141
- * },
142
- * ```
143
- * It may contain also complete transaction definition, which will override all parsing
144
- * ```
145
- * "581e46d024678ddcddc01ae36369bf6fc54f16b2": {
146
- * "transfers": [
147
- * {
148
- * "data": {
149
- * "text": "Payment for something"
150
- * },
151
- * "type": "account",
152
- * "asset": "8650",
153
- * "amount": 59.27,
154
- * "reason": "expense"
155
- * },
156
- * {
157
- * "type": "account",
158
- * "asset": "3020",
159
- * "amount": -59.27,
160
- * "reason": "expense"
161
- * }
162
- * ]
163
- * }
164
- * ```
165
- * There is also a global answer section applied to all imports. If an asset has changed its name, it can be
166
- * stored like this in the empty segment ID:
167
- * ```
168
- * "": {
169
- * "asset-renaming": [
170
- * {
171
- * "date": "<YYYY-MM-DD>"
172
- * "type": "stock",
173
- * "old": "<OLD ASSET>"
174
- * "new": "<NEW ASSET>"
175
- * }
176
- * ]
177
- * }
178
- * }
179
- * ```
8
+ * Rule handler.
180
9
  */
181
10
  export class TransactionRules {
182
11
  // TODO: Could also define extension from ProcessConfig configuration type definition and start building precise description.