@zpl-toolchain/print 0.1.14 → 0.1.16
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 +29 -1
- package/dist/index.d.ts +7 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +138 -25
- package/dist/index.js.map +1 -1
- package/dist/status.d.ts +16 -5
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +146 -17
- package/dist/status.js.map +1 -1
- package/dist/types.d.ts +36 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +20 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -77,6 +77,25 @@ await printer.close();
|
|
|
77
77
|
| `waitForCompletion(pollInterval?, timeoutMs?, signal?)` | Poll until all labels are printed, timeout, or abort |
|
|
78
78
|
| `close()` | Gracefully close the connection |
|
|
79
79
|
|
|
80
|
+
### Status parsing modes
|
|
81
|
+
|
|
82
|
+
`parseHostStatus()` now uses strict semantics by default:
|
|
83
|
+
- requires exactly 3 `STX/ETX` frames for `~HS`
|
|
84
|
+
- requires expected field counts per line
|
|
85
|
+
- throws on malformed or truncated responses
|
|
86
|
+
|
|
87
|
+
Use explicit helpers when you need mode control:
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
import {
|
|
91
|
+
parseHostStatus, // strict default
|
|
92
|
+
parseHostStatusStrict, // explicit strict
|
|
93
|
+
parseHostStatusLenient, // best-effort defaults
|
|
94
|
+
} from "@zpl-toolchain/print";
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Lenient mode is useful for dashboards or degraded environments where partial responses are acceptable.
|
|
98
|
+
|
|
80
99
|
### Proxy — `@zpl-toolchain/print/proxy`
|
|
81
100
|
|
|
82
101
|
```ts
|
|
@@ -115,10 +134,19 @@ All types are exported from the main entry point:
|
|
|
115
134
|
- **`PrintResult`** — success, bytesWritten, error details
|
|
116
135
|
- **`PrinterStatus`** — 24-field parsed `~HS` response
|
|
117
136
|
- **`PrintError`** — typed error with `code` (CONNECTION_REFUSED, TIMEOUT, etc.)
|
|
118
|
-
- **`BatchOptions`** / **`BatchProgress`** / **`BatchResult`** — batch printing control (including partial error details where `error.index` is the 0-based failed label index)
|
|
137
|
+
- **`BatchOptions`** / **`BatchProgress`** / **`BatchResult`** — batch printing control (including `jobId`, `phase`, and partial error details where `error.index` is the 0-based failed label index)
|
|
138
|
+
- **`JobId`** / **`JobPhase`** / **`createJobId()`** — job lifecycle for correlation and deterministic completion (see [Print Client Guide](https://github.com/trevordcampbell/zpl-toolchain/blob/main/docs/PRINT_CLIENT.md#job-lifecycle-f13))
|
|
119
139
|
- **`ProxyConfig`** — proxy server configuration
|
|
120
140
|
- **`ValidateOptions`** — options for validated printing
|
|
121
141
|
|
|
142
|
+
## Framing semantics (`tcpQuery`)
|
|
143
|
+
|
|
144
|
+
For known framed Zebra commands:
|
|
145
|
+
- `~HS` expects **3** `STX/ETX` frames
|
|
146
|
+
- `~HI` expects **1** `STX/ETX` frame
|
|
147
|
+
|
|
148
|
+
For these commands, `tcpQuery()` uses strict byte-level frame parsing and fails on truncated/wrong-frame-count responses. Unknown commands fall back to idle-based completion.
|
|
149
|
+
|
|
122
150
|
## Requirements
|
|
123
151
|
|
|
124
152
|
- **Node.js 18+** (uses `node:net` for TCP)
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { PrinterConfig, PrintResult, PrinterStatus, ValidateOptions, BatchOptions, BatchProgress, BatchResult } from "./types.js";
|
|
2
|
-
export { parseHostStatus } from "./status.js";
|
|
3
|
-
export { PrintError, type PrinterConfig, type PrintResult, type PrinterStatus, type PrintErrorCode, type ValidateOptions, type BatchOptions, type BatchProgress, type BatchResult, } from "./types.js";
|
|
2
|
+
export { parseHostStatus, parseHostStatusLenient, parseHostStatusStrict, } from "./status.js";
|
|
3
|
+
export { PrintError, createJobId, type PrinterConfig, type PrintResult, type PrinterStatus, type PrintMode, type PrintErrorCode, type StatusParseMode, type ValidateOptions, type BatchOptions, type BatchProgress, type BatchResult, type JobId, type JobPhase, } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Open a TCP socket, write `command`, read the response until the socket is
|
|
6
|
-
*
|
|
6
|
+
* complete, then close and return the response.
|
|
7
7
|
*
|
|
8
8
|
* Exported so that `proxy.ts` can re-use it instead of duplicating the logic.
|
|
9
9
|
*/
|
|
@@ -62,9 +62,8 @@ export declare class TcpPrinter {
|
|
|
62
62
|
* {@link PrinterStatus} object.
|
|
63
63
|
*
|
|
64
64
|
* **Note:** This opens a separate short-lived TCP connection for the query
|
|
65
|
-
* rather than using the persistent connection, because
|
|
66
|
-
*
|
|
67
|
-
* persistent socket's event handlers.
|
|
65
|
+
* rather than using the persistent connection, because framed response
|
|
66
|
+
* handling uses dedicated per-query readers.
|
|
68
67
|
*/
|
|
69
68
|
getStatus(opts?: {
|
|
70
69
|
signal?: AbortSignal;
|
|
@@ -75,9 +74,8 @@ export declare class TcpPrinter {
|
|
|
75
74
|
* Useful for querying ~HI (Host Identification), ~HM (Host Memory), etc.
|
|
76
75
|
*
|
|
77
76
|
* **Note:** This opens a separate short-lived TCP connection for each query
|
|
78
|
-
* rather than using the persistent connection, because
|
|
79
|
-
*
|
|
80
|
-
* persistent socket's event handlers.
|
|
77
|
+
* rather than using the persistent connection, because response handling uses
|
|
78
|
+
* dedicated per-query readers.
|
|
81
79
|
*/
|
|
82
80
|
query(command: string, opts?: {
|
|
83
81
|
signal?: AbortSignal;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import net from "node:net";
|
|
2
|
+
import { createJobId } from "./types.js";
|
|
2
3
|
import { PrintError } from "./types.js";
|
|
3
|
-
import { parseHostStatus } from "./status.js";
|
|
4
|
-
export { parseHostStatus } from "./status.js";
|
|
5
|
-
export { PrintError, } from "./types.js";
|
|
4
|
+
import { parseHostStatus, } from "./status.js";
|
|
5
|
+
export { parseHostStatus, parseHostStatusLenient, parseHostStatusStrict, } from "./status.js";
|
|
6
|
+
export { PrintError, createJobId, } from "./types.js";
|
|
6
7
|
// ─── Defaults ────────────────────────────────────────────────────────────────
|
|
7
8
|
const DEFAULT_PORT = 9100;
|
|
8
9
|
const DEFAULT_TIMEOUT = 5_000;
|
|
9
10
|
const DEFAULT_MAX_RETRIES = 2;
|
|
10
11
|
const DEFAULT_RETRY_DELAY = 500;
|
|
12
|
+
const STX_BYTE = 0x02;
|
|
13
|
+
const ETX_BYTE = 0x03;
|
|
14
|
+
const DEFAULT_MAX_FRAME_SIZE = 1024;
|
|
11
15
|
// ─── Error classification ────────────────────────────────────────────────────
|
|
12
16
|
function classifyError(err) {
|
|
13
17
|
const code = err && typeof err === "object" && "code" in err
|
|
@@ -65,21 +69,25 @@ function sleep(ms, signal) {
|
|
|
65
69
|
reject(abortError());
|
|
66
70
|
return;
|
|
67
71
|
}
|
|
68
|
-
const timer = setTimeout(() => {
|
|
69
|
-
if (signal && onAbort) {
|
|
70
|
-
signal.removeEventListener("abort", onAbort);
|
|
71
|
-
}
|
|
72
|
-
resolve();
|
|
73
|
-
}, ms);
|
|
74
72
|
let onAbort;
|
|
75
73
|
if (signal) {
|
|
76
74
|
onAbort = () => {
|
|
77
|
-
clearTimeout(timer);
|
|
78
75
|
signal.removeEventListener("abort", onAbort);
|
|
79
76
|
reject(abortError());
|
|
80
77
|
};
|
|
81
78
|
signal.addEventListener("abort", onAbort, { once: true });
|
|
79
|
+
if (signal.aborted) {
|
|
80
|
+
signal.removeEventListener("abort", onAbort);
|
|
81
|
+
reject(abortError());
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
82
84
|
}
|
|
85
|
+
const timer = setTimeout(() => {
|
|
86
|
+
if (signal && onAbort) {
|
|
87
|
+
signal.removeEventListener("abort", onAbort);
|
|
88
|
+
}
|
|
89
|
+
resolve();
|
|
90
|
+
}, ms);
|
|
83
91
|
});
|
|
84
92
|
}
|
|
85
93
|
function abortError() {
|
|
@@ -157,7 +165,7 @@ function tcpSend(host, port, data, timeout, signal) {
|
|
|
157
165
|
}
|
|
158
166
|
/**
|
|
159
167
|
* Open a TCP socket, write `command`, read the response until the socket is
|
|
160
|
-
*
|
|
168
|
+
* complete, then close and return the response.
|
|
161
169
|
*
|
|
162
170
|
* Exported so that `proxy.ts` can re-use it instead of duplicating the logic.
|
|
163
171
|
*/
|
|
@@ -165,6 +173,11 @@ export function tcpQuery(host, port, command, timeout, signal) {
|
|
|
165
173
|
return new Promise((resolve, reject) => {
|
|
166
174
|
let socket = null;
|
|
167
175
|
const chunks = [];
|
|
176
|
+
const trimmedCommand = command.trim().toUpperCase();
|
|
177
|
+
const expectedFrames = trimmedCommand === "~HS" ? 3 : trimmedCommand === "~HI" ? 1 : 0;
|
|
178
|
+
let readingFrame = false;
|
|
179
|
+
let currentFrame = [];
|
|
180
|
+
const framedPayloads = [];
|
|
168
181
|
let idleTimer;
|
|
169
182
|
let settled = false;
|
|
170
183
|
let onAbort;
|
|
@@ -205,7 +218,34 @@ export function tcpQuery(host, port, command, timeout, signal) {
|
|
|
205
218
|
sock.setTimeout(timeout);
|
|
206
219
|
sock.on("data", (chunk) => {
|
|
207
220
|
chunks.push(chunk);
|
|
208
|
-
|
|
221
|
+
if (expectedFrames > 0) {
|
|
222
|
+
for (const byte of chunk) {
|
|
223
|
+
if (!readingFrame) {
|
|
224
|
+
if (byte === STX_BYTE) {
|
|
225
|
+
readingFrame = true;
|
|
226
|
+
currentFrame = [];
|
|
227
|
+
}
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
if (byte === ETX_BYTE) {
|
|
231
|
+
framedPayloads.push(Buffer.from(currentFrame));
|
|
232
|
+
readingFrame = false;
|
|
233
|
+
currentFrame = [];
|
|
234
|
+
if (framedPayloads.length === expectedFrames) {
|
|
235
|
+
sock.end();
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
currentFrame.push(byte);
|
|
241
|
+
if (currentFrame.length > DEFAULT_MAX_FRAME_SIZE) {
|
|
242
|
+
fail(new PrintError(`Query ${trimmedCommand} frame exceeded ${DEFAULT_MAX_FRAME_SIZE} bytes`, "UNKNOWN"));
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
// Fallback for unframed/unknown responses: wait briefly for stream idle.
|
|
209
249
|
if (idleTimer)
|
|
210
250
|
clearTimeout(idleTimer);
|
|
211
251
|
idleTimer = setTimeout(() => {
|
|
@@ -213,10 +253,31 @@ export function tcpQuery(host, port, command, timeout, signal) {
|
|
|
213
253
|
}, 250);
|
|
214
254
|
});
|
|
215
255
|
sock.on("end", () => {
|
|
256
|
+
if (expectedFrames > 0) {
|
|
257
|
+
if (readingFrame) {
|
|
258
|
+
fail(new PrintError(`Query ${trimmedCommand} ended mid-frame before ETX`, "UNKNOWN"));
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
if (framedPayloads.length !== expectedFrames) {
|
|
262
|
+
fail(new PrintError(`Query ${trimmedCommand} returned ${framedPayloads.length} frames (expected ${expectedFrames})`, "UNKNOWN"));
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const framed = framedPayloads
|
|
266
|
+
.map((payload) => `\x02${payload.toString("utf-8")}\x03`)
|
|
267
|
+
.join("\r\n");
|
|
268
|
+
finish(framed);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
216
271
|
finish(Buffer.concat(chunks).toString("utf-8"));
|
|
217
272
|
});
|
|
218
273
|
sock.on("timeout", () => {
|
|
219
|
-
//
|
|
274
|
+
// For known framed responses, timeout before expected frames means
|
|
275
|
+
// response truncation.
|
|
276
|
+
if (expectedFrames > 0 && framedPayloads.length < expectedFrames) {
|
|
277
|
+
fail(new PrintError(`Query to ${host}:${port} timed out before receiving complete ${trimmedCommand} response`, "TIMEOUT"));
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
// Fallback behavior for generic commands: return partial data if any.
|
|
220
281
|
if (chunks.length > 0) {
|
|
221
282
|
finish(Buffer.concat(chunks).toString("utf-8"));
|
|
222
283
|
}
|
|
@@ -432,9 +493,8 @@ export class TcpPrinter {
|
|
|
432
493
|
* {@link PrinterStatus} object.
|
|
433
494
|
*
|
|
434
495
|
* **Note:** This opens a separate short-lived TCP connection for the query
|
|
435
|
-
* rather than using the persistent connection, because
|
|
436
|
-
*
|
|
437
|
-
* persistent socket's event handlers.
|
|
496
|
+
* rather than using the persistent connection, because framed response
|
|
497
|
+
* handling uses dedicated per-query readers.
|
|
438
498
|
*/
|
|
439
499
|
async getStatus(opts) {
|
|
440
500
|
const raw = await tcpQuery(this.config.host, this.config.port, "~HS", this.config.timeout, opts?.signal);
|
|
@@ -446,9 +506,8 @@ export class TcpPrinter {
|
|
|
446
506
|
* Useful for querying ~HI (Host Identification), ~HM (Host Memory), etc.
|
|
447
507
|
*
|
|
448
508
|
* **Note:** This opens a separate short-lived TCP connection for each query
|
|
449
|
-
* rather than using the persistent connection, because
|
|
450
|
-
*
|
|
451
|
-
* persistent socket's event handlers.
|
|
509
|
+
* rather than using the persistent connection, because response handling uses
|
|
510
|
+
* dedicated per-query readers.
|
|
452
511
|
*/
|
|
453
512
|
async query(command, opts) {
|
|
454
513
|
return tcpQuery(this.config.host, this.config.port, command, this.config.timeout, opts?.signal);
|
|
@@ -512,14 +571,38 @@ export class TcpPrinter {
|
|
|
512
571
|
* ```
|
|
513
572
|
*/
|
|
514
573
|
async printBatch(labels, opts, onProgress) {
|
|
574
|
+
const jobId = createJobId();
|
|
515
575
|
const total = labels.length;
|
|
516
576
|
const interval = opts?.statusInterval ?? 0;
|
|
517
577
|
let sent = 0;
|
|
578
|
+
if (onProgress) {
|
|
579
|
+
const shouldContinue = onProgress({
|
|
580
|
+
sent: 0,
|
|
581
|
+
total,
|
|
582
|
+
phase: "queued",
|
|
583
|
+
jobId,
|
|
584
|
+
});
|
|
585
|
+
if (shouldContinue === false) {
|
|
586
|
+
onProgress({ sent: 0, total, phase: "aborted", jobId });
|
|
587
|
+
return {
|
|
588
|
+
sent: 0,
|
|
589
|
+
total,
|
|
590
|
+
jobId,
|
|
591
|
+
error: {
|
|
592
|
+
index: 0,
|
|
593
|
+
code: "UNKNOWN",
|
|
594
|
+
message: "Operation aborted",
|
|
595
|
+
},
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
}
|
|
518
599
|
for (const label of labels) {
|
|
519
600
|
if (opts?.signal?.aborted) {
|
|
601
|
+
onProgress?.({ sent, total, phase: "aborted", jobId });
|
|
520
602
|
return {
|
|
521
603
|
sent,
|
|
522
604
|
total,
|
|
605
|
+
jobId,
|
|
523
606
|
error: {
|
|
524
607
|
index: sent,
|
|
525
608
|
code: "UNKNOWN",
|
|
@@ -533,9 +616,11 @@ export class TcpPrinter {
|
|
|
533
616
|
}
|
|
534
617
|
catch (err) {
|
|
535
618
|
const wrapped = wrapError(err);
|
|
619
|
+
onProgress?.({ sent, total, phase: "failed", jobId });
|
|
536
620
|
return {
|
|
537
621
|
sent,
|
|
538
622
|
total,
|
|
623
|
+
jobId,
|
|
539
624
|
error: {
|
|
540
625
|
index: sent,
|
|
541
626
|
code: wrapped.code,
|
|
@@ -552,13 +637,25 @@ export class TcpPrinter {
|
|
|
552
637
|
// Status polling is best-effort — don't abort the batch on query failure.
|
|
553
638
|
}
|
|
554
639
|
}
|
|
640
|
+
const phase = sent < total ? "sending" : "sent";
|
|
555
641
|
if (onProgress) {
|
|
556
|
-
const shouldContinue = onProgress({ sent, total, status });
|
|
557
|
-
if (shouldContinue === false)
|
|
558
|
-
|
|
642
|
+
const shouldContinue = onProgress({ sent, total, status, phase, jobId });
|
|
643
|
+
if (shouldContinue === false) {
|
|
644
|
+
onProgress({ sent, total, phase: "aborted", jobId });
|
|
645
|
+
return {
|
|
646
|
+
sent,
|
|
647
|
+
total,
|
|
648
|
+
jobId,
|
|
649
|
+
error: {
|
|
650
|
+
index: sent,
|
|
651
|
+
code: "UNKNOWN",
|
|
652
|
+
message: "Operation aborted",
|
|
653
|
+
},
|
|
654
|
+
};
|
|
655
|
+
}
|
|
559
656
|
}
|
|
560
657
|
}
|
|
561
|
-
return { sent, total };
|
|
658
|
+
return { sent, total, jobId };
|
|
562
659
|
}
|
|
563
660
|
/**
|
|
564
661
|
* Poll the printer until all queued labels have been printed.
|
|
@@ -573,15 +670,24 @@ export class TcpPrinter {
|
|
|
573
670
|
async waitForCompletion(pollInterval = 500, timeout = 30_000, signal) {
|
|
574
671
|
const start = performance.now();
|
|
575
672
|
const deadline = start + timeout;
|
|
673
|
+
let lastStatus;
|
|
576
674
|
while (true) {
|
|
577
675
|
if (signal?.aborted) {
|
|
578
676
|
throw abortError();
|
|
579
677
|
}
|
|
580
678
|
if (performance.now() >= deadline) {
|
|
581
|
-
throw new PrintError(
|
|
679
|
+
throw new PrintError(lastStatus
|
|
680
|
+
? `Printer did not finish within ${timeout}ms (formatsInBuffer=${lastStatus.formatsInBuffer}, labelsRemaining=${lastStatus.labelsRemaining})`
|
|
681
|
+
: `Printer did not finish within ${timeout}ms`, "TIMEOUT", undefined, lastStatus
|
|
682
|
+
? {
|
|
683
|
+
formatsInBuffer: lastStatus.formatsInBuffer,
|
|
684
|
+
labelsRemaining: lastStatus.labelsRemaining,
|
|
685
|
+
}
|
|
686
|
+
: undefined);
|
|
582
687
|
}
|
|
583
688
|
try {
|
|
584
689
|
const status = await this.getStatus({ signal });
|
|
690
|
+
lastStatus = status;
|
|
585
691
|
if (status.formatsInBuffer === 0 && status.labelsRemaining === 0) {
|
|
586
692
|
return;
|
|
587
693
|
}
|
|
@@ -591,7 +697,14 @@ export class TcpPrinter {
|
|
|
591
697
|
}
|
|
592
698
|
const remaining = deadline - performance.now();
|
|
593
699
|
if (remaining <= 0) {
|
|
594
|
-
throw new PrintError(
|
|
700
|
+
throw new PrintError(lastStatus
|
|
701
|
+
? `Printer did not finish within ${timeout}ms (formatsInBuffer=${lastStatus.formatsInBuffer}, labelsRemaining=${lastStatus.labelsRemaining})`
|
|
702
|
+
: `Printer did not finish within ${timeout}ms`, "TIMEOUT", undefined, lastStatus
|
|
703
|
+
? {
|
|
704
|
+
formatsInBuffer: lastStatus.formatsInBuffer,
|
|
705
|
+
labelsRemaining: lastStatus.labelsRemaining,
|
|
706
|
+
}
|
|
707
|
+
: undefined);
|
|
595
708
|
}
|
|
596
709
|
await new Promise((resolve, reject) => {
|
|
597
710
|
const waitMs = Math.min(pollInterval, remaining);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/status.d.ts
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
import type { PrinterStatus } from "./types.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Strictly parse a raw ~HS response string.
|
|
4
|
+
*
|
|
5
|
+
* Requires exactly 3 STX/ETX frames and numeric parseability for all expected
|
|
6
|
+
* fields. Throws an error on malformed/truncated responses.
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseHostStatusStrict(raw: string): PrinterStatus;
|
|
9
|
+
/**
|
|
10
|
+
* Leniently parse a raw ~HS response string into a structured
|
|
4
11
|
* {@link PrinterStatus} object.
|
|
5
12
|
*
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
* Returns sensible defaults for fields it cannot extract.
|
|
14
|
+
*/
|
|
15
|
+
export declare function parseHostStatusLenient(raw: string): PrinterStatus;
|
|
16
|
+
/**
|
|
17
|
+
* Parse a raw ~HS (Host Status) response string into a structured
|
|
18
|
+
* {@link PrinterStatus} object using strict framing and field validation.
|
|
9
19
|
*
|
|
10
20
|
* @param raw - The full ~HS response as received from the printer socket.
|
|
11
|
-
* @returns A {@link PrinterStatus}
|
|
21
|
+
* @returns A fully parsed {@link PrinterStatus}.
|
|
22
|
+
* @throws Error when response framing or fields are malformed.
|
|
12
23
|
*/
|
|
13
24
|
export declare function parseHostStatus(raw: string): PrinterStatus;
|
|
14
25
|
//# sourceMappingURL=status.d.ts.map
|
package/dist/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,YAAY,CAAC;AAgM3D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CA4DhE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAMjE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE1D"}
|
package/dist/status.js
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
13
13
|
const STX = "\x02";
|
|
14
14
|
const ETX = "\x03";
|
|
15
|
+
const HS_STRICT_FRAME_COUNT = 3;
|
|
16
|
+
const HS_LINE_FIELD_COUNTS = [12, 10, 2];
|
|
15
17
|
/**
|
|
16
18
|
* Strip STX / ETX framing characters and split the response into its three
|
|
17
19
|
* comma-separated field arrays.
|
|
@@ -26,22 +28,49 @@ function splitHsLines(raw) {
|
|
|
26
28
|
const lines = cleaned.split("\n").filter((l) => l.trim().length > 0);
|
|
27
29
|
return lines.map((line) => line.split(",").map((f) => f.trim()));
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
31
|
+
function extractFramedPayloads(raw) {
|
|
32
|
+
const payloads = [];
|
|
33
|
+
let inFrame = false;
|
|
34
|
+
let current = "";
|
|
35
|
+
for (const ch of raw) {
|
|
36
|
+
if (!inFrame) {
|
|
37
|
+
if (ch === STX) {
|
|
38
|
+
inFrame = true;
|
|
39
|
+
current = "";
|
|
40
|
+
}
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (ch === ETX) {
|
|
44
|
+
payloads.push(current);
|
|
45
|
+
inFrame = false;
|
|
46
|
+
current = "";
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
current += ch;
|
|
50
|
+
}
|
|
51
|
+
return payloads;
|
|
52
|
+
}
|
|
53
|
+
function parseHostStatusFromLines(line1, line2, line3, raw) {
|
|
54
|
+
const parsePrintMode = (value) => {
|
|
55
|
+
switch (value) {
|
|
56
|
+
case 0:
|
|
57
|
+
return "TearOff";
|
|
58
|
+
case 1:
|
|
59
|
+
return "PeelOff";
|
|
60
|
+
case 2:
|
|
61
|
+
return "Rewind";
|
|
62
|
+
case 3:
|
|
63
|
+
return "Applicator";
|
|
64
|
+
case 4:
|
|
65
|
+
return "Cutter";
|
|
66
|
+
case 5:
|
|
67
|
+
return "DelayedCutter";
|
|
68
|
+
case 6:
|
|
69
|
+
return "Linerless";
|
|
70
|
+
default:
|
|
71
|
+
return "Unknown";
|
|
72
|
+
}
|
|
73
|
+
};
|
|
45
74
|
const flag = (fields, idx) => (fields[idx] ?? "0") !== "0";
|
|
46
75
|
const int = (fields, idx) => {
|
|
47
76
|
const n = parseInt(fields[idx] ?? "", 10);
|
|
@@ -65,7 +94,7 @@ export function parseHostStatus(raw) {
|
|
|
65
94
|
const headOpen = flag(line2, 1);
|
|
66
95
|
const ribbonOut = flag(line2, 2);
|
|
67
96
|
const thermalTransferMode = flag(line2, 3);
|
|
68
|
-
const printMode = int(line2, 4);
|
|
97
|
+
const printMode = parsePrintMode(int(line2, 4));
|
|
69
98
|
const printWidthMode = int(line2, 5);
|
|
70
99
|
const labelWaiting = flag(line2, 6);
|
|
71
100
|
const labelsRemaining = int(line2, 7);
|
|
@@ -105,4 +134,104 @@ export function parseHostStatus(raw) {
|
|
|
105
134
|
raw,
|
|
106
135
|
};
|
|
107
136
|
}
|
|
137
|
+
function parseStrictInt(fields, idx, lineNo) {
|
|
138
|
+
const raw = fields[idx];
|
|
139
|
+
if (raw === undefined) {
|
|
140
|
+
throw new Error(`~HS line ${lineNo}: expected field at index ${idx}, only got ${fields.length} fields`);
|
|
141
|
+
}
|
|
142
|
+
const parsed = parseInt(raw.trim(), 10);
|
|
143
|
+
if (Number.isNaN(parsed)) {
|
|
144
|
+
throw new Error(`~HS line ${lineNo}: cannot parse field ${idx} (${JSON.stringify(raw)}) as int`);
|
|
145
|
+
}
|
|
146
|
+
return parsed;
|
|
147
|
+
}
|
|
148
|
+
function parseStrictPrintMode(fields, idx, lineNo) {
|
|
149
|
+
const mode = parseStrictInt(fields, idx, lineNo);
|
|
150
|
+
if (mode < 0 || mode > 6) {
|
|
151
|
+
throw new Error(`~HS line ${lineNo}: unknown print mode code: ${mode}`);
|
|
152
|
+
}
|
|
153
|
+
return mode.toString();
|
|
154
|
+
}
|
|
155
|
+
function parseStrictBool(fields, idx, lineNo) {
|
|
156
|
+
return parseStrictInt(fields, idx, lineNo) !== 0;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Strictly parse a raw ~HS response string.
|
|
160
|
+
*
|
|
161
|
+
* Requires exactly 3 STX/ETX frames and numeric parseability for all expected
|
|
162
|
+
* fields. Throws an error on malformed/truncated responses.
|
|
163
|
+
*/
|
|
164
|
+
export function parseHostStatusStrict(raw) {
|
|
165
|
+
const frames = extractFramedPayloads(raw);
|
|
166
|
+
if (frames.length !== HS_STRICT_FRAME_COUNT) {
|
|
167
|
+
throw new Error(`~HS requires 3 frames, got ${frames.length}`);
|
|
168
|
+
}
|
|
169
|
+
const line1 = frames[0].split(",").map((f) => f.trim());
|
|
170
|
+
const line2 = frames[1].split(",").map((f) => f.trim());
|
|
171
|
+
const line3 = frames[2].split(",").map((f) => f.trim());
|
|
172
|
+
if (line1.length < HS_LINE_FIELD_COUNTS[0]) {
|
|
173
|
+
throw new Error(`~HS line 1: expected at least ${HS_LINE_FIELD_COUNTS[0]} fields, got ${line1.length}`);
|
|
174
|
+
}
|
|
175
|
+
if (line2.length < HS_LINE_FIELD_COUNTS[1]) {
|
|
176
|
+
throw new Error(`~HS line 2: expected at least ${HS_LINE_FIELD_COUNTS[1]} fields, got ${line2.length}`);
|
|
177
|
+
}
|
|
178
|
+
if (line3.length < HS_LINE_FIELD_COUNTS[2]) {
|
|
179
|
+
throw new Error(`~HS line 3: expected at least ${HS_LINE_FIELD_COUNTS[2]} fields, got ${line3.length}`);
|
|
180
|
+
}
|
|
181
|
+
const strictLine1 = [
|
|
182
|
+
parseStrictInt(line1, 0, 1).toString(),
|
|
183
|
+
parseStrictBool(line1, 1, 1) ? "1" : "0",
|
|
184
|
+
parseStrictBool(line1, 2, 1) ? "1" : "0",
|
|
185
|
+
parseStrictInt(line1, 3, 1).toString(),
|
|
186
|
+
parseStrictInt(line1, 4, 1).toString(),
|
|
187
|
+
parseStrictBool(line1, 5, 1) ? "1" : "0",
|
|
188
|
+
parseStrictBool(line1, 6, 1) ? "1" : "0",
|
|
189
|
+
parseStrictBool(line1, 7, 1) ? "1" : "0",
|
|
190
|
+
parseStrictInt(line1, 8, 1).toString(),
|
|
191
|
+
parseStrictBool(line1, 9, 1) ? "1" : "0",
|
|
192
|
+
parseStrictBool(line1, 10, 1) ? "1" : "0",
|
|
193
|
+
parseStrictBool(line1, 11, 1) ? "1" : "0",
|
|
194
|
+
];
|
|
195
|
+
const strictLine2 = [
|
|
196
|
+
parseStrictInt(line2, 0, 2).toString(),
|
|
197
|
+
parseStrictBool(line2, 1, 2) ? "1" : "0",
|
|
198
|
+
parseStrictBool(line2, 2, 2) ? "1" : "0",
|
|
199
|
+
parseStrictBool(line2, 3, 2) ? "1" : "0",
|
|
200
|
+
parseStrictPrintMode(line2, 4, 2),
|
|
201
|
+
parseStrictInt(line2, 5, 2).toString(),
|
|
202
|
+
parseStrictBool(line2, 6, 2) ? "1" : "0",
|
|
203
|
+
parseStrictInt(line2, 7, 2).toString(),
|
|
204
|
+
parseStrictInt(line2, 8, 2).toString(),
|
|
205
|
+
parseStrictInt(line2, 9, 2).toString(),
|
|
206
|
+
];
|
|
207
|
+
const strictLine3 = [
|
|
208
|
+
parseStrictInt(line3, 0, 3).toString(),
|
|
209
|
+
parseStrictBool(line3, 1, 3) ? "1" : "0",
|
|
210
|
+
];
|
|
211
|
+
return parseHostStatusFromLines(strictLine1, strictLine2, strictLine3, raw);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Leniently parse a raw ~HS response string into a structured
|
|
215
|
+
* {@link PrinterStatus} object.
|
|
216
|
+
*
|
|
217
|
+
* Returns sensible defaults for fields it cannot extract.
|
|
218
|
+
*/
|
|
219
|
+
export function parseHostStatusLenient(raw) {
|
|
220
|
+
const lines = splitHsLines(raw);
|
|
221
|
+
const line1 = lines[0] ?? [];
|
|
222
|
+
const line2 = lines[1] ?? [];
|
|
223
|
+
const line3 = lines[2] ?? [];
|
|
224
|
+
return parseHostStatusFromLines(line1, line2, line3, raw);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Parse a raw ~HS (Host Status) response string into a structured
|
|
228
|
+
* {@link PrinterStatus} object using strict framing and field validation.
|
|
229
|
+
*
|
|
230
|
+
* @param raw - The full ~HS response as received from the printer socket.
|
|
231
|
+
* @returns A fully parsed {@link PrinterStatus}.
|
|
232
|
+
* @throws Error when response framing or fields are malformed.
|
|
233
|
+
*/
|
|
234
|
+
export function parseHostStatus(raw) {
|
|
235
|
+
return parseHostStatusStrict(raw);
|
|
236
|
+
}
|
|
108
237
|
//# sourceMappingURL=status.js.map
|
package/dist/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,gDAAgD;AAChD,EAAE;AACF,8DAA8D;AAC9D,6CAA6C;AAC7C,yCAAyC;AACzC,EAAE;AACF,0DAA0D;AAC1D,qEAAqE;AACrE,gFAAgF;AAEhF,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,MAAM,GAAG,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export interface PrintResult {
|
|
|
27
27
|
* Contains all 24 fields from the three response lines,
|
|
28
28
|
* matching the Rust `HostStatus` struct for full parity.
|
|
29
29
|
*/
|
|
30
|
+
export type PrintMode = "TearOff" | "PeelOff" | "Rewind" | "Applicator" | "Cutter" | "DelayedCutter" | "Linerless" | "Unknown";
|
|
30
31
|
export interface PrinterStatus {
|
|
31
32
|
/** Printer is ready to accept data (not paused, head closed, media loaded). */
|
|
32
33
|
ready: boolean;
|
|
@@ -62,8 +63,8 @@ export interface PrinterStatus {
|
|
|
62
63
|
ribbonOut: boolean;
|
|
63
64
|
/** Thermal transfer mode active (field 3). */
|
|
64
65
|
thermalTransferMode: boolean;
|
|
65
|
-
/** Print mode
|
|
66
|
-
printMode:
|
|
66
|
+
/** Print mode (field 4). */
|
|
67
|
+
printMode: PrintMode;
|
|
67
68
|
/** Print width mode (field 5). */
|
|
68
69
|
printWidthMode: number;
|
|
69
70
|
/** Label waiting to be taken (field 6). */
|
|
@@ -81,6 +82,8 @@ export interface PrinterStatus {
|
|
|
81
82
|
/** The raw ~HS response string for advanced inspection. */
|
|
82
83
|
raw: string;
|
|
83
84
|
}
|
|
85
|
+
/** Parsing mode for `~HS` status responses. */
|
|
86
|
+
export type StatusParseMode = "lenient" | "strict";
|
|
84
87
|
/** A printer device as reported by the Zebra Browser Print agent. */
|
|
85
88
|
export interface PrinterDevice {
|
|
86
89
|
/** Human-readable device name (e.g. "ZD421"). */
|
|
@@ -151,6 +154,21 @@ export interface ValidateOptions {
|
|
|
151
154
|
*/
|
|
152
155
|
strict?: boolean;
|
|
153
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Opaque identifier for a logical print job (single label or batch).
|
|
159
|
+
* See contracts/fixtures/print-job-lifecycle.v1.json.
|
|
160
|
+
*/
|
|
161
|
+
export type JobId = string;
|
|
162
|
+
/**
|
|
163
|
+
* Lifecycle phase of a print job.
|
|
164
|
+
* Aligned with contracts/fixtures/print-job-lifecycle.v1.json.
|
|
165
|
+
*/
|
|
166
|
+
export type JobPhase = "queued" | "sending" | "sent" | "printing" | "completed" | "failed" | "aborted";
|
|
167
|
+
/**
|
|
168
|
+
* Generate a new unique job ID.
|
|
169
|
+
* Format: `job-{timestamp}-{random}` for process-local uniqueness.
|
|
170
|
+
*/
|
|
171
|
+
export declare function createJobId(): JobId;
|
|
154
172
|
/** Options for batch printing with status polling. */
|
|
155
173
|
export interface BatchOptions {
|
|
156
174
|
/**
|
|
@@ -169,6 +187,10 @@ export interface BatchProgress {
|
|
|
169
187
|
total: number;
|
|
170
188
|
/** Latest printer status (only present when `statusInterval` is set). */
|
|
171
189
|
status?: PrinterStatus;
|
|
190
|
+
/** Current lifecycle phase of this batch. */
|
|
191
|
+
phase: JobPhase;
|
|
192
|
+
/** Job ID for correlation with completion tracking. */
|
|
193
|
+
jobId: JobId;
|
|
172
194
|
}
|
|
173
195
|
/** Final result of a batch print operation. */
|
|
174
196
|
export interface BatchResult {
|
|
@@ -176,6 +198,8 @@ export interface BatchResult {
|
|
|
176
198
|
sent: number;
|
|
177
199
|
/** Total number of labels in the batch. */
|
|
178
200
|
total: number;
|
|
201
|
+
/** Job ID for correlation with completion tracking. */
|
|
202
|
+
jobId: JobId;
|
|
179
203
|
/**
|
|
180
204
|
* Present when the batch stops mid-stream due to an error.
|
|
181
205
|
* `sent` indicates how many labels were accepted before failure.
|
|
@@ -192,6 +216,15 @@ export type PrintErrorCode = "CONNECTION_REFUSED" | "TIMEOUT" | "HOST_NOT_FOUND"
|
|
|
192
216
|
/** An error thrown by the print client with a classified code. */
|
|
193
217
|
export declare class PrintError extends Error {
|
|
194
218
|
readonly code: PrintErrorCode;
|
|
195
|
-
|
|
219
|
+
/**
|
|
220
|
+
* When code is TIMEOUT from waitForCompletion, the printer's last-reported
|
|
221
|
+
* formats in buffer and labels remaining.
|
|
222
|
+
*/
|
|
223
|
+
readonly formatsInBuffer?: number;
|
|
224
|
+
readonly labelsRemaining?: number;
|
|
225
|
+
constructor(message: string, code: PrintErrorCode, cause?: unknown, completionState?: {
|
|
226
|
+
formatsInBuffer: number;
|
|
227
|
+
labelsRemaining: number;
|
|
228
|
+
});
|
|
196
229
|
}
|
|
197
230
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAID,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAC;IAEjB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IAErB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAE5B,+EAA+E;IAC/E,KAAK,EAAE,OAAO,CAAC;IAGf,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,eAAe,EAAE,OAAO,CAAC;IAGzB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,14 +1,33 @@
|
|
|
1
1
|
// ─── Printer connection configuration ────────────────────────────────────────
|
|
2
|
+
/**
|
|
3
|
+
* Generate a new unique job ID.
|
|
4
|
+
* Format: `job-{timestamp}-{random}` for process-local uniqueness.
|
|
5
|
+
*/
|
|
6
|
+
export function createJobId() {
|
|
7
|
+
const ts = Date.now().toString(36);
|
|
8
|
+
const r = Math.random().toString(36).slice(2, 10);
|
|
9
|
+
return `job-${ts}-${r}`;
|
|
10
|
+
}
|
|
2
11
|
/** An error thrown by the print client with a classified code. */
|
|
3
12
|
export class PrintError extends Error {
|
|
4
13
|
code;
|
|
5
|
-
|
|
14
|
+
/**
|
|
15
|
+
* When code is TIMEOUT from waitForCompletion, the printer's last-reported
|
|
16
|
+
* formats in buffer and labels remaining.
|
|
17
|
+
*/
|
|
18
|
+
formatsInBuffer;
|
|
19
|
+
labelsRemaining;
|
|
20
|
+
constructor(message, code, cause, completionState) {
|
|
6
21
|
super(message);
|
|
7
22
|
this.name = "PrintError";
|
|
8
23
|
this.code = code;
|
|
9
24
|
if (cause) {
|
|
10
25
|
this.cause = cause;
|
|
11
26
|
}
|
|
27
|
+
if (completionState) {
|
|
28
|
+
this.formatsInBuffer = completionState.formatsInBuffer;
|
|
29
|
+
this.labelsRemaining = completionState.labelsRemaining;
|
|
30
|
+
}
|
|
12
31
|
}
|
|
13
32
|
}
|
|
14
33
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAyOhF;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;AAC1B,CAAC;AAqED,kEAAkE;AAClE,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnB,IAAI,CAAiB;IAErC;;;OAGG;IACa,eAAe,CAAU;IACzB,eAAe,CAAU;IAEzC,YACE,OAAe,EACf,IAAoB,EACpB,KAAe,EACf,eAAsE;QAEtE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;YACvD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
|