@ashray.mehta/statement-converter 1.4.3 → 1.4.4-alpha

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 (55) hide show
  1. package/.github/dependabot.yml +7 -0
  2. package/.github/workflows/node.js.yml +28 -0
  3. package/.github/workflows/npm-publish.yml +35 -0
  4. package/.mocharc.json +5 -0
  5. package/README.md +1 -0
  6. package/package.json +8 -10
  7. package/src/StatementConverter.ts +32 -0
  8. package/src/adapters/ABNAdapter.ts +45 -0
  9. package/src/adapters/AxisAdapter.ts +42 -0
  10. package/src/adapters/ICICIAdapter.ts +50 -0
  11. package/src/adapters/ICICICreditCardAdapter.ts +50 -0
  12. package/src/adapters/MT940Adapter.ts +49 -0
  13. package/src/adapters/N26Adapter.ts +45 -0
  14. package/src/adapters/StandardCharteredAdapter.ts +46 -0
  15. package/src/adapters/TransactionAdapter.ts +8 -0
  16. package/src/adapters/TransactionsQifConverter.ts +28 -0
  17. package/src/helpers/NumberUtil.ts +27 -0
  18. package/src/helpers/XLSXUtil.ts +38 -0
  19. package/{index.d.ts → src/index.ts} +1 -1
  20. package/src/models/Bank.ts +9 -0
  21. package/{models/Transaction.d.ts → src/models/Transaction.ts} +1 -1
  22. package/test/AxisBankStatement.xls +0 -0
  23. package/test/ICICIBankStatement.xls +0 -0
  24. package/test/N26Statement.csv +29 -0
  25. package/test/NumberUtil.spec.js +32 -0
  26. package/test/StatementConverter.spec.js +34 -0
  27. package/tsconfig.json +17 -0
  28. package/StatementConverter.d.ts +0 -7
  29. package/StatementConverter.js +0 -45
  30. package/adapters/ABNAdapter.d.ts +0 -7
  31. package/adapters/ABNAdapter.js +0 -55
  32. package/adapters/AxisAdapter.d.ts +0 -7
  33. package/adapters/AxisAdapter.js +0 -53
  34. package/adapters/ICICIAdapter.d.ts +0 -8
  35. package/adapters/ICICIAdapter.js +0 -56
  36. package/adapters/ICICICreditCardAdapter.d.ts +0 -8
  37. package/adapters/ICICICreditCardAdapter.js +0 -56
  38. package/adapters/MT940Adapter.d.ts +0 -7
  39. package/adapters/MT940Adapter.js +0 -56
  40. package/adapters/N26Adapter.d.ts +0 -7
  41. package/adapters/N26Adapter.js +0 -56
  42. package/adapters/StandardCharteredAdapter.d.ts +0 -7
  43. package/adapters/StandardCharteredAdapter.js +0 -52
  44. package/adapters/TransactionAdapter.d.ts +0 -6
  45. package/adapters/TransactionAdapter.js +0 -6
  46. package/adapters/TransactionsQifConverter.d.ts +0 -5
  47. package/adapters/TransactionsQifConverter.js +0 -31
  48. package/helpers/NumberUtil.d.ts +0 -4
  49. package/helpers/NumberUtil.js +0 -28
  50. package/helpers/XLSXUtil.d.ts +0 -6
  51. package/helpers/XLSXUtil.js +0 -41
  52. package/index.js +0 -18
  53. package/models/Bank.d.ts +0 -9
  54. package/models/Bank.js +0 -13
  55. package/models/Transaction.js +0 -2
@@ -1,4 +0,0 @@
1
- export declare class NumberUtil {
2
- private readonly commonSeparators;
3
- parseNumber(text: string): Number;
4
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NumberUtil = void 0;
4
- const multi_number_parse_1 = require("multi-number-parse");
5
- class NumberUtil {
6
- constructor() {
7
- this.commonSeparators = [",", "."];
8
- }
9
- parseNumber(text) {
10
- if (!text) {
11
- return undefined;
12
- }
13
- const trimmedText = text.trim();
14
- if (!trimmedText) {
15
- return undefined;
16
- }
17
- // Remove additional separators as the library seems to fail if they're present. Eg: 2,00,000.00
18
- var parsableText = trimmedText;
19
- for (const separator of this.commonSeparators) {
20
- if (trimmedText.split(separator).length > 2) {
21
- parsableText = trimmedText.replace(separator, '');
22
- break;
23
- }
24
- }
25
- return (0, multi_number_parse_1.default)(parsableText);
26
- }
27
- }
28
- exports.NumberUtil = NumberUtil;
@@ -1,6 +0,0 @@
1
- import { CellAddress, WorkSheet } from 'xlsx';
2
- export declare class XLSXUtil {
3
- static findText(sheet: WorkSheet, text: string): CellAddress;
4
- static getCellValue(sheet: WorkSheet, row: number, column: number): string | number | boolean;
5
- static getNumberInCell(sheet: WorkSheet, row: number, column: number): number;
6
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XLSXUtil = void 0;
4
- const lodash_1 = require("lodash");
5
- const NumberUtil_1 = require("./NumberUtil");
6
- const xlsx_1 = require("xlsx");
7
- class XLSXUtil {
8
- static findText(sheet, text) {
9
- const range = xlsx_1.utils.decode_range(sheet['!ref']);
10
- const rangeEnd = range.e;
11
- const rangeStart = range.s;
12
- for (let R = rangeStart.r; R <= rangeEnd.r; ++R) {
13
- for (let C = rangeStart.c; C <= rangeEnd.c; ++C) {
14
- const cellAddress = xlsx_1.utils.encode_cell({ c: C, r: R });
15
- if (!sheet[cellAddress])
16
- continue;
17
- const cell = sheet[cellAddress];
18
- if (!(cell.t == 's' || cell.t == 'str'))
19
- continue;
20
- if ((0, lodash_1.trim)(cell.v) === (0, lodash_1.trim)(text))
21
- return xlsx_1.utils.decode_cell(cellAddress);
22
- }
23
- }
24
- }
25
- static getCellValue(sheet, row, column) {
26
- const cellAddress = xlsx_1.utils.encode_cell({ c: column, r: row });
27
- return !sheet[cellAddress] ? null : sheet[cellAddress].v;
28
- }
29
- static getNumberInCell(sheet, row, column) {
30
- const cellAddress = xlsx_1.utils.encode_cell({ c: column, r: row });
31
- if (!sheet[cellAddress])
32
- return null;
33
- const value = sheet[cellAddress].v;
34
- if ((0, lodash_1.isNumber)(value)) {
35
- return value;
36
- }
37
- const number = new NumberUtil_1.NumberUtil().parseNumber(value);
38
- return number === null || number === void 0 ? void 0 : number.valueOf();
39
- }
40
- }
41
- exports.XLSXUtil = XLSXUtil;
package/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./StatementConverter"), exports);
18
- __exportStar(require("./models/Bank"), exports);
package/models/Bank.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export declare enum Bank {
2
- Axis = "axis",
3
- ICICI = "icici",
4
- ICICICreditCard = "icicicc",
5
- StandardChartered = "sc",
6
- ABN = "abn",
7
- N26 = "n26",
8
- GenericMT940 = "Others (MT940)"
9
- }
package/models/Bank.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Bank = void 0;
4
- var Bank;
5
- (function (Bank) {
6
- Bank["Axis"] = "axis";
7
- Bank["ICICI"] = "icici";
8
- Bank["ICICICreditCard"] = "icicicc";
9
- Bank["StandardChartered"] = "sc";
10
- Bank["ABN"] = "abn";
11
- Bank["N26"] = "n26";
12
- Bank["GenericMT940"] = "Others (MT940)";
13
- })(Bank = exports.Bank || (exports.Bank = {}));
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });