@tasenor/common-node 1.9.16

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 (326) hide show
  1. package/.eslintrc.js +4 -0
  2. package/LICENSE +21 -0
  3. package/dist/tasenor-common-node/src/cli.d.ts +81 -0
  4. package/dist/tasenor-common-node/src/cli.js +242 -0
  5. package/dist/tasenor-common-node/src/cli.js.map +1 -0
  6. package/dist/tasenor-common-node/src/commands/account.d.ts +12 -0
  7. package/dist/tasenor-common-node/src/commands/account.js +58 -0
  8. package/dist/tasenor-common-node/src/commands/account.js.map +1 -0
  9. package/dist/tasenor-common-node/src/commands/balance.d.ts +11 -0
  10. package/dist/tasenor-common-node/src/commands/balance.js +117 -0
  11. package/dist/tasenor-common-node/src/commands/balance.js.map +1 -0
  12. package/dist/tasenor-common-node/src/commands/db.d.ts +14 -0
  13. package/dist/tasenor-common-node/src/commands/db.js +69 -0
  14. package/dist/tasenor-common-node/src/commands/db.js.map +1 -0
  15. package/dist/tasenor-common-node/src/commands/entry.d.ts +13 -0
  16. package/dist/tasenor-common-node/src/commands/entry.js +106 -0
  17. package/dist/tasenor-common-node/src/commands/entry.js.map +1 -0
  18. package/dist/tasenor-common-node/src/commands/import.d.ts +17 -0
  19. package/dist/tasenor-common-node/src/commands/import.js +140 -0
  20. package/dist/tasenor-common-node/src/commands/import.js.map +1 -0
  21. package/dist/tasenor-common-node/src/commands/importer.d.ts +13 -0
  22. package/dist/tasenor-common-node/src/commands/importer.js +71 -0
  23. package/dist/tasenor-common-node/src/commands/importer.js.map +1 -0
  24. package/dist/tasenor-common-node/src/commands/index.d.ts +191 -0
  25. package/dist/tasenor-common-node/src/commands/index.js +482 -0
  26. package/dist/tasenor-common-node/src/commands/index.js.map +1 -0
  27. package/dist/tasenor-common-node/src/commands/period.d.ts +12 -0
  28. package/dist/tasenor-common-node/src/commands/period.js +48 -0
  29. package/dist/tasenor-common-node/src/commands/period.js.map +1 -0
  30. package/dist/tasenor-common-node/src/commands/plugin.d.ts +15 -0
  31. package/dist/tasenor-common-node/src/commands/plugin.js +78 -0
  32. package/dist/tasenor-common-node/src/commands/plugin.js.map +1 -0
  33. package/dist/tasenor-common-node/src/commands/report.d.ts +11 -0
  34. package/dist/tasenor-common-node/src/commands/report.js +96 -0
  35. package/dist/tasenor-common-node/src/commands/report.js.map +1 -0
  36. package/dist/tasenor-common-node/src/commands/settings.d.ts +10 -0
  37. package/dist/tasenor-common-node/src/commands/settings.js +64 -0
  38. package/dist/tasenor-common-node/src/commands/settings.js.map +1 -0
  39. package/dist/tasenor-common-node/src/commands/stock.d.ts +8 -0
  40. package/dist/tasenor-common-node/src/commands/stock.js +73 -0
  41. package/dist/tasenor-common-node/src/commands/stock.js.map +1 -0
  42. package/dist/tasenor-common-node/src/commands/tag.d.ts +13 -0
  43. package/dist/tasenor-common-node/src/commands/tag.js +89 -0
  44. package/dist/tasenor-common-node/src/commands/tag.js.map +1 -0
  45. package/dist/tasenor-common-node/src/commands/tx.d.ts +12 -0
  46. package/dist/tasenor-common-node/src/commands/tx.js +81 -0
  47. package/dist/tasenor-common-node/src/commands/tx.js.map +1 -0
  48. package/dist/tasenor-common-node/src/commands/user.d.ts +12 -0
  49. package/dist/tasenor-common-node/src/commands/user.js +52 -0
  50. package/dist/tasenor-common-node/src/commands/user.js.map +1 -0
  51. package/dist/tasenor-common-node/src/database/BookkeeperImporter.d.ts +77 -0
  52. package/dist/tasenor-common-node/src/database/BookkeeperImporter.js +343 -0
  53. package/dist/tasenor-common-node/src/database/BookkeeperImporter.js.map +1 -0
  54. package/dist/tasenor-common-node/src/database/DB.d.ts +51 -0
  55. package/dist/tasenor-common-node/src/database/DB.js +354 -0
  56. package/dist/tasenor-common-node/src/database/DB.js.map +1 -0
  57. package/dist/tasenor-common-node/src/database/index.d.ts +7 -0
  58. package/dist/tasenor-common-node/src/database/index.js +8 -0
  59. package/dist/tasenor-common-node/src/database/index.js.map +1 -0
  60. package/dist/tasenor-common-node/src/doccer.d.ts +29 -0
  61. package/dist/tasenor-common-node/src/doccer.js +30 -0
  62. package/dist/tasenor-common-node/src/doccer.js.map +1 -0
  63. package/dist/tasenor-common-node/src/error.d.ts +30 -0
  64. package/dist/tasenor-common-node/src/error.js +35 -0
  65. package/dist/tasenor-common-node/src/error.js.map +1 -0
  66. package/dist/tasenor-common-node/src/export/Exporter.d.ts +69 -0
  67. package/dist/tasenor-common-node/src/export/Exporter.js +123 -0
  68. package/dist/tasenor-common-node/src/export/Exporter.js.map +1 -0
  69. package/dist/tasenor-common-node/src/export/TasenorExporter.d.ts +55 -0
  70. package/dist/tasenor-common-node/src/export/TasenorExporter.js +135 -0
  71. package/dist/tasenor-common-node/src/export/TasenorExporter.js.map +1 -0
  72. package/dist/tasenor-common-node/src/export/TilitinExporter.d.ts +71 -0
  73. package/dist/tasenor-common-node/src/export/TilitinExporter.js +290 -0
  74. package/dist/tasenor-common-node/src/export/TilitinExporter.js.map +1 -0
  75. package/dist/tasenor-common-node/src/export/index.d.ts +8 -0
  76. package/dist/tasenor-common-node/src/export/index.js +9 -0
  77. package/dist/tasenor-common-node/src/export/index.js.map +1 -0
  78. package/dist/tasenor-common-node/src/import/TextFileProcessHandler.d.ts +104 -0
  79. package/dist/tasenor-common-node/src/import/TextFileProcessHandler.js +354 -0
  80. package/dist/tasenor-common-node/src/import/TextFileProcessHandler.js.map +1 -0
  81. package/dist/tasenor-common-node/src/import/TransactionImportConnector.d.ts +38 -0
  82. package/dist/tasenor-common-node/src/import/TransactionImportConnector.js +27 -0
  83. package/dist/tasenor-common-node/src/import/TransactionImportConnector.js.map +1 -0
  84. package/dist/tasenor-common-node/src/import/TransactionImportHandler.d.ts +173 -0
  85. package/dist/tasenor-common-node/src/import/TransactionImportHandler.js +733 -0
  86. package/dist/tasenor-common-node/src/import/TransactionImportHandler.js.map +1 -0
  87. package/dist/tasenor-common-node/src/import/TransactionRules.d.ts +238 -0
  88. package/dist/tasenor-common-node/src/import/TransactionRules.js +522 -0
  89. package/dist/tasenor-common-node/src/import/TransactionRules.js.map +1 -0
  90. package/dist/tasenor-common-node/src/import/TransactionUI.d.ts +181 -0
  91. package/dist/tasenor-common-node/src/import/TransactionUI.js +482 -0
  92. package/dist/tasenor-common-node/src/import/TransactionUI.js.map +1 -0
  93. package/dist/tasenor-common-node/src/import/TransferAnalyzer.d.ts +324 -0
  94. package/dist/tasenor-common-node/src/import/TransferAnalyzer.js +1379 -0
  95. package/dist/tasenor-common-node/src/import/TransferAnalyzer.js.map +1 -0
  96. package/dist/tasenor-common-node/src/import/index.d.ts +11 -0
  97. package/dist/tasenor-common-node/src/import/index.js +12 -0
  98. package/dist/tasenor-common-node/src/import/index.js.map +1 -0
  99. package/dist/tasenor-common-node/src/index.d.ts +12 -0
  100. package/dist/tasenor-common-node/src/index.js +13 -0
  101. package/dist/tasenor-common-node/src/index.js.map +1 -0
  102. package/dist/tasenor-common-node/src/net/crypto.d.ts +33 -0
  103. package/dist/tasenor-common-node/src/net/crypto.js +63 -0
  104. package/dist/tasenor-common-node/src/net/crypto.js.map +1 -0
  105. package/dist/tasenor-common-node/src/net/git.d.ts +49 -0
  106. package/dist/tasenor-common-node/src/net/git.js +137 -0
  107. package/dist/tasenor-common-node/src/net/git.js.map +1 -0
  108. package/dist/tasenor-common-node/src/net/index.d.ts +10 -0
  109. package/dist/tasenor-common-node/src/net/index.js +11 -0
  110. package/dist/tasenor-common-node/src/net/index.js.map +1 -0
  111. package/dist/tasenor-common-node/src/net/middleware.d.ts +61 -0
  112. package/dist/tasenor-common-node/src/net/middleware.js +220 -0
  113. package/dist/tasenor-common-node/src/net/middleware.js.map +1 -0
  114. package/dist/tasenor-common-node/src/net/tokens.d.ts +50 -0
  115. package/dist/tasenor-common-node/src/net/tokens.js +141 -0
  116. package/dist/tasenor-common-node/src/net/tokens.js.map +1 -0
  117. package/dist/tasenor-common-node/src/net/vault.d.ts +67 -0
  118. package/dist/tasenor-common-node/src/net/vault.js +145 -0
  119. package/dist/tasenor-common-node/src/net/vault.js.map +1 -0
  120. package/dist/tasenor-common-node/src/plugins/BackendPlugin.d.ts +91 -0
  121. package/dist/tasenor-common-node/src/plugins/BackendPlugin.js +165 -0
  122. package/dist/tasenor-common-node/src/plugins/BackendPlugin.js.map +1 -0
  123. package/dist/tasenor-common-node/src/plugins/DataPlugin.d.ts +13 -0
  124. package/dist/tasenor-common-node/src/plugins/DataPlugin.js +26 -0
  125. package/dist/tasenor-common-node/src/plugins/DataPlugin.js.map +1 -0
  126. package/dist/tasenor-common-node/src/plugins/ImportPlugin.d.ts +188 -0
  127. package/dist/tasenor-common-node/src/plugins/ImportPlugin.js +204 -0
  128. package/dist/tasenor-common-node/src/plugins/ImportPlugin.js.map +1 -0
  129. package/dist/tasenor-common-node/src/plugins/ReportPlugin.d.ts +132 -0
  130. package/dist/tasenor-common-node/src/plugins/ReportPlugin.js +393 -0
  131. package/dist/tasenor-common-node/src/plugins/ReportPlugin.js.map +1 -0
  132. package/dist/tasenor-common-node/src/plugins/SchemePlugin.d.ts +34 -0
  133. package/dist/tasenor-common-node/src/plugins/SchemePlugin.js +47 -0
  134. package/dist/tasenor-common-node/src/plugins/SchemePlugin.js.map +1 -0
  135. package/dist/tasenor-common-node/src/plugins/ServicePlugin.d.ts +80 -0
  136. package/dist/tasenor-common-node/src/plugins/ServicePlugin.js +168 -0
  137. package/dist/tasenor-common-node/src/plugins/ServicePlugin.js.map +1 -0
  138. package/dist/tasenor-common-node/src/plugins/ToolPlugin.d.ts +27 -0
  139. package/dist/tasenor-common-node/src/plugins/ToolPlugin.js +37 -0
  140. package/dist/tasenor-common-node/src/plugins/ToolPlugin.js.map +1 -0
  141. package/dist/tasenor-common-node/src/plugins/index.d.ts +13 -0
  142. package/dist/tasenor-common-node/src/plugins/index.js +14 -0
  143. package/dist/tasenor-common-node/src/plugins/index.js.map +1 -0
  144. package/dist/tasenor-common-node/src/plugins/plugins.d.ts +101 -0
  145. package/dist/tasenor-common-node/src/plugins/plugins.js +292 -0
  146. package/dist/tasenor-common-node/src/plugins/plugins.js.map +1 -0
  147. package/dist/tasenor-common-node/src/process/Process.d.ts +108 -0
  148. package/dist/tasenor-common-node/src/process/Process.js +335 -0
  149. package/dist/tasenor-common-node/src/process/Process.js.map +1 -0
  150. package/dist/tasenor-common-node/src/process/ProcessConnector.d.ts +24 -0
  151. package/dist/tasenor-common-node/src/process/ProcessConnector.js +28 -0
  152. package/dist/tasenor-common-node/src/process/ProcessConnector.js.map +1 -0
  153. package/dist/tasenor-common-node/src/process/ProcessFile.d.ts +69 -0
  154. package/dist/tasenor-common-node/src/process/ProcessFile.js +145 -0
  155. package/dist/tasenor-common-node/src/process/ProcessFile.js.map +1 -0
  156. package/dist/tasenor-common-node/src/process/ProcessHandler.d.ts +60 -0
  157. package/dist/tasenor-common-node/src/process/ProcessHandler.js +73 -0
  158. package/dist/tasenor-common-node/src/process/ProcessHandler.js.map +1 -0
  159. package/dist/tasenor-common-node/src/process/ProcessStep.d.ts +52 -0
  160. package/dist/tasenor-common-node/src/process/ProcessStep.js +78 -0
  161. package/dist/tasenor-common-node/src/process/ProcessStep.js.map +1 -0
  162. package/dist/tasenor-common-node/src/process/ProcessingSystem.d.ts +60 -0
  163. package/dist/tasenor-common-node/src/process/ProcessingSystem.js +182 -0
  164. package/dist/tasenor-common-node/src/process/ProcessingSystem.js.map +1 -0
  165. package/dist/tasenor-common-node/src/process/index.d.ts +11 -0
  166. package/dist/tasenor-common-node/src/process/index.js +12 -0
  167. package/dist/tasenor-common-node/src/process/index.js.map +1 -0
  168. package/dist/tasenor-common-node/src/reports/conversions.d.ts +8 -0
  169. package/dist/tasenor-common-node/src/reports/conversions.js +47 -0
  170. package/dist/tasenor-common-node/src/reports/conversions.js.map +1 -0
  171. package/dist/tasenor-common-node/src/reports/index.d.ts +6 -0
  172. package/dist/tasenor-common-node/src/reports/index.js +7 -0
  173. package/dist/tasenor-common-node/src/reports/index.js.map +1 -0
  174. package/dist/tasenor-common-node/src/server/ISPDemoServer.d.ts +43 -0
  175. package/dist/tasenor-common-node/src/server/ISPDemoServer.js +112 -0
  176. package/dist/tasenor-common-node/src/server/ISPDemoServer.js.map +1 -0
  177. package/dist/tasenor-common-node/src/server/api.d.ts +15 -0
  178. package/dist/tasenor-common-node/src/server/api.js +27 -0
  179. package/dist/tasenor-common-node/src/server/api.js.map +1 -0
  180. package/dist/tasenor-common-node/src/server/index.d.ts +7 -0
  181. package/dist/tasenor-common-node/src/server/index.js +8 -0
  182. package/dist/tasenor-common-node/src/server/index.js.map +1 -0
  183. package/dist/tasenor-common-node/src/server/router.d.ts +5 -0
  184. package/dist/tasenor-common-node/src/server/router.js +37 -0
  185. package/dist/tasenor-common-node/src/server/router.js.map +1 -0
  186. package/dist/tasenor-common-node/src/system.d.ts +27 -0
  187. package/dist/tasenor-common-node/src/system.js +95 -0
  188. package/dist/tasenor-common-node/src/system.js.map +1 -0
  189. package/dist/tasenor-common-node/src/testing/ProcessingSystemMock.d.ts +21 -0
  190. package/dist/tasenor-common-node/src/testing/ProcessingSystemMock.js +33 -0
  191. package/dist/tasenor-common-node/src/testing/ProcessingSystemMock.js.map +1 -0
  192. package/dist/tasenor-common-node/src/testing/UnitTestImportConnector.d.ts +24 -0
  193. package/dist/tasenor-common-node/src/testing/UnitTestImportConnector.js +68 -0
  194. package/dist/tasenor-common-node/src/testing/UnitTestImportConnector.js.map +1 -0
  195. package/dist/tasenor-common-node/src/testing/UnitTester.d.ts +64 -0
  196. package/dist/tasenor-common-node/src/testing/UnitTester.js +199 -0
  197. package/dist/tasenor-common-node/src/testing/UnitTester.js.map +1 -0
  198. package/dist/tasenor-common-node/src/testing/index.d.ts +4 -0
  199. package/dist/tasenor-common-node/src/testing/index.js +5 -0
  200. package/dist/tasenor-common-node/src/testing/index.js.map +1 -0
  201. package/dist/tasenor-common-node/src/testing/test-handlers.d.ts +13 -0
  202. package/dist/tasenor-common-node/src/testing/test-handlers.js +52 -0
  203. package/dist/tasenor-common-node/src/testing/test-handlers.js.map +1 -0
  204. package/dist/tasenor-common-node/tests/TransactionRules.spec.d.ts +1 -0
  205. package/dist/tasenor-common-node/tests/TransactionRules.spec.js +64 -0
  206. package/dist/tasenor-common-node/tests/TransactionRules.spec.js.map +1 -0
  207. package/dist/tasenor-common-node/tests/TransferAnalyzer-account-address.spec.d.ts +1 -0
  208. package/dist/tasenor-common-node/tests/TransferAnalyzer-account-address.spec.js +80 -0
  209. package/dist/tasenor-common-node/tests/TransferAnalyzer-account-address.spec.js.map +1 -0
  210. package/dist/tasenor-common-node/tests/TransferAnalyzer-buying-and-selling.spec.d.ts +1 -0
  211. package/dist/tasenor-common-node/tests/TransferAnalyzer-buying-and-selling.spec.js +342 -0
  212. package/dist/tasenor-common-node/tests/TransferAnalyzer-buying-and-selling.spec.js.map +1 -0
  213. package/dist/tasenor-common-node/tests/TransferAnalyzer-loans.spec.d.ts +1 -0
  214. package/dist/tasenor-common-node/tests/TransferAnalyzer-loans.spec.js +174 -0
  215. package/dist/tasenor-common-node/tests/TransferAnalyzer-loans.spec.js.map +1 -0
  216. package/dist/tasenor-common-node/tests/TransferAnalyzer-multiple-null-amounts.spec.d.ts +1 -0
  217. package/dist/tasenor-common-node/tests/TransferAnalyzer-multiple-null-amounts.spec.js +175 -0
  218. package/dist/tasenor-common-node/tests/TransferAnalyzer-multiple-null-amounts.spec.js.map +1 -0
  219. package/dist/tasenor-common-node/tests/password.spec.d.ts +1 -0
  220. package/dist/tasenor-common-node/tests/password.spec.js +8 -0
  221. package/dist/tasenor-common-node/tests/password.spec.js.map +1 -0
  222. package/dist/tasenor-common-node/tests/tokens.spec.d.ts +1 -0
  223. package/dist/tasenor-common-node/tests/tokens.spec.js +49 -0
  224. package/dist/tasenor-common-node/tests/tokens.spec.js.map +1 -0
  225. package/dist/tasenor-common-node/tests/vault.spec.d.ts +1 -0
  226. package/dist/tasenor-common-node/tests/vault.spec.js +19 -0
  227. package/dist/tasenor-common-node/tests/vault.spec.js.map +1 -0
  228. package/dist/tasenor-common-plugins/src/CoinbaseImport/backend/CoinbaseHandler.d.ts +11 -0
  229. package/dist/tasenor-common-plugins/src/CoinbaseImport/backend/CoinbaseHandler.js +30 -0
  230. package/dist/tasenor-common-plugins/src/CoinbaseImport/backend/CoinbaseHandler.js.map +1 -0
  231. package/dist/tasenor-common-plugins/src/IncomeAndExpenses/backend/index.d.ts +5 -0
  232. package/dist/tasenor-common-plugins/src/IncomeAndExpenses/backend/index.js +350 -0
  233. package/dist/tasenor-common-plugins/src/IncomeAndExpenses/backend/index.js.map +1 -0
  234. package/dist/tasenor-common-plugins/src/KrakenImport/backend/KrakenHandler.d.ts +23 -0
  235. package/dist/tasenor-common-plugins/src/KrakenImport/backend/KrakenHandler.js +83 -0
  236. package/dist/tasenor-common-plugins/src/KrakenImport/backend/KrakenHandler.js.map +1 -0
  237. package/dist/tasenor-common-plugins/src/LynxImport/backend/LynxHandler.d.ts +28 -0
  238. package/dist/tasenor-common-plugins/src/LynxImport/backend/LynxHandler.js +340 -0
  239. package/dist/tasenor-common-plugins/src/LynxImport/backend/LynxHandler.js.map +1 -0
  240. package/dist/tasenor-common-plugins/src/NordeaImport/backend/NordeaHandler.d.ts +11 -0
  241. package/dist/tasenor-common-plugins/src/NordeaImport/backend/NordeaHandler.js +39 -0
  242. package/dist/tasenor-common-plugins/src/NordeaImport/backend/NordeaHandler.js.map +1 -0
  243. package/dist/tasenor-common-plugins/src/NordnetImport/backend/NordnetHandler.d.ts +17 -0
  244. package/dist/tasenor-common-plugins/src/NordnetImport/backend/NordnetHandler.js +66 -0
  245. package/dist/tasenor-common-plugins/src/NordnetImport/backend/NordnetHandler.js.map +1 -0
  246. package/dist/tasenor-common-plugins/src/TITOImport/backend/TITOHandler.d.ts +13 -0
  247. package/dist/tasenor-common-plugins/src/TITOImport/backend/TITOHandler.js +241 -0
  248. package/dist/tasenor-common-plugins/src/TITOImport/backend/TITOHandler.js.map +1 -0
  249. package/jest.config.js +1 -0
  250. package/package.json +62 -0
  251. package/src/cli.ts +267 -0
  252. package/src/commands/account.ts +69 -0
  253. package/src/commands/balance.ts +131 -0
  254. package/src/commands/db.ts +84 -0
  255. package/src/commands/entry.ts +117 -0
  256. package/src/commands/import.ts +160 -0
  257. package/src/commands/importer.ts +84 -0
  258. package/src/commands/index.ts +534 -0
  259. package/src/commands/period.ts +59 -0
  260. package/src/commands/plugin.ts +95 -0
  261. package/src/commands/report.ts +113 -0
  262. package/src/commands/settings.ts +75 -0
  263. package/src/commands/stock.ts +80 -0
  264. package/src/commands/tag.ts +102 -0
  265. package/src/commands/tx.ts +93 -0
  266. package/src/commands/user.ts +65 -0
  267. package/src/database/BookkeeperImporter.ts +358 -0
  268. package/src/database/DB.ts +396 -0
  269. package/src/database/index.ts +7 -0
  270. package/src/doccer.ts +29 -0
  271. package/src/error.ts +32 -0
  272. package/src/export/Exporter.ts +136 -0
  273. package/src/export/TasenorExporter.ts +144 -0
  274. package/src/export/TilitinExporter.ts +302 -0
  275. package/src/export/index.ts +8 -0
  276. package/src/import/TextFileProcessHandler.ts +384 -0
  277. package/src/import/TransactionImportConnector.ts +65 -0
  278. package/src/import/TransactionImportHandler.ts +819 -0
  279. package/src/import/TransactionRules.ts +570 -0
  280. package/src/import/TransactionUI.ts +520 -0
  281. package/src/import/TransferAnalyzer.ts +1450 -0
  282. package/src/import/index.ts +11 -0
  283. package/src/index.ts +12 -0
  284. package/src/net/crypto.ts +69 -0
  285. package/src/net/git.ts +151 -0
  286. package/src/net/index.ts +10 -0
  287. package/src/net/middleware.ts +261 -0
  288. package/src/net/tokens.ts +140 -0
  289. package/src/net/vault.ts +161 -0
  290. package/src/plugins/BackendPlugin.ts +188 -0
  291. package/src/plugins/DataPlugin.ts +29 -0
  292. package/src/plugins/ImportPlugin.ts +211 -0
  293. package/src/plugins/ReportPlugin.ts +443 -0
  294. package/src/plugins/SchemePlugin.ts +56 -0
  295. package/src/plugins/ServicePlugin.ts +188 -0
  296. package/src/plugins/ToolPlugin.ts +44 -0
  297. package/src/plugins/index.ts +13 -0
  298. package/src/plugins/plugins.ts +345 -0
  299. package/src/process/Process.ts +368 -0
  300. package/src/process/ProcessConnector.ts +45 -0
  301. package/src/process/ProcessFile.ts +169 -0
  302. package/src/process/ProcessHandler.ts +94 -0
  303. package/src/process/ProcessStep.ts +100 -0
  304. package/src/process/ProcessingSystem.ts +202 -0
  305. package/src/process/index.ts +11 -0
  306. package/src/reports/conversions.ts +52 -0
  307. package/src/reports/index.ts +6 -0
  308. package/src/server/ISPDemoServer.ts +122 -0
  309. package/src/server/api.ts +37 -0
  310. package/src/server/index.ts +7 -0
  311. package/src/server/router.ts +60 -0
  312. package/src/system.ts +96 -0
  313. package/src/testing/ProcessingSystemMock.ts +45 -0
  314. package/src/testing/UnitTestImportConnector.ts +86 -0
  315. package/src/testing/UnitTester.ts +231 -0
  316. package/src/testing/index.ts +4 -0
  317. package/src/testing/test-handlers.ts +55 -0
  318. package/tests/TransactionRules.spec.ts +73 -0
  319. package/tests/TransferAnalyzer-account-address.spec.ts +87 -0
  320. package/tests/TransferAnalyzer-buying-and-selling.spec.ts +354 -0
  321. package/tests/TransferAnalyzer-loans.spec.ts +197 -0
  322. package/tests/TransferAnalyzer-multiple-null-amounts.spec.ts +181 -0
  323. package/tests/password.spec.ts +8 -0
  324. package/tests/tokens.spec.ts +52 -0
  325. package/tests/vault.spec.ts +20 -0
  326. package/tsconfig.json +13 -0
@@ -0,0 +1,91 @@
1
+ import { TasenorElement, BackendCatalog, Constructor, DirectoryPath, FilePath, Language, PluginCode, PluginType, PluginUse, Version, ID } from '@dataplug/tasenor-common';
2
+ import { KnexDatabase } from '..';
3
+ /**
4
+ * Baseclass for all plugins for back-end.
5
+ */
6
+ export declare class BackendPlugin {
7
+ id: ID;
8
+ code: PluginCode;
9
+ title: string;
10
+ version: Version | null;
11
+ releaseDate: Date | string | null;
12
+ use: PluginUse | 'unknown';
13
+ type: PluginType | 'unknown';
14
+ icon: string;
15
+ description: string;
16
+ path: string;
17
+ languages: Record<string, Record<string, string>>;
18
+ private catalog?;
19
+ constructor();
20
+ /**
21
+ * Hook to be executed once during installing.
22
+ */
23
+ install(): Promise<void>;
24
+ /**
25
+ * Hook to be executed one during uninstalling.
26
+ */
27
+ uninstall(): Promise<void>;
28
+ /**
29
+ * Hook to register hooks when launching backend.
30
+ */
31
+ load(catalog: BackendCatalog): void;
32
+ /**
33
+ * Hook to be executed once for every database during installing.
34
+ * @param db Knex instance of the database.
35
+ */
36
+ installToDb(db: KnexDatabase): Promise<void>;
37
+ /**
38
+ * Hook to be executed once for every database during uninstalling.
39
+ * @param db Knex instance of the database.
40
+ */
41
+ uninstallFromDb(db: KnexDatabase): Promise<void>;
42
+ /**
43
+ * Get the full path to the directory of this plugin.
44
+ * @returns The path.
45
+ */
46
+ get fullPath(): DirectoryPath;
47
+ /**
48
+ * Construct the full path to the file of this module.
49
+ * @param name
50
+ * @returns The path.
51
+ */
52
+ filePath(name: string): FilePath;
53
+ /**
54
+ * Collect meta data as a JSON object.
55
+ * @returns Object
56
+ */
57
+ toJSON(): Record<string, unknown>;
58
+ /**
59
+ * Get the UI setting description or null if the plugin has no settings.
60
+ */
61
+ getSettings(): TasenorElement | null;
62
+ /**
63
+ * Do the translation for a string.
64
+ */
65
+ t(str: string, lang: Language): string;
66
+ /**
67
+ * Get the settings variable values for this plugin.
68
+ * @param db
69
+ * @param name
70
+ */
71
+ getSetting(db: KnexDatabase, name: string): Promise<any>;
72
+ /**
73
+ * A scheduled function that is ran once an hour. The hour number is in server time.
74
+ */
75
+ hourly(hour: number): Promise<void>;
76
+ /**
77
+ * A scheduled function that is ran once a day during night time on server time.
78
+ */
79
+ nightly(db: KnexDatabase): Promise<void>;
80
+ /**
81
+ * Ensure private working directory for this plugin and reserved for the given database.
82
+ */
83
+ getWorkSpace(db: KnexDatabase): DirectoryPath;
84
+ /**
85
+ * Create an instance of a plugin class and copy static fields into the instance.
86
+ * @param Class
87
+ * @param path
88
+ * @returns
89
+ */
90
+ static create(Class: Constructor<BackendPlugin>, id: ID, path: FilePath, catalog: BackendCatalog): BackendPlugin;
91
+ }
@@ -0,0 +1,165 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import { getServerRoot } from '@dataplug/tasenor-common';
3
+ import * as path from 'path';
4
+ import * as fs from 'fs';
5
+ /**
6
+ * Baseclass for all plugins for back-end.
7
+ */
8
+ export class BackendPlugin {
9
+ id;
10
+ code;
11
+ title;
12
+ version;
13
+ releaseDate;
14
+ use;
15
+ type;
16
+ icon;
17
+ description;
18
+ path;
19
+ languages;
20
+ catalog;
21
+ constructor() {
22
+ this.id = null;
23
+ this.code = '';
24
+ this.title = '';
25
+ this.version = null;
26
+ this.releaseDate = null;
27
+ this.use = 'unknown';
28
+ this.type = 'unknown';
29
+ this.icon = '';
30
+ this.description = '';
31
+ this.path = '';
32
+ // Plugin translations from language code to the translation dictionary.
33
+ this.languages = {};
34
+ }
35
+ /**
36
+ * Hook to be executed once during installing.
37
+ */
38
+ async install() {
39
+ // Do nothing by default.
40
+ }
41
+ /**
42
+ * Hook to be executed one during uninstalling.
43
+ */
44
+ async uninstall() {
45
+ // Do nothing by default.
46
+ }
47
+ /**
48
+ * Hook to register hooks when launching backend.
49
+ */
50
+ load(catalog) {
51
+ // Do nothing by default.
52
+ }
53
+ /**
54
+ * Hook to be executed once for every database during installing.
55
+ * @param db Knex instance of the database.
56
+ */
57
+ async installToDb(db) {
58
+ // Do nothing by default.
59
+ }
60
+ /**
61
+ * Hook to be executed once for every database during uninstalling.
62
+ * @param db Knex instance of the database.
63
+ */
64
+ async uninstallFromDb(db) {
65
+ // Do nothing by default.
66
+ }
67
+ /**
68
+ * Get the full path to the directory of this plugin.
69
+ * @returns The path.
70
+ */
71
+ get fullPath() {
72
+ return this.path;
73
+ }
74
+ /**
75
+ * Construct the full path to the file of this module.
76
+ * @param name
77
+ * @returns The path.
78
+ */
79
+ filePath(name) {
80
+ return `${this.fullPath}/backend/${name}`;
81
+ }
82
+ /**
83
+ * Collect meta data as a JSON object.
84
+ * @returns Object
85
+ */
86
+ toJSON() {
87
+ return {
88
+ id: this.id,
89
+ code: this.code,
90
+ title: this.title,
91
+ description: this.description,
92
+ icon: this.icon,
93
+ version: this.version,
94
+ releaseDate: this.releaseDate,
95
+ use: this.use,
96
+ type: this.type,
97
+ path: this.path
98
+ };
99
+ }
100
+ /**
101
+ * Get the UI setting description or null if the plugin has no settings.
102
+ */
103
+ getSettings() {
104
+ return null;
105
+ }
106
+ /**
107
+ * Do the translation for a string.
108
+ */
109
+ t(str, lang) {
110
+ if (this.catalog) {
111
+ return this.catalog.t(str, lang);
112
+ }
113
+ // Mainly useful for plugin testing: translate using local plugin translations if no catalog available.
114
+ if ((lang in this.languages) && (str in this.languages[lang])) {
115
+ return this.languages[lang][str];
116
+ }
117
+ return str;
118
+ }
119
+ /**
120
+ * Get the settings variable values for this plugin.
121
+ * @param db
122
+ * @param name
123
+ */
124
+ async getSetting(db, name) {
125
+ const setting = await db('settings').select('value').where({ name: `${this.code}.${name}` }).first();
126
+ return setting ? setting.value : undefined;
127
+ }
128
+ /**
129
+ * A scheduled function that is ran once an hour. The hour number is in server time.
130
+ */
131
+ async hourly(hour) {
132
+ // Do nothing by default.
133
+ }
134
+ /**
135
+ * A scheduled function that is ran once a day during night time on server time.
136
+ */
137
+ async nightly(db) {
138
+ // Do nothing by default.
139
+ }
140
+ /**
141
+ * Ensure private working directory for this plugin and reserved for the given database.
142
+ */
143
+ getWorkSpace(db) {
144
+ const workdir = path.join(getServerRoot(), 'src', 'plugins', 'workspace', this.code, db.client.config.connection.database);
145
+ if (!fs.existsSync(workdir)) {
146
+ fs.mkdirSync(workdir, { recursive: true });
147
+ }
148
+ fs.chmodSync(workdir, 0o700);
149
+ return workdir;
150
+ }
151
+ /**
152
+ * Create an instance of a plugin class and copy static fields into the instance.
153
+ * @param Class
154
+ * @param path
155
+ * @returns
156
+ */
157
+ static create(Class, id, path, catalog) {
158
+ const instance = new Class();
159
+ instance.id = id;
160
+ instance.path = path;
161
+ instance.catalog = catalog;
162
+ return instance;
163
+ }
164
+ }
165
+ //# sourceMappingURL=BackendPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/BackendPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BackendPlugin } from './BackendPlugin';
2
+ /**
3
+ * A plugin providing mainly some kind of possibly frequently updated data source services.
4
+ * Data will be publicly available from API.
5
+ */
6
+ export declare class DataPlugin extends BackendPlugin {
7
+ protected sources: string[];
8
+ constructor(...sources: string[]);
9
+ /**
10
+ * Provide the public knowledge this plugin is providing.
11
+ */
12
+ getKnowledge(): Promise<Record<string, unknown>>;
13
+ }
@@ -0,0 +1,26 @@
1
+ import fs from 'fs';
2
+ import { BackendPlugin } from './BackendPlugin';
3
+ /**
4
+ * A plugin providing mainly some kind of possibly frequently updated data source services.
5
+ * Data will be publicly available from API.
6
+ */
7
+ export class DataPlugin extends BackendPlugin {
8
+ sources;
9
+ constructor(...sources) {
10
+ super();
11
+ this.sources = sources;
12
+ }
13
+ /**
14
+ * Provide the public knowledge this plugin is providing.
15
+ */
16
+ async getKnowledge() {
17
+ const result = {};
18
+ for (const source of this.sources) {
19
+ const filePath = this.filePath(`${source}.json`);
20
+ const data = JSON.parse(fs.readFileSync(filePath).toString('utf-8'));
21
+ Object.assign(result, { [source]: data });
22
+ }
23
+ return result;
24
+ }
25
+ }
26
+ //# sourceMappingURL=DataPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/DataPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,aAAa;IAEjC,OAAO,CAAU;IAE3B,YAAY,GAAG,OAAiB;QAC9B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;YACpE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;SAC1C;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -0,0 +1,188 @@
1
+ import { TransactionImportHandler } from '../import/TransactionImportHandler';
2
+ import { BackendPlugin } from './BackendPlugin';
3
+ /**
4
+ * A plugin providing import services for one or more file formats.
5
+ */
6
+ export declare class ImportPlugin extends BackendPlugin {
7
+ private handler;
8
+ private UI;
9
+ constructor(handler: TransactionImportHandler);
10
+ /**
11
+ * Get common translations for all import plugins.
12
+ * @returns
13
+ */
14
+ getLanguages(): {
15
+ en: {
16
+ 'account-debt-currency': string;
17
+ 'account-deposit-currency': string;
18
+ 'account-deposit-external': string;
19
+ 'account-distribution-currency': string;
20
+ 'account-distribution-statement': string;
21
+ 'account-dividend-currency': string;
22
+ 'account-expense-currency': string;
23
+ 'account-expense-statement': string;
24
+ 'account-fee-currency': string;
25
+ 'account-fee-crypto': string;
26
+ 'account-forex-currency': string;
27
+ 'account-income-currency': string;
28
+ 'account-income-statement': string;
29
+ 'account-investment-currency': string;
30
+ 'account-investment-statement': string;
31
+ 'account-tax-currency': string;
32
+ 'account-tax-statement': string;
33
+ 'account-trade-crypto': string;
34
+ 'account-trade-stock': string;
35
+ 'account-trade-currency': string;
36
+ 'account-transfer-currency': string;
37
+ 'account-transfer-external': string;
38
+ 'account-withdrawal-currency': string;
39
+ 'account-withdrawal-external': string;
40
+ 'asset-type-crypto': string;
41
+ 'asset-type-currency': string;
42
+ 'asset-type-external': string;
43
+ 'asset-type-statement': string;
44
+ 'asset-type-stock': string;
45
+ 'asset-type-short': string;
46
+ 'import-text-buy': string;
47
+ 'import-text-correction': string;
48
+ 'import-text-deposit': string;
49
+ 'import-text-distribution': string;
50
+ 'import-text-dividend': string;
51
+ 'import-text-expense': string;
52
+ 'import-text-forex': string;
53
+ 'import-text-income': string;
54
+ 'import-text-investment': string;
55
+ 'import-text-sell': string;
56
+ 'import-text-short-buy': string;
57
+ 'import-text-short-sell': string;
58
+ 'import-text-tax': string;
59
+ 'import-text-trade': string;
60
+ 'import-text-transfer': string;
61
+ 'import-text-withdrawal': string;
62
+ 'reason-deposit': string;
63
+ 'reason-dividend': string;
64
+ 'reason-expense': string;
65
+ 'reason-fee': string;
66
+ 'reason-forex': string;
67
+ 'reason-income': string;
68
+ 'reason-trade': string;
69
+ 'reason-transfer': string;
70
+ 'reason-withdrawal': string;
71
+ 'note-split': string;
72
+ 'note-converted': string;
73
+ 'note-spinoff': string;
74
+ 'note-renamed': string;
75
+ 'note-old-name': string;
76
+ 'note-new-name': string;
77
+ 'note-renaming': string;
78
+ };
79
+ fi: {
80
+ 'account-debt-currency': string;
81
+ 'account-deposit-currency': string;
82
+ 'account-deposit-external': string;
83
+ 'account-distribution-currency': string;
84
+ 'account-distribution-statement': string;
85
+ 'account-dividend-currency': string;
86
+ 'account-expense-currency': string;
87
+ 'account-expense-statement': string;
88
+ 'account-fee-currency': string;
89
+ 'account-fee-crypto': string;
90
+ 'account-forex-currency': string;
91
+ 'account-income-currency': string;
92
+ 'account-income-statement': string;
93
+ 'account-investment-currency': string;
94
+ 'account-investment-statement': string;
95
+ 'account-tax-currency': string;
96
+ 'account-tax-statement': string;
97
+ 'account-trade-crypto': string;
98
+ 'account-trade-stock': string;
99
+ 'account-trade-currency': string;
100
+ 'account-transfer-currency': string;
101
+ 'account-transfer-external': string;
102
+ 'account-withdrawal-currency': string;
103
+ 'account-withdrawal-external': string;
104
+ 'asset-type-crypto': string;
105
+ 'asset-type-currency': string;
106
+ 'asset-type-external': string;
107
+ 'asset-type-statement': string;
108
+ 'asset-type-stock': string;
109
+ 'asset-type-short': string;
110
+ 'Do you want to import also currency deposits here?': string;
111
+ 'Do you want to import also currency withdrawals here?': string;
112
+ 'import-text-buy': string;
113
+ 'import-text-correction': string;
114
+ 'import-text-deposit': string;
115
+ 'import-text-distribution': string;
116
+ 'import-text-dividend': string;
117
+ 'import-text-expense': string;
118
+ 'import-text-forex': string;
119
+ 'import-text-income': string;
120
+ 'import-text-investment': string;
121
+ 'import-text-sell': string;
122
+ 'import-text-short-buy': string;
123
+ 'import-text-short-sell': string;
124
+ 'import-text-tax': string;
125
+ 'import-text-trade': string;
126
+ 'import-text-transfer': string;
127
+ 'import-text-withdrawal': string;
128
+ 'Parsing error in expression `{expr}`: {message}': string;
129
+ 'reason-deposit': string;
130
+ 'reason-dividend': string;
131
+ 'reason-expense': string;
132
+ 'reason-fee': string;
133
+ 'reason-forex': string;
134
+ 'reason-income': string;
135
+ 'reason-trade': string;
136
+ 'reason-transfer': string;
137
+ 'reason-withdrawal': string;
138
+ 'Retried successfully': string;
139
+ 'Retry failed': string;
140
+ 'Select one of the following:': string;
141
+ 'Additional information needed': string;
142
+ 'Based on the following imported lines': string;
143
+ 'Do you want to use the same account for all of them?': string;
144
+ Created: string;
145
+ Duplicates: string;
146
+ Ignored: string;
147
+ Skipped: string;
148
+ 'Account Changes': string;
149
+ 'Process Was Successfully Completed!': string;
150
+ 'Do we allow short selling of assets?': string;
151
+ January: string;
152
+ February: string;
153
+ March: string;
154
+ April: string;
155
+ May: string;
156
+ June: string;
157
+ July: string;
158
+ August: string;
159
+ September: string;
160
+ October: string;
161
+ November: string;
162
+ December: string;
163
+ 'note-split': string;
164
+ 'note-converted': string;
165
+ 'note-spinoff': string;
166
+ 'note-renamed': string;
167
+ 'note-old-name': string;
168
+ 'note-new-name': string;
169
+ 'The account below has negative balance. If you want to record it to the separate debt account, please select another account below:': string;
170
+ 'The date {date} falls outside of the period {firstDate} to {lastDate}.': string;
171
+ 'What do we do with that kind of transactions?': string;
172
+ 'Ignore transaction': string;
173
+ 'Halt with an error': string;
174
+ 'Is transaction fee of type {type} already included in the {reason} total?': string;
175
+ 'Select contra account for imported transactions, i.e. cash account.': string;
176
+ };
177
+ };
178
+ /**
179
+ * Get instance of internal handler class.
180
+ * @returns
181
+ */
182
+ getHandler(): TransactionImportHandler;
183
+ /**
184
+ * Load and return default rules from the JSON-rules file.
185
+ * @returns
186
+ */
187
+ getRules(): JSON;
188
+ }