@coderoftime/fints 0.1.0 → 0.2.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.
- package/CHANGELOG.md +142 -1
- package/README.md +127 -37
- package/dist/client.d.ts +48 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +199 -0
- package/dist/client.js.map +1 -0
- package/dist/core/account.d.ts +35 -7
- package/dist/core/account.d.ts.map +1 -1
- package/dist/core/account.js +84 -13
- package/dist/core/account.js.map +1 -1
- package/dist/core/amount.d.ts +2 -1
- package/dist/core/amount.d.ts.map +1 -1
- package/dist/core/amount.js +4 -1
- package/dist/core/amount.js.map +1 -1
- package/dist/core/balance.d.ts +1 -0
- package/dist/core/balance.d.ts.map +1 -1
- package/dist/core/balance.js +6 -5
- package/dist/core/balance.js.map +1 -1
- package/dist/core/bank-info.d.ts +1 -1
- package/dist/core/bank-info.js +1 -1
- package/dist/core/client.d.ts +50 -15
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/config.d.ts +28 -16
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +66 -26
- package/dist/core/config.js.map +1 -1
- package/dist/core/errors.d.ts +85 -23
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +112 -47
- package/dist/core/errors.js.map +1 -1
- package/dist/core/feedback.d.ts +4 -1
- package/dist/core/feedback.d.ts.map +1 -1
- package/dist/core/feedback.js +4 -1
- package/dist/core/feedback.js.map +1 -1
- package/dist/core/transaction.d.ts +6 -1
- package/dist/core/transaction.d.ts.map +1 -1
- package/dist/core/transaction.js +9 -4
- package/dist/core/transaction.js.map +1 -1
- package/dist/core/transport.d.ts +33 -6
- package/dist/core/transport.d.ts.map +1 -1
- package/dist/core/transport.js +77 -20
- package/dist/core/transport.js.map +1 -1
- package/dist/formats/camt.d.ts +24 -4
- package/dist/formats/camt.d.ts.map +1 -1
- package/dist/formats/camt.js +124 -41
- package/dist/formats/camt.js.map +1 -1
- package/dist/formats/mt940.d.ts +15 -3
- package/dist/formats/mt940.d.ts.map +1 -1
- package/dist/formats/mt940.js +161 -82
- package/dist/formats/mt940.js.map +1 -1
- package/dist/formats/readers.d.ts +6 -2
- package/dist/formats/readers.d.ts.map +1 -1
- package/dist/formats/readers.js +24 -29
- package/dist/formats/readers.js.map +1 -1
- package/dist/formats/record-budget.d.ts +7 -0
- package/dist/formats/record-budget.d.ts.map +1 -0
- package/dist/formats/record-budget.js +17 -0
- package/dist/formats/record-budget.js.map +1 -0
- package/dist/formats/sepa-purpose.d.ts +6 -0
- package/dist/formats/sepa-purpose.d.ts.map +1 -1
- package/dist/formats/sepa-purpose.js +23 -2
- package/dist/formats/sepa-purpose.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/session/app-approval.d.ts +11 -5
- package/dist/session/app-approval.d.ts.map +1 -1
- package/dist/session/app-approval.js +23 -12
- package/dist/session/app-approval.js.map +1 -1
- package/dist/session/dialog-runner.d.ts +7 -10
- package/dist/session/dialog-runner.d.ts.map +1 -1
- package/dist/session/dialog-runner.js +15 -16
- package/dist/session/dialog-runner.js.map +1 -1
- package/dist/session/login-guard.d.ts +54 -49
- package/dist/session/login-guard.d.ts.map +1 -1
- package/dist/session/login-guard.js +156 -84
- package/dist/session/login-guard.js.map +1 -1
- package/dist/session/sepa-accounts.d.ts +20 -14
- package/dist/session/sepa-accounts.d.ts.map +1 -1
- package/dist/session/sepa-accounts.js +62 -46
- package/dist/session/sepa-accounts.js.map +1 -1
- package/dist/session/session-setup.d.ts +33 -25
- package/dist/session/session-setup.d.ts.map +1 -1
- package/dist/session/session-setup.js +87 -65
- package/dist/session/session-setup.js.map +1 -1
- package/dist/session/session-state.d.ts +9 -6
- package/dist/session/session-state.d.ts.map +1 -1
- package/dist/session/session-state.js +52 -17
- package/dist/session/session-state.js.map +1 -1
- package/dist/session/signed-dialog.d.ts +77 -0
- package/dist/session/signed-dialog.d.ts.map +1 -0
- package/dist/session/signed-dialog.js +170 -0
- package/dist/session/signed-dialog.js.map +1 -0
- package/dist/session/tan-selection.d.ts +26 -18
- package/dist/session/tan-selection.d.ts.map +1 -1
- package/dist/session/tan-selection.js +44 -33
- package/dist/session/tan-selection.js.map +1 -1
- package/dist/session/user-prompts.d.ts +8 -4
- package/dist/session/user-prompts.d.ts.map +1 -1
- package/dist/session/user-prompts.js +34 -14
- package/dist/session/user-prompts.js.map +1 -1
- package/dist/tan/challenge.d.ts +34 -13
- package/dist/tan/challenge.d.ts.map +1 -1
- package/dist/tan/challenge.js +25 -26
- package/dist/tan/challenge.js.map +1 -1
- package/dist/tan/flicker.d.ts +7 -1
- package/dist/tan/flicker.d.ts.map +1 -1
- package/dist/tan/flicker.js +40 -6
- package/dist/tan/flicker.js.map +1 -1
- package/dist/tan/tan-image.d.ts +3 -2
- package/dist/tan/tan-image.d.ts.map +1 -1
- package/dist/tan/tan-image.js +7 -5
- package/dist/tan/tan-image.js.map +1 -1
- package/dist/tan/tan-models.d.ts +5 -1
- package/dist/tan/tan-models.d.ts.map +1 -1
- package/dist/tan/tan-models.js +10 -5
- package/dist/tan/tan-models.js.map +1 -1
- package/dist/util/async.d.ts +0 -2
- package/dist/util/async.d.ts.map +1 -1
- package/dist/util/async.js +0 -4
- package/dist/util/async.js.map +1 -1
- package/dist/util/bytes.d.ts +2 -3
- package/dist/util/bytes.d.ts.map +1 -1
- package/dist/util/bytes.js +12 -20
- package/dist/util/bytes.js.map +1 -1
- package/dist/util/call-context.d.ts.map +1 -1
- package/dist/util/call-context.js +3 -2
- package/dist/util/call-context.js.map +1 -1
- package/dist/util/dates.d.ts +9 -16
- package/dist/util/dates.d.ts.map +1 -1
- package/dist/util/dates.js +39 -19
- package/dist/util/dates.js.map +1 -1
- package/dist/util/errors.d.ts +9 -1
- package/dist/util/errors.d.ts.map +1 -1
- package/dist/util/errors.js +12 -3
- package/dist/util/errors.js.map +1 -1
- package/dist/util/json.d.ts +4 -0
- package/dist/util/json.d.ts.map +1 -1
- package/dist/util/json.js +18 -0
- package/dist/util/json.js.map +1 -1
- package/dist/util/text.d.ts +21 -4
- package/dist/util/text.d.ts.map +1 -1
- package/dist/util/text.js +42 -13
- package/dist/util/text.js.map +1 -1
- package/dist/util/xml.d.ts +4 -3
- package/dist/util/xml.d.ts.map +1 -1
- package/dist/util/xml.js +37 -26
- package/dist/util/xml.js.map +1 -1
- package/dist/v3/account-extension.d.ts.map +1 -1
- package/dist/v3/account-extension.js +7 -10
- package/dist/v3/account-extension.js.map +1 -1
- package/dist/v3/bank-connection.d.ts +34 -0
- package/dist/v3/bank-connection.d.ts.map +1 -0
- package/dist/v3/bank-connection.js +58 -0
- package/dist/v3/bank-connection.js.map +1 -0
- package/dist/v3/dialog.d.ts +80 -46
- package/dist/v3/dialog.d.ts.map +1 -1
- package/dist/v3/dialog.js +162 -59
- package/dist/v3/dialog.js.map +1 -1
- package/dist/v3/message.d.ts +17 -4
- package/dist/v3/message.d.ts.map +1 -1
- package/dist/v3/message.js +62 -18
- package/dist/v3/message.js.map +1 -1
- package/dist/v3/parameter-store.d.ts +75 -0
- package/dist/v3/parameter-store.d.ts.map +1 -0
- package/dist/v3/parameter-store.js +143 -0
- package/dist/v3/parameter-store.js.map +1 -0
- package/dist/v3/parameters.d.ts +38 -12
- package/dist/v3/parameters.d.ts.map +1 -1
- package/dist/v3/parameters.js +91 -37
- package/dist/v3/parameters.js.map +1 -1
- package/dist/v3/protocol.d.ts +43 -50
- package/dist/v3/protocol.d.ts.map +1 -1
- package/dist/v3/protocol.js +58 -208
- package/dist/v3/protocol.js.map +1 -1
- package/dist/v3/queries.d.ts +51 -0
- package/dist/v3/queries.d.ts.map +1 -0
- package/dist/v3/queries.js +120 -0
- package/dist/v3/queries.js.map +1 -0
- package/dist/v3/segments.d.ts +29 -12
- package/dist/v3/segments.d.ts.map +1 -1
- package/dist/v3/segments.js +65 -23
- package/dist/v3/segments.js.map +1 -1
- package/dist/v3/syntax.d.ts +65 -14
- package/dist/v3/syntax.d.ts.map +1 -1
- package/dist/v3/syntax.js +167 -101
- package/dist/v3/syntax.js.map +1 -1
- package/package.json +10 -6
- package/src/client.ts +252 -0
- package/src/core/account.ts +86 -13
- package/src/core/amount.ts +3 -1
- package/src/core/balance.ts +6 -5
- package/src/core/bank-info.ts +1 -1
- package/src/core/client.ts +52 -15
- package/src/core/config.ts +69 -28
- package/src/core/errors.ts +122 -48
- package/src/core/feedback.ts +4 -1
- package/src/core/transaction.ts +9 -4
- package/src/core/transport.ts +98 -23
- package/src/formats/camt.ts +136 -39
- package/src/formats/mt940.ts +167 -81
- package/src/formats/readers.ts +24 -31
- package/src/formats/record-budget.ts +18 -0
- package/src/formats/sepa-purpose.ts +21 -2
- package/src/index.ts +4 -2
- package/src/session/app-approval.ts +51 -38
- package/src/session/dialog-runner.ts +31 -28
- package/src/session/login-guard.ts +174 -88
- package/src/session/sepa-accounts.ts +63 -45
- package/src/session/session-setup.ts +90 -71
- package/src/session/session-state.ts +56 -22
- package/src/session/signed-dialog.ts +192 -0
- package/src/session/tan-selection.ts +50 -39
- package/src/session/user-prompts.ts +35 -16
- package/src/tan/challenge.ts +40 -31
- package/src/tan/flicker.ts +44 -6
- package/src/tan/tan-image.ts +7 -5
- package/src/tan/tan-models.ts +10 -5
- package/src/util/async.ts +0 -5
- package/src/util/bytes.ts +13 -19
- package/src/util/call-context.ts +3 -2
- package/src/util/dates.ts +41 -24
- package/src/util/errors.ts +14 -3
- package/src/util/json.ts +16 -0
- package/src/util/text.ts +42 -12
- package/src/util/xml.ts +37 -26
- package/src/v3/account-extension.ts +7 -12
- package/src/v3/bank-connection.ts +67 -0
- package/src/v3/dialog.ts +175 -91
- package/src/v3/message.ts +69 -17
- package/src/v3/parameter-store.ts +160 -0
- package/src/v3/parameters.ts +110 -37
- package/src/v3/protocol.ts +70 -253
- package/src/v3/queries.ts +190 -0
- package/src/v3/segments.ts +65 -22
- package/src/v3/syntax.ts +153 -91
- package/dist/session/bank-connection.d.ts +0 -28
- package/dist/session/bank-connection.d.ts.map +0 -1
- package/dist/session/bank-connection.js +0 -48
- package/dist/session/bank-connection.js.map +0 -1
- package/dist/session/parameter-data.d.ts +0 -83
- package/dist/session/parameter-data.d.ts.map +0 -1
- package/dist/session/parameter-data.js +0 -68
- package/dist/session/parameter-data.js.map +0 -1
- package/dist/session/pin-tan-client.d.ts +0 -54
- package/dist/session/pin-tan-client.d.ts.map +0 -1
- package/dist/session/pin-tan-client.js +0 -153
- package/dist/session/pin-tan-client.js.map +0 -1
- package/dist/session/pin-tan-dialog.d.ts +0 -71
- package/dist/session/pin-tan-dialog.d.ts.map +0 -1
- package/dist/session/pin-tan-dialog.js +0 -124
- package/dist/session/pin-tan-dialog.js.map +0 -1
- package/dist/session/protocol.d.ts +0 -209
- package/dist/session/protocol.d.ts.map +0 -1
- package/dist/session/protocol.js +0 -75
- package/dist/session/protocol.js.map +0 -1
- package/dist/session/response-handler.d.ts +0 -48
- package/dist/session/response-handler.d.ts.map +0 -1
- package/dist/session/response-handler.js +0 -121
- package/dist/session/response-handler.js.map +0 -1
- package/dist/v3/client.d.ts +0 -24
- package/dist/v3/client.d.ts.map +0 -1
- package/dist/v3/client.js +0 -16
- package/dist/v3/client.js.map +0 -1
- package/src/session/bank-connection.ts +0 -51
- package/src/session/parameter-data.ts +0 -137
- package/src/session/pin-tan-client.ts +0 -186
- package/src/session/pin-tan-dialog.ts +0 -160
- package/src/session/protocol.ts +0 -311
- package/src/session/response-handler.ts +0 -130
- package/src/v3/client.ts +0 -29
package/dist/v3/message.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import { BankMessage } from '../core/bank-info.js';
|
|
3
3
|
import { FinTsFeedback } from '../core/feedback.js';
|
|
4
4
|
import { TanMethod } from '../tan/tan-models.js';
|
|
5
|
-
import { base64Encode, BytesBuilder,
|
|
5
|
+
import { base64Encode, BytesBuilder, latin1Encode, utf8Decode } from '../util/bytes.js';
|
|
6
6
|
import { formatFintsDate, formatFintsTime } from '../util/dates.js';
|
|
7
7
|
import { FormatError } from '../util/errors.js';
|
|
8
8
|
import { decodeBankText, decodeBase64Lines } from '../util/text.js';
|
|
9
|
-
import { Binary, parseSegments, SegmentSpec } from './syntax.js';
|
|
9
|
+
import { Binary, dataElementMemory, maxDataElements, parseSegments, SegmentSpec, Verbatim, } from './syntax.js';
|
|
10
10
|
function isTwoStep(c) {
|
|
11
11
|
return c.securityFunction !== TanMethod.oneStep.securityFunction;
|
|
12
12
|
}
|
|
@@ -18,7 +18,7 @@ const signedArea = 1;
|
|
|
18
18
|
const issuer = 1;
|
|
19
19
|
/** Security identification: message sender (MS), empty CID, then the customer system ID. */
|
|
20
20
|
function sender(systemId) {
|
|
21
|
-
return [1, null, systemId];
|
|
21
|
+
return [1, null, new Verbatim(systemId)];
|
|
22
22
|
}
|
|
23
23
|
/** Security reference number, the same in every message. */
|
|
24
24
|
const securityReference = 1;
|
|
@@ -82,7 +82,12 @@ export function buildMessage(parts) {
|
|
|
82
82
|
: signedBody(parts.segments, parts.security, parts.tan, parts.now ?? new Date());
|
|
83
83
|
const trailer = new SegmentSpec('HNHBS', 1, [parts.messageNumber]).build(body.nextNumber);
|
|
84
84
|
// The header states the size of the whole message, itself included; its own size does not depend on it.
|
|
85
|
-
const header = (size) => new SegmentSpec('HNHBK', 3, [
|
|
85
|
+
const header = (size) => new SegmentSpec('HNHBK', 3, [
|
|
86
|
+
size.toString().padStart(12, '0'),
|
|
87
|
+
300,
|
|
88
|
+
new Verbatim(parts.dialogId),
|
|
89
|
+
parts.messageNumber,
|
|
90
|
+
]).build(1);
|
|
86
91
|
const sizeOf = (sections) => header(0).length + lengthOf(sections) + trailer.length;
|
|
87
92
|
const result = new BytesBuilder();
|
|
88
93
|
result.add(header(sizeOf([body.bytes])));
|
|
@@ -164,8 +169,11 @@ export class IncomingMessage3 {
|
|
|
164
169
|
* approval reports on the order of an earlier message (PIN/TAN B.4.2.1).
|
|
165
170
|
*/
|
|
166
171
|
feedback;
|
|
172
|
+
/** Whether the bank rejected the message as a whole (an error in HIRMG), rather than single orders in it. */
|
|
167
173
|
messageRejected;
|
|
168
|
-
constructor(segments,
|
|
174
|
+
constructor(segments,
|
|
175
|
+
/** The memory the message holds, in bytes: its length, and what its parts take beyond that. */
|
|
176
|
+
size) {
|
|
169
177
|
this.segments = segments;
|
|
170
178
|
this.size = size;
|
|
171
179
|
this.feedback = Object.freeze(['HIRMG', 'HIRMS'].flatMap((type) => segments.filter((s) => s.type === type).flatMap(feedbackOf)));
|
|
@@ -175,34 +183,65 @@ export class IncomingMessage3 {
|
|
|
175
183
|
.some((f) => f.isError);
|
|
176
184
|
}
|
|
177
185
|
/**
|
|
178
|
-
* Parses a message; throws `FormatError` if `data` is not
|
|
179
|
-
* maintenance notice
|
|
186
|
+
* Parses a message; throws `FormatError` if `data` is not one complete FinTS message, such as the HTML page of a
|
|
187
|
+
* proxy, a maintenance notice, a message cut short, which lacks the message trailer (HNHBS) at its end, or two
|
|
188
|
+
* messages run together, whose second would pass for part of the first.
|
|
189
|
+
*
|
|
190
|
+
* Its `size` counts the memory of its data elements along with its bytes, since a message of many short elements
|
|
191
|
+
* takes far more memory than bytes.
|
|
180
192
|
*/
|
|
181
193
|
static parse(data) {
|
|
182
|
-
const
|
|
194
|
+
const budget = { elements: maxDataElements };
|
|
195
|
+
const outer = parseSegments(data, budget);
|
|
183
196
|
if (outer[0]?.type !== 'HNHBK')
|
|
184
197
|
throw new FormatError('Not a FinTS message: no message header');
|
|
198
|
+
if (outer.at(-1)?.type !== 'HNHBS')
|
|
199
|
+
throw new FormatError('Incomplete FinTS message: no message trailer');
|
|
200
|
+
if (outer.filter((s) => s.type === 'HNHBK' || s.type === 'HNHBS').length > 2) {
|
|
201
|
+
throw new FormatError('More than one FinTS message');
|
|
202
|
+
}
|
|
185
203
|
const segments = [];
|
|
186
204
|
for (const s of outer) {
|
|
187
|
-
if (s.type
|
|
188
|
-
const payload = s.binary(1);
|
|
189
|
-
if (payload !== undefined)
|
|
190
|
-
segments.push(...parseSegments(payload));
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
205
|
+
if (s.type !== 'HNVSD') {
|
|
193
206
|
segments.push(s);
|
|
207
|
+
continue;
|
|
194
208
|
}
|
|
209
|
+
const payload = s.binary(1);
|
|
210
|
+
if (payload === undefined)
|
|
211
|
+
throw new FormatError('Encrypted data (HNVSD) without binary data');
|
|
212
|
+
for (const inner of parseSegments(payload, budget))
|
|
213
|
+
segments.push(inner);
|
|
195
214
|
}
|
|
196
|
-
return new IncomingMessage3(segments, data.length);
|
|
215
|
+
return new IncomingMessage3(segments, data.length + (maxDataElements - budget.elements) * dataElementMemory);
|
|
197
216
|
}
|
|
198
217
|
static combine(first, second) {
|
|
199
218
|
return new IncomingMessage3([...first.segments, ...second.segments], first.size + second.size);
|
|
200
219
|
}
|
|
220
|
+
/** Free-text messages the bank addresses to the user. */
|
|
201
221
|
get bankMessages() {
|
|
202
222
|
return this.findAll('HIKIM').map((m) => new BankMessage(m.text(1) ?? '', m.text(2) ?? ''));
|
|
203
223
|
}
|
|
224
|
+
/** The dialog ID the bank assigned, as `Segment.verbatim` reads it, to send back byte for byte. */
|
|
204
225
|
get dialogId() {
|
|
205
|
-
return this.find('HNHBK')?.
|
|
226
|
+
return this.find('HNHBK')?.verbatim(3);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Whether the message answers message `number` of the dialog `dialogId`: header and trailer carry that number, and the
|
|
230
|
+
* header names that message where it names the message it refers to (Bezugsnachricht). The dialog ID counts only once
|
|
231
|
+
* the bank has assigned one; before, `dialogId` is `undefined`, since every first message goes out under the same.
|
|
232
|
+
*/
|
|
233
|
+
answers(number, dialogId) {
|
|
234
|
+
const header = this.find('HNHBK');
|
|
235
|
+
// The trailer comes last, after the segments of the encryption envelope, which might hold one of their own.
|
|
236
|
+
const trailer = this.segments.at(-1);
|
|
237
|
+
if (header === undefined || trailer?.type !== 'HNHBS')
|
|
238
|
+
return false;
|
|
239
|
+
const inDialog = (id) => dialogId === undefined || id === dialogId;
|
|
240
|
+
const namesReference = header.group(5).some((e) => !e.isEmpty);
|
|
241
|
+
return (header.integer(4) === number &&
|
|
242
|
+
trailer.integer(1) === number &&
|
|
243
|
+
inDialog(header.verbatim(3)) &&
|
|
244
|
+
(!namesReference || (header.integer(5, 1) === number && inDialog(header.verbatim(5, 0)))));
|
|
206
245
|
}
|
|
207
246
|
find(type) {
|
|
208
247
|
return this.segments.find((s) => s.type === type);
|
|
@@ -211,6 +250,10 @@ export class IncomingMessage3 {
|
|
|
211
250
|
return this.segments.filter((s) => s.type === type);
|
|
212
251
|
}
|
|
213
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* The return codes of `s`. Their parameters are values the client or the app sends back, such as the position to
|
|
255
|
+
* continue at or new login data, so they are read as `Segment.verbatim` reads them.
|
|
256
|
+
*/
|
|
214
257
|
function feedbackOf(s) {
|
|
215
258
|
const feedback = [];
|
|
216
259
|
for (let i = 1; i < s.length; i++) {
|
|
@@ -220,7 +263,7 @@ function feedbackOf(s) {
|
|
|
220
263
|
const parameters = [];
|
|
221
264
|
// Empty parameters stay, as empty text, so that each keeps its position.
|
|
222
265
|
for (let j = 3; j < s.group(i).length; j++)
|
|
223
|
-
parameters.push(s.
|
|
266
|
+
parameters.push(s.verbatim(i, j) ?? '');
|
|
224
267
|
feedback.push(new FinTsFeedback({ code, reference: s.text(i, 1), text: s.text(i, 2) ?? '', parameters }));
|
|
225
268
|
}
|
|
226
269
|
return feedback;
|
|
@@ -234,7 +277,8 @@ export function decodeTransport(body) {
|
|
|
234
277
|
if (startsWithMessageHeader(body))
|
|
235
278
|
return body;
|
|
236
279
|
try {
|
|
237
|
-
|
|
280
|
+
// Base64 is ASCII, which UTF-8 decodes natively; anything else is no base64 either way.
|
|
281
|
+
return decodeBase64Lines(utf8Decode(body, true));
|
|
238
282
|
}
|
|
239
283
|
catch (error) {
|
|
240
284
|
if (error instanceof FormatError)
|
package/dist/v3/message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/v3/message.ts"],"names":[],"mappings":"AAAA,uHAAuH;AAEvH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAgB,WAAW,EAAqB,MAAM,aAAa,CAAC;AAYlG,SAAS,SAAS,CAAC,CAAoB;IACrC,OAAO,CAAC,CAAC,gBAAgB,KAAK,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACnE,CAAC;AAED,mHAAmH;AACnH,gGAAgG;AAEhG,gEAAgE;AAChE,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,mDAAmD;AACnD,MAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,4FAA4F;AAC5F,SAAS,MAAM,CAAC,QAAgB;IAC9B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,4DAA4D;AAC5D,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,iCAAiC;AACjC,SAAS,SAAS,CAAC,IAAU;IAC3B,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,iHAAiH;AACjH,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAElC,iEAAiE;AACjE,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvC,4FAA4F;AAC5F,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5E,kCAAkC;AAClC,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,oGAAoG;AACpG,SAAS,OAAO,CAAC,CAAoB,EAAE,OAAe;IACpD,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,qFAAqF;AACrF,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,qGAAqG;AACrG,SAAS,wBAAwB;IAC/B,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACrG,CAAC;AAED,mFAAmF;AACnF,MAAM,OAAO,eAAe;IAEf;IAEQ;IAHnB,YACW,KAAiB;IAC1B,sFAAsF;IACrE,WAAkC;QAF1C,UAAK,GAAL,KAAK,CAAY;QAET,gBAAW,GAAX,WAAW,CAAuB;IAClD,CAAC;IAEJ,mFAAmF;IACnF,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAO5B;IACC,MAAM,IAAI,GACR,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1F,wGAAwG;IACxG,MAAM,MAAM,GAAG,CAAC,IAAY,EAAc,EAAE,CAC1C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtH,MAAM,MAAM,GAAG,CAAC,QAA+B,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACnH,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,+CAA+C;AAC/C,SAAS,QAAQ,CAAC,KAA4B;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,sFAAsF;AACtF,SAAS,SAAS,CAAC,QAAgC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,uFAAuF;AACvF,SAAS,UAAU,CACjB,QAAgC,EAChC,QAA2B,EAC3B,GAAuB,EACvB,IAAU;IAEV,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAE,MAAmB,EAAQ,EAAE;QAChE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,QAAQ,CACN,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE;QAC1B,OAAO;QACP,QAAQ,CAAC,gBAAgB;QACzB,gBAAgB;QAChB,UAAU;QACV,MAAM;QACN,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,iBAAiB;QACjB,SAAS,CAAC,IAAI,CAAC;QACf,aAAa;QACb,kBAAkB;QAClB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;KACvB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACZ,CAAC;IACF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,QAA4B,EAAe,EAAE,CAC9E,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CACN,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7C,YAAY,CAAC,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACzE,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE;QACjD,OAAO;QACP,SAAS;QACT,MAAM;QACN,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC;QACf,mBAAmB;QACnB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;QACtB,aAAa;KACd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG;QACb,cAAc;QACd,YAAY,CAAC,gBAAgB,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;QACtD,GAAG,WAAW;QACd,YAAY,CAAC,GAAG,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,iFAAiF;AACjF,MAAM,OAAO,gBAAgB;IAYhB;IACA;IAZX;;;;;OAKG;IACM,QAAQ,CAA2B;IAEnC,eAAe,CAAU;IAElC,YACW,QAA4B,EAC5B,IAAY;QADZ,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,SAAI,GAAJ,IAAI,CAAQ;QAErB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAClG,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,QAAQ;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;aACjC,OAAO,CAAC,UAAU,CAAC;aACnB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,IAAgB;QAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,WAAW,CAAC,wCAAwC,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,OAAO,KAAK,SAAS;oBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAuB,EAAE,MAAwB;QAC9D,OAAO,IAAI,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACtD,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,yEAAyE;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC9C,IAAI,uBAAuB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC5C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEtE,8FAA8F;AAC9F,SAAS,uBAAuB,CAAC,IAAgB;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;QAAE,KAAK,EAAE,CAAC;IACzE,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,OAAO,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/v3/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { FinTsConfig } from '../core/config.js';
|
|
2
|
+
import { type JsonObject } from '../util/json.js';
|
|
3
|
+
import type { IncomingMessage3 } from './message.js';
|
|
4
|
+
import { Bpd3, Upd3 } from './parameters.js';
|
|
5
|
+
/**
|
|
6
|
+
* The parameter data and IDs the bank sends the user `config` names, which the messages and business transactions
|
|
7
|
+
* take, and which the saved state keeps: the bank and user parameter data, the customer system ID, and the names of
|
|
8
|
+
* the TAN media as the bank sent them.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ParameterStore {
|
|
11
|
+
readonly config: FinTsConfig;
|
|
12
|
+
private systemIdValue;
|
|
13
|
+
private bpd;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the bank parameter data came from the anonymous dialog. They serve until those of a dialog signed with the
|
|
16
|
+
* PIN come: the bank may send a user other ones (PIN/TAN B.4.3.1), and the anonymous dialog may have had to do
|
|
17
|
+
* without the announcement of strong customer authentication. So signed dialogs report version 0 for them, which has
|
|
18
|
+
* the bank send its parameter data anew.
|
|
19
|
+
*/
|
|
20
|
+
private bpdAnonymous;
|
|
21
|
+
private upd;
|
|
22
|
+
/**
|
|
23
|
+
* The names of the TAN media in the bank's last list whose text differs from what the bank sent, by their text, as
|
|
24
|
+
* `parseTanMedia` notes them. Saved with the state, as the medium in use is.
|
|
25
|
+
*/
|
|
26
|
+
private tanMediumNames;
|
|
27
|
+
constructor(config: FinTsConfig);
|
|
28
|
+
/** The bank parameter data received so far, if any. */
|
|
29
|
+
get bankParameters(): Bpd3 | undefined;
|
|
30
|
+
/** The user parameter data received so far, if any. */
|
|
31
|
+
get userParameters(): Upd3 | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* The customer system ID the bank assigned in the synchronization, as `Segment.verbatim` reads it; `undefined`
|
|
34
|
+
* before. No dialog signed with the PIN starts without it.
|
|
35
|
+
*/
|
|
36
|
+
get systemId(): string | undefined;
|
|
37
|
+
/** The version of the bank parameter data a dialog reports: 0 where there are none, or only the anonymous dialog's. */
|
|
38
|
+
get reportedBpdVersion(): number;
|
|
39
|
+
/**
|
|
40
|
+
* The version of the user parameter data a signed dialog reports: 0 where there are none, or where they name another
|
|
41
|
+
* user ID than the one logging in, so that the bank sends the user's anew. They may be another user's, as where a
|
|
42
|
+
* relay mixed up the answers to the synchronizations of two users and the bank takes the other user's customer system
|
|
43
|
+
* ID. A bank that names the user by another ID than the login's, such as for an alias, only sends its user parameter
|
|
44
|
+
* data at every login.
|
|
45
|
+
*/
|
|
46
|
+
get reportedUpdVersion(): number;
|
|
47
|
+
/**
|
|
48
|
+
* Drops the customer system ID the bank no longer accepts, so that a synchronization is required again, and with it
|
|
49
|
+
* the user parameter data, which the next login delivers anew: what came along with an ID the bank does not know may
|
|
50
|
+
* not be the user's either (`reportedUpdVersion`). Returns whether there was an ID.
|
|
51
|
+
*/
|
|
52
|
+
forgetSystemId(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Keeps the parameter data and IDs in `response`, an answer to the opening of a signed dialog: the login, which may be
|
|
55
|
+
* a synchronization, or its approval. The bank sends them there (Formals C.3.1); taken from the answer to an order,
|
|
56
|
+
* the parameter data a bank repeats there in part would replace the complete ones.
|
|
57
|
+
*/
|
|
58
|
+
keep(response: IncomingMessage3): void;
|
|
59
|
+
/**
|
|
60
|
+
* Keeps the bank parameter data in `response`, the answer of an anonymous dialog, where there are none from a dialog
|
|
61
|
+
* signed with the PIN: until those come, the dialogs signed with the PIN have the bank send its parameter data anew,
|
|
62
|
+
* since it may send a user other ones (PIN/TAN B.4.3.1). Keeps nothing that belongs to a user.
|
|
63
|
+
*/
|
|
64
|
+
keepAnonymous(response: IncomingMessage3): void;
|
|
65
|
+
private keepBankParameters;
|
|
66
|
+
/** Keeps `names`, the names of the bank's latest list of TAN media as `parseTanMedia` notes them. */
|
|
67
|
+
keepTanMediumNames(names: Map<string, string>): void;
|
|
68
|
+
/** The TAN medium `name` as the bank sent it in its list of TAN media; `name` itself for one it did not list. */
|
|
69
|
+
tanMediumAsSent(name: string): string;
|
|
70
|
+
/** The parameter data and IDs as JSON data, for the client's saved state. */
|
|
71
|
+
saveState(): JsonObject;
|
|
72
|
+
/** Restores what `saveState` saved; throws if `saved` is damaged, leaving the store unchanged. */
|
|
73
|
+
restoreState(saved: JsonObject): void;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=parameter-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-store.d.ts","sourceRoot":"","sources":["../../src/v3/parameter-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAA+D,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,IAAI,EAAkB,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,cAAc;IAmBb,QAAQ,CAAC,MAAM,EAAE,WAAW;IAlBxC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,GAAG,CAAmB;IAE9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,GAAG,CAAmB;IAE9B;;;OAGG;IACH,OAAO,CAAC,cAAc,CAA6B;gBAE9B,MAAM,EAAE,WAAW;IAExC,uDAAuD;IACvD,IAAI,cAAc,IAAI,IAAI,GAAG,SAAS,CAErC;IAED,uDAAuD;IACvD,IAAI,cAAc,IAAI,IAAI,GAAG,SAAS,CAErC;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,uHAAuH;IACvH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED;;;;;;OAMG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAG/B;IAED;;;;OAIG;IACH,cAAc,IAAI,OAAO;IAOzB;;;;OAIG;IACH,IAAI,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAMtC;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI/C,OAAO,CAAC,kBAAkB;IAO1B,qGAAqG;IACrG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIpD,iHAAiH;IACjH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,6EAA6E;IAC7E,SAAS,IAAI,UAAU;IAUvB,kGAAkG;IAClG,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAkBtC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// Internal to the package, and named after the FinTS specification. Documentation is where the meaning is not evident.
|
|
2
|
+
import { FormatError } from '../util/errors.js';
|
|
3
|
+
import { readOptionalBoolean, readOptionalObject, readOptionalString } from '../util/json.js';
|
|
4
|
+
import { Bpd3, decodeSegments, Upd3 } from './parameters.js';
|
|
5
|
+
/**
|
|
6
|
+
* The parameter data and IDs the bank sends the user `config` names, which the messages and business transactions
|
|
7
|
+
* take, and which the saved state keeps: the bank and user parameter data, the customer system ID, and the names of
|
|
8
|
+
* the TAN media as the bank sent them.
|
|
9
|
+
*/
|
|
10
|
+
export class ParameterStore {
|
|
11
|
+
config;
|
|
12
|
+
systemIdValue;
|
|
13
|
+
bpd;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the bank parameter data came from the anonymous dialog. They serve until those of a dialog signed with the
|
|
16
|
+
* PIN come: the bank may send a user other ones (PIN/TAN B.4.3.1), and the anonymous dialog may have had to do
|
|
17
|
+
* without the announcement of strong customer authentication. So signed dialogs report version 0 for them, which has
|
|
18
|
+
* the bank send its parameter data anew.
|
|
19
|
+
*/
|
|
20
|
+
bpdAnonymous = false;
|
|
21
|
+
upd;
|
|
22
|
+
/**
|
|
23
|
+
* The names of the TAN media in the bank's last list whose text differs from what the bank sent, by their text, as
|
|
24
|
+
* `parseTanMedia` notes them. Saved with the state, as the medium in use is.
|
|
25
|
+
*/
|
|
26
|
+
tanMediumNames = new Map();
|
|
27
|
+
constructor(config) {
|
|
28
|
+
this.config = config;
|
|
29
|
+
}
|
|
30
|
+
/** The bank parameter data received so far, if any. */
|
|
31
|
+
get bankParameters() {
|
|
32
|
+
return this.bpd;
|
|
33
|
+
}
|
|
34
|
+
/** The user parameter data received so far, if any. */
|
|
35
|
+
get userParameters() {
|
|
36
|
+
return this.upd;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The customer system ID the bank assigned in the synchronization, as `Segment.verbatim` reads it; `undefined`
|
|
40
|
+
* before. No dialog signed with the PIN starts without it.
|
|
41
|
+
*/
|
|
42
|
+
get systemId() {
|
|
43
|
+
return this.systemIdValue;
|
|
44
|
+
}
|
|
45
|
+
/** The version of the bank parameter data a dialog reports: 0 where there are none, or only the anonymous dialog's. */
|
|
46
|
+
get reportedBpdVersion() {
|
|
47
|
+
return this.bpd === undefined || this.bpdAnonymous ? 0 : this.bpd.version;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The version of the user parameter data a signed dialog reports: 0 where there are none, or where they name another
|
|
51
|
+
* user ID than the one logging in, so that the bank sends the user's anew. They may be another user's, as where a
|
|
52
|
+
* relay mixed up the answers to the synchronizations of two users and the bank takes the other user's customer system
|
|
53
|
+
* ID. A bank that names the user by another ID than the login's, such as for an alias, only sends its user parameter
|
|
54
|
+
* data at every login.
|
|
55
|
+
*/
|
|
56
|
+
get reportedUpdVersion() {
|
|
57
|
+
const upd = this.upd;
|
|
58
|
+
return upd !== undefined && upd.userId === this.config.userId ? upd.version : 0;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Drops the customer system ID the bank no longer accepts, so that a synchronization is required again, and with it
|
|
62
|
+
* the user parameter data, which the next login delivers anew: what came along with an ID the bank does not know may
|
|
63
|
+
* not be the user's either (`reportedUpdVersion`). Returns whether there was an ID.
|
|
64
|
+
*/
|
|
65
|
+
forgetSystemId() {
|
|
66
|
+
const had = this.systemIdValue !== undefined;
|
|
67
|
+
this.systemIdValue = undefined;
|
|
68
|
+
this.upd = undefined;
|
|
69
|
+
return had;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Keeps the parameter data and IDs in `response`, an answer to the opening of a signed dialog: the login, which may be
|
|
73
|
+
* a synchronization, or its approval. The bank sends them there (Formals C.3.1); taken from the answer to an order,
|
|
74
|
+
* the parameter data a bank repeats there in part would replace the complete ones.
|
|
75
|
+
*/
|
|
76
|
+
keep(response) {
|
|
77
|
+
this.keepBankParameters(response, false);
|
|
78
|
+
this.upd = Upd3.fromSegments(response.segments, this.config.bankCode, this.config.countryCode) ?? this.upd;
|
|
79
|
+
this.systemIdValue = response.find('HISYN')?.verbatim(1) ?? this.systemIdValue;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Keeps the bank parameter data in `response`, the answer of an anonymous dialog, where there are none from a dialog
|
|
83
|
+
* signed with the PIN: until those come, the dialogs signed with the PIN have the bank send its parameter data anew,
|
|
84
|
+
* since it may send a user other ones (PIN/TAN B.4.3.1). Keeps nothing that belongs to a user.
|
|
85
|
+
*/
|
|
86
|
+
keepAnonymous(response) {
|
|
87
|
+
if (this.bpd === undefined || this.bpdAnonymous)
|
|
88
|
+
this.keepBankParameters(response, true);
|
|
89
|
+
}
|
|
90
|
+
keepBankParameters(response, anonymous) {
|
|
91
|
+
const bpd = Bpd3.fromSegments(response.segments, this.config.bankCode);
|
|
92
|
+
if (bpd === undefined)
|
|
93
|
+
return;
|
|
94
|
+
this.bpd = bpd;
|
|
95
|
+
this.bpdAnonymous = anonymous;
|
|
96
|
+
}
|
|
97
|
+
/** Keeps `names`, the names of the bank's latest list of TAN media as `parseTanMedia` notes them. */
|
|
98
|
+
keepTanMediumNames(names) {
|
|
99
|
+
this.tanMediumNames = names;
|
|
100
|
+
}
|
|
101
|
+
/** The TAN medium `name` as the bank sent it in its list of TAN media; `name` itself for one it did not list. */
|
|
102
|
+
tanMediumAsSent(name) {
|
|
103
|
+
return this.tanMediumNames.get(name) ?? name;
|
|
104
|
+
}
|
|
105
|
+
/** The parameter data and IDs as JSON data, for the client's saved state. */
|
|
106
|
+
saveState() {
|
|
107
|
+
return {
|
|
108
|
+
systemId: this.systemIdValue ?? null,
|
|
109
|
+
bpd: this.bpd?.encoded ?? null,
|
|
110
|
+
bpdAnonymous: this.bpdAnonymous,
|
|
111
|
+
upd: this.upd?.encoded ?? null,
|
|
112
|
+
tanMediumNames: Object.fromEntries(this.tanMediumNames),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/** Restores what `saveState` saved; throws if `saved` is damaged, leaving the store unchanged. */
|
|
116
|
+
restoreState(saved) {
|
|
117
|
+
const bpd = readOptionalString(saved, 'bpd');
|
|
118
|
+
const upd = readOptionalString(saved, 'upd');
|
|
119
|
+
const restoredSystemId = readOptionalString(saved, 'systemId');
|
|
120
|
+
// A state of the Dart package or an earlier version does not tell, so its parameter data are fetched anew.
|
|
121
|
+
const restoredBpdAnonymous = readOptionalBoolean(saved, 'bpdAnonymous') ?? true;
|
|
122
|
+
const restoredBpd = bpd === undefined ? undefined : Bpd3.fromSegments(decodeSegments(bpd), this.config.bankCode);
|
|
123
|
+
const restoredUpd = upd === undefined
|
|
124
|
+
? undefined
|
|
125
|
+
: Upd3.fromSegments(decodeSegments(upd), this.config.bankCode, this.config.countryCode);
|
|
126
|
+
const restoredNames = readTanMediumNames(saved);
|
|
127
|
+
this.systemIdValue = restoredSystemId;
|
|
128
|
+
this.bpd = restoredBpd;
|
|
129
|
+
this.bpdAnonymous = restoredBpdAnonymous;
|
|
130
|
+
this.upd = restoredUpd;
|
|
131
|
+
this.tanMediumNames = restoredNames;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** The TAN medium names `saveState` saved; none in a state of the Dart package or an earlier version. */
|
|
135
|
+
function readTanMediumNames(saved) {
|
|
136
|
+
const names = readOptionalObject(saved, 'tanMediumNames') ?? {};
|
|
137
|
+
return new Map(Object.entries(names).map(([name, asSent]) => {
|
|
138
|
+
if (typeof asSent !== 'string')
|
|
139
|
+
throw new FormatError('Saved state: a TAN medium name is not a string');
|
|
140
|
+
return [name, asSent];
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=parameter-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-store.js","sourceRoot":"","sources":["../../src/v3/parameter-store.ts"],"names":[],"mappings":"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"}
|
package/dist/v3/parameters.d.ts
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { Account } from '../core/account.js';
|
|
2
2
|
import type { Balance } from '../core/balance.js';
|
|
3
3
|
import { BankInfo } from '../core/bank-info.js';
|
|
4
|
-
import { type BankParameters, type UserParameters } from '../session/parameter-data.js';
|
|
5
4
|
import { TanMethod } from '../tan/tan-models.js';
|
|
6
5
|
import { type Segment } from './syntax.js';
|
|
6
|
+
/** `bpd`, or `FinTsProtocolError` if the bank has not sent its parameter data yet. */
|
|
7
|
+
export declare function requireBankParameters(bpd: Bpd3 | undefined): Bpd3;
|
|
7
8
|
/** FinTS 3.0 bank parameter data (BPD): HIBPA and the parameter segments (`HI…S`), parsed once. */
|
|
8
|
-
export declare class Bpd3
|
|
9
|
+
export declare class Bpd3 {
|
|
9
10
|
readonly segments: readonly Segment[];
|
|
10
11
|
readonly bankInfo: BankInfo;
|
|
11
12
|
/** The two-step TAN methods of HITANS versions 6 and 7, by security function. */
|
|
12
13
|
private readonly offeredMethods;
|
|
14
|
+
/** Two-step TAN methods the bank offers and the client can run. */
|
|
13
15
|
readonly tanMethods: readonly TanMethod[];
|
|
16
|
+
/** Security functions of the two-step methods the bank offers in a form the client cannot run. */
|
|
14
17
|
readonly unsupportedTanMethods: readonly string[];
|
|
15
18
|
readonly pinTan: PinTanParameters;
|
|
16
19
|
/** camt formats the bank offers for HKCAZ. */
|
|
@@ -22,17 +25,17 @@ export declare class Bpd3 implements BankParameters {
|
|
|
22
25
|
* these may be sent once the parameter data are known; `0`, the default, only before (Formals C.3.1.3).
|
|
23
26
|
*/
|
|
24
27
|
readonly dialogLanguage: number;
|
|
28
|
+
private encodedValue;
|
|
25
29
|
private constructor();
|
|
30
|
+
/** The version of the parameter data, which the client reports back so that the bank sends newer ones only. */
|
|
26
31
|
get version(): number;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
max: number | undefined;
|
|
30
|
-
};
|
|
31
|
-
allowsWithPinTan(transaction: string): boolean;
|
|
32
|
+
/** The segments as the saved state keeps them, encoded once. */
|
|
33
|
+
get encoded(): string;
|
|
32
34
|
/** The BPD in `all`, or `undefined` if they contain no HIBPA segment. */
|
|
33
35
|
static fromSegments(all: readonly Segment[], fallbackBankCode: string): Bpd3 | undefined;
|
|
34
36
|
/** The parameter segment type of a business transaction: `HKSAL` → `HISALS`. */
|
|
35
37
|
static parameterName(transaction: string): string;
|
|
38
|
+
/** The highest version of `transaction` that the bank offers and the client `implemented`. */
|
|
36
39
|
bestVersion(transaction: string, implemented: ReadonlySet<number>): number | undefined;
|
|
37
40
|
/** The version of the HKTAN segments that go with `method`; `undefined` for a method the bank does not offer. */
|
|
38
41
|
tanVersion(method: TanMethod): number | undefined;
|
|
@@ -57,23 +60,46 @@ export declare class PinTanParameters {
|
|
|
57
60
|
allowsWithPinTan(segmentType: string): boolean;
|
|
58
61
|
}
|
|
59
62
|
/** FinTS 3.0 user parameter data (UPD): HIUPA and the accounts (HIUPD), parsed once. */
|
|
60
|
-
export declare class Upd3
|
|
63
|
+
export declare class Upd3 {
|
|
61
64
|
readonly segments: readonly Segment[];
|
|
65
|
+
/** The user the bank sent them for; `undefined` where it names none. */
|
|
66
|
+
readonly userId: string | undefined;
|
|
67
|
+
/** The version of the parameter data, which the client reports back so that the bank sends newer ones only. */
|
|
62
68
|
readonly version: number;
|
|
69
|
+
/**
|
|
70
|
+
* Whether the lists of permitted transactions are complete: the bank permits nothing they leave out ("UPD-Verwendung"
|
|
71
|
+
* 0).
|
|
72
|
+
*/
|
|
63
73
|
readonly listsAllTransactions: boolean;
|
|
74
|
+
/** The transactions any entry lists as permitted, with or without an account. */
|
|
64
75
|
readonly listedTransactions: ReadonlySet<string>;
|
|
65
76
|
/** The accounts with the extension each carries, where it does. */
|
|
66
77
|
private readonly entries;
|
|
78
|
+
/** The accounts the user may access. */
|
|
67
79
|
readonly accounts: readonly Account[];
|
|
80
|
+
private encodedValue;
|
|
68
81
|
/** `listsAll` tells whether HIUPA declares the lists of permitted transactions complete ("UPD-Verwendung" 0). */
|
|
69
82
|
private constructor();
|
|
70
|
-
/**
|
|
71
|
-
get
|
|
83
|
+
/** The segments as the saved state keeps them, encoded once. */
|
|
84
|
+
get encoded(): string;
|
|
85
|
+
/**
|
|
86
|
+
* The balance of `account` the user parameter data carry, where it holds all a balance query would deliver, so that
|
|
87
|
+
* the client asks for none (Formals E.3.1, F.3.2); `undefined` otherwise.
|
|
88
|
+
*/
|
|
72
89
|
completeBalance(account: Account): Balance | undefined;
|
|
73
90
|
/** The UPD in `all`, or `undefined` if they contain no HIUPA segment. */
|
|
74
91
|
static fromSegments(all: readonly Segment[], defaultBankCode: string, defaultCountry: string): Upd3 | undefined;
|
|
75
92
|
}
|
|
76
|
-
/**
|
|
77
|
-
|
|
93
|
+
/**
|
|
94
|
+
* The version of `transaction` to send, for `account` where it concerns one: the highest the bank offers and the client
|
|
95
|
+
* `implemented`. `undefined` where there is none, or the parameter data do not permit the transaction
|
|
96
|
+
* (`permitsTransaction`).
|
|
97
|
+
*/
|
|
98
|
+
export declare function offeredVersion(bpd: Bpd3 | undefined, upd: Upd3 | undefined, transaction: string, implemented: ReadonlySet<number>, options: {
|
|
99
|
+
account?: Account;
|
|
100
|
+
requiresEntry?: boolean;
|
|
101
|
+
}): number | undefined;
|
|
102
|
+
/** Whether the bank lists `transaction`, such as `HKCAZ`, as permitted for `account`. */
|
|
103
|
+
export declare function lists(account: Account, transaction: string): boolean;
|
|
78
104
|
export declare function decodeSegments(data: string): Segment[];
|
|
79
105
|
//# sourceMappingURL=parameters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../src/v3/parameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../src/v3/parameters.ts"],"names":[],"mappings":"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"}
|