@risleylima/escpos 1.0.4 → 1.0.6
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 +4 -2
- package/README.pt-BR.md +192 -0
- package/assets/logo-ticket-node-byte-adam7.png +0 -0
- package/assets/logo-ticket-node-byte.bmp +0 -0
- package/assets/logo-ticket-node-byte.gif +0 -0
- package/assets/logo-ticket-node-byte.jpg +0 -0
- package/assets/logo-ticket-node-byte.png +0 -0
- package/assets/logo-ticket-node-byte.svg +24 -0
- package/dist/adapter/index.d.ts +17 -0
- package/dist/adapter/index.d.ts.map +1 -1
- package/dist/adapter/index.js +33 -0
- package/dist/adapter/index.js.map +1 -1
- package/dist/network-adapter/index.d.ts.map +1 -1
- package/dist/network-adapter/index.js +3 -22
- package/dist/network-adapter/index.js.map +1 -1
- package/dist/printer/commands.d.ts.map +1 -1
- package/dist/printer/commands.js +3 -2
- package/dist/printer/commands.js.map +1 -1
- package/dist/printer/index.d.ts +6 -0
- package/dist/printer/index.d.ts.map +1 -1
- package/dist/printer/index.js +32 -21
- package/dist/printer/index.js.map +1 -1
- package/dist/printer/utils.d.ts +9 -0
- package/dist/printer/utils.d.ts.map +1 -1
- package/dist/printer/utils.js +9 -1
- package/dist/printer/utils.js.map +1 -1
- package/dist/serial-adapter/index.d.ts.map +1 -1
- package/dist/serial-adapter/index.js +3 -21
- package/dist/serial-adapter/index.js.map +1 -1
- package/dist/usb-adapter/index.d.ts +1 -0
- package/dist/usb-adapter/index.d.ts.map +1 -1
- package/dist/usb-adapter/index.js +50 -36
- package/dist/usb-adapter/index.js.map +1 -1
- package/package.json +13 -3
package/README.md
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@risleylima/escpos)
|
|
4
4
|
[](https://nodejs.org/)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
|
-
[]()
|
|
7
|
+
|
|
8
|
+
**🇧🇷 Documentação em português:** [README.pt-BR.md](./README.pt-BR.md) • [Documentação técnica (pt-BR)](./docs/pt-BR/README.md)
|
|
7
9
|
|
|
8
10
|
**The definitive thermal printing library for Node.js.** — Industrial-grade robustness, O(n) performance, and a fully agnostic architecture.
|
|
9
11
|
|
|
@@ -173,7 +175,7 @@ registerProfile({ id: 'my-model', name: 'My Model', defaultPaperWidth: 42 });
|
|
|
173
175
|
|
|
174
176
|
## ✅ Reliability
|
|
175
177
|
|
|
176
|
-
- **
|
|
178
|
+
- **239+ Unit and Integration Tests.**
|
|
177
179
|
- **TypeScript Strict:** Type safety for the entire command set.
|
|
178
180
|
- **Spec-Validated:** Aligned with official Epson and manufacturer manuals.
|
|
179
181
|
- **Transactional flush:** On write failure, the buffer is preserved so you can retry or log; call `printer.recover()` after transport errors before resuming prints.
|
package/README.pt-BR.md
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# @risleylima/escpos
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@risleylima/escpos)
|
|
4
|
+
[](https://nodejs.org/)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
[]()
|
|
7
|
+
|
|
8
|
+
**🇺🇸 Read in English:** [README.md](./README.md)
|
|
9
|
+
|
|
10
|
+
**A biblioteca definitiva de impressão térmica para Node.js.** — Robustez industrial, desempenho O(n) e arquitetura totalmente agnóstica.
|
|
11
|
+
|
|
12
|
+
## 🚀 Por que escolher esta biblioteca?
|
|
13
|
+
|
|
14
|
+
Esta biblioteca foi pensada para eliminar gargalos comuns em implementações tradicionais de impressão térmica. Foco em confiabilidade, desempenho e arquitetura limpa.
|
|
15
|
+
|
|
16
|
+
### Vantagens técnicas
|
|
17
|
+
|
|
18
|
+
| Recurso | Nossa abordagem moderna | Padrões legados comuns |
|
|
19
|
+
| :--- | :--- | :--- |
|
|
20
|
+
| **Eficiência de buffer** | **O(n)** (acúmulo inteligente em chunks) | O(n²) (concatenação recursiva) |
|
|
21
|
+
| **Event loop** | **Protegido** (processamento assíncrono de pixels) | Bloqueado (processamento síncrono) |
|
|
22
|
+
| **Gerenciamento de estado** | **Instanciável** (suporte a múltiplas impressoras) | Singletons (limites de estado global) |
|
|
23
|
+
| **Suporte a protocolo** | **GS ( k** nativo (QR moderno) | Comandos legados ESC Z |
|
|
24
|
+
| **Conectividade** | **Totalmente agnóstica** (baseada em interface) | Acoplada a um IO específico |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 🛠️ Pilares da arquitetura
|
|
29
|
+
|
|
30
|
+
1. **Transporte agnóstico (IO):** O núcleo da impressora comunica-se por meio da abstração `AdapterLike`. Use USB, Serial ou Rede de forma intercambiável.
|
|
31
|
+
2. **Modelo agnóstico (Perfis):** Trate "quircs" específicos de fabricantes (Epson, Elgin, Bematech, Custom) via um sistema robusto de perfis.
|
|
32
|
+
3. **Confiabilidade industrial:** Mecanismos de `drain` (com timeouts), chunking e IO serializado para garantir zero perda de dados sob carga.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 📦 Instalação
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install @risleylima/escpos
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 🧰 Ambiente de desenvolvimento
|
|
45
|
+
|
|
46
|
+
Para contribuir ou compilar a partir do código-fonte:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
yarn install
|
|
50
|
+
yarn build
|
|
51
|
+
yarn test
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## ⚡ Início rápido
|
|
57
|
+
|
|
58
|
+
### Rede (TCP RAW)
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
import { Network, Printer } from '@risleylima/escpos';
|
|
62
|
+
|
|
63
|
+
const adapter = new Network();
|
|
64
|
+
await adapter.connect('10.1.1.50', 9100);
|
|
65
|
+
await adapter.open();
|
|
66
|
+
|
|
67
|
+
const printer = new Printer(adapter);
|
|
68
|
+
printer.textln('Olá mundo na rede').cut();
|
|
69
|
+
|
|
70
|
+
await printer.flush();
|
|
71
|
+
await adapter.close();
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Serial (RS232)
|
|
75
|
+
|
|
76
|
+
```javascript
|
|
77
|
+
import { Serial, Printer } from '@risleylima/escpos';
|
|
78
|
+
|
|
79
|
+
const adapter = new Serial();
|
|
80
|
+
// baudRate é opcional; se omitido, 9600 é usado.
|
|
81
|
+
await adapter.connect('/dev/ttyUSB0', { baudRate: 115200 });
|
|
82
|
+
await adapter.open();
|
|
83
|
+
|
|
84
|
+
const printer = new Printer(adapter);
|
|
85
|
+
printer.textln('Olá mundo serial').cut();
|
|
86
|
+
|
|
87
|
+
await printer.flush();
|
|
88
|
+
await adapter.close();
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
*No Windows: use caminhos como `COM1`, `COM2`, etc.*
|
|
92
|
+
|
|
93
|
+
### USB direto
|
|
94
|
+
|
|
95
|
+
```javascript
|
|
96
|
+
import { USB, Printer } from '@risleylima/escpos';
|
|
97
|
+
|
|
98
|
+
const adapter = new USB();
|
|
99
|
+
await adapter.connect(0x04b8, 0x0202); // VID, PID
|
|
100
|
+
await adapter.open();
|
|
101
|
+
|
|
102
|
+
const printer = new Printer(adapter);
|
|
103
|
+
printer.textln('Olá mundo USB').cut();
|
|
104
|
+
|
|
105
|
+
await printer.flush();
|
|
106
|
+
await adapter.close();
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Documentação completa de comandos
|
|
110
|
+
|
|
111
|
+
- Referência método a método: [docs/pt-BR/architecture/COMMANDS_API.md](./docs/pt-BR/architecture/COMMANDS_API.md)
|
|
112
|
+
- Padrões práticos de uso: [docs/pt-BR/architecture/COMMANDS_RECIPES.md](./docs/pt-BR/architecture/COMMANDS_RECIPES.md)
|
|
113
|
+
- Índice da documentação técnica: [docs/pt-BR/README.md](./docs/pt-BR/README.md)
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 🔳 Estratégias de QR Code
|
|
118
|
+
|
|
119
|
+
`printer.qrcode(...)` suporta três estratégias para compatibilidade com qualquer impressora:
|
|
120
|
+
|
|
121
|
+
- `native`: Envia comandos nativos `GS ( k`. Rápido e nítido.
|
|
122
|
+
- `raster`: Gera máscara de bits em memória e imprime como imagem. Funciona em *qualquer* impressora com suporte a gráficos.
|
|
123
|
+
- `auto`: Usa a configuração do perfil para escolher o melhor caminho (ex.: Bematech usa raster por padrão para confiabilidade).
|
|
124
|
+
|
|
125
|
+
```javascript
|
|
126
|
+
printer.qrcode('https://google.com', {
|
|
127
|
+
size: 6,
|
|
128
|
+
level: 'M',
|
|
129
|
+
strategy: 'raster',
|
|
130
|
+
position: 'center'
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Para QR raster, `position` usa alinhamento padrão (`ESC a`). Em alguns firmwares genéricos o alinhamento pode ser aproximado; use `offsetCols` (em colunas de caractere) para ajustar o posicionamento horizontal.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 🖼️ Processamento de imagens
|
|
139
|
+
|
|
140
|
+
- **Formatos suportados:** PNG (Adam7/Indexed/Gray/RGB), BMP (1/4/8/24-bit), JPEG, GIF e **SVG**.
|
|
141
|
+
- **Não bloqueante:** Processamento pesado cede ao Event Loop, mantendo o servidor responsivo.
|
|
142
|
+
- **Excelência em SVG:** Flattening automático de transparência sobre fundo branco.
|
|
143
|
+
|
|
144
|
+
```javascript
|
|
145
|
+
import { Image } from '@risleylima/escpos';
|
|
146
|
+
const image = await Image.load('./logo.svg');
|
|
147
|
+
printer.raster(image);
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 🛟 API de recuperação
|
|
153
|
+
|
|
154
|
+
Tratamento de erros confiável para ambientes de produção:
|
|
155
|
+
|
|
156
|
+
```javascript
|
|
157
|
+
// Recuperar transporte + baseline da impressora
|
|
158
|
+
const result = await printer.recover({ checkStatus: true });
|
|
159
|
+
|
|
160
|
+
// Se a recuperação precisou limpar o buffer, os dados são retornados para log/retry
|
|
161
|
+
if (result.discardedBuffer) {
|
|
162
|
+
console.log('Dados não impressos:', result.discardedBuffer.length, 'bytes');
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🖨️ Suporte a perfis
|
|
169
|
+
|
|
170
|
+
- **'default'**: ESC/POS padrão.
|
|
171
|
+
- **'custom-vkp80iii'**: Custom VKP80III (fluxo especial de ejetar/cortar).
|
|
172
|
+
- **'bematech-mp4200th'**: Otimizado para o padrão do mercado brasileiro.
|
|
173
|
+
|
|
174
|
+
Registre o seu próprio:
|
|
175
|
+
|
|
176
|
+
```javascript
|
|
177
|
+
import { registerProfile } from '@risleylima/escpos';
|
|
178
|
+
registerProfile({ id: 'meu-modelo', name: 'Meu Modelo', defaultPaperWidth: 42 });
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## ✅ Confiabilidade
|
|
184
|
+
|
|
185
|
+
- **239+ testes unitários e de integração.**
|
|
186
|
+
- **TypeScript Strict:** Segurança de tipos para todo o conjunto de comandos.
|
|
187
|
+
- **Validado por especificações:** Alinhado aos manuais oficiais Epson e dos fabricantes.
|
|
188
|
+
- **Flush transacional:** Em falha de escrita, o buffer é preservado para retry ou log; chame `printer.recover()` após erros de transporte antes de retomar impressões.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
**Feito com ❤️ para sistemas de missão crítica.**
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="438" height="152" viewBox="0 0 276 96" role="img" aria-label="CAFE NODE & BYTE logo">
|
|
2
|
+
<rect width="276" height="96" fill="#ffffff"/>
|
|
3
|
+
|
|
4
|
+
<g transform="translate(10,14)">
|
|
5
|
+
<rect x="0" y="24" width="50" height="30" rx="7" fill="none" stroke="#111111" stroke-width="3.5"/>
|
|
6
|
+
<path d="M50 30h10c7 0 10 4 10 8s-3 8-10 8h-10" fill="none" stroke="#111111" stroke-width="3.5" stroke-linecap="round"/>
|
|
7
|
+
<path d="M3 24c4-9 10-13 22-13s18 4 22 13" fill="none" stroke="#0f6a57" stroke-width="3.5" stroke-linecap="round"/>
|
|
8
|
+
<circle cx="13" cy="39" r="2.8" fill="#0f6a57"/>
|
|
9
|
+
<circle cx="25" cy="39" r="2.8" fill="#0f6a57"/>
|
|
10
|
+
<circle cx="37" cy="39" r="2.8" fill="#0f6a57"/>
|
|
11
|
+
<line x1="13" y1="36.2" x2="13" y2="28.2" stroke="#0f6a57" stroke-width="2.2"/>
|
|
12
|
+
<line x1="25" y1="36.2" x2="25" y2="24.2" stroke="#0f6a57" stroke-width="2.2"/>
|
|
13
|
+
<line x1="37" y1="36.2" x2="37" y2="28.2" stroke="#0f6a57" stroke-width="2.2"/>
|
|
14
|
+
</g>
|
|
15
|
+
|
|
16
|
+
<g transform="translate(78,18)">
|
|
17
|
+
<text x="0" y="30" font-family="Arial, Helvetica, sans-serif" font-size="18" font-weight="700" letter-spacing="0.8" fill="#111111">
|
|
18
|
+
CAFE NODE & BYTE
|
|
19
|
+
</text>
|
|
20
|
+
<text x="1" y="54" font-family="Arial, Helvetica, sans-serif" font-size="9.2" font-weight="700" letter-spacing="0.55" fill="#0f6a57">
|
|
21
|
+
SPECIALTY COFFEE - CODE FRIENDLY
|
|
22
|
+
</text>
|
|
23
|
+
</g>
|
|
24
|
+
</svg>
|
package/dist/adapter/index.d.ts
CHANGED
|
@@ -14,6 +14,16 @@ export declare abstract class Adapter extends EventEmitter {
|
|
|
14
14
|
* Concrete adapters can override with interface-specific behavior.
|
|
15
15
|
*/
|
|
16
16
|
recover(): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Helper for transport-specific recovery: close, wait, reopen.
|
|
19
|
+
* Concrete adapters use this to avoid duplicating the close/delay/reopen pattern.
|
|
20
|
+
*/
|
|
21
|
+
protected recoverAfterClose(delayMs: number, reopen: () => Promise<unknown>): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Helper for chunked writes: sets BUSY state, loops over chunks, restores state.
|
|
24
|
+
* Concrete adapters use this to avoid duplicating the write loop pattern.
|
|
25
|
+
*/
|
|
26
|
+
protected writeInChunks(data: Buffer, chunkSize: number, writeOne: (chunk: Buffer) => Promise<void>): Promise<boolean>;
|
|
17
27
|
abstract connect(...args: unknown[]): Promise<boolean>;
|
|
18
28
|
abstract open(): Promise<boolean>;
|
|
19
29
|
abstract write(data: Buffer): Promise<boolean>;
|
|
@@ -23,8 +33,15 @@ export declare abstract class Adapter extends EventEmitter {
|
|
|
23
33
|
}): Promise<boolean>;
|
|
24
34
|
abstract disconnect(): Promise<boolean>;
|
|
25
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Minimal printer transport interface.
|
|
38
|
+
* Network and Serial always support read(). USB implements read() when the device
|
|
39
|
+
* exposes an IN endpoint; otherwise it throws. Printer.getStatus() checks for
|
|
40
|
+
* read support before calling.
|
|
41
|
+
*/
|
|
26
42
|
export type AdapterLike = {
|
|
27
43
|
write(data: Buffer): Promise<boolean>;
|
|
44
|
+
/** Reads data from device. USB throws when no IN endpoint. Caller should check before use. */
|
|
28
45
|
read(): Promise<Buffer>;
|
|
29
46
|
close(options?: {
|
|
30
47
|
timeout?: number;
|
|
@@ -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;;;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"}
|
|
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;;;OAGG;cACa,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAWpG;;;OAGG;cACa,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzC,OAAO,CAAC,OAAO,CAAC;IAcnB,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;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,8FAA8F;IAC9F,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"}
|
package/dist/adapter/index.js
CHANGED
|
@@ -35,6 +35,39 @@ class Adapter extends events_1.EventEmitter {
|
|
|
35
35
|
return true;
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Helper for transport-specific recovery: close, wait, reopen.
|
|
40
|
+
* Concrete adapters use this to avoid duplicating the close/delay/reopen pattern.
|
|
41
|
+
*/
|
|
42
|
+
async recoverAfterClose(delayMs, reopen) {
|
|
43
|
+
try {
|
|
44
|
+
await this.close();
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Best-effort close during recovery.
|
|
48
|
+
}
|
|
49
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
50
|
+
await reopen();
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Helper for chunked writes: sets BUSY state, loops over chunks, restores state.
|
|
55
|
+
* Concrete adapters use this to avoid duplicating the write loop pattern.
|
|
56
|
+
*/
|
|
57
|
+
async writeInChunks(data, chunkSize, writeOne) {
|
|
58
|
+
const prevState = this.state;
|
|
59
|
+
this.state = 'BUSY';
|
|
60
|
+
try {
|
|
61
|
+
for (let i = 0; i < data.length; i += chunkSize) {
|
|
62
|
+
const chunk = data.subarray(i, i + chunkSize);
|
|
63
|
+
await writeOne(chunk);
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
this.state = prevState === 'BUSY' ? 'READY' : prevState;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
38
71
|
}
|
|
39
72
|
exports.Adapter = Adapter;
|
|
40
73
|
//# 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;
|
|
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;IA0EzD,CAAC;IAxEC;;;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;IAED;;;OAGG;IACO,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,MAA8B;QAC/E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,MAAM,MAAM,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,aAAa,CAC3B,IAAY,EACZ,SAAiB,EACjB,QAA0C;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC9C,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,CAAC;IACH,CAAC;CAQF;AA5ED,0BA4EC"}
|
|
@@ -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;
|
|
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;AASD,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;IAO3C,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;CAOlC"}
|
|
@@ -42,6 +42,7 @@ const DEFAULT_CONNECT_TIMEOUT_MS = 10000;
|
|
|
42
42
|
const DEFAULT_CLOSE_TIMEOUT_MS = 2000;
|
|
43
43
|
const DEFAULT_IO_TIMEOUT_MS = 30000;
|
|
44
44
|
const CHUNK_SIZE = 8192; // 8KB chunks for industrial flow control
|
|
45
|
+
const RECOVER_DELAY_MS = 100;
|
|
45
46
|
class Network extends adapter_1.Adapter {
|
|
46
47
|
constructor() {
|
|
47
48
|
super(...arguments);
|
|
@@ -129,19 +130,7 @@ class Network extends adapter_1.Adapter {
|
|
|
129
130
|
return this.synchronized(async () => {
|
|
130
131
|
if (!this.socket || this.socket.destroyed)
|
|
131
132
|
throw new Error(NOT_CONNECTED_MSG);
|
|
132
|
-
|
|
133
|
-
this.state = 'BUSY';
|
|
134
|
-
try {
|
|
135
|
-
// Industrial Chunking Implementation
|
|
136
|
-
for (let i = 0; i < data.length; i += CHUNK_SIZE) {
|
|
137
|
-
const chunk = data.subarray(i, i + CHUNK_SIZE);
|
|
138
|
-
await this.writeChunk(chunk);
|
|
139
|
-
}
|
|
140
|
-
return true;
|
|
141
|
-
}
|
|
142
|
-
finally {
|
|
143
|
-
this.state = prevState === 'BUSY' ? 'READY' : prevState;
|
|
144
|
-
}
|
|
133
|
+
return this.writeInChunks(data, CHUNK_SIZE, (chunk) => this.writeChunk(chunk));
|
|
145
134
|
});
|
|
146
135
|
}
|
|
147
136
|
writeChunk(chunk) {
|
|
@@ -264,19 +253,11 @@ class Network extends adapter_1.Adapter {
|
|
|
264
253
|
* 2) reopen using last configured host/port
|
|
265
254
|
*/
|
|
266
255
|
async recover() {
|
|
267
|
-
try {
|
|
268
|
-
await this.close();
|
|
269
|
-
}
|
|
270
|
-
catch (e) {
|
|
271
|
-
debug('close failed during network recover: %s', e.message);
|
|
272
|
-
}
|
|
273
256
|
if (!this.options) {
|
|
274
257
|
this.state = 'DISCONNECTED';
|
|
275
258
|
return true;
|
|
276
259
|
}
|
|
277
|
-
|
|
278
|
-
await this.open();
|
|
279
|
-
return true;
|
|
260
|
+
return this.recoverAfterClose(RECOVER_DELAY_MS, () => this.open());
|
|
280
261
|
}
|
|
281
262
|
}
|
|
282
263
|
exports.Network = Network;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network-adapter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,wCAAqC;AAErC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAA8C,CAAC;AAQtG,MAAM,iBAAiB,GAAG,gDAAgD,CAAC;AAC3E,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,yCAAyC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network-adapter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/printer/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAU7D;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/printer/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAU7D;AAID,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAwDM,MAAM,UAAU,MAAM,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA+C/B,MAAM,GAAG,MAAM;;;;;;;;;;;;;;;;;QAmBtC,wCAAwC;;;;QAIxC,kEAAkE;;;;;;;;;;;;QAYlE,0CAA0C;;;;QAI1C,gDAAgD;qBACnC,MAAM,KAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;WAgCzB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;;CAEjH,CAAC"}
|
package/dist/printer/commands.js
CHANGED
|
@@ -16,8 +16,9 @@ function numToHexString(value) {
|
|
|
16
16
|
}
|
|
17
17
|
return retorno;
|
|
18
18
|
}
|
|
19
|
+
const LF = Buffer.from('0A', 'hex');
|
|
19
20
|
exports.commands = {
|
|
20
|
-
LF
|
|
21
|
+
LF,
|
|
21
22
|
FS: Buffer.from('1C', 'hex'),
|
|
22
23
|
FF: Buffer.from('0C', 'hex'),
|
|
23
24
|
GS: Buffer.from('1D', 'hex'),
|
|
@@ -28,7 +29,7 @@ exports.commands = {
|
|
|
28
29
|
TAB: Buffer.from('74', 'hex'),
|
|
29
30
|
EOL: Buffer.from('\n', 'ascii'),
|
|
30
31
|
FEED_CONTROL_SEQUENCES: {
|
|
31
|
-
CTL_LF:
|
|
32
|
+
CTL_LF: LF,
|
|
32
33
|
CTL_GLF: Buffer.from('4A00', 'hex'),
|
|
33
34
|
CTL_FF: Buffer.from('0C', 'hex'),
|
|
34
35
|
CTL_CR: Buffer.from('0D', 'hex'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/printer/commands.ts"],"names":[],"mappings":";;;AAGA,wCAUC;AAbD;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAsB;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/printer/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/printer/index.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ declare class SpecBuffer {
|
|
|
59
59
|
private currentSize;
|
|
60
60
|
private maxSize;
|
|
61
61
|
constructor(maxSize?: number);
|
|
62
|
+
private assertWithinLimit;
|
|
62
63
|
write(data: Buffer | string, type?: BufferEncoding | string): void;
|
|
63
64
|
prepend(data: Buffer): void;
|
|
64
65
|
flush(): Buffer;
|
|
@@ -95,9 +96,14 @@ export declare class Printer {
|
|
|
95
96
|
* Internal helper to set codepage based on encoding if profile supports it.
|
|
96
97
|
*/
|
|
97
98
|
private autoSetCodepage;
|
|
99
|
+
/**
|
|
100
|
+
* Encode string to buffer using Node Buffer when supported, else iconv-lite (e.g. cp850, cp860).
|
|
101
|
+
*/
|
|
102
|
+
private encodeText;
|
|
98
103
|
/**
|
|
99
104
|
* Print text with encoding. If the profile has a mapping for the encoding,
|
|
100
105
|
* it automatically sends the codepage command (ESC t n).
|
|
106
|
+
* Uses iconv-lite for encodings not natively supported by Node (e.g. cp850, cp860).
|
|
101
107
|
*/
|
|
102
108
|
text(content: string, encoding?: string): this;
|
|
103
109
|
textln(content: string, encoding?: string): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/printer/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAYnD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/printer/index.ts"],"names":[],"mappings":"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"}
|