lib-fints 1.4.7 → 1.5.0

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 (58) hide show
  1. package/README.md +3 -1
  2. package/dist/client.js +37 -0
  3. package/dist/dataElements/Binary.js +18 -1
  4. package/dist/dialog.js +64 -35
  5. package/dist/electronicStatement.js +1 -0
  6. package/dist/httpClient.js +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/interactions/creditcardStatementInteraction.js +9 -1
  9. package/dist/interactions/electronicStatementInteraction.js +88 -0
  10. package/dist/interactions/initDialogInteraction.js +3 -1
  11. package/dist/interactions/portfolioInteraction.js +10 -4
  12. package/dist/interactions/sepaAccountInteraction.js +5 -3
  13. package/dist/interactions/statementInteractionCAMT.js +8 -3
  14. package/dist/interactions/statementInteractionMT940.js +10 -3
  15. package/dist/message.js +5 -1
  16. package/dist/segments/HIEKA.js +45 -0
  17. package/dist/segments/HIEKAS.js +18 -0
  18. package/dist/segments/HKCAZ.js +2 -2
  19. package/dist/segments/HKEKA.js +43 -0
  20. package/dist/segments/registry.js +6 -0
  21. package/dist/tests/HKEKA.test.js +198 -0
  22. package/dist/tests/partedResponse.test.js +181 -0
  23. package/dist/types/client.d.ts +28 -0
  24. package/dist/types/client.d.ts.map +1 -1
  25. package/dist/types/dataElements/Binary.d.ts +7 -0
  26. package/dist/types/dataElements/Binary.d.ts.map +1 -1
  27. package/dist/types/dialog.d.ts +15 -0
  28. package/dist/types/dialog.d.ts.map +1 -1
  29. package/dist/types/electronicStatement.d.ts +40 -0
  30. package/dist/types/electronicStatement.d.ts.map +1 -0
  31. package/dist/types/index.d.ts +3 -0
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/types/interactions/creditcardStatementInteraction.d.ts.map +1 -1
  34. package/dist/types/interactions/electronicStatementInteraction.d.ts +33 -0
  35. package/dist/types/interactions/electronicStatementInteraction.d.ts.map +1 -0
  36. package/dist/types/interactions/initDialogInteraction.d.ts.map +1 -1
  37. package/dist/types/interactions/portfolioInteraction.d.ts.map +1 -1
  38. package/dist/types/interactions/sepaAccountInteraction.d.ts.map +1 -1
  39. package/dist/types/interactions/statementInteractionCAMT.d.ts.map +1 -1
  40. package/dist/types/interactions/statementInteractionMT940.d.ts.map +1 -1
  41. package/dist/types/message.d.ts.map +1 -1
  42. package/dist/types/segments/HIEKA.d.ts +52 -0
  43. package/dist/types/segments/HIEKA.d.ts.map +1 -0
  44. package/dist/types/segments/HIEKAS.d.ts +21 -0
  45. package/dist/types/segments/HIEKAS.d.ts.map +1 -0
  46. package/dist/types/segments/HKCAZ.d.ts +2 -2
  47. package/dist/types/segments/HKCAZ.d.ts.map +1 -1
  48. package/dist/types/segments/HKEKA.d.ts +54 -0
  49. package/dist/types/segments/HKEKA.d.ts.map +1 -0
  50. package/dist/types/segments/registry.d.ts.map +1 -1
  51. package/dist/types/tests/HKEKA.test.d.ts +2 -0
  52. package/dist/types/tests/HKEKA.test.d.ts.map +1 -0
  53. package/dist/types/tests/partedResponse.test.d.ts +2 -0
  54. package/dist/types/tests/partedResponse.test.d.ts.map +1 -0
  55. package/package.json +5 -5
  56. package/dist/dataGroups/CamtAccount.js +0 -7
  57. package/dist/types/dataGroups/CamtAccount.d.ts +0 -9
  58. package/dist/types/dataGroups/CamtAccount.d.ts.map +0 -1
@@ -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,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
+ {"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;CAsBnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAa5C,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,qBAAqB,CAAC;AAEpE,qBAAa,OAAO;IACA,QAAQ,EAAE,OAAO,EAAE;gBAAnB,QAAQ,EAAE,OAAO,EAAE;IAEtC,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKhE,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;IAI1D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE;IAO3D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASpC,oBAAoB,IAAI,MAAM;IAU9B,cAAc,IAAI,UAAU,EAAE;IA6B9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO;IAoBlE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO;IAiBzE,QAAQ,CAAC,cAAc,UAAQ,GAAG,MAAM;CAQxC;AAED,qBAAa,eAAgB,SAAQ,OAAO;IAC3C,mBAAmB,SAAK;gBAEZ,QAAQ,GAAE,MAAY,EAAE,KAAK,SAAI;IAiB7C,MAAM,IAAI,MAAM;IAwEhB,IAAI,CACH,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM;IAuCb,UAAU,CAAC,OAAO,EAAE,OAAO;CAS3B;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IAEhD,UAAU,EAAE,MAAM;IAClB,kBAAkB,EAAE,MAAM;gBAD1B,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EACjC,QAAQ,GAAE,MAAY,EACtB,KAAK,SAAI;IAKV,IAAI,8BAA8B,IAAI,OAAO,CAG5C;CACD"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAa5C,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,qBAAqB,CAAC;AAEpE,qBAAa,OAAO;IACA,QAAQ,EAAE,OAAO,EAAE;gBAAnB,QAAQ,EAAE,OAAO,EAAE;IAEtC,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKhE,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;IAI1D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE;IAO3D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASpC,oBAAoB,IAAI,MAAM;IAU9B,cAAc,IAAI,UAAU,EAAE;IA6B9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO;IAoBlE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO;IAqBzE,QAAQ,CAAC,cAAc,UAAQ,GAAG,MAAM;CAQxC;AAED,qBAAa,eAAgB,SAAQ,OAAO;IAC3C,mBAAmB,SAAK;gBAEZ,QAAQ,GAAE,MAAY,EAAE,KAAK,SAAI;IAiB7C,MAAM,IAAI,MAAM;IAwEhB,IAAI,CACH,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM;IAuCb,UAAU,CAAC,OAAO,EAAE,OAAO;CAS3B;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IAEhD,UAAU,EAAE,MAAM;IAClB,kBAAkB,EAAE,MAAM;gBAD1B,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,EACjC,QAAQ,GAAE,MAAY,EACtB,KAAK,SAAI;IAKV,IAAI,8BAA8B,IAAI,OAAO,CAG5C;CACD"}
@@ -0,0 +1,52 @@
1
+ import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
+ import { Binary } from '../dataElements/Binary.js';
3
+ import { Dat } from '../dataElements/Dat.js';
4
+ import { Numeric } from '../dataElements/Numeric.js';
5
+ import { DataGroup } from '../dataGroups/DataGroup.js';
6
+ import type { Segment } from '../segment.js';
7
+ import { SegmentDefinition } from '../segmentDefinition.js';
8
+ import type { StatementFormat } from './HKEKA.js';
9
+ export type HIEKASegment = Segment & {
10
+ format: StatementFormat;
11
+ timeRange?: {
12
+ from?: Date;
13
+ to?: Date;
14
+ };
15
+ date?: Date;
16
+ year?: number;
17
+ number?: number;
18
+ /** The statement document itself — a PDF when format is '3' */
19
+ booked: string;
20
+ closingInfo?: string;
21
+ conditionsInfo?: string;
22
+ advertisement?: string;
23
+ iban?: string;
24
+ bic?: string;
25
+ name?: string;
26
+ name2?: string;
27
+ name3?: string;
28
+ /** Receipt to acknowledge the statement with, when the bank requires acknowledgement */
29
+ receipt?: string;
30
+ };
31
+ /**
32
+ * Electronic account statement response (Elektronischer Kontoauszug)
33
+ *
34
+ * The element order follows the FinTS 3.0 specification, and two details of it are easy
35
+ * to get wrong:
36
+ *
37
+ * - `booked` sits AFTER date/year/number, not before them. HIEKP v2 orders the same
38
+ * fields the other way round — the order is specific to each segment and cannot be
39
+ * carried over from one to the other.
40
+ * - Only version 5 carries date/year/number at all; up to version 4 `booked` follows
41
+ * the time range directly, and version 1 has no iban/bic/name either. Decoding an
42
+ * older response with the version 5 layout does not fail, it silently shifts every
43
+ * field by three positions and hands out the advertisement text as the document.
44
+ */
45
+ export declare class HIEKA extends SegmentDefinition {
46
+ static Id: string;
47
+ static Version: number;
48
+ constructor();
49
+ version: number;
50
+ elements: (AlphaNumeric | DataGroup | Numeric | Binary | Dat)[];
51
+ }
52
+ //# sourceMappingURL=HIEKA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HIEKA.d.ts","sourceRoot":"","sources":["../../../src/segments/HIEKA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IACpC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IACvC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAM,SAAQ,iBAAiB;IAC3C,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,OAAO,SAAK;;IAInB,OAAO,SAAiB;IACxB,QAAQ,wDAgBN;CACF"}
@@ -0,0 +1,21 @@
1
+ import { BusinessTransactionParameter, type BusinessTransactionParameterSegment } from './businessTransactionParameter.js';
2
+ export type HIEKASSegment = BusinessTransactionParameterSegment<HIEKASParameter>;
3
+ export type HIEKASParameter = {
4
+ /** Whether a specific statement may be requested by number and year */
5
+ indexAllowed: boolean;
6
+ /** Whether the bank expects each fetched statement to be acknowledged with its receipt */
7
+ receiptRequired: boolean;
8
+ /** Whether the number of entries may be limited */
9
+ maxEntryCountAllowed: boolean;
10
+ /** The statement formats the bank supports, see StatementFormat */
11
+ supportedFormats: string[];
12
+ };
13
+ /**
14
+ * Parameters for the HKEKA business transaction (electronic account statements)
15
+ */
16
+ export declare class HIEKAS extends BusinessTransactionParameter {
17
+ static Id: string;
18
+ version: number;
19
+ constructor();
20
+ }
21
+ //# sourceMappingURL=HIEKAS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HIEKAS.d.ts","sourceRoot":"","sources":["../../../src/segments/HIEKAS.ts"],"names":[],"mappings":"AAEA,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,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,0FAA0F;IAC1F,eAAe,EAAE,OAAO,CAAC;IACzB,mDAAmD;IACnD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,qBAAa,MAAO,SAAQ,4BAA4B;IACvD,MAAM,CAAC,EAAE,SAAY;IACrB,OAAO,SAAK;;CAUZ"}
@@ -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';
6
5
  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: CamtAccount;
10
+ account: InternationalAccount;
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,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"}
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"}
@@ -0,0 +1,54 @@
1
+ import { AlphaNumeric } from '../dataElements/AlphaNumeric.js';
2
+ import { Numeric } from '../dataElements/Numeric.js';
3
+ import { type Account, AccountGroup } from '../dataGroups/Account.js';
4
+ import { type InternationalAccount, InternationalAccountGroup } from '../dataGroups/InternationalAccount.js';
5
+ import type { Segment } from '../segment.js';
6
+ import { SegmentDefinition } from '../segmentDefinition.js';
7
+ /**
8
+ * Format of the electronic account statement.
9
+ * The bank announces the formats it supports in the HIEKAS parameters.
10
+ */
11
+ export declare enum StatementFormat {
12
+ MT940 = "1",
13
+ ISO8583 = "2",
14
+ PDF = "3"
15
+ }
16
+ export type HKEKASegment = Segment & {
17
+ /** National account connection up to version 3, international from version 4 on */
18
+ account: Account | InternationalAccount;
19
+ statementFormat?: StatementFormat;
20
+ /** The sequential number of the statement to fetch, only allowed when the bank sets `indexAllowed` */
21
+ statementNumber?: number;
22
+ /** The year the statement number refers to, not available before version 3 */
23
+ statementYear?: number;
24
+ maxEntries?: number;
25
+ /**
26
+ * The offset ("Aufsetzpunkt") the bank returned with answer code 3040, to fetch the
27
+ * next statement.
28
+ *
29
+ * This is deliberately NOT named `continuationMark`: for HKEKA the bank does not split
30
+ * one oversized response across messages, it announces that a *further document* is
31
+ * waiting. Naming it `continuationMark` would make the generic parted-message handling
32
+ * splice two complete HIEKA segments into one corrupt segment.
33
+ */
34
+ offset?: string;
35
+ };
36
+ /**
37
+ * Request an electronic account statement (Elektronischer Kontoauszug)
38
+ *
39
+ * Unlike HKKAZ/HKCAZ this does not return individual transactions but the statement
40
+ * document the bank files in the customer's electronic mailbox — for most banks a PDF.
41
+ *
42
+ * A statement is handed out once: the bank keeps track of which statements have already
43
+ * been fetched and announces remaining ones with answer code 3040 plus an offset. Banks
44
+ * that set `receiptRequired` in their HIEKAS parameters expect each statement to be
45
+ * acknowledged before they consider it delivered.
46
+ */
47
+ export declare class HKEKA extends SegmentDefinition {
48
+ static Id: string;
49
+ static Version: number;
50
+ constructor();
51
+ version: number;
52
+ elements: (AlphaNumeric | AccountGroup | Numeric | InternationalAccountGroup)[];
53
+ }
54
+ //# sourceMappingURL=HKEKA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HKEKA.d.ts","sourceRoot":"","sources":["../../../src/segments/HKEKA.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,KAAK,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACN,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;GAGG;AACH,oBAAY,eAAe;IAC1B,KAAK,MAAM;IACX,OAAO,MAAM;IACb,GAAG,MAAM;CACT;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IACpC,mFAAmF;IACnF,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,sGAAsG;IACtG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,KAAM,SAAQ,iBAAiB;IAC3C,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,OAAO,SAAK;;IAInB,OAAO,SAAiB;IACxB,QAAQ,wEAQN;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/segments/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA4CjE,wBAAgB,gBAAgB,SA4C/B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE9E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/segments/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA+CjE,wBAAgB,gBAAgB,SA+C/B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE9E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HKEKA.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HKEKA.test.d.ts","sourceRoot":"","sources":["../../../src/tests/HKEKA.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=partedResponse.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partedResponse.test.d.ts","sourceRoot":"","sources":["../../../src/tests/partedResponse.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib-fints",
3
- "version": "1.4.7",
3
+ "version": "1.5.0",
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"
@@ -36,15 +36,15 @@
36
36
  "license": "LGPL-2.1-or-later",
37
37
  "repository": {
38
38
  "type": "git",
39
- "url": "https://github.com/robocode13/lib-fints.git"
39
+ "url": "git+https://github.com/robocode13/lib-fints.git"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@biomejs/biome": "2.3.10",
43
- "@types/node": "^20.19.30",
43
+ "@types/node": "^20.19.41",
44
44
  "typescript": "^5.9.3",
45
- "vitest": "^4.0.17"
45
+ "vitest": "^4.1.10"
46
46
  },
47
47
  "dependencies": {
48
- "fast-xml-parser": "^5.3.3"
48
+ "fast-xml-parser": "^5.8.0"
49
49
  }
50
50
  }
@@ -1,7 +0,0 @@
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
- }
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}