lib-fints 1.4.3 → 1.4.5

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 (41) hide show
  1. package/README.md +41 -0
  2. package/dist/camtParser.js +23 -4
  3. package/dist/config.js +9 -0
  4. package/dist/dataGroups/CamtAccount.js +7 -0
  5. package/dist/interactions/initDialogInteraction.js +7 -1
  6. package/dist/interactions/sepaAccountInteraction.js +1 -1
  7. package/dist/interactions/statementInteractionCAMT.js +18 -3
  8. package/dist/segments/HISPAS.js +11 -2
  9. package/dist/segments/HKCAZ.js +2 -2
  10. package/dist/tests/HKCAZ.test.js +3 -7
  11. package/dist/tests/camtParser.test.js +131 -1
  12. package/dist/tests/dialog.test.js +11 -3
  13. package/dist/types/bankTransaction.d.ts +16 -0
  14. package/dist/types/bankTransaction.d.ts.map +1 -1
  15. package/dist/types/camtParser.d.ts.map +1 -1
  16. package/dist/types/config.d.ts +6 -0
  17. package/dist/types/config.d.ts.map +1 -1
  18. package/dist/types/dataElements/AlphaNumeric.d.ts.map +1 -1
  19. package/dist/types/dataElements/Binary.d.ts.map +1 -1
  20. package/dist/types/dataElements/DataElement.d.ts.map +1 -1
  21. package/dist/types/dataElements/Float.d.ts.map +1 -1
  22. package/dist/types/dataElements/Numeric.d.ts.map +1 -1
  23. package/dist/types/dataElements/Text.d.ts.map +1 -1
  24. package/dist/types/dataElements/YesNo.d.ts +1 -1
  25. package/dist/types/dataGroups/CamtAccount.d.ts +9 -0
  26. package/dist/types/dataGroups/CamtAccount.d.ts.map +1 -0
  27. package/dist/types/interactions/creditcardStatementInteraction.d.ts.map +1 -1
  28. package/dist/types/interactions/initDialogInteraction.d.ts.map +1 -1
  29. package/dist/types/interactions/portfolioInteraction.d.ts.map +1 -1
  30. package/dist/types/interactions/sepaAccountInteraction.d.ts.map +1 -1
  31. package/dist/types/interactions/statementInteractionCAMT.d.ts +0 -1
  32. package/dist/types/interactions/statementInteractionCAMT.d.ts.map +1 -1
  33. package/dist/types/interactions/statementInteractionMT940.d.ts.map +1 -1
  34. package/dist/types/segments/HISPAS.d.ts +9 -3
  35. package/dist/types/segments/HISPAS.d.ts.map +1 -1
  36. package/dist/types/segments/HKCAZ.d.ts +2 -2
  37. package/dist/types/segments/HKCAZ.d.ts.map +1 -1
  38. package/package.json +4 -4
  39. package/dist/dataGroups/SepaAccountParameters.js +0 -16
  40. package/dist/types/dataGroups/SepaAccountParameters.d.ts +0 -13
  41. package/dist/types/dataGroups/SepaAccountParameters.d.ts.map +0 -1
package/README.md CHANGED
@@ -215,6 +215,47 @@ For each account-specific transaction, the client provides corresponding `can*`
215
215
  | `canGetPortfolio(accountNumber?)` | Checks if portfolio information fetching is supported |
216
216
  | `canGetCreditCardStatements(accountNumber?)` | Checks if credit card statements fetching is supported |
217
217
 
218
+ ### Transaction Parameters
219
+
220
+ The configuration object provides methods to access transaction-specific parameters and capabilities provided by the bank:
221
+
222
+ #### `config.getTransactionParameters<T>(transId: string): T | undefined`
223
+
224
+ Returns the bank-specific parameters for a transaction type, if available. These parameters contain transaction limits, supported formats, and other bank-specific constraints.
225
+
226
+ ```typescript
227
+ // Get parameters for account statements (MT940)
228
+ const mt940Params = config.getTransactionParameters<HIKAZSParameter>('HKKAZ');
229
+
230
+ // Get parameters for account statements (CAMT)
231
+ const camtParams = config.getTransactionParameters<HICAZSParameter>('HKCAZ');
232
+
233
+ // Get parameters for SEPA transactions
234
+ const sepaParams = config.getTransactionParameters<HISPASParameter>('HKSPA');
235
+ ```
236
+
237
+ #### `config.isTransactionSupported(transId: string): boolean`
238
+
239
+ Checks whether a specific transaction type is supported by the bank.
240
+
241
+ ```typescript
242
+ if (config.isTransactionSupported('HKWPD')) {
243
+ console.log('Bank supports portfolio requests');
244
+ }
245
+ ```
246
+
247
+ #### `config.isAccountTransactionSupported(accountNumber: string, transId: string): boolean`
248
+
249
+ Checks whether a specific transaction type is supported for a particular account.
250
+
251
+ ```typescript
252
+ if (config.isAccountTransactionSupported('1234567890', 'HKWPD')) {
253
+ console.log('Account supports portfolio requests');
254
+ }
255
+ ```
256
+
257
+ **Note**: Transaction IDs correspond to the FinTS segment names (e.g., 'HKKAZ' for account statements, 'HKWPD' for portfolio, 'HKSAL' for balance).
258
+
218
259
  ### TAN Continuation Methods
219
260
 
220
261
  Every transaction that supports TAN authentication has a corresponding `*WithTan` method for continuing the transaction after TAN entry:
@@ -168,7 +168,7 @@ export class CamtParser {
168
168
  return String(current);
169
169
  }
170
170
  if (Array.isArray(current)) {
171
- return String(current.join(''));
171
+ return String(current.join('\n'));
172
172
  }
173
173
  if (current && typeof current === 'object' && current !== null && '#text' in current) {
174
174
  return String(current['#text']);
@@ -268,8 +268,12 @@ export class CamtParser {
268
268
  const isDebit = creditDebitInd === 'DBIT';
269
269
  const amount = isDebit ? -amountValue : amountValue;
270
270
  // Extract dates
271
- const bookingDate = this.getValueFromPath(entry, 'BookgDt.Dt') || this.getValueFromPath(entry, 'BookgDt');
272
- const valueDate = this.getValueFromPath(entry, 'ValDt.Dt') || this.getValueFromPath(entry, 'ValDt');
271
+ const bookingDate = this.getValueFromPath(entry, 'BookgDt.DtTm') ||
272
+ this.getValueFromPath(entry, 'BookgDt.Dt') ||
273
+ this.getValueFromPath(entry, 'BookgDt');
274
+ const valueDate = this.getValueFromPath(entry, 'ValDt.DtTm') ||
275
+ this.getValueFromPath(entry, 'ValDt.Dt') ||
276
+ this.getValueFromPath(entry, 'ValDt');
273
277
  const entryDate = bookingDate ? this.parseDate(bookingDate) : new Date();
274
278
  const parsedValueDate = valueDate ? this.parseDate(valueDate) : entryDate;
275
279
  // Extract references
@@ -391,7 +395,22 @@ export class CamtParser {
391
395
  return '';
392
396
  }
393
397
  parseDate(dateStr) {
394
- // Parse ISO date format (YYYY-MM-DD)
398
+ let processedDateStr = dateStr;
399
+ // Handle date-only with timezone, e.g., "2026-01-22+01:00"
400
+ // The Date constructor may not parse this correctly, so we add a time part.
401
+ if (/^\d{4}-\d{2}-\d{2}[+-]\d{2}:\d{2}$/.test(dateStr)) {
402
+ processedDateStr = `${dateStr.substring(0, 10)}T00:00:00${dateStr.substring(10)}`;
403
+ }
404
+ // Attempt to parse as a full ISO 8601 string first, which `new Date()` handles well.
405
+ // This will correctly handle formats like "2023-10-26T10:00:00+02:00".
406
+ const isoDate = new Date(processedDateStr);
407
+ if (!Number.isNaN(isoDate.getTime())) {
408
+ // Check if the date string contains time or timezone information to avoid misinterpreting YYYY-MM-DD
409
+ if (processedDateStr.includes('T') || /[-+]\d{2}:\d{2}$/.test(processedDateStr)) {
410
+ return isoDate;
411
+ }
412
+ }
413
+ // Fallback for date-only ISO format (YYYY-MM-DD)
395
414
  if (dateStr.length === 10 && dateStr.includes('-')) {
396
415
  return new Date(`${dateStr}T12:00:00`); // Set time to noon to avoid timezone issues
397
416
  }
package/dist/config.js CHANGED
@@ -140,6 +140,15 @@ export class FinTSConfig {
140
140
  get selectedTanMethod() {
141
141
  return this.availableTanMethods.find((t) => t.id === this.tanMethodId);
142
142
  }
143
+ /**
144
+ * Gets the transaction parameters for a specific transaction ID
145
+ * @param transId The transaction ID
146
+ * @returns The transaction parameters or undefined if not available
147
+ */
148
+ getTransactionParameters(transId) {
149
+ const transaction = this.bankingInformation.bpd?.allowedTransactions.find((t) => t.transId === transId);
150
+ return transaction?.params;
151
+ }
143
152
  /**
144
153
  * Checks if a transaction is supported by the bank
145
154
  * @param transId The transaction ID
@@ -0,0 +1,7 @@
1
+ import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
+ import { DataGroup } from './DataGroup.js';
3
+ export class CamtAccountGroup extends DataGroup {
4
+ constructor(name, minCount = 0, maxCount = 1, minVersion, maxVersion) {
5
+ super(name, [new AlphaNumeric('iban', 0, 1, 34), new AlphaNumeric('bic', 0, 1, 11)], minCount, maxCount, minVersion, maxVersion);
6
+ }
7
+ }
@@ -105,9 +105,15 @@ export class InitDialogInteraction extends CustomerInteraction {
105
105
  const paramSegId = `HI${transaction.transId.slice(2)}S`;
106
106
  const paramSegments = [
107
107
  ...response.findAllSegments(paramSegId),
108
- ...response.findAllUnknownSegments(paramSegId),
109
108
  ];
109
+ const unknownParamSegments = [...response.findAllUnknownSegments(paramSegId)];
110
110
  paramSegments.forEach((paramSegment) => {
111
+ if (paramSegment) {
112
+ transaction.versions.push(paramSegment.header.version);
113
+ transaction.params = paramSegment.params;
114
+ }
115
+ });
116
+ unknownParamSegments.forEach((paramSegment) => {
111
117
  if (paramSegment) {
112
118
  transaction.versions.push(paramSegment.header.version);
113
119
  }
@@ -37,7 +37,7 @@ export class SepaAccountInteraction extends CustomerOrderInteraction {
37
37
  });
38
38
  clientResponse.sepaAccounts.forEach((sepaAccount) => {
39
39
  const bankAccount = this.dialog?.config.getBankAccount(sepaAccount.accountNumber);
40
- if (bankAccount) {
40
+ if (bankAccount && !bankAccount.isSepaAccount) {
41
41
  bankAccount.isSepaAccount = sepaAccount.isSepaAccount;
42
42
  bankAccount.iban = sepaAccount.iban;
43
43
  bankAccount.bic = sepaAccount.bic;
@@ -6,7 +6,6 @@ export class StatementInteractionCAMT extends CustomerOrderInteraction {
6
6
  accountNumber;
7
7
  from;
8
8
  to;
9
- acceptedCamtFormats = ['urn:iso:std:iso:20022:tech:xsd:camt.052.001.08'];
10
9
  constructor(accountNumber, from, to) {
11
10
  super(HKCAZ.Id, HICAZ.Id);
12
11
  this.accountNumber = accountNumber;
@@ -19,10 +18,15 @@ export class StatementInteractionCAMT extends CustomerOrderInteraction {
19
18
  if (!version) {
20
19
  throw Error(`There is no supported version for business transaction '${HKCAZ.Id}'`);
21
20
  }
21
+ let acceptedCamtFormats = ['urn:iso:std:iso:20022:tech:xsd:camt.052.001.08'];
22
+ const params = init.getTransactionParameters(HKCAZ.Id);
23
+ if (params && params.supportedCamtFormats.length > 0) {
24
+ acceptedCamtFormats = params.supportedCamtFormats.filter((format) => format.startsWith('urn:iso:std:iso:20022:tech:xsd:camt.052.001.'));
25
+ }
22
26
  const hkcaz = {
23
27
  header: { segId: HKCAZ.Id, segNr: 0, version: version },
24
28
  account: bankAccount,
25
- acceptedCamtFormats: this.acceptedCamtFormats,
29
+ acceptedCamtFormats: acceptedCamtFormats,
26
30
  allAccounts: false,
27
31
  from: this.from,
28
32
  to: this.to,
@@ -36,7 +40,18 @@ export class StatementInteractionCAMT extends CustomerOrderInteraction {
36
40
  // Parse all CAMT messages (one per booking day) and combine statements
37
41
  const allStatements = [];
38
42
  for (const camtMessage of hicaz.bookedTransactions) {
39
- const parser = new CamtParser(camtMessage);
43
+ // The regex looks for the XML declaration `<?xml ... ?>`
44
+ // and checks if it contains the attribute encoding="UTF-8".
45
+ // The 'i' flag makes the match case-insensitive (e.g., for "utf-8").
46
+ const isUtf8Encoded = /<\?xml[^>]*encoding="UTF-8"[^>]*\?>/i.test(camtMessage);
47
+ let xmlString = camtMessage;
48
+ if (isUtf8Encoded) {
49
+ // camtMessage is initially encoded as 'latin1' (ISO-8859-1), but actually contains UTF-8 data.
50
+ // Therefore, we need to first convert it back to a buffer using 'latin1', and then decode it as 'utf8'.
51
+ const intermediateBuffer = Buffer.from(camtMessage, 'latin1');
52
+ xmlString = intermediateBuffer.toString('utf8');
53
+ }
54
+ const parser = new CamtParser(xmlString);
40
55
  const statements = parser.parse();
41
56
  allStatements.push(...statements);
42
57
  }
@@ -1,4 +1,6 @@
1
- import { SepaAccountParametersGroup, } from '../dataGroups/SepaAccountParameters.js';
1
+ import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
+ import { Numeric } from '../dataElements/Numeric.js';
3
+ import { YesNo } from '../dataElements/YesNo.js';
2
4
  import { BusinessTransactionParameter, } from './businessTransactionParameter.js';
3
5
  /**
4
6
  * Parameters for HKSPA business transaction - SEPA account connection request
@@ -8,6 +10,13 @@ export class HISPAS extends BusinessTransactionParameter {
8
10
  static Id = 'HISPAS';
9
11
  version = 3;
10
12
  constructor() {
11
- super(HISPAS.Id, [new SepaAccountParametersGroup('sepaAccountParams', 1, 1)], 1);
13
+ super(HISPAS.Id, [
14
+ new YesNo('individualAccountRetrievalAllowed', 1, 1),
15
+ new YesNo('nationalAccountAllowed', 1, 1),
16
+ new YesNo('structuredPurposeAllowed', 1, 1),
17
+ new YesNo('maxEntriesAllowed', 1, 1, 2), // version 2+
18
+ new Numeric('reservedPurposePositions', 1, 1, 2, 3), // version 3+
19
+ new AlphaNumeric('supportedSepaFormats', 0, 99, 256), // optional, up to 99 entries
20
+ ], 1);
12
21
  }
13
22
  }
@@ -3,8 +3,8 @@ import { Dat } from '../dataElements/Dat.js';
3
3
  import { Numeric } from '../dataElements/Numeric.js';
4
4
  import { Text } from '../dataElements/Text.js';
5
5
  import { YesNo } from '../dataElements/YesNo.js';
6
+ import { CamtAccountGroup } from '../dataGroups/CamtAccount.js';
6
7
  import { DataGroup } from '../dataGroups/DataGroup.js';
7
- import { InternationalAccountGroup, } from '../dataGroups/InternationalAccount.js';
8
8
  import { SegmentDefinition } from '../segmentDefinition.js';
9
9
  /**
10
10
  * Request account transactions in a given period (CAMT format)
@@ -17,7 +17,7 @@ export class HKCAZ extends SegmentDefinition {
17
17
  }
18
18
  version = HKCAZ.Version;
19
19
  elements = [
20
- new InternationalAccountGroup('account', 1, 1),
20
+ new CamtAccountGroup('account', 1, 1),
21
21
  new DataGroup('acceptedCamtFormats', [new Text('camtFormat', 1, 99)], 1, 1), // Support multiple camt-formats
22
22
  new YesNo('allAccounts', 1, 1),
23
23
  new Dat('from', 0, 1),
@@ -10,15 +10,13 @@ describe('HKCAZ v1', () => {
10
10
  account: {
11
11
  iban: 'DE991234567123456',
12
12
  bic: 'BANK12',
13
- accountNumber: '123456',
14
- bank: { country: 280, bankId: '12030000' },
15
13
  },
16
14
  acceptedCamtFormats: ['urn:iso:std:iso:20022:tech:xsd:camt.052.001.08'],
17
15
  allAccounts: false,
18
16
  from: new Date('2023-01-01'),
19
17
  to: new Date('2023-12-31'),
20
18
  };
21
- expect(encode(segment)).toBe("HKCAZ:1:1+DE991234567123456:BANK12:123456::280:12030000+urn?:iso?:std?:iso?:20022?:tech?:xsd?:camt.052.001.08+N+20230101+20231231'");
19
+ expect(encode(segment)).toBe("HKCAZ:1:1+DE991234567123456:BANK12+urn?:iso?:std?:iso?:20022?:tech?:xsd?:camt.052.001.08+N+20230101+20231231'");
22
20
  });
23
21
  it('encode without optional dates', () => {
24
22
  const segment = {
@@ -26,16 +24,14 @@ describe('HKCAZ v1', () => {
26
24
  account: {
27
25
  iban: 'DE991234567123456',
28
26
  bic: 'BANK12',
29
- accountNumber: '123456',
30
- bank: { country: 280, bankId: '12030000' },
31
27
  },
32
28
  acceptedCamtFormats: ['urn:iso:std:iso:20022:tech:xsd:camt.052.001.08'],
33
29
  allAccounts: true,
34
30
  };
35
- expect(encode(segment)).toBe("HKCAZ:2:1+DE991234567123456:BANK12:123456::280:12030000+urn?:iso?:std?:iso?:20022?:tech?:xsd?:camt.052.001.08+J'");
31
+ expect(encode(segment)).toBe("HKCAZ:2:1+DE991234567123456:BANK12+urn?:iso?:std?:iso?:20022?:tech?:xsd?:camt.052.001.08+J'");
36
32
  });
37
33
  it('decode and encode roundtrip matches', () => {
38
- const text = "HKCAZ:0:1+DE991234567123456:BANK12:123456::280:12030000+urn?:iso?:std?:iso?:20022?:tech?:xsd?:camt.052.001.08+N+20230101+20231231'";
34
+ const text = "HKCAZ:0:1+DE991234567123456:BANK12+urn?:iso?:std?:iso?:20022?:tech?:xsd?:camt.052.001.08+N+20230101+20231231'";
39
35
  const segment = decode(text);
40
36
  expect(encode(segment)).toBe(text);
41
37
  });
@@ -828,7 +828,7 @@ describe('CamtParser', () => {
828
828
  expect(transaction.amount).toBe(-179.46);
829
829
  expect(transaction.customerReference).toBe('VG 2025 QUARTAL IV');
830
830
  expect(transaction.bankReference).toBe('TXN003');
831
- expect(transaction.purpose).toBe('28,65EUR EREF: VG 2025 QUARTAL IV IBAN: DE12345678901234567891 BIC: BANKABC1XXX');
831
+ expect(transaction.purpose).toBe('28,65EUR EREF: VG 2025 QUARTAL IV IBAN\n: DE12345678901234567891 BIC: BANKABC1XXX');
832
832
  expect(transaction.remoteName).toBe('ABC Bank');
833
833
  expect(transaction.remoteAccountNumber).toBe('DE12345678901234567891');
834
834
  expect(transaction.remoteBankId).toBe('BANKABC1XXX');
@@ -855,4 +855,134 @@ describe('CamtParser', () => {
855
855
  expect(transaction.client).toBeUndefined();
856
856
  expect(transaction.textKeyExtension).toBeUndefined();
857
857
  });
858
+ it('should handle full iso date time in value date', () => {
859
+ // this is an example from comdirect bank in 2026-01
860
+ const camtXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
861
+ <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.02">
862
+ <BkToCstmrAcctRpt>
863
+ <GrpHdr>
864
+ <MsgId>BD5F4D36X95740C4B89D967367217C16</MsgId>
865
+ <CreDtTm>2026-01-22T10:35:25.369+01:00</CreDtTm>
866
+ <MsgPgntn>
867
+ <PgNb>0</PgNb>
868
+ <LastPgInd>true</LastPgInd>
869
+ </MsgPgntn>
870
+ </GrpHdr>
871
+ <Rpt>
872
+ <Id>563916B991DD4EB18894EF4ABB730A5C</Id>
873
+ <FrToDt>
874
+ <FrDtTm>2025-12-10T00:00:00.000+01:00</FrDtTm>
875
+ <ToDtTm>2026-01-22T00:00:00.000+01:00</ToDtTm>
876
+ </FrToDt>
877
+ <Acct>
878
+ <Id>
879
+ <IBAN>DE06940594210000027227</IBAN>
880
+ </Id>
881
+ </Acct>
882
+ <Bal>
883
+ <Tp>
884
+ <CdOrPrtry>
885
+ <Cd>OPBD</Cd>
886
+ </CdOrPrtry>
887
+ </Tp>
888
+ <Amt Ccy="EUR">94.010000000021</Amt>
889
+ <CdtDbtInd>CRDT</CdtDbtInd>
890
+ <Dt>
891
+ <DtTm>2025-12-10T00:00:00.000+01:00</DtTm>
892
+ </Dt>
893
+ </Bal>
894
+ <Bal>
895
+ <Tp>
896
+ <CdOrPrtry>
897
+ <Cd>CLBD</Cd>
898
+ </CdOrPrtry>
899
+ </Tp>
900
+ <Amt Ccy="EUR">101.960000000017</Amt>
901
+ <CdtDbtInd>CRDT</CdtDbtInd>
902
+ <Dt>
903
+ <DtTm>2026-01-22T00:00:00.000+01:00</DtTm>
904
+ </Dt>
905
+ </Bal>
906
+ <Ntry>
907
+ <NtryRef>5J3C21XL0470L56V/39761</NtryRef>
908
+ <Amt Ccy="EUR">101.5</Amt>
909
+ <CdtDbtInd>DBIT</CdtDbtInd>
910
+ <Sts>BOOK</Sts>
911
+ <BookgDt>
912
+ <Dt>2025-12-08-01:00</Dt>
913
+ </BookgDt>
914
+ <ValDt>
915
+ <DtTm>2025-12-10T00:00:00.000-01:00</DtTm>
916
+ </ValDt>
917
+ <AcctSvcrRef>5J2C21XL0470L56V/39761</AcctSvcrRef>
918
+ <BkTxCd>
919
+ <Prtry>
920
+ <Cd>005</Cd>
921
+ <Issr></Issr>
922
+ </Prtry>
923
+ </BkTxCd>
924
+ <NtryDtls>
925
+ <TxDtls>
926
+ <RltdPties>
927
+ <Cdtr>
928
+ <Nm>AMAZON EU S.A R.L., NIEDERL ASSUNG DEUTSCHLAND</Nm>
929
+ </Cdtr>
930
+ <CdtrAcct>
931
+ <Id/>
932
+ </CdtrAcct>
933
+ </RltdPties>
934
+ <RmtInf>
935
+ <Ustrd>028-1234567-XXXXXXX Amazon.de 2ABCD</Ustrd>
936
+ <Ustrd>EF9GFP28</Ustrd>
937
+ <Ustrd>End-to-End-Ref.:</Ustrd>
938
+ <Ustrd>2ABCDEF9GHIJKL28</Ustrd>
939
+ <Ustrd>CORE / Mandatsref.:</Ustrd>
940
+ <Ustrd>7829857lkklag</Ustrd>
941
+ <Ustrd>Gläubiger-ID:</Ustrd>
942
+ <Ustrd>DE24ABC00000123456</Ustrd>
943
+ </RmtInf>
944
+ </TxDtls>
945
+ </NtryDtls>
946
+ </Ntry>
947
+ </Rpt>
948
+ </BkToCstmrAcctRpt>
949
+ </Document>
950
+ `;
951
+ const parser = new CamtParser(camtXml);
952
+ const statements = parser.parse();
953
+ expect(statements).toHaveLength(1);
954
+ const statement = statements[0];
955
+ expect(statement.transactions).toHaveLength(1);
956
+ const transaction = statement.transactions[0];
957
+ // Check all Transaction fields filled by the parser
958
+ expect(transaction.amount).toBe(-101.5);
959
+ expect(transaction.customerReference).toBe('');
960
+ expect(transaction.bankReference).toBe('5J2C21XL0470L56V/39761');
961
+ expect(transaction.purpose).toBe('028-1234567-XXXXXXX Amazon.de 2ABCD\nEF9GFP28\nEnd-to-End-Ref.:\n2ABCDEF9GHIJKL28\nCORE / Mandatsref.:\n7829857lkklag\nGläubiger-ID:\nDE24ABC00000123456');
962
+ expect(transaction.remoteName).toBe('AMAZON EU S.A R.L., NIEDERL ASSUNG DEUTSCHLAND');
963
+ expect(transaction.remoteAccountNumber).toBe('');
964
+ expect(transaction.remoteBankId).toBe('');
965
+ expect(transaction.e2eReference).toBe('');
966
+ // Check date fields
967
+ expect(transaction.valueDate).toBeInstanceOf(Date);
968
+ expect(transaction.valueDate.getFullYear()).toBe(2025);
969
+ expect(transaction.valueDate.getMonth()).toBe(11); // November (0-based)
970
+ expect(transaction.valueDate.getUTCDate()).toBe(10);
971
+ expect(transaction.entryDate).toBeInstanceOf(Date);
972
+ expect(transaction.entryDate.getFullYear()).toBe(2025);
973
+ expect(transaction.entryDate.getMonth()).toBe(11); // November (0-based)
974
+ expect(transaction.entryDate.getUTCDate()).toBe(8);
975
+ // Check transaction type and code fields
976
+ expect(transaction.fundsCode).toBe('DBIT');
977
+ expect(transaction.transactionType).toBe('');
978
+ expect(transaction.transactionCode).toBe('');
979
+ // Check additional information fields
980
+ expect(transaction.additionalInformation).toBe('');
981
+ expect(transaction.bookingText).toBe(''); // Should match additionalInformation
982
+ // Verify optional fields not set in this test
983
+ expect(transaction.primeNotesNr).toBeUndefined();
984
+ expect(transaction.remoteIdentifier).toBeUndefined();
985
+ expect(transaction.client).toBeUndefined();
986
+ expect(transaction.textKeyExtension).toBeUndefined();
987
+ });
858
988
  });
@@ -8,9 +8,17 @@ import { Message } from '../message.js';
8
8
  import { registerSegments } from '../segments/registry.js';
9
9
  // Mock HttpClient to prevent real HTTP calls
10
10
  vi.mock('../httpClient.js', () => ({
11
- HttpClient: vi.fn().mockImplementation(() => ({
12
- sendMessage: vi.fn(),
13
- })),
11
+ HttpClient: class MockHttpClient {
12
+ url;
13
+ debug;
14
+ debugRaw;
15
+ constructor(url, debug = false, debugRaw = false) {
16
+ this.url = url;
17
+ this.debug = debug;
18
+ this.debugRaw = debugRaw;
19
+ }
20
+ sendMessage = vi.fn();
21
+ },
14
22
  }));
15
23
  describe('Dialog', () => {
16
24
  let config;
@@ -1,6 +1,22 @@
1
+ import type { HICAZSParameter } from './segments/HICAZS.js';
2
+ import type { HIKAZSParameter } from './segments/HIKAZS.js';
3
+ import type { HISPASParameter } from './segments/HISPAS.js';
1
4
  export type BankTransaction = {
2
5
  transId: string;
3
6
  tanRequired: boolean;
4
7
  versions: number[];
8
+ params?: unknown;
9
+ };
10
+ export type SepaBankTransaction = BankTransaction & {
11
+ transId: 'HKSPA';
12
+ params: HISPASParameter;
13
+ };
14
+ export type StatementTransactionMT940 = BankTransaction & {
15
+ transId: 'HKKAZ';
16
+ params: HIKAZSParameter;
17
+ };
18
+ export type StatementTransactionCAMT = BankTransaction & {
19
+ transId: 'HKCAZ';
20
+ params: HICAZSParameter;
5
21
  };
6
22
  //# sourceMappingURL=bankTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bankTransaction.d.ts","sourceRoot":"","sources":["../../src/bankTransaction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"bankTransaction.d.ts","sourceRoot":"","sources":["../../src/bankTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,eAAe,GAAG;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"camtParser.d.ts","sourceRoot":"","sources":["../../src/camtParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,SAAS,EAAe,MAAM,gBAAgB,CAAC;AAsJtE,qBAAa,gBAAiB,SAAQ,KAAK;IAGlC,KAAK,CAAC;gBADb,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,mBAAO;CAKrB;AAED,qBAAa,UAAU;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAY;gBAEd,OAAO,EAAE,MAAM;IAoB3B,KAAK,IAAI,SAAS,EAAE;IA8CpB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,WAAW;IAwEnB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,aAAa;IAuFrB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,gBAAgB;IA8ExB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAwCxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,wBAAwB;CAyBhC"}
1
+ {"version":3,"file":"camtParser.d.ts","sourceRoot":"","sources":["../../src/camtParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,SAAS,EAAe,MAAM,gBAAgB,CAAC;AAsJtE,qBAAa,gBAAiB,SAAQ,KAAK;IAGlC,KAAK,CAAC,EAAE,KAAK;gBADpB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,KAAK,YAAA;CAKrB;AAED,qBAAa,UAAU;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAY;gBAEd,OAAO,EAAE,MAAM;IAoB3B,KAAK,IAAI,SAAS,EAAE;IA8CpB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,WAAW;IAwEnB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,aAAa;IAuFrB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,gBAAgB;IAkFxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAwCxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,wBAAwB;CAyBhC"}
@@ -75,6 +75,12 @@ export declare class FinTSConfig {
75
75
  * The currently selected TAN method for the user
76
76
  */
77
77
  get selectedTanMethod(): TanMethod | undefined;
78
+ /**
79
+ * Gets the transaction parameters for a specific transaction ID
80
+ * @param transId The transaction ID
81
+ * @returns The transaction parameters or undefined if not available
82
+ */
83
+ getTransactionParameters<T>(transId: string): T | undefined;
78
84
  /**
79
85
  * Checks if a transaction is supported by the bank
80
86
  * @param transId The transaction ID
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AACH,qBAAa,WAAW;IAKf,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,MAAM;IAC7B,OAAO,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,kBAAkB,CAAC;IACpB,MAAM,CAAC;IACP,GAAG,CAAC;IAEJ,WAAW,CAAC;IACZ,YAAY,CAAC;IACb,UAAU,CAAC;IAClB,OAAO,CAAC,OAAO;IAdhB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,UAAS;IAErB,OAAO;IA+CP;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,eAAe,CACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,GAAE,MAAY,GACvB,WAAW;IAgBd;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,sBAAsB,CAC5B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,GAAE,MAAY,GACvB,WAAW;IAgBd;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,SAAS,EAAE,CAMrC;IAED;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAU/C;;;OAGG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM;IAcnC;;OAEG;IACH,IAAI,iBAAiB,IAAI,SAAS,GAAG,SAAS,CAE7C;IAED;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOhD;;;;OAIG;IACH,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAK9E;;;OAGG;IACH,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAgBtE;;;OAGG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW;CAWlD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AACH,qBAAa,WAAW;IAKf,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,MAAM;IAC7B,OAAO,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,kBAAkB,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM;IACf,GAAG,CAAC,EAAE,MAAM;IAEZ,WAAW,CAAC,EAAE,MAAM;IACpB,YAAY,CAAC,EAAE,MAAM;IACrB,UAAU,CAAC,EAAE,MAAM;IAC1B,OAAO,CAAC,OAAO;IAdhB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,UAAS;IAErB,OAAO;IA+CP;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,eAAe,CACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,GAAE,MAAY,GACvB,WAAW;IAgBd;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,sBAAsB,CAC5B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,GAAE,MAAY,GACvB,WAAW;IAgBd;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,SAAS,EAAE,CAMrC;IAED;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAU/C;;;OAGG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM;IAcnC;;OAEG;IACH,IAAI,iBAAiB,IAAI,SAAS,GAAG,SAAS,CAE7C;IAED;;;;OAIG;IACH,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAO3D;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOhD;;;;OAIG;IACH,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAK9E;;;OAGG;IACH,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAgBtE;;;OAGG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW;CAWlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlphaNumeric.d.ts","sourceRoot":"","sources":["../../../src/dataElements/AlphaNumeric.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,YAAa,SAAQ,WAAW;IAKpC,SAAS,CAAC;gBAHjB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,oBAAQ,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgB7B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAG5B"}
1
+ {"version":3,"file":"AlphaNumeric.d.ts","sourceRoot":"","sources":["../../../src/dataElements/AlphaNumeric.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,YAAa,SAAQ,WAAW;IAKpC,SAAS,CAAC,EAAE,MAAM;gBAHzB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,EAAE,MAAM,YAAA,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgB7B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAG5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Binary.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,MAAO,SAAQ,WAAW;IAK9B,SAAS,CAAC;gBAHjB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,oBAAQ,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAY7B,MAAM,CAAC,IAAI,EAAE,MAAM;CAGnB"}
1
+ {"version":3,"file":"Binary.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,MAAO,SAAQ,WAAW;IAK9B,SAAS,CAAC,EAAE,MAAM;gBAHzB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,EAAE,MAAM,YAAA,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAY7B,MAAM,CAAC,IAAI,EAAE,MAAM;CAGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataElement.d.ts","sourceRoot":"","sources":["../../../src/dataElements/DataElement.ts"],"names":[],"mappings":"AAAA,8BAAsB,WAAW;IAExB,IAAI,EAAE,MAAM;IACZ,QAAQ;IACR,QAAQ;IACR,UAAU,CAAC;IACX,UAAU,CAAC;gBAJX,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACZ,UAAU,CAAC,oBAAQ,EACnB,UAAU,CAAC,oBAAQ;IAW3B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAC3E,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE7F,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAItC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOrC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAShC"}
1
+ {"version":3,"file":"DataElement.d.ts","sourceRoot":"","sources":["../../../src/dataElements/DataElement.ts"],"names":[],"mappings":"AAAA,8BAAsB,WAAW;IAExB,IAAI,EAAE,MAAM;IACZ,QAAQ;IACR,QAAQ;IACR,UAAU,CAAC,EAAE,MAAM;IACnB,UAAU,CAAC,EAAE,MAAM;gBAJnB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACZ,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,UAAU,CAAC,EAAE,MAAM,YAAA;IAW3B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAC3E,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE7F,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAItC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOrC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAShC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Float.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Float.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,KAAM,SAAQ,WAAW;IAK7B,SAAS,CAAC;gBAHjB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,oBAAQ,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAa7B,MAAM,CAAC,IAAI,EAAE,MAAM;CAGnB"}
1
+ {"version":3,"file":"Float.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Float.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,KAAM,SAAQ,WAAW;IAK7B,SAAS,CAAC,EAAE,MAAM;gBAHzB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,EAAE,MAAM,YAAA,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAa7B,MAAM,CAAC,IAAI,EAAE,MAAM;CAGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Numeric.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Numeric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,OAAQ,SAAQ,WAAW;IAK/B,SAAS,CAAC;gBAHjB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,oBAAQ,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgB7B,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGnC"}
1
+ {"version":3,"file":"Numeric.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Numeric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,OAAQ,SAAQ,WAAW;IAK/B,SAAS,CAAC,EAAE,MAAM;gBAHzB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,EAAE,MAAM,YAAA,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgB7B,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,IAAK,SAAQ,WAAW;IAK5B,SAAS,CAAC;gBAHjB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,oBAAQ,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAY7B,MAAM,CAAC,IAAI,EAAE,MAAM;CAGnB"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/dataElements/Text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,IAAK,SAAQ,WAAW;IAK5B,SAAS,CAAC,EAAE,MAAM;gBAHzB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAI,EACZ,QAAQ,SAAI,EACL,SAAS,CAAC,EAAE,MAAM,YAAA,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAY7B,MAAM,CAAC,IAAI,EAAE,MAAM;CAGnB"}
@@ -2,6 +2,6 @@ import { DataElement } from './DataElement.js';
2
2
  export declare class YesNo extends DataElement {
3
3
  constructor(name: string, minCount?: number, maxCount?: number, minVersion?: number, maxVersion?: number);
4
4
  encode(value: boolean): string;
5
- decode(text: string): boolean;
5
+ decode(text: string): text is "J";
6
6
  }
7
7
  //# sourceMappingURL=YesNo.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { DataGroup } from './DataGroup.js';
2
+ export type CamtAccount = {
3
+ iban?: string;
4
+ bic?: string;
5
+ };
6
+ export declare class CamtAccountGroup extends DataGroup {
7
+ constructor(name: string, minCount?: number, maxCount?: number, minVersion?: number, maxVersion?: number);
8
+ }
9
+ //# sourceMappingURL=CamtAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CamtAccount.d.ts","sourceRoot":"","sources":["../../../src/dataGroups/CamtAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,SAAS;gBAClC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,QAAQ,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAU9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"creditcardStatementInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/creditcardStatementInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IAClE,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED,qBAAa,8BAA+B,SAAQ,wBAAwB;IAEnE,aAAa,EAAE,MAAM;IACrB,IAAI,CAAC;gBADL,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,kBAAM;IAKnB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAuB5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,2BAA2B;CA8E7E"}
1
+ {"version":3,"file":"creditcardStatementInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/creditcardStatementInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IAClE,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED,qBAAa,8BAA+B,SAAQ,wBAAwB;IAEnE,aAAa,EAAE,MAAM;IACrB,IAAI,CAAC,EAAE,IAAI;gBADX,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,YAAA;IAKnB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAuB5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,2BAA2B;CA8E7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"initDialogInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/initDialogInteraction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAe7C,OAAO,EAAE,KAAK,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpF,MAAM,WAAW,YAAa,SAAQ,cAAc;IACnD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,qBAAa,qBAAsB,SAAQ,mBAAmB;IAErD,MAAM,EAAE,WAAW;IACnB,YAAY;gBADZ,MAAM,EAAE,WAAW,EACnB,YAAY,UAAQ;IAK5B,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAoC5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY;CAkK9D"}
1
+ {"version":3,"file":"initDialogInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/initDialogInteraction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAgB7C,OAAO,EAAE,KAAK,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpF,MAAM,WAAW,YAAa,SAAQ,cAAc;IACnD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,qBAAa,qBAAsB,SAAQ,mBAAmB;IAErD,MAAM,EAAE,WAAW;IACnB,YAAY;gBADZ,MAAM,EAAE,WAAW,EACnB,YAAY,UAAQ;IAK5B,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAoC5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY;CA0K9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"portfolioInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/portfolioInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAE3D,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD;;OAEG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,wBAAwB;IAEzD,aAAa,EAAE,MAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,gBAAgB,CAAC;gBAJlB,aAAa,EAAE,MAAM,EACpB,QAAQ,CAAC,oBAAQ,EACjB,YAAY,CAAC,uBAAW,EACxB,UAAU,CAAC,oBAAQ,EACnB,gBAAgB,CAAC,oBAAQ;IAKlC,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,EAAE;IA4B9C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,GAAG,IAAI;CAe1E"}
1
+ {"version":3,"file":"portfolioInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/portfolioInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAE3D,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD;;OAEG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,wBAAwB;IAEzD,aAAa,EAAE,MAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,gBAAgB,CAAC;gBAJlB,aAAa,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,YAAA,EACxB,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAKlC,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,EAAE;IA4B9C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,GAAG,IAAI;CAe1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"sepaAccountInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/sepaAccountInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IAC1D,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,qBAAa,sBAAuB,SAAQ,wBAAwB;IAE3D,QAAQ,CAAC;IACT,UAAU,CAAC;gBADX,QAAQ,CAAC,sBAAU,EAAE,oCAAoC;IACzD,UAAU,CAAC,oBAAQ;IAK3B,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAwB5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB;CAmBrE"}
1
+ {"version":3,"file":"sepaAccountInteraction.d.ts","sourceRoot":"","sources":["../../../src/interactions/sepaAccountInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IAC1D,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,qBAAa,sBAAuB,SAAQ,wBAAwB;IAE3D,QAAQ,CAAC,EAAE,MAAM,EAAE;IACnB,UAAU,CAAC,EAAE,MAAM;gBADnB,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAA,EAAE,oCAAoC;IACzD,UAAU,CAAC,EAAE,MAAM,YAAA;IAK3B,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAwB5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB;CAmBrE"}
@@ -6,7 +6,6 @@ export declare class StatementInteractionCAMT extends CustomerOrderInteraction {
6
6
  accountNumber: string;
7
7
  from?: Date | undefined;
8
8
  to?: Date | undefined;
9
- private acceptedCamtFormats;
10
9
  constructor(accountNumber: string, from?: Date | undefined, to?: Date | undefined);
11
10
  createSegments(init: FinTSConfig): Segment[];
12
11
  handleResponse(response: Message, clientResponse: StatementResponse): void;
@@ -1 +1 @@
1
- {"version":3,"file":"statementInteractionCAMT.d.ts","sourceRoot":"","sources":["../../../src/interactions/statementInteractionCAMT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,qBAAa,wBAAyB,SAAQ,wBAAwB;IAI7D,aAAa,EAAE,MAAM;IACrB,IAAI,CAAC;IACL,EAAE,CAAC;IALX,OAAO,CAAC,mBAAmB,CAAgE;gBAGnF,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,kBAAM,EACX,EAAE,CAAC,kBAAM;IAKjB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAmB5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB;CAoBnE"}
1
+ {"version":3,"file":"statementInteractionCAMT.d.ts","sourceRoot":"","sources":["../../../src/interactions/statementInteractionCAMT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,EAAE,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,qBAAa,wBAAyB,SAAQ,wBAAwB;IAE7D,aAAa,EAAE,MAAM;IACrB,IAAI,CAAC,EAAE,IAAI;IACX,EAAE,CAAC,EAAE,IAAI;gBAFT,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,YAAA,EACX,EAAE,CAAC,EAAE,IAAI,YAAA;IAKjB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IA6B5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB;CAiCnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"statementInteractionMT940.d.ts","sourceRoot":"","sources":["../../../src/interactions/statementInteractionMT940.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,qBAAa,yBAA0B,SAAQ,wBAAwB;IAE9D,aAAa,EAAE,MAAM;IACrB,IAAI,CAAC;IACL,EAAE,CAAC;gBAFH,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,kBAAM,EACX,EAAE,CAAC,kBAAM;IAKjB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAoB5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB;CAcnE"}
1
+ {"version":3,"file":"statementInteractionMT940.d.ts","sourceRoot":"","sources":["../../../src/interactions/statementInteractionMT940.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,qBAAa,yBAA0B,SAAQ,wBAAwB;IAE9D,aAAa,EAAE,MAAM;IACrB,IAAI,CAAC,EAAE,IAAI;IACX,EAAE,CAAC,EAAE,IAAI;gBAFT,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,IAAI,YAAA,EACX,EAAE,CAAC,EAAE,IAAI,YAAA;IAKjB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAoB5C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB;CAcnE"}
@@ -1,7 +1,13 @@
1
- import { type SepaAccountParameters } from '../dataGroups/SepaAccountParameters.js';
2
1
  import { BusinessTransactionParameter, type BusinessTransactionParameterSegment } from './businessTransactionParameter.js';
3
- export type HISPASSegment = BusinessTransactionParameterSegment<SepaAccountParameters>;
4
- export type HISPASParameter = SepaAccountParameters;
2
+ export type HISPASSegment = BusinessTransactionParameterSegment<HISPASParameter>;
3
+ export type HISPASParameter = {
4
+ individualAccountRetrievalAllowed: boolean;
5
+ nationalAccountAllowed: boolean;
6
+ structuredPurposeAllowed: boolean;
7
+ maxEntriesAllowed?: boolean;
8
+ reservedPurposePositions?: number;
9
+ supportedSepaFormats?: string[];
10
+ };
5
11
  /**
6
12
  * Parameters for HKSPA business transaction - SEPA account connection request
7
13
  * Version 3 supports all parameters including reserved purpose positions
@@ -1 +1 @@
1
- {"version":3,"file":"HISPAS.d.ts","sourceRoot":"","sources":["../../../src/segments/HISPAS.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,qBAAqB,EAE1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,4BAA4B,EAC5B,KAAK,mCAAmC,EACxC,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,mCAAmC,CAAC,qBAAqB,CAAC,CAAC;AAEvF,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,4BAA4B;IACvD,MAAM,CAAC,EAAE,SAAY;IACrB,OAAO,SAAK;;CASZ"}
1
+ {"version":3,"file":"HISPAS.d.ts","sourceRoot":"","sources":["../../../src/segments/HISPAS.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,4BAA4B,EAC5B,KAAK,mCAAmC,EACxC,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,mCAAmC,CAAC,eAAe,CAAC,CAAC;AAEjF,MAAM,MAAM,eAAe,GAAG;IAC7B,iCAAiC,EAAE,OAAO,CAAC;IAC3C,sBAAsB,EAAE,OAAO,CAAC;IAChC,wBAAwB,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAO,SAAQ,4BAA4B;IACvD,MAAM,CAAC,EAAE,SAAY;IACrB,OAAO,SAAK;;CAgBZ"}
@@ -2,12 +2,12 @@ import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
2
  import { Dat } from '../dataElements/Dat.js';
3
3
  import { Numeric } from '../dataElements/Numeric.js';
4
4
  import { YesNo } from '../dataElements/YesNo.js';
5
+ import { type CamtAccount } from '../dataGroups/CamtAccount.js';
5
6
  import { DataGroup } from '../dataGroups/DataGroup.js';
6
- import { type InternationalAccount } from '../dataGroups/InternationalAccount.js';
7
7
  import type { SegmentWithContinuationMark } from '../segment.js';
8
8
  import { SegmentDefinition } from '../segmentDefinition.js';
9
9
  export type HKCAZSegment = SegmentWithContinuationMark & {
10
- account: InternationalAccount;
10
+ account: CamtAccount;
11
11
  acceptedCamtFormats: string[];
12
12
  allAccounts: boolean;
13
13
  from?: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"HKCAZ.d.ts","sourceRoot":"","sources":["../../../src/segments/HKCAZ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACN,KAAK,oBAAoB,EAEzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG;IACxD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAM,SAAQ,iBAAiB;IAC3C,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,OAAO,SAAK;;IAInB,OAAO,SAAiB;IACxB,QAAQ,uDAQN;CACF"}
1
+ {"version":3,"file":"HKCAZ.d.ts","sourceRoot":"","sources":["../../../src/segments/HKCAZ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,2BAA2B,GAAG;IACxD,OAAO,EAAE,WAAW,CAAC;IACrB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,KAAM,SAAQ,iBAAiB;IAC3C,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,OAAO,SAAK;;IAInB,OAAO,SAAiB;IACxB,QAAQ,uDAQN;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib-fints",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "description": "Typescript/Javascript client library for Online-Banking via the FinTS 3.0 protocol with PIN/TAN",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"
@@ -40,9 +40,9 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@biomejs/biome": "2.3.10",
43
- "@types/node": "^20.19.26",
44
- "typescript": "^5.3.3",
45
- "vitest": "^1.6.0"
43
+ "@types/node": "^20.19.30",
44
+ "typescript": "^5.9.3",
45
+ "vitest": "^4.0.17"
46
46
  },
47
47
  "dependencies": {
48
48
  "fast-xml-parser": "^5.3.3"
@@ -1,16 +0,0 @@
1
- import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
- import { Numeric } from '../dataElements/Numeric.js';
3
- import { YesNo } from '../dataElements/YesNo.js';
4
- import { DataGroup } from './DataGroup.js';
5
- export class SepaAccountParametersGroup extends DataGroup {
6
- constructor(name, minCount = 1, maxCount = 1, minVersion, maxVersion) {
7
- super(name, [
8
- new YesNo('individualAccountRetrievalAllowed', 1, 1),
9
- new YesNo('nationalAccountAllowed', 1, 1),
10
- new YesNo('structuredPurposeAllowed', 1, 1),
11
- new YesNo('maxEntriesAllowed', 1, 1, 2), // version 2+
12
- new Numeric('reservedPurposePositions', 1, 1, 2, 3), // version 3+
13
- new AlphaNumeric('supportedSepaFormats', 0, 99, 256), // optional, up to 99 entries
14
- ], minCount, maxCount, minVersion, maxVersion);
15
- }
16
- }
@@ -1,13 +0,0 @@
1
- import { DataGroup } from './DataGroup.js';
2
- export type SepaAccountParameters = {
3
- individualAccountRetrievalAllowed: boolean;
4
- nationalAccountAllowed: boolean;
5
- structuredPurposeAllowed: boolean;
6
- maxEntriesAllowed?: boolean;
7
- reservedPurposePositions?: number;
8
- supportedSepaFormats?: string[];
9
- };
10
- export declare class SepaAccountParametersGroup extends DataGroup {
11
- constructor(name: string, minCount?: number, maxCount?: number, minVersion?: number, maxVersion?: number);
12
- }
13
- //# sourceMappingURL=SepaAccountParameters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SepaAccountParameters.d.ts","sourceRoot":"","sources":["../../../src/dataGroups/SepaAccountParameters.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG;IACnC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,sBAAsB,EAAE,OAAO,CAAC;IAChC,wBAAwB,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,qBAAa,0BAA2B,SAAQ,SAAS;gBAC5C,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,QAAQ,SAAI,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAiB9F"}