@risleylima/escpos 1.0.1 → 1.0.2

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 (33) hide show
  1. package/README.md +55 -72
  2. package/dist/adapter/index.d.ts +6 -0
  3. package/dist/adapter/index.d.ts.map +1 -1
  4. package/dist/adapter/index.js +15 -0
  5. package/dist/adapter/index.js.map +1 -1
  6. package/dist/network-adapter/index.d.ts +6 -0
  7. package/dist/network-adapter/index.d.ts.map +1 -1
  8. package/dist/network-adapter/index.js +20 -0
  9. package/dist/network-adapter/index.js.map +1 -1
  10. package/dist/printer/index.d.ts +29 -2
  11. package/dist/printer/index.d.ts.map +1 -1
  12. package/dist/printer/index.js +139 -8
  13. package/dist/printer/index.js.map +1 -1
  14. package/dist/printer/profiles/bematech/mp4200th.d.ts.map +1 -1
  15. package/dist/printer/profiles/bematech/mp4200th.js +58 -1
  16. package/dist/printer/profiles/bematech/mp4200th.js.map +1 -1
  17. package/dist/printer/profiles/custom/vkp80iii.d.ts.map +1 -1
  18. package/dist/printer/profiles/custom/vkp80iii.js +12 -0
  19. package/dist/printer/profiles/custom/vkp80iii.js.map +1 -1
  20. package/dist/printer/profiles/default.d.ts.map +1 -1
  21. package/dist/printer/profiles/default.js +8 -0
  22. package/dist/printer/profiles/default.js.map +1 -1
  23. package/dist/printer/profiles/types.d.ts +44 -0
  24. package/dist/printer/profiles/types.d.ts.map +1 -1
  25. package/dist/serial-adapter/index.d.ts +6 -0
  26. package/dist/serial-adapter/index.d.ts.map +1 -1
  27. package/dist/serial-adapter/index.js +20 -0
  28. package/dist/serial-adapter/index.js.map +1 -1
  29. package/dist/usb-adapter/index.d.ts +10 -0
  30. package/dist/usb-adapter/index.d.ts.map +1 -1
  31. package/dist/usb-adapter/index.js +93 -19
  32. package/dist/usb-adapter/index.js.map +1 -1
  33. package/package.json +2 -1
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@risleylima/escpos.svg)](https://www.npmjs.com/package/@risleylima/escpos)
4
4
  [![Node.js](https://img.shields.io/node/v/@risleylima/escpos.svg)](https://nodejs.org/)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
- [![Tests](https://img.shields.io/badge/tests-138%20passed-brightgreen.svg)]()
6
+ [![Tests](https://img.shields.io/badge/tests-177%20passed-brightgreen.svg)]()
7
7
 
8
8
  **The definitive thermal printing library for Node.js.** — Industrial-grade robustness, O(n) performance, and a fully agnostic architecture.
9
9
 
@@ -18,16 +18,16 @@ This library was designed to solve common technical bottlenecks found in traditi
18
18
  | **Buffer Efficiency** | **O(n)** (Smart chunk accumulation) | O(n²) (Recursive concatenation) |
19
19
  | **Event Loop** | **Protected** (Async pixel processing) | Blocked (Synchronous processing) |
20
20
  | **State Management** | **Instantiable** (Multi-printer support) | Singletons (Global state limits) |
21
- | **Protocol Support** | **Modern GS ( k** (QR Functions 165/167/169/180/181) | Legacy ESC Z commands |
21
+ | **Protocol Support** | **Modern GS ( k** (Native QR) | Legacy ESC Z commands |
22
22
  | **Connectivity** | **Fully Agnostic** (Interface-based) | Coupled to specific IO |
23
23
 
24
24
  ---
25
25
 
26
26
  ## 🛠️ Architectural Pillars
27
27
 
28
- 1. **Transport Agnostic (IO):** The printer core is pure and communicates through an `AdapterLike` abstraction. Use USB, Serial, or Network interchangeably.
28
+ 1. **Transport Agnostic (IO):** The printer core communicates through an `AdapterLike` abstraction. Use USB, Serial, or Network interchangeably.
29
29
  2. **Model Agnostic (Profiles):** Handle manufacturer-specific "quirks" (Epson, Elgin, Bematech, Custom) via a robust Profile system.
30
- 3. **Industrial Reliability:** Built-in mechanisms for `drain` and graceful shutdown to ensure zero data loss.
30
+ 3. **Industrial Reliability:** Built-in mechanisms for `drain` (with timeouts), chunking, and serialized IO to ensure zero data loss under high load.
31
31
 
32
32
  ---
33
33
 
@@ -41,10 +41,7 @@ npm install @risleylima/escpos
41
41
 
42
42
  ## 🧰 Development Setup
43
43
 
44
- - **Official package manager:** `yarn`
45
- - Use `yarn install` for dependency install in this repository.
46
- - Use `yarn test`, `yarn test:coverage`, and `yarn build` for local workflows.
47
-
44
+ If you are contributing or building from source:
48
45
  ```bash
49
46
  yarn install
50
47
  yarn build
@@ -55,7 +52,7 @@ yarn test
55
52
 
56
53
  ## ⚡ Quick Start
57
54
 
58
- ### Network (TCP RAW) Example
55
+ ### Network (TCP RAW)
59
56
  ```javascript
60
57
  import { Network, Printer } from '@risleylima/escpos';
61
58
 
@@ -64,45 +61,30 @@ await adapter.connect('10.1.1.50', 9100);
64
61
  await adapter.open();
65
62
 
66
63
  const printer = new Printer(adapter);
67
- printer.textln('Hello World').cut();
64
+ printer.textln('Hello Network World').cut();
68
65
 
69
66
  await printer.flush();
70
67
  await adapter.close();
71
68
  ```
72
69
 
73
- ### Serial Example
70
+ ### Serial (RS232)
74
71
  ```javascript
75
72
  import { Serial, Printer } from '@risleylima/escpos';
76
73
 
77
74
  const adapter = new Serial();
78
- // baudRate is optional; if omitted, 9600 is used when opening (node-serialport requires it).
79
- // Port path: Linux/macOS → /dev/ttyUSB0, /dev/tty.usbmodem*; Windows COM1, COM2, COM3, ...
80
- await adapter.connect(process.platform === 'win32' ? 'COM3' : '/dev/tty.usbmodem112301', { baudRate: 115200 });
75
+ // baudRate is optional; if omitted, 9600 is used.
76
+ await adapter.connect('/dev/ttyUSB0', { baudRate: 115200 });
81
77
  await adapter.open();
82
78
 
83
79
  const printer = new Printer(adapter);
84
- printer.textln('Serial Printing').cut();
80
+ printer.textln('Hello Serial World').cut();
85
81
 
86
82
  await printer.flush();
87
83
  await adapter.close();
88
84
  ```
89
- **Windows:** Use the COM port shown in Device Manager (Ports COM & LPT), e.g. `COM3` or `COM4`. On Windows the path is always `COMn`.
85
+ *Note for Windows: Use paths like `COM1`, `COM2`, etc.*
90
86
 
91
- Windows-only Serial example:
92
- ```javascript
93
- import { Serial, Printer } from '@risleylima/escpos';
94
-
95
- const adapter = new Serial();
96
- await adapter.connect('COM3', { baudRate: 9600 }); // or 115200, depending on the printer
97
- await adapter.open();
98
-
99
- const printer = new Printer(adapter);
100
- printer.textln('Windows print').cut();
101
- await printer.flush();
102
- await adapter.close();
103
- ```
104
-
105
- ### USB Example
87
+ ### USB Direct
106
88
  ```javascript
107
89
  import { USB, Printer } from '@risleylima/escpos';
108
90
 
@@ -111,7 +93,7 @@ await adapter.connect(0x04b8, 0x0202); // VID, PID
111
93
  await adapter.open();
112
94
 
113
95
  const printer = new Printer(adapter);
114
- printer.textln('USB Printing').cut();
96
+ printer.textln('Hello USB World').cut();
115
97
 
116
98
  await printer.flush();
117
99
  await adapter.close();
@@ -119,45 +101,52 @@ await adapter.close();
119
101
 
120
102
  ---
121
103
 
122
- ## 📝 Visual Result Preview
123
-
124
- ```text
125
- ------------------------------------------------
126
- MY STORE
127
- 1024 Engineering Street
128
- ------------------------------------------------
129
- Item 001 $ 10.00
130
- Item 002 $ 20.00
131
- ------------------------------------------------
132
- TOTAL $ 30.00
133
- ------------------------------------------------
134
- [ MODERN QR CODE HERE ]
135
- ------------------------------------------------
104
+ ## 🔳 QR Code Strategies
105
+
106
+ `printer.qrcode(...)` supports three strategies to ensure compatibility with any printer:
107
+
108
+ - `native`: Sends native `GS ( k` commands. Fast and sharp.
109
+ - `raster`: Generates a bitmask in memory and prints as an image. Works on *any* printer that supports graphics.
110
+ - `auto`: Uses the profile configuration to decide the best path (e.g., Bematech defaults to raster for reliability).
111
+
112
+ ```javascript
113
+ printer.qrcode('https://google.com', {
114
+ size: 6,
115
+ level: 'M',
116
+ strategy: 'raster',
117
+ position: 'center'
118
+ });
136
119
  ```
137
120
 
121
+ For raster QR, `position` uses standard alignment (`ESC a`). On some generic firmwares alignment may be approximate; use `offsetCols` (in character columns) to fine-tune horizontal placement.
122
+
138
123
  ---
139
124
 
140
- ## 🖼️ Industrial Image Processing
125
+ ## 🖼️ Image Processing
141
126
 
142
- - **Formats:** PNG (Indexed/Gray/RGB), BMP (1/4/8/24-bit), JPEG, GIF, and SVG.
143
- - **Non-blocking:** Asynchronous decoding with `setImmediate` ensuring your server stays responsive.
127
+ - **Supported Formats:** PNG (Adam7/Indexed/Gray/RGB), BMP (1/4/8/24-bit), JPEG, GIF, and **SVG**.
128
+ - **Non-blocking:** Heavy processing yields to the Event Loop, keeping your server responsive.
129
+ - **SVG Excellence:** Automatic transparency flattening over white background.
144
130
 
145
131
  ```javascript
146
132
  import { Image } from '@risleylima/escpos';
147
- const image = await Image.load('./logo.png');
133
+ const image = await Image.load('./logo.svg');
148
134
  printer.raster(image);
149
135
  ```
150
136
 
151
137
  ---
152
138
 
153
- ## 🔍 Status Monitoring
139
+ ## 🛟 Recovery API
154
140
 
155
- Reliable hardware feedback:
141
+ Reliable error handling for production environments:
156
142
 
157
143
  ```javascript
158
- const status = await printer.getStatus('PAPER');
159
- if (status[0] & 0x0C) {
160
- console.log('Alert: Paper low or out of paper!');
144
+ // Recover transport + printer baseline
145
+ const result = await printer.recover({ checkStatus: true });
146
+
147
+ // If recovery had to clear the buffer, the data is returned for logging/retry
148
+ if (result.discardedBuffer) {
149
+ console.log('Unprinted data:', result.discardedBuffer.length, 'bytes');
161
150
  }
162
151
  ```
163
152
 
@@ -165,30 +154,24 @@ if (status[0] & 0x0C) {
165
154
 
166
155
  ## 🖨️ Profile Support
167
156
 
168
- The library uses profiles to handle model-specific commands:
169
-
170
157
  - **'default'**: Standard ESC/POS.
171
- - **'custom-vkp80iii'**: CUSTOM VKP80III (Uses FS P for advanced cut/eject).
172
- - **'bematech-mp4200th'**: Bematech MP-4200 TH in ESC/POS mode.
158
+ - **'custom-vkp80iii'**: Custom VKP80III (Special eject/cut flow).
159
+ - **'bematech-mp4200th'**: Optimized for Brazilian market standard.
173
160
 
174
- You can also register model profiles at runtime with `registerProfile(...)`, or use an isolated registry with `createProfileRegistry(...)` for multi-tenant applications.
175
-
176
- ---
177
-
178
- ## ⚙️ Reliability and Safety Notes
179
-
180
- - **Serial:** If you omit `baudRate` in `connect(port, options)`, the adapter uses 9600 when opening. Pass `baudRate` to match the printer (e.g. 115200 for Bematech MP-4200 TH).
181
- - `flush()` is transactional: if adapter write fails, payload is preserved in buffer for retry/recovery.
182
- - Printer I/O is serialized internally for `flush()`, `close()`, and `getStatus()` to reduce race conditions in concurrent flows.
183
- - Passing an unknown profile id now fails fast with a descriptive error instead of silently falling back.
161
+ Register your own:
162
+ ```javascript
163
+ import { registerProfile } from '@risleylima/escpos';
164
+ registerProfile({ id: 'my-model', name: 'My Model', defaultPaperWidth: 42 });
165
+ ```
184
166
 
185
167
  ---
186
168
 
187
169
  ## ✅ Reliability
188
170
 
189
- - **138 Unit and Integration Tests.**
190
- - **Strict TypeScript:** Full type safety for the entire ESC/POS command set.
191
- - **Spec-Validated:** QR Code aligned to ESC/POS GS ( k (Functions 165/167/169/180/181) and industrial connection lifecycles.
171
+ - **177+ Unit and Integration Tests.**
172
+ - **TypeScript Strict:** Type safety for the entire command set.
173
+ - **Spec-Validated:** Aligned with official Epson and manufacturer manuals.
174
+ - **Transactional flush:** On write failure, the buffer is preserved so you can retry or log; call `printer.recover()` after transport errors before resuming prints.
192
175
 
193
176
  ---
194
177
 
@@ -9,6 +9,11 @@ export declare abstract class Adapter extends EventEmitter {
9
9
  */
10
10
  protected synchronized<T>(task: () => Promise<T>): Promise<T>;
11
11
  getState(): AdapterState;
12
+ /**
13
+ * Generic transport recovery hook.
14
+ * Concrete adapters can override with interface-specific behavior.
15
+ */
16
+ recover(): Promise<boolean>;
12
17
  abstract connect(...args: unknown[]): Promise<boolean>;
13
18
  abstract open(): Promise<boolean>;
14
19
  abstract write(data: Buffer): Promise<boolean>;
@@ -24,6 +29,7 @@ export type AdapterLike = {
24
29
  close(options?: {
25
30
  timeout?: number;
26
31
  }): Promise<boolean>;
32
+ recover?(): Promise<boolean>;
27
33
  getState?(): string;
28
34
  };
29
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAElH,8BAAsB,OAAQ,SAAQ,YAAY;IAChD,SAAS,CAAC,KAAK,EAAE,YAAY,CAAkB;IAC/C,OAAO,CAAC,WAAW,CAAoC;IAEvD;;;OAGG;cACa,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAMnE,QAAQ,IAAI,YAAY;IAIxB,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IACtD,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9C,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAChE,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CACxC;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAElH,8BAAsB,OAAQ,SAAQ,YAAY;IAChD,SAAS,CAAC,KAAK,EAAE,YAAY,CAAkB;IAC/C,OAAO,CAAC,WAAW,CAAoC;IAEvD;;;OAGG;cACa,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAMnE,QAAQ,IAAI,YAAY;IAIxB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAWjC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IACtD,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9C,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAChE,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CACxC;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,QAAQ,CAAC,IAAI,MAAM,CAAC;CACrB,CAAC"}
@@ -20,6 +20,21 @@ class Adapter extends events_1.EventEmitter {
20
20
  getState() {
21
21
  return this.state;
22
22
  }
23
+ /**
24
+ * Generic transport recovery hook.
25
+ * Concrete adapters can override with interface-specific behavior.
26
+ */
27
+ async recover() {
28
+ return this.synchronized(async () => {
29
+ try {
30
+ await this.close();
31
+ }
32
+ catch {
33
+ // Best-effort close during recovery.
34
+ }
35
+ return true;
36
+ });
37
+ }
23
38
  }
24
39
  exports.Adapter = Adapter;
25
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAItC,MAAsB,OAAQ,SAAQ,qBAAY;IAAlD;;QACY,UAAK,GAAiB,cAAc,CAAC;QACvC,gBAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAsBzD,CAAC;IApBC;;;OAGG;IACO,KAAK,CAAC,YAAY,CAAI,IAAsB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CAQF;AAxBD,0BAwBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAItC,MAAsB,OAAQ,SAAQ,qBAAY;IAAlD;;QACY,UAAK,GAAiB,cAAc,CAAC;QACvC,gBAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAqCzD,CAAC;IAnCC;;;OAGG;IACO,KAAK,CAAC,YAAY,CAAI,IAAsB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CAQF;AAvCD,0BAuCC"}
@@ -20,5 +20,11 @@ export declare class Network extends Adapter {
20
20
  disconnect(options?: {
21
21
  timeout?: number;
22
22
  }): Promise<boolean>;
23
+ /**
24
+ * Network-specific recovery:
25
+ * 1) close current socket
26
+ * 2) reopen using last configured host/port
27
+ */
28
+ recover(): Promise<boolean>;
23
29
  }
24
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network-adapter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,qBAAa,OAAQ,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAsC;IAE/C,OAAO,CACX,aAAa,EAAE,MAAM,GAAG,qBAAqB,EAC7C,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC,OAAO,CAAC;IA2Bb,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAsDxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB3C,OAAO,CAAC,UAAU;IAmDZ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IA4BvB,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BvD,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network-adapter/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,qBAAa,OAAQ,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAsC;IAE/C,OAAO,CACX,aAAa,EAAE,MAAM,GAAG,qBAAqB,EAC7C,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC,OAAO,CAAC;IA2Bb,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAsDxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB3C,OAAO,CAAC,UAAU;IAmDZ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IA4BvB,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BvD,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlE;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAgBlC"}
@@ -258,6 +258,26 @@ class Network extends adapter_1.Adapter {
258
258
  async disconnect(options) {
259
259
  return this.close(options);
260
260
  }
261
+ /**
262
+ * Network-specific recovery:
263
+ * 1) close current socket
264
+ * 2) reopen using last configured host/port
265
+ */
266
+ async recover() {
267
+ try {
268
+ await this.close();
269
+ }
270
+ catch (e) {
271
+ debug('close failed during network recover: %s', e.message);
272
+ }
273
+ if (!this.options) {
274
+ this.state = 'DISCONNECTED';
275
+ return true;
276
+ }
277
+ await new Promise((resolve) => setTimeout(resolve, 100));
278
+ await this.open();
279
+ return true;
280
+ }
261
281
  }
262
282
  exports.Network = Network;
263
283
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network-adapter/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network-adapter/index.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,24 @@ export interface PresentTicketOptions extends TicketPresentationOptions {
36
36
  /** When true and model requires explicit cut, send partial cut. Default: true. */
37
37
  part?: boolean;
38
38
  }
39
+ export interface RecoverOptions {
40
+ /** Run adapter-level recovery hook before printer recovery command. Default: true */
41
+ transport?: boolean;
42
+ /** Request DLE EOT status bytes after recovery. Default: false */
43
+ checkStatus?: boolean;
44
+ /** Optional wait between init and status read. Default: 120ms */
45
+ settleMs?: number;
46
+ /** If true, the current buffer content is NOT cleared during recovery. Default: false */
47
+ keepBuffer?: boolean;
48
+ }
49
+ export interface RecoverResult {
50
+ printer?: Buffer;
51
+ offline?: Buffer;
52
+ error?: Buffer;
53
+ paper?: Buffer;
54
+ /** The content of the buffer that was flushed during recovery (if keepBuffer was false). */
55
+ discardedBuffer?: Buffer;
56
+ }
39
57
  declare class SpecBuffer {
40
58
  private chunks;
41
59
  private currentSize;
@@ -138,9 +156,13 @@ export declare class Printer {
138
156
  setReverseColors(bool: boolean): this;
139
157
  setReverseColorsAlt(bool: boolean): this;
140
158
  raw(data: Buffer | string): this;
159
+ private writeNativeQrCode;
160
+ private writeRasterQrCode;
141
161
  /**
142
- * Modern QR Code implementation using GS ( k.
143
- * QR sequence (cn=49): fn=65 (model), fn=67 (module size), fn=69 (EC level), fn=80 (store), fn=81 (print).
162
+ * QR Code emission strategy:
163
+ * - native: ESC/POS GS ( k flow.
164
+ * - raster: rendered matrix sent as GS v 0 bitmap.
165
+ * - auto: profile-driven (fallback to raster on native hook failures).
144
166
  */
145
167
  qrcode(code: string, options?: QrCodeOptions): this;
146
168
  /**
@@ -153,6 +175,11 @@ export declare class Printer {
153
175
  * Returns a Buffer with the status byte.
154
176
  */
155
177
  getStatus(type?: 'PRINTER' | 'OFFLINE' | 'ERROR' | 'PAPER'): Promise<Buffer>;
178
+ /**
179
+ * Recover transport + generic ESC/POS runtime state.
180
+ * Intended for post-error cleanup before retrying jobs.
181
+ */
182
+ recover(options?: RecoverOptions): Promise<RecoverResult>;
156
183
  }
157
184
  export {};
158
185
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/printer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/printer/index.ts"],"names":[],"mappings":"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"}