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.
- package/README.md +133 -18
- package/dist/control.d.ts +15 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +445 -0
- package/dist/control.js.map +1 -0
- package/dist/decoder.d.ts +2 -2
- package/dist/decoder.d.ts.map +1 -1
- package/dist/decoder.js +85 -77
- package/dist/decoder.js.map +1 -1
- package/dist/encoder.d.ts +38 -1
- package/dist/encoder.d.ts.map +1 -1
- package/dist/encoder.js +155 -15
- package/dist/encoder.js.map +1 -1
- package/dist/fixtures.d.ts +6 -0
- package/dist/fixtures.d.ts.map +1 -1
- package/dist/fixtures.js +36 -0
- package/dist/fixtures.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +1 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +2 -0
- package/dist/schemas.js.map +1 -1
- package/dist/signature-utils.d.ts +12 -2
- package/dist/signature-utils.d.ts.map +1 -1
- package/dist/signature-utils.js +47 -2
- package/dist/signature-utils.js.map +1 -1
- package/dist/signer.d.ts +89 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +239 -0
- package/dist/signer.js.map +1 -0
- package/dist/time-helpers.d.ts +40 -0
- package/dist/time-helpers.d.ts.map +1 -0
- package/dist/time-helpers.js +93 -0
- package/dist/time-helpers.js.map +1 -0
- package/dist/types.d.ts +223 -59
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -2
- package/dist/types.js.map +1 -1
- package/package.json +11 -3
- package/schemas/uic-barcode/uicDynamicContentData_v1.asn +152 -0
- 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
|
package/dist/decoder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../src/decoder.ts"],"names":[],"mappings":"
|
|
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
|
|
6
|
-
* FCB rail ticket data
|
|
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`
|
|
60
|
-
* - `+<CC>II1`
|
|
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`
|
|
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)
|
|
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:
|
|
120
|
-
const
|
|
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
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
188
|
+
level2Data.decoded = getIntercodeDynamicCodec().decode(l2.level2Data.data);
|
|
165
189
|
}
|
|
166
190
|
catch {
|
|
167
|
-
// leave
|
|
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
|
-
|
|
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(
|
|
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
|
-
?
|
|
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
|
-
|
|
255
|
+
const decoded = getIntercodeIssuingCodec().decode(ext.extensionData);
|
|
256
|
+
decoded.extensionId = ext.extensionId;
|
|
257
|
+
result.intercodeIssuing = decoded;
|
|
223
258
|
}
|
|
224
259
|
catch {
|
|
225
|
-
|
|
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
|
package/dist/decoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../src/decoder.ts"],"names":[],"mappings":"AAAA
|
|
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 {
|
|
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
|
package/dist/encoder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../src/encoder.ts"],"names":[],"mappings":"
|
|
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"}
|