dosipas-ts 1.0.0 → 1.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.
Files changed (44) hide show
  1. package/README.md +133 -18
  2. package/dist/control.d.ts +15 -0
  3. package/dist/control.d.ts.map +1 -0
  4. package/dist/control.js +445 -0
  5. package/dist/control.js.map +1 -0
  6. package/dist/decoder.d.ts +2 -2
  7. package/dist/decoder.d.ts.map +1 -1
  8. package/dist/decoder.js +85 -77
  9. package/dist/decoder.js.map +1 -1
  10. package/dist/encoder.d.ts +38 -1
  11. package/dist/encoder.d.ts.map +1 -1
  12. package/dist/encoder.js +155 -15
  13. package/dist/encoder.js.map +1 -1
  14. package/dist/fixtures.d.ts +6 -0
  15. package/dist/fixtures.d.ts.map +1 -1
  16. package/dist/fixtures.js +36 -0
  17. package/dist/fixtures.js.map +1 -1
  18. package/dist/index.d.ts +8 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +6 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/schemas.d.ts +1 -0
  23. package/dist/schemas.d.ts.map +1 -1
  24. package/dist/schemas.js +2 -0
  25. package/dist/schemas.js.map +1 -1
  26. package/dist/signature-utils.d.ts +12 -2
  27. package/dist/signature-utils.d.ts.map +1 -1
  28. package/dist/signature-utils.js +47 -2
  29. package/dist/signature-utils.js.map +1 -1
  30. package/dist/signer.d.ts +89 -0
  31. package/dist/signer.d.ts.map +1 -0
  32. package/dist/signer.js +239 -0
  33. package/dist/signer.js.map +1 -0
  34. package/dist/time-helpers.d.ts +40 -0
  35. package/dist/time-helpers.d.ts.map +1 -0
  36. package/dist/time-helpers.js +93 -0
  37. package/dist/time-helpers.js.map +1 -0
  38. package/dist/types.d.ts +223 -59
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +3 -2
  41. package/dist/types.js.map +1 -1
  42. package/package.json +11 -3
  43. package/schemas/uic-barcode/uicDynamicContentData_v1.asn +152 -0
  44. package/schemas/uic-barcode/uicDynamicContentData_v1.schema.json +314 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
package/dist/decoder.d.ts CHANGED
@@ -3,14 +3,14 @@ import type { UicBarcodeTicket } from './types';
3
3
  * Decode a UIC barcode ticket from a hex string.
4
4
  *
5
5
  * @param hex - The hex-encoded barcode payload (whitespace and trailing 'h' are stripped).
6
- * @returns A fully typed {@link UicBarcodeTicket} object.
6
+ * @returns A fully typed {@link UicBarcodeTicket} object matching the UicBarcodeHeader schema.
7
7
  */
8
8
  export declare function decodeTicket(hex: string): UicBarcodeTicket;
9
9
  /**
10
10
  * Decode a UIC barcode ticket from raw bytes.
11
11
  *
12
12
  * @param bytes - The binary barcode payload.
13
- * @returns A fully typed {@link UicBarcodeTicket} object.
13
+ * @returns A fully typed {@link UicBarcodeTicket} object matching the UicBarcodeHeader schema.
14
14
  */
15
15
  export declare function decodeTicketFromBytes(bytes: Uint8Array): UicBarcodeTicket;
16
16
  //# sourceMappingURL=decoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../src/decoder.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,gBAAgB,EAWjB,MAAM,SAAS,CAAC;AAsFjB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAG1D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAkFzE"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../src/decoder.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,gBAAgB,EAajB,MAAM,SAAS,CAAC;AAoGjB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAG1D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CA2FzE"}
package/dist/decoder.js CHANGED
@@ -2,11 +2,12 @@
2
2
  * Decoder for UIC barcode tickets with Intercode 6 extensions.
3
3
  *
4
4
  * Decodes a hex-encoded (or binary) UIC barcode payload into a typed
5
- * {@link UicBarcodeTicket} object. Handles header version detection,
6
- * FCB rail ticket data dispatch, and Intercode 6 extension decoding.
5
+ * {@link UicBarcodeTicket} object that follows the UicBarcodeHeader ASN.1
6
+ * schema hierarchy. FCB rail ticket data and Level 2 dynamic content are
7
+ * decoded inline on `dataSequence[i].decoded` and `level2Data.decoded`.
7
8
  */
8
9
  import { SchemaCodec, SchemaBuilder, BitBuffer, } from 'asn1-per-ts';
9
- import { HEADER_SCHEMAS, RAIL_TICKET_SCHEMAS, INTERCODE_SCHEMAS } from './schemas';
10
+ import { HEADER_SCHEMAS, RAIL_TICKET_SCHEMAS, INTERCODE_SCHEMAS, DYNAMIC_CONTENT_SCHEMAS } from './schemas';
10
11
  // ---------------------------------------------------------------------------
11
12
  // Codec caches
12
13
  // ---------------------------------------------------------------------------
@@ -14,6 +15,7 @@ const headerCodecCache = new Map();
14
15
  const ticketCodecCache = new Map();
15
16
  let intercodeIssuingCodec;
16
17
  let intercodeDynamicCodec;
18
+ let fdc1Codec;
17
19
  function getHeaderCodec(version) {
18
20
  let codec = headerCodecCache.get(version);
19
21
  if (codec)
@@ -51,24 +53,36 @@ function getIntercodeDynamicCodec() {
51
53
  getIntercodeIssuingCodec();
52
54
  return intercodeDynamicCodec;
53
55
  }
56
+ function getFdc1Codec() {
57
+ if (fdc1Codec)
58
+ return fdc1Codec;
59
+ fdc1Codec = new SchemaCodec(DYNAMIC_CONTENT_SCHEMAS.UicDynamicContentData);
60
+ return fdc1Codec;
61
+ }
54
62
  // ---------------------------------------------------------------------------
55
63
  // Pattern helpers
56
64
  // ---------------------------------------------------------------------------
57
65
  /**
58
66
  * Match Intercode Part 6 issuing extension IDs:
59
- * - `_<RICS>II1` numeric RICS code prefix (e.g. `_3703II1`)
60
- * - `+<CC>II1` ISO 3166-1 alpha-2 country code prefix (e.g. `+FRII1`)
67
+ * - `_<RICS>II1` -- numeric RICS code prefix (e.g. `_3703II1`)
68
+ * - `+<CC>II1` -- ISO 3166-1 alpha-2 country code prefix (e.g. `+FRII1`)
61
69
  */
62
70
  function isIntercodeIssuingExtension(extensionId) {
63
71
  return /^[_+](\d+|[A-Z]{2})II1$/.test(extensionId);
64
72
  }
65
73
  /**
66
74
  * Match Intercode Part 6 dynamic data formats:
67
- * - `_<RICS>.ID1` numeric RICS code prefix (e.g. `_3703.ID1`)
68
- * - `FDC1` — French dynamic content variant
75
+ * - `_<RICS>.ID1` -- numeric RICS code prefix (e.g. `_3703.ID1`)
69
76
  */
70
77
  function isIntercodeDynamicData(dataFormat) {
71
- return /^_\d+\.ID1$/.test(dataFormat) || dataFormat === 'FDC1';
78
+ return /^_\d+\.ID1$/.test(dataFormat);
79
+ }
80
+ /**
81
+ * Match FCB Dynamic Content v1 format:
82
+ * - `FDC1` -- UicDynamicContentData (UIC barcode spec)
83
+ */
84
+ function isFdc1(dataFormat) {
85
+ return dataFormat === 'FDC1';
72
86
  }
73
87
  // ---------------------------------------------------------------------------
74
88
  // Hex / bytes helpers
@@ -90,7 +104,7 @@ function hexToBytes(hex) {
90
104
  * Decode a UIC barcode ticket from a hex string.
91
105
  *
92
106
  * @param hex - The hex-encoded barcode payload (whitespace and trailing 'h' are stripped).
93
- * @returns A fully typed {@link UicBarcodeTicket} object.
107
+ * @returns A fully typed {@link UicBarcodeTicket} object matching the UicBarcodeHeader schema.
94
108
  */
95
109
  export function decodeTicket(hex) {
96
110
  const bytes = hexToBytes(hex);
@@ -100,7 +114,7 @@ export function decodeTicket(hex) {
100
114
  * Decode a UIC barcode ticket from raw bytes.
101
115
  *
102
116
  * @param bytes - The binary barcode payload.
103
- * @returns A fully typed {@link UicBarcodeTicket} object.
117
+ * @returns A fully typed {@link UicBarcodeTicket} object matching the UicBarcodeHeader schema.
104
118
  */
105
119
  export function decodeTicketFromBytes(bytes) {
106
120
  // Step 1: Peek the header format using low-level BitBuffer
@@ -116,86 +130,98 @@ export function decodeTicketFromBytes(bytes) {
116
130
  const header = getHeaderCodec(headerVersion).decode(bytes);
117
131
  const l2 = header.level2SignedData;
118
132
  const l1 = l2.level1Data;
119
- // Step 3: Extract security info
120
- const security = {
133
+ // Step 3: Build dataSequence with decoded FCB data
134
+ const dataSequence = [];
135
+ for (const block of l1.dataSequence) {
136
+ const entry = {
137
+ dataFormat: block.dataFormat,
138
+ data: block.data,
139
+ };
140
+ const fcbMatch = block.dataFormat.match(/^FCB(\d+)$/);
141
+ if (fcbMatch) {
142
+ const fcbVersion = parseInt(fcbMatch[1], 10);
143
+ try {
144
+ const codecs = getTicketCodecs(fcbVersion);
145
+ const buf = BitBuffer.from(block.data);
146
+ const raw = codecs.UicRailTicketData.decode(buf);
147
+ entry.decoded = decodeRailTicket(raw);
148
+ }
149
+ catch {
150
+ // If FCB decoding fails, leave decoded undefined
151
+ }
152
+ }
153
+ dataSequence.push(entry);
154
+ }
155
+ // Step 4: Build level1Data
156
+ const level1Data = {
121
157
  securityProviderNum: l1.securityProviderNum,
122
158
  securityProviderIA5: l1.securityProviderIA5,
123
159
  keyId: l1.keyId,
160
+ dataSequence,
124
161
  level1KeyAlg: l1.level1KeyAlg,
125
162
  level2KeyAlg: l1.level2KeyAlg,
126
163
  level1SigningAlg: l1.level1SigningAlg,
127
164
  level2SigningAlg: l1.level2SigningAlg,
128
165
  level2PublicKey: l1.level2PublicKey,
129
- level1Signature: l2.level1Signature,
130
166
  endOfValidityYear: l1.endOfValidityYear,
131
167
  endOfValidityDay: l1.endOfValidityDay,
132
168
  endOfValidityTime: l1.endOfValidityTime,
133
169
  validityDuration: l1.validityDuration,
134
170
  };
135
- // Step 4: Decode data blocks
136
- const railTickets = [];
137
- const otherDataBlocks = [];
138
- for (const block of l1.dataSequence) {
139
- const fcbMatch = block.dataFormat.match(/^FCB(\d+)$/);
140
- if (fcbMatch) {
141
- const fcbVersion = parseInt(fcbMatch[1], 10);
171
+ // Step 5: Build level2Data with decoded dynamic content
172
+ let level2Data;
173
+ if (l2.level2Data) {
174
+ level2Data = {
175
+ dataFormat: l2.level2Data.dataFormat,
176
+ data: l2.level2Data.data,
177
+ };
178
+ if (isFdc1(l2.level2Data.dataFormat)) {
142
179
  try {
143
- const codecs = getTicketCodecs(fcbVersion);
144
- const buf = BitBuffer.from(block.data);
145
- const raw = codecs.UicRailTicketData.decode(buf);
146
- railTickets.push(decodeRailTicket(fcbVersion, raw));
180
+ level2Data.decoded = getFdc1Codec().decode(l2.level2Data.data);
147
181
  }
148
182
  catch {
149
- // If FCB decoding fails, add as raw block
150
- otherDataBlocks.push({ dataFormat: block.dataFormat, data: block.data });
183
+ // leave decoded undefined if decoding fails
151
184
  }
152
185
  }
153
- else {
154
- otherDataBlocks.push({ dataFormat: block.dataFormat, data: block.data });
155
- }
156
- }
157
- // Step 5: Decode Level 2 dynamic data
158
- let dynamicData;
159
- let level2DataBlock;
160
- if (l2.level2Data) {
161
- level2DataBlock = { dataFormat: l2.level2Data.dataFormat, data: l2.level2Data.data };
162
- if (isIntercodeDynamicData(l2.level2Data.dataFormat)) {
186
+ else if (isIntercodeDynamicData(l2.level2Data.dataFormat)) {
163
187
  try {
164
- dynamicData = getIntercodeDynamicCodec().decode(l2.level2Data.data);
188
+ level2Data.decoded = getIntercodeDynamicCodec().decode(l2.level2Data.data);
165
189
  }
166
190
  catch {
167
- // leave as undefined if decoding fails
191
+ // leave decoded undefined if decoding fails
168
192
  }
169
193
  }
170
194
  }
195
+ // Step 6: Build level2SignedData
196
+ const level2SignedData = {
197
+ level1Data,
198
+ level1Signature: l2.level1Signature,
199
+ level2Data,
200
+ };
171
201
  return {
172
202
  format,
173
- headerVersion,
203
+ level2SignedData,
174
204
  level2Signature: header.level2Signature,
175
- security,
176
- railTickets,
177
- otherDataBlocks,
178
- dynamicData,
179
- level2DataBlock,
180
205
  };
181
206
  }
182
207
  // ---------------------------------------------------------------------------
183
208
  // Rail ticket decoding helpers
184
209
  // ---------------------------------------------------------------------------
185
- function decodeRailTicket(fcbVersion, raw) {
210
+ function decodeRailTicket(raw) {
186
211
  const issuingDetail = raw.issuingDetail ? decodeIssuingDetail(raw.issuingDetail) : undefined;
187
212
  const travelerDetail = raw.travelerDetail ? decodeTravelerDetail(raw.travelerDetail) : undefined;
188
213
  const transportDocument = raw.transportDocument
189
- ? decodeTransportDocuments(raw.transportDocument)
214
+ ? raw.transportDocument.map((doc) => ({
215
+ token: doc.token,
216
+ ticket: doc.ticket,
217
+ }))
190
218
  : undefined;
191
219
  const controlDetail = raw.controlDetail ? raw.controlDetail : undefined;
192
220
  return {
193
- fcbVersion,
194
221
  issuingDetail,
195
222
  travelerDetail,
196
223
  transportDocument,
197
224
  controlDetail,
198
- raw,
199
225
  };
200
226
  }
201
227
  function decodeIssuingDetail(iss) {
@@ -214,20 +240,26 @@ function decodeIssuingDetail(iss) {
214
240
  currency: iss.currency,
215
241
  currencyFract: iss.currencyFract,
216
242
  issuerPNR: iss.issuerPNR,
243
+ issuedOnTrainNum: iss.issuedOnTrainNum,
244
+ issuedOnTrainIA5: iss.issuedOnTrainIA5,
245
+ issuedOnLine: iss.issuedOnLine,
246
+ pointOfSale: iss.pointOfSale,
217
247
  };
218
248
  if (iss.extension) {
219
249
  const ext = iss.extension;
250
+ // Always preserve the raw extension data (matches schema)
251
+ result.extension = { extensionId: ext.extensionId, extensionData: ext.extensionData };
252
+ // Additionally decode Intercode extension if recognized
220
253
  if (isIntercodeIssuingExtension(ext.extensionId)) {
221
254
  try {
222
- result.intercodeIssuing = getIntercodeIssuingCodec().decode(ext.extensionData);
255
+ const decoded = getIntercodeIssuingCodec().decode(ext.extensionData);
256
+ decoded.extensionId = ext.extensionId;
257
+ result.intercodeIssuing = decoded;
223
258
  }
224
259
  catch {
225
- result.extension = { extensionId: ext.extensionId, extensionData: ext.extensionData };
260
+ // leave intercodeIssuing undefined if decoding fails
226
261
  }
227
262
  }
228
- else {
229
- result.extension = { extensionId: ext.extensionId, extensionData: ext.extensionData };
230
- }
231
263
  }
232
264
  return result;
233
265
  }
@@ -238,28 +270,4 @@ function decodeTravelerDetail(td) {
238
270
  groupName: td.groupName,
239
271
  };
240
272
  }
241
- function decodeTransportDocuments(docs) {
242
- return docs.map((doc) => {
243
- const ticket = doc.ticket || {};
244
- const entries = Object.entries(ticket);
245
- if (entries.length === 2 && entries[0][0] === 'key' && entries[1][0] === 'value') {
246
- // CHOICE decoded as { key: "variantName", value: {...} }
247
- return {
248
- ticketType: entries[0][1],
249
- ticket: entries[1][1],
250
- };
251
- }
252
- // Single-key CHOICE
253
- if (entries.length === 1) {
254
- return {
255
- ticketType: entries[0][0],
256
- ticket: entries[0][1],
257
- };
258
- }
259
- return {
260
- ticketType: 'unknown',
261
- ticket,
262
- };
263
- });
264
- }
265
273
  //# sourceMappingURL=decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../src/decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../src/decoder.ts"],"names":[],"mappings":"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"}
package/dist/encoder.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import type { UicBarcodeTicketInput } from './types';
1
+ import type { RawBytes } from 'asn1-per-ts';
2
+ import type { UicBarcodeTicketInput, Level1DataInput, Level2SignedDataInput, UicBarcodeInput, IntercodeDynamicDataInput, UicDynamicContentDataInput } from './types';
2
3
  /**
3
4
  * Encode a UIC barcode ticket to a hex string.
4
5
  *
@@ -13,4 +14,40 @@ export declare function encodeTicket(input: UicBarcodeTicketInput): string;
13
14
  * @returns Uint8Array of the encoded barcode payload.
14
15
  */
15
16
  export declare function encodeTicketToBytes(input: UicBarcodeTicketInput): Uint8Array;
17
+ /**
18
+ * Encode a Level 2 data block (FDC1 or Intercode dynamic data).
19
+ *
20
+ * Uses a type discriminant (`'rics' in input`) to distinguish Intercode
21
+ * dynamic data from UIC FDC1 dynamic content data.
22
+ *
23
+ * @param input - FDC1 or Intercode dynamic data to encode.
24
+ * @returns Object with `dataFormat` string and encoded `data` bytes.
25
+ */
26
+ export declare function encodeLevel2Data(input: UicDynamicContentDataInput | IntercodeDynamicDataInput): {
27
+ dataFormat: string;
28
+ data: Uint8Array;
29
+ };
30
+ /**
31
+ * Encode the `level1Data` SEQUENCE in isolation.
32
+ *
33
+ * Returns a {@link RawBytes} with the exact PER-encoded bits. The `.data`
34
+ * property gives the `Uint8Array` suitable for signing; the `RawBytes` itself
35
+ * is passed to {@link encodeLevel2SignedData} for bit-precise embedding.
36
+ */
37
+ export declare function encodeLevel1Data(input: Level1DataInput): RawBytes;
38
+ /**
39
+ * Encode the `level2SignedData` SEQUENCE.
40
+ *
41
+ * Embeds pre-encoded `level1Data` bytes verbatim via {@link RawBytes}
42
+ * passthrough. Returns a `RawBytes` for signing and embedding into
43
+ * {@link encodeUicBarcode}.
44
+ */
45
+ export declare function encodeLevel2SignedData(input: Level2SignedDataInput): RawBytes;
46
+ /**
47
+ * Encode the outermost `UicBarcodeHeader` SEQUENCE.
48
+ *
49
+ * Embeds pre-encoded `level2SignedData` bytes verbatim via {@link RawBytes}
50
+ * passthrough. Returns the final barcode payload bytes.
51
+ */
52
+ export declare function encodeUicBarcode(input: UicBarcodeInput): Uint8Array;
16
53
  //# sourceMappingURL=encoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../src/encoder.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,qBAAqB,EAKtB,MAAM,SAAS,CAAC;AAoDjB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAkDjE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAG5E"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../src/encoder.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,eAAe,EAGf,yBAAyB,EACzB,0BAA0B,EAE3B,MAAM,SAAS,CAAC;AAiFjB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CA+CjE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,CAG5E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,0BAA0B,GAAG,yBAAyB,GAC5D;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAkB1C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CA0BjE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,QAAQ,CAW7E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAenE"}