@gitcode6/munbyn-pos-sdk 1.0.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 +225 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +2252 -0
- package/dist/index.d.ts +2252 -0
- package/dist/index.js +1 -0
- package/package.json +63 -0
package/README.md
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# MUNBYN POS SDK
|
|
2
|
+
|
|
3
|
+
> **Hinweis:** Dieses Paket ist ein inoffizielles Community-Projekt und steht in keiner Verbindung zur MUNBYN-Gruppe oder deren Tochtergesellschaften. MUNBYN ist eine eingetragene Marke der jeweiligen Eigentümer.
|
|
4
|
+
|
|
5
|
+
TypeScript-SDK für MUNBYN POS-80XX Thermodrucker (ESC/POS).
|
|
6
|
+
Unterstützt Netzwerk (TCP), USB und Seriell. Läuft in Node.js ≥ 18.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @gitcode6/munbyn-pos-sdk
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Optionale Transporte:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install usb # USB-Verbindung
|
|
20
|
+
npm install serialport # Seriell-Verbindung
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Schnellstart
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { Printer, NetworkConnection, ReceiptBuilder, CutMode } from "@gitcode6/munbyn-pos-sdk";
|
|
29
|
+
|
|
30
|
+
const connection = new NetworkConnection("192.168.1.100"); // Port 9100 Standard
|
|
31
|
+
const printer = new Printer(connection);
|
|
32
|
+
|
|
33
|
+
await printer.open();
|
|
34
|
+
|
|
35
|
+
const bon = new ReceiptBuilder()
|
|
36
|
+
.initialize()
|
|
37
|
+
.center().bold(true).textLine("Mein Laden").bold(false)
|
|
38
|
+
.left().divider("-", 48)
|
|
39
|
+
.textLine("Kaffee 2.50 EUR")
|
|
40
|
+
.textLine("Croissant 1.80 EUR")
|
|
41
|
+
.divider("-", 48)
|
|
42
|
+
.right().bold(true).textLine("GESAMT: 4.30 EUR").bold(false)
|
|
43
|
+
.feedLines(3)
|
|
44
|
+
.cut(CutMode.Partial);
|
|
45
|
+
|
|
46
|
+
await printer.print(bon);
|
|
47
|
+
await printer.close();
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Strukturierter Bon mit InvoiceBuilder
|
|
53
|
+
|
|
54
|
+
Der `InvoiceBuilder` erweitert den `ReceiptBuilder` um vorgefertigte Blöcke
|
|
55
|
+
für Logo, Adresse, Artikeltabelle, Summen, QR-Code und Fußzeile.
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import {
|
|
59
|
+
Printer, NetworkConnection, InvoiceBuilder,
|
|
60
|
+
CutMode, HriPosition, BarcodeSystem
|
|
61
|
+
} from "@gitcode6/munbyn-pos-sdk";
|
|
62
|
+
import { Code128Strategy } from "@gitcode6/munbyn-pos-sdk";
|
|
63
|
+
|
|
64
|
+
const printer = new Printer(new NetworkConnection("192.168.1.100"));
|
|
65
|
+
await printer.open();
|
|
66
|
+
|
|
67
|
+
const b = new InvoiceBuilder({ quantityDisplay: "separate" });
|
|
68
|
+
|
|
69
|
+
// Logo (async — muss vor der synchronen Kette stehen)
|
|
70
|
+
await b.logo("./assets/logo.png");
|
|
71
|
+
|
|
72
|
+
b.address({
|
|
73
|
+
company: "Muster GmbH",
|
|
74
|
+
street: "Hauptstraße 1",
|
|
75
|
+
postalCity: "1010 Wien",
|
|
76
|
+
extra: "UID: ATU12345678",
|
|
77
|
+
})
|
|
78
|
+
.separator()
|
|
79
|
+
.itemsHeader()
|
|
80
|
+
.separator()
|
|
81
|
+
.item(1, "Wiener Schnitzel", "14.90 EUR", {
|
|
82
|
+
qty: 2,
|
|
83
|
+
unitPrice: " 7.45 EUR",
|
|
84
|
+
subLines: [{ label: "- Stammkunden 10%", value: "-1.49 EUR" }],
|
|
85
|
+
})
|
|
86
|
+
.item(2, "Verlängerter", " 3.20 EUR")
|
|
87
|
+
.item(3, "Mineralwasser", " 2.50 EUR", {
|
|
88
|
+
subLines: [{ label: "Anmerkung: ohne Kohlensäure" }],
|
|
89
|
+
})
|
|
90
|
+
.separator()
|
|
91
|
+
.total("GESAMT:", "33.11 EUR")
|
|
92
|
+
.taxLine("MwSt 10%:", " 3.01 EUR")
|
|
93
|
+
.taxLine("MwSt 20%:", " 1.06 EUR")
|
|
94
|
+
.separator("=")
|
|
95
|
+
.center()
|
|
96
|
+
.qrCode("https://meinladen.at/bon/2024-001")
|
|
97
|
+
.footer(["Danke für Ihren Besuch!", "www.meinladen.at", "Tel: +43 1 234 5678"])
|
|
98
|
+
.feedLines(3)
|
|
99
|
+
.cut(CutMode.PartialAfterFeed, 5);
|
|
100
|
+
|
|
101
|
+
await printer.print(b);
|
|
102
|
+
await printer.close();
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Mengen-Anzeige
|
|
106
|
+
|
|
107
|
+
| Option | Ausgabe |
|
|
108
|
+
|---|---|
|
|
109
|
+
| `"inline"` (Standard) | ` 1 2x Schnitzel 14.90 EUR` |
|
|
110
|
+
| `"separate"` | ` 1 Schnitzel 14.90 EUR` + Zeile ` 2x à 7.45 EUR` |
|
|
111
|
+
|
|
112
|
+
Die globale Option wird im Konstruktor gesetzt und kann pro Artikel mit
|
|
113
|
+
`item(..., { qtyDisplay: "inline" })` überschrieben werden.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Ohne Hardware testen (BufferConnection)
|
|
118
|
+
|
|
119
|
+
`BufferConnection` schreibt alle Bytes in den Speicher — kein Drucker nötig.
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
import { Printer, BufferConnection, ReceiptBuilder } from "@gitcode6/munbyn-pos-sdk";
|
|
123
|
+
|
|
124
|
+
const conn = new BufferConnection();
|
|
125
|
+
const printer = new Printer(conn);
|
|
126
|
+
|
|
127
|
+
await printer.open();
|
|
128
|
+
await printer.print(new ReceiptBuilder().textLine("Test").feed());
|
|
129
|
+
|
|
130
|
+
const bytes = conn.getBuffer();
|
|
131
|
+
console.log(`${bytes.length} Bytes generiert`);
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Observer: Events abhören
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
import type { PrinterObserver, PrinterEvent } from "@gitcode6/munbyn-pos-sdk";
|
|
140
|
+
|
|
141
|
+
const observer: PrinterObserver = {
|
|
142
|
+
onEvent(event: PrinterEvent) {
|
|
143
|
+
if (event.type === "written") {
|
|
144
|
+
const { byteCount } = event.data as { byteCount: number };
|
|
145
|
+
console.log(`Gesendet: ${byteCount} Bytes`);
|
|
146
|
+
}
|
|
147
|
+
if (event.type === "error") {
|
|
148
|
+
const { error } = event.data as { error: Error };
|
|
149
|
+
console.error("Druckerfehler:", error.message);
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
const unsub = printer.subscribe(observer);
|
|
155
|
+
// ...
|
|
156
|
+
unsub(); // Observer wieder entfernen
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Eigenen Transport implementieren
|
|
162
|
+
|
|
163
|
+
Jede Verbindungsart (z.B. Bluetooth, WebSocket) lässt sich über
|
|
164
|
+
`AbstractConnection` einbinden:
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
import { AbstractConnection } from "@gitcode6/munbyn-pos-sdk";
|
|
168
|
+
|
|
169
|
+
export class MyTransport extends AbstractConnection {
|
|
170
|
+
protected async _open(): Promise<void> {
|
|
171
|
+
// Verbindung aufbauen
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
protected async _write(data: Uint8Array): Promise<void> {
|
|
175
|
+
// Bytes senden
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
protected async _close(): Promise<void> {
|
|
179
|
+
// Verbindung trennen
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
async read(timeout?: number): Promise<Uint8Array> {
|
|
183
|
+
// Antwort lesen (z.B. für Statusabfragen)
|
|
184
|
+
return new Uint8Array(0);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Verwendung wie NetworkConnection:
|
|
189
|
+
const printer = new Printer(new MyTransport());
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Eigenes ESC/POS-Command
|
|
195
|
+
|
|
196
|
+
Über `CommandFactory.raw()` oder eine eigene `AbstractCommand`-Implementierung
|
|
197
|
+
können beliebige ESC/POS-Sequenzen eingebettet werden:
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
import { AbstractCommand, ReceiptBuilder, CommandFactory } from "@gitcode6/munbyn-pos-sdk";
|
|
201
|
+
|
|
202
|
+
// Variante A — Raw-Bytes direkt
|
|
203
|
+
const builder = new ReceiptBuilder()
|
|
204
|
+
.add(CommandFactory.raw(new Uint8Array([0x1b, 0x40]), "Initialize"))
|
|
205
|
+
.textLine("Hallo");
|
|
206
|
+
|
|
207
|
+
// Variante B — eigene Command-Klasse
|
|
208
|
+
class SetCharSpacingCommand extends AbstractCommand {
|
|
209
|
+
constructor(private readonly n: number) { super(); }
|
|
210
|
+
encode(): Uint8Array { return new Uint8Array([0x1b, 0x20, this.n]); }
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
builder.add(new SetCharSpacingCommand(2)).textLine("Mehr Abstand");
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Verbindungsarten
|
|
219
|
+
|
|
220
|
+
| Klasse | Verwendung |
|
|
221
|
+
|---|---|
|
|
222
|
+
| `NetworkConnection` | Ethernet / WLAN (TCP Port 9100) |
|
|
223
|
+
| `UsbConnection` | USB (benötigt `npm install usb`) |
|
|
224
|
+
| `SerialConnection` | RS-232 / Seriell (benötigt `npm install serialport`) |
|
|
225
|
+
| `BufferConnection` | Tests / Dry-Run ohne Hardware |
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var hr=Object.create;var st=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var xr=Object.getPrototypeOf,gr=Object.prototype.hasOwnProperty;var _t=(o,e)=>()=>(o&&(e=o(o=0)),e);var Ht=(o,e)=>{for(var t in e)st(o,t,{get:e[t],enumerable:!0})},Gt=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of yr(e))!gr.call(o,n)&&n!==t&&st(o,n,{get:()=>e[n],enumerable:!(r=fr(e,n))||r.enumerable});return o};var Ft=(o,e,t)=>(t=o!=null?hr(xr(o)):{},Gt(e||!o||!o.__esModule?st(t,"default",{value:o,enumerable:!0}):t,o)),br=o=>Gt(st({},"__esModule",{value:!0}),o);var nr={};Ht(nr,{CutMode:()=>H});var H,nt=_t(()=>{"use strict";H=(r=>(r[r.Full=0]="Full",r[r.Partial=1]="Partial",r[r.PartialAfterFeed=66]="PartialAfterFeed",r))(H||{})});var or={};Ht(or,{DrawerPin:()=>ot});var ot,dt=_t(()=>{"use strict";ot=(t=>(t[t.Pin2=0]="Pin2",t[t.Pin5=1]="Pin5",t))(ot||{})});var vr={};Ht(vr,{AbstractCommand:()=>i,AbstractConnection:()=>b,Alignment:()=>et,BarcodeSystem:()=>A,BarcodeWidth:()=>jt,BeepAndFlashCommand:()=>he,BeepCommand:()=>le,BitImageMode:()=>qt,BufferConnection:()=>B,ByteBuilder:()=>h,CAN:()=>Xt,CR:()=>Vt,CancelKanjiModeCommand:()=>we,CancelPageDataCommand:()=>T,CarriageReturnCommand:()=>q,CharacterCodeTable:()=>mt,CodabarStrategy:()=>$e,Code128Strategy:()=>qe,Code39Strategy:()=>ke,CommandFactory:()=>d,CommandRegistry:()=>O,CommandSequence:()=>F,ConnectionFactory:()=>Lt,CutCommand:()=>Le,CutMode:()=>H,DC4:()=>Jt,DLE:()=>L,DefineDownloadedBitImageCommand:()=>Ue,DefineKanjiCommand:()=>Ce,DefineNvBitImageCommand:()=>ye,DrawerPin:()=>ot,DrawerStatus:()=>Ye,ENQ:()=>er,EOT:()=>Yt,ESC:()=>a,EnableAsbCommand:()=>Fe,ErrorStatus:()=>Je,ExecuteMacroCommand:()=>He,FF:()=>at,FS:()=>x,FloydSteinbergDither:()=>Ke,Font:()=>tt,FormFeedCommand:()=>$,GS:()=>c,GeneratePulseCommand:()=>ce,GeneratePulseRealtimeCommand:()=>W,HT:()=>Qt,HorizontalTabCommand:()=>k,HriFont:()=>kt,HriPosition:()=>Ot,ImageEncoder:()=>Qe,InitializeCommand:()=>V,InternationalCharacterSet:()=>It,InvoiceBuilder:()=>Pt,ItfStrategy:()=>Ie,LF:()=>Zt,LineFeedCommand:()=>I,MacroStartEndCommand:()=>Be,NUL:()=>Kt,NetworkConnection:()=>E,OfflineStatus:()=>Ve,PaperSensorStatus:()=>Xe,PrintAndFeedLinesCommand:()=>de,PrintAndFeedPaperCommand:()=>Y,PrintBarcodeCommand:()=>Te,PrintDirection:()=>$t,PrintDownloadedBitImageCommand:()=>Pe,PrintNvBitImageCommand:()=>fe,PrintQrCodeCommand:()=>_e,PrintRasterBitImageCommand:()=>Ne,PrintState:()=>P,Printer:()=>Bt,PrinterStatus:()=>Ze,QrCodeErrorCorrection:()=>ct,RasterMode:()=>Tt,RawCommand:()=>j,RealtimeRequestCommand:()=>N,ReceiptBuilder:()=>S,SP:()=>tr,SelectCharacterCodeTableCommand:()=>pe,SelectCharacterFontCommand:()=>te,SelectCharacterSizeCommand:()=>ve,SelectInternationalCharSetCommand:()=>re,SelectKanjiModeCommand:()=>ge,SelectPageModeCommand:()=>ee,SelectPrintDirectionCommand:()=>oe,SelectPrintModesCommand:()=>_,SelectStandardModeCommand:()=>ne,SerialConnection:()=>Dt,SetAbsolutePositionCommand:()=>G,SetBarcodeHeightCommand:()=>Oe,SetBarcodeWidthCommand:()=>We,SetDefaultLineSpacingCommand:()=>Q,SetEmphasizedCommand:()=>X,SetHorizontalTabPositionsCommand:()=>J,SetHriFontCommand:()=>je,SetHriPositionCommand:()=>Re,SetJustificationCommand:()=>me,SetKanjiPrintModeCommand:()=>xe,SetKanjiQuadrupleCommand:()=>Ae,SetKanjiSpacingCommand:()=>Se,SetKanjiUnderlineCommand:()=>be,SetLeftMarginCommand:()=>De,SetLineSpacingCommand:()=>Z,SetPrintingAreaPageModeCommand:()=>se,SetPrintingAreaWidthCommand:()=>Me,SetRelativePositionCommand:()=>ae,SetReverseCommand:()=>Ee,SetRotationCommand:()=>ie,SetUnderlineCommand:()=>K,SetUpsideDownCommand:()=>ue,SimpleNumericBarcodeStrategy:()=>C,StateMemento:()=>Ge,StatusDecoder:()=>Et,Subject:()=>v,ThresholdDither:()=>Mt,TransmitRealtimeStatusCommand:()=>z,TransmitStatusCommand:()=>ze,UnderlineMode:()=>rt,UsbConnection:()=>Rt,fromUint16LE:()=>rr,toComplement16:()=>M,toUint16LE:()=>g});module.exports=br(vr);var Kt=0,Qt=9,Zt=10,at=12,Vt=13,L=16,Jt=20,Xt=24,a=27,x=28,c=29,Yt=4,er=5,tr=32;var wr=new Map([[8364,128],[8218,130],[402,131],[8222,132],[8230,133],[8224,134],[8225,135],[710,136],[8240,137],[352,138],[8249,139],[338,140],[381,142],[8216,145],[8217,146],[8220,147],[8221,148],[8226,149],[8211,150],[8212,151],[732,152],[8482,153],[353,154],[8250,155],[339,156],[382,158],[376,159]]),h=class{chunks=[];totalLength=0;push(...e){for(let t of e){let r;typeof t=="number"?r=new Uint8Array([t&255]):t instanceof Uint8Array?r=t:r=new Uint8Array(t.map(n=>n&255)),this.chunks.push(r),this.totalLength+=r.length}return this}text(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t[r]=wr.get(n)??n&255}return this.chunks.push(t),this.totalLength+=t.length,this}build(){let e=new Uint8Array(this.totalLength),t=0;for(let r of this.chunks)e.set(r,t),t+=r.length;return e}get length(){return this.totalLength}reset(){return this.chunks.length=0,this.totalLength=0,this}};function g(o){if(o<0||o>65535)throw new RangeError(`toUint16LE: Wert ${o} ist au\xDFerhalb von [0, 65535]`);return[o&255,o>>8&255]}function M(o){if(o<1||o>32767)throw new RangeError(`toComplement16: Wert ${o} muss im Bereich [1, 32767] liegen`);return 65536-o}function rr(o,e){return(o&255)+(e&255)*256}var et=(r=>(r[r.Left=0]="Left",r[r.Center=1]="Center",r[r.Right=2]="Right",r))(et||{});var tt=(t=>(t[t.A=0]="A",t[t.B=1]="B",t))(tt||{});var rt=(r=>(r[r.Off=0]="Off",r[r.OneTick=1]="OneTick",r[r.TwoTicks=2]="TwoTicks",r))(rt||{});var A=(l=>(l[l.UPC_A=65]="UPC_A",l[l.UPC_E=66]="UPC_E",l[l.EAN13=67]="EAN13",l[l.EAN8=68]="EAN8",l[l.CODE39=69]="CODE39",l[l.ITF=70]="ITF",l[l.CODABAR=71]="CODABAR",l[l.CODE93=72]="CODE93",l[l.CODE128=73]="CODE128",l))(A||{});var jt=(s=>(s[s.Narrow=2]="Narrow",s[s.Medium=3]="Medium",s[s.Wide=4]="Wide",s[s.Wider=5]="Wider",s[s.Widest=6]="Widest",s))(jt||{});var Ot=(n=>(n[n.None=0]="None",n[n.Above=1]="Above",n[n.Below=2]="Below",n[n.Both=3]="Both",n))(Ot||{});var kt=(t=>(t[t.A=0]="A",t[t.B=1]="B",t))(kt||{});nt();var mt=(u=>(u[u.PC437=0]="PC437",u[u.Katakana=1]="Katakana",u[u.PC850=2]="PC850",u[u.PC860=3]="PC860",u[u.PC863=4]="PC863",u[u.PC865=5]="PC865",u[u.WestEurope=6]="WestEurope",u[u.Greek=7]="Greek",u[u.Hebrew=8]="Hebrew",u[u.PC755=9]="PC755",u[u.Iran=10]="Iran",u[u.WPC1252=16]="WPC1252",u[u.PC866=17]="PC866",u[u.PC852=18]="PC852",u[u.PC858=19]="PC858",u[u.IranII=20]="IranII",u[u.Latvian=21]="Latvian",u))(mt||{});var It=(p=>(p[p.USA=0]="USA",p[p.France=1]="France",p[p.Germany=2]="Germany",p[p.UK=3]="UK",p[p.Denmark=4]="Denmark",p[p.Sweden=5]="Sweden",p[p.Italy=6]="Italy",p[p.Spain=7]="Spain",p[p.Japan=8]="Japan",p[p.Norway=9]="Norway",p[p.Denmark2=10]="Denmark2",p[p.Spain2=11]="Spain2",p[p.Latin=12]="Latin",p[p.Korea=13]="Korea",p[p.SloveniaCroatia=14]="SloveniaCroatia",p[p.Chinese=15]="Chinese",p))(It||{});var $t=(n=>(n[n.LeftToRight=0]="LeftToRight",n[n.BottomToTop=1]="BottomToTop",n[n.RightToLeft=2]="RightToLeft",n[n.TopToBottom=3]="TopToBottom",n))($t||{});var qt=(n=>(n[n.SingleDensity8=0]="SingleDensity8",n[n.DoubleDensity8=1]="DoubleDensity8",n[n.SingleDensity24=32]="SingleDensity24",n[n.DoubleDensity24=33]="DoubleDensity24",n))(qt||{});var Tt=(n=>(n[n.Normal=0]="Normal",n[n.DoubleWidth=1]="DoubleWidth",n[n.DoubleHeight=2]="DoubleHeight",n[n.Quadruple=3]="Quadruple",n))(Tt||{});dt();var ct=(n=>(n[n.L=48]="L",n[n.M=49]="M",n[n.Q=50]="Q",n[n.H=51]="H",n))(ct||{});var i=class{encode(){return this.validate(),this.encodeBody()}validate(){}assertRange(e,t,r,n="n"){if(e<t||e>r||!Number.isInteger(e))throw new RangeError(`[${this.name}] Parameter "${n}" muss eine ganze Zahl in [${t}, ${r}] sein, erhalten: ${e}`)}};var F=class{name="CommandSequence";commands=[];constructor(...e){this.commands.push(...e)}add(...e){return this.commands.push(...e),this}get size(){return this.commands.length}[Symbol.iterator](){let e=0,t=this.commands;return{next(){if(e<t.length){let r=t[e++];return r===void 0?{value:void 0,done:!0}:{value:r,done:!1}}return{value:void 0,done:!0}}}}encode(){let e=new h;for(let t of this)e.push(t.encode());return e.build()}};var j=class{name;bytes;constructor(e,t="RawCommand"){this.bytes=e instanceof Uint8Array?e:new Uint8Array(e),this.name=t}encode(){return this.bytes.slice()}};var O=class o{static instance;registrations=new Map;constructor(){}static getInstance(){return o.instance||(o.instance=new o),o.instance}register(e){this.registrations.set(e.name,e)}getAll(){return this.registrations}get(e){return this.registrations.get(e)}has(e){return this.registrations.has(e)}static _reset(){o.instance=void 0}};var k=class extends i{name="HorizontalTab";encodeBody(){return new Uint8Array([9])}};var I=class extends i{name="LineFeed";encodeBody(){return new Uint8Array([10])}};var $=class extends i{name="FormFeed";encodeBody(){return new Uint8Array([12])}};var q=class extends i{name="CarriageReturn";encodeBody(){return new Uint8Array([13])}};var T=class extends i{name="CancelPageData";encodeBody(){return new Uint8Array([24])}};var z=class extends i{constructor(t){super();this.n=t}n;name="TransmitRealtimeStatus";validate(){this.assertRange(this.n,1,4)}encodeBody(){return new Uint8Array([16,4,this.n])}};var N=class extends i{constructor(t){super();this.n=t}n;name="RealtimeRequest";validate(){this.assertRange(this.n,1,2)}encodeBody(){return new Uint8Array([16,5,this.n])}};var W=class extends i{constructor(t,r){super();this.pin=t;this.t=r}pin;t;name="GeneratePulseRealtime";validate(){this.assertRange(this.pin,0,1,"pin"),this.assertRange(this.t,1,8,"t")}encodeBody(){return new Uint8Array([16,20,1,this.pin,this.t])}};var pt=class extends i{name="PrintPageMode";encodeBody(){return new Uint8Array([27,12])}};var ut=class extends i{constructor(t){super();this.n=t}n;name="SetRightCharacterSpacing";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([27,32,this.n])}};var _=class extends i{name="SelectPrintModes";n;constructor(e={}){super();let t=0;e.fontB&&(t|=1),e.emphasized&&(t|=8),e.doubleHeight&&(t|=16),e.doubleWidth&&(t|=32),e.underline&&(t|=128),this.n=t}encodeBody(){return new Uint8Array([27,33,this.n])}};var G=class extends i{constructor(t){super();this.n=t}n;name="SetAbsolutePosition";validate(){this.assertRange(this.n,0,65535)}encodeBody(){let[t,r]=g(this.n);return new Uint8Array([27,36,t,r])}};var lt=class extends i{constructor(t){super();this.enable=t}enable;name="SelectUserCharSet";encodeBody(){return new Uint8Array([27,37,this.enable?1:0])}};var ht=class extends i{constructor(t,r,n,s){super();this.y=t;this.c1=r;this.c2=n;this.data=s}y;c1;c2;data;name="DefineUserChars";validate(){if(this.y!==3)throw new RangeError(`[${this.name}] y muss 3 sein, erhalten: ${this.y}`);if(this.assertRange(this.c1,32,127,"c1"),this.assertRange(this.c2,32,127,"c2"),this.c1>this.c2)throw new RangeError(`[${this.name}] c1 (${this.c1}) darf nicht gr\xF6\xDFer als c2 (${this.c2}) sein`)}encodeBody(){let t=new h;return t.push(27,38,this.y,this.c1,this.c2),t.push(this.data),t.build()}};var ft=class extends i{constructor(t,r,n,s){super();this.mode=t;this.nL=r;this.nH=n;this.data=s}mode;nL;nH;data;name="SelectBitImageMode";validate(){if(![0,1,32,33].includes(this.mode))throw new RangeError(`[${this.name}] Ung\xFCltiger Modus: ${this.mode}`);this.assertRange(this.nL,0,255,"nL"),this.assertRange(this.nH,0,3,"nH")}encodeBody(){let t=new h;return t.push(27,42,this.mode,this.nL,this.nH),t.push(this.data),t.build()}};var K=class extends i{constructor(t){super();this.mode=t}mode;name="SetUnderline";validate(){this.assertRange(this.mode,0,2)}encodeBody(){return new Uint8Array([27,45,this.mode])}};var Q=class extends i{name="SetDefaultLineSpacing";encodeBody(){return new Uint8Array([27,50])}};var Z=class extends i{constructor(t){super();this.n=t}n;name="SetLineSpacing";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([27,51,this.n])}};var yt=class extends i{constructor(t){super();this.n=t}n;name="SetPeripheralDevice";validate(){this.assertRange(this.n,1,255)}encodeBody(){return new Uint8Array([27,61,this.n])}};var xt=class extends i{constructor(t){super();this.n=t}n;name="CancelUserChar";validate(){this.assertRange(this.n,32,126)}encodeBody(){return new Uint8Array([27,63,this.n])}};var V=class extends i{name="Initialize";encodeBody(){return new Uint8Array([27,64])}};var J=class extends i{constructor(t){super();this.positions=t}positions;name="SetHorizontalTabPositions";validate(){if(this.positions.length>32)throw new RangeError(`[${this.name}] Maximal 32 Tabpositionen erlaubt, erhalten: ${this.positions.length}`);for(let t of this.positions)this.assertRange(t,1,255,"Tabposition")}encodeBody(){let t=new h;t.push(27,68);for(let r of this.positions)t.push(r);return t.push(0),t.build()}};var X=class extends i{constructor(t){super();this.on=t}on;name="SetEmphasized";encodeBody(){return new Uint8Array([27,69,this.on?1:0])}};var gt=class extends i{constructor(t){super();this.on=t}on;name="SetDoubleStrike";encodeBody(){return new Uint8Array([27,71,this.on?1:0])}};var Y=class extends i{constructor(t){super();this.n=t}n;name="PrintAndFeedPaper";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([27,74,this.n])}};var ee=class extends i{name="SelectPageMode";encodeBody(){return new Uint8Array([27,76])}};var te=class extends i{constructor(t){super();this.font=t}font;name="SelectCharacterFont";validate(){this.assertRange(this.font,0,1)}encodeBody(){return new Uint8Array([27,77,this.font])}};var re=class extends i{constructor(t){super();this.charSet=t}charSet;name="SelectInternationalCharSet";validate(){this.assertRange(this.charSet,0,15)}encodeBody(){return new Uint8Array([27,82,this.charSet])}};var ne=class extends i{name="SelectStandardMode";encodeBody(){return new Uint8Array([27,83])}};var oe=class extends i{constructor(t){super();this.direction=t}direction;name="SelectPrintDirection";validate(){this.assertRange(this.direction,0,3)}encodeBody(){return new Uint8Array([27,84,this.direction])}};var ie=class extends i{constructor(t){super();this.on=t}on;name="SetRotation";encodeBody(){return new Uint8Array([27,86,this.on?1:0])}};var se=class extends i{constructor(t,r,n,s,m,f,y,l){super();this.xL=t;this.xH=r;this.yL=n;this.yH=s;this.dxL=m;this.dxH=f;this.dyL=y;this.dyH=l}xL;xH;yL;yH;dxL;dxH;dyL;dyH;name="SetPrintingAreaPageMode";validate(){for(let[t,r]of[[this.xL,"xL"],[this.xH,"xH"],[this.yL,"yL"],[this.yH,"yH"],[this.dxL,"dxL"],[this.dxH,"dxH"],[this.dyL,"dyL"],[this.dyH,"dyH"]])this.assertRange(t,0,255,r)}encodeBody(){return new Uint8Array([27,87,this.xL,this.xH,this.yL,this.yH,this.dxL,this.dxH,this.dyL,this.dyH])}};var ae=class extends i{constructor(t){super();this.n=t}n;name="SetRelativePosition";validate(){if(!Number.isInteger(this.n)||this.n<-32767||this.n>32767)throw new RangeError(`[${this.name}] n muss eine ganze Zahl in [-32767, 32767] sein`)}encodeBody(){let t=this.n<0?M(-this.n):this.n,[r,n]=g(t);return new Uint8Array([27,92,r,n])}};var me=class extends i{constructor(t){super();this.alignment=t}alignment;name="SetJustification";validate(){this.assertRange(this.alignment,0,2)}encodeBody(){return new Uint8Array([27,97,this.alignment])}};var bt=class extends i{constructor(t){super();this.n=t}n;name="SelectPaperEndSensors";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([27,99,51,this.n])}};var wt=class extends i{constructor(t){super();this.n=t}n;name="SelectPaperStopSensors";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([27,99,52,this.n])}};var Ct=class extends i{constructor(t){super();this.enable=t}enable;name="EnablePanelButtons";encodeBody(){return new Uint8Array([27,99,53,this.enable?0:1])}};var de=class extends i{constructor(t){super();this.n=t}n;name="PrintAndFeedLines";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([27,100,this.n])}};var ce=class extends i{constructor(t,r,n){super();this.pin=t;this.t1=r;this.t2=n}pin;t1;t2;name="GeneratePulse";validate(){this.assertRange(this.pin,0,1,"pin"),this.assertRange(this.t1,0,255,"t1"),this.assertRange(this.t2,0,255,"t2")}encodeBody(){return new Uint8Array([27,112,this.pin,this.t1,this.t2])}};var pe=class extends i{constructor(t){super();this.table=t}table;name="SelectCharacterCodeTable";validate(){if(![0,1,2,3,4,5,6,7,8,9,10,16,17,18,19,20,21].includes(this.table))throw new RangeError(`[${this.name}] Ung\xFCltige Codetabelle: ${this.table}`)}encodeBody(){return new Uint8Array([27,116,this.table])}};var ue=class extends i{constructor(t){super();this.on=t}on;name="SetUpsideDown";encodeBody(){return new Uint8Array([27,123,this.on?1:0])}};var le=class extends i{constructor(t,r){super();this.count=t;this.duration=r}count;duration;name="Beep";validate(){this.assertRange(this.count,1,9,"count"),this.assertRange(this.duration,1,9,"duration")}encodeBody(){return new Uint8Array([27,66,this.count,this.duration])}};var he=class extends i{constructor(t,r,n){super();this.count=t;this.interval=r;this.mode=n}count;interval;mode;name="BeepAndFlash";validate(){this.assertRange(this.count,1,20,"count"),this.assertRange(this.interval,1,20,"interval"),this.assertRange(this.mode,0,3,"mode")}encodeBody(){return new Uint8Array([27,67,this.count,this.interval,this.mode])}};var fe=class extends i{constructor(t,r){super();this.n=t;this.mode=r}n;mode;name="PrintNvBitImage";validate(){this.assertRange(this.n,0,255),this.assertRange(this.mode,0,3,"mode")}encodeBody(){return new Uint8Array([28,112,this.n,this.mode])}};var ye=class extends i{constructor(t,r){super();this.n=t;this.images=r}n;images;name="DefineNvBitImage";validate(){if(this.assertRange(this.n,0,255),this.images.length!==this.n)throw new RangeError(`[${this.name}] n=${this.n} aber ${this.images.length} Bilder \xFCbergeben`)}encodeBody(){let t=new h;t.push(28,113,this.n);for(let r of this.images)t.push(r.xL,r.xH,r.yL,r.yH),t.push(r.data);return t.build()}};var xe=class extends i{constructor(t){super();this.n=t}n;name="SetKanjiPrintMode";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([28,33,this.n])}};var ge=class extends i{name="SelectKanjiMode";encodeBody(){return new Uint8Array([28,38])}};var be=class extends i{constructor(t){super();this.mode=t}mode;name="SetKanjiUnderline";validate(){this.assertRange(this.mode,0,2)}encodeBody(){return new Uint8Array([28,45,this.mode])}};var we=class extends i{name="CancelKanjiMode";encodeBody(){return new Uint8Array([28,46])}};var Ce=class extends i{constructor(t,r,n){super();this.c1=t;this.c2=r;this.data=n}c1;c2;data;name="DefineKanji";validate(){if(this.c1!==254)throw new RangeError(`[${this.name}] c1 muss 0xFE sein, erhalten: ${this.c1}`);if(this.assertRange(this.c2,161,254,"c2"),this.data.length!==72)throw new RangeError(`[${this.name}] Datenl\xE4nge muss 72 Bytes sein, erhalten: ${this.data.length}`)}encodeBody(){let t=new h;return t.push(28,50,this.c1,this.c2),t.push(this.data),t.build()}};var Se=class extends i{constructor(t,r){super();this.n1=t;this.n2=r}n1;n2;name="SetKanjiSpacing";validate(){this.assertRange(this.n1,0,255,"n1"),this.assertRange(this.n2,0,255,"n2")}encodeBody(){return new Uint8Array([28,83,this.n1,this.n2])}};var Ae=class extends i{constructor(t){super();this.on=t}on;name="SetKanjiQuadruple";encodeBody(){return new Uint8Array([28,87,this.on?1:0])}};var ve=class extends i{constructor(t,r){super();this.heightTimes=t;this.widthTimes=r}heightTimes;widthTimes;name="SelectCharacterSize";validate(){this.assertRange(this.heightTimes,1,8,"heightTimes"),this.assertRange(this.widthTimes,1,8,"widthTimes")}encodeBody(){let t=this.widthTimes-1<<4|this.heightTimes-1;return new Uint8Array([29,33,t])}};var St=class extends i{constructor(t){super();this.n=t}n;name="SetAbsoluteVerticalPosition";validate(){this.assertRange(this.n,0,65535)}encodeBody(){let[t,r]=g(this.n);return new Uint8Array([29,36,t,r])}};var Ue=class extends i{constructor(t,r,n){super();this.x=t;this.y=r;this.data=n}x;y;data;name="DefineDownloadedBitImage";validate(){if(this.assertRange(this.x,1,255,"x"),this.assertRange(this.y,1,48,"y"),this.x*this.y>912)throw new RangeError(`[${this.name}] x\xD7y (${this.x*this.y}) darf 912 nicht \xFCberschreiten`);let t=this.x*this.y*8;if(this.data.length!==t)throw new RangeError(`[${this.name}] Datenl\xE4nge muss ${t} Bytes sein, erhalten: ${this.data.length}`)}encodeBody(){let t=new h;return t.push(29,42,this.x,this.y),t.push(this.data),t.build()}};var Pe=class extends i{constructor(t){super();this.mode=t}mode;name="PrintDownloadedBitImage";validate(){this.assertRange(this.mode,0,3,"mode")}encodeBody(){return new Uint8Array([29,47,this.mode])}};var Be=class extends i{name="MacroStartEnd";encodeBody(){return new Uint8Array([29,58])}};var Ee=class extends i{constructor(t){super();this.on=t}on;name="SetReverse";encodeBody(){return new Uint8Array([29,66,this.on?1:0])}};var Re=class extends i{constructor(t){super();this.position=t}position;name="SetHriPosition";validate(){this.assertRange(this.position,0,3)}encodeBody(){return new Uint8Array([29,72,this.position])}};var De=class extends i{constructor(t){super();this.n=t}n;name="SetLeftMargin";validate(){this.assertRange(this.n,0,65535)}encodeBody(){let[t,r]=g(this.n);return new Uint8Array([29,76,t,r])}};var At=class extends i{constructor(t,r){super();this.x=t;this.y=r}x;y;name="SetMotionUnits";validate(){this.assertRange(this.x,0,255,"x"),this.assertRange(this.y,0,255,"y")}encodeBody(){return new Uint8Array([29,80,this.x,this.y])}};nt();var Le=class extends i{constructor(t,r){super();this.mode=t;this.feedDots=r}mode;feedDots;name="Cut";validate(){if(this.mode===66){if(this.feedDots===void 0)throw new RangeError(`[${this.name}] PartialAfterFeed ben\xF6tigt feedDots`);this.assertRange(this.feedDots,0,255,"feedDots")}}encodeBody(){return this.mode===66?new Uint8Array([29,86,66,this.feedDots]):new Uint8Array([29,86,this.mode])}};var Me=class extends i{constructor(t){super();this.n=t}n;name="SetPrintingAreaWidth";validate(){this.assertRange(this.n,0,65535)}encodeBody(){let[t,r]=g(this.n);return new Uint8Array([29,87,t,r])}};var vt=class extends i{constructor(t){super();this.n=t}n;name="SetRelativeVerticalPosition";validate(){if(!Number.isInteger(this.n)||this.n<-32767||this.n>32767)throw new RangeError(`[${this.name}] n muss eine ganze Zahl in [-32767, 32767] sein`)}encodeBody(){let t=this.n<0?M(-this.n):this.n,[r,n]=g(t);return new Uint8Array([29,92,r,n])}};var He=class extends i{constructor(t,r,n){super();this.r=t;this.t=r;this.m=n}r;t;m;name="ExecuteMacro";validate(){this.assertRange(this.r,0,255,"r"),this.assertRange(this.t,0,255,"t"),this.assertRange(this.m,0,1,"m")}encodeBody(){return new Uint8Array([29,94,this.r,this.t,this.m])}};var Fe=class extends i{constructor(t){super();this.n=t}n;name="EnableAsb";validate(){this.assertRange(this.n,0,255)}encodeBody(){return new Uint8Array([29,97,this.n])}};var je=class extends i{constructor(t){super();this.font=t}font;name="SetHriFont";validate(){this.assertRange(this.font,0,1)}encodeBody(){return new Uint8Array([29,102,this.font])}};var Oe=class extends i{constructor(t){super();this.n=t}n;name="SetBarcodeHeight";validate(){this.assertRange(this.n,1,255)}encodeBody(){return new Uint8Array([29,104,this.n])}};var ir=require("util"),C=class{constructor(e,t,r){this.system=e;this.minLen=t;this.maxLen=r}system;minLen;maxLen;encode(e){let t=typeof e=="string"?e:new ir.TextDecoder().decode(e);if(t.length<this.minLen||t.length>this.maxLen)throw new RangeError(`Barcode-Daten f\xFCr System ${this.system}: L\xE4nge ${t.length} au\xDFerhalb [${this.minLen}, ${this.maxLen}]`);for(let s of t){let m=s.charCodeAt(0);if(m<48||m>57)throw new Error(`Ung\xFCltiges Zeichen "${s}" \u2014 nur Ziffern 0\u20139 erlaubt`)}let r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);let n=new Uint8Array(1+r.length);return n[0]=r.length,n.set(r,1),n}};var sr=require("util");var Cr=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%+-./*"),ke=class{system=69;encode(e){let t=typeof e=="string"?e:new sr.TextDecoder().decode(e);if(t.length<1)throw new RangeError("CODE39: Mindestens 1 Zeichen erforderlich");for(let s of t)if(!Cr.has(s))throw new Error(`CODE39: Ung\xFCltiges Zeichen "${s}"`);let r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);let n=new Uint8Array(1+r.length);return n[0]=r.length,n.set(r,1),n}};var ar=require("util");var Ie=class{system=70;encode(e){let t=typeof e=="string"?e:new ar.TextDecoder().decode(e);if(t.length<1)throw new RangeError("ITF: Mindestens 1 Zeichen erforderlich");if(t.length%2!==0)throw new RangeError(`ITF: Datenl\xE4nge muss gerade sein, erhalten: ${t.length}`);for(let s of t)if(s<"0"||s>"9")throw new Error(`ITF: Ung\xFCltiges Zeichen "${s}" \u2014 nur Ziffern 0\u20139 erlaubt`);let r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);let n=new Uint8Array(1+r.length);return n[0]=r.length,n.set(r,1),n}};var mr=require("util");var Sr=new Set("0123456789ABCDabcd$+-./:".split("")),$e=class{system=71;encode(e){let t=(typeof e=="string"?e:new mr.TextDecoder().decode(e)).toUpperCase();if(t.length<1)throw new RangeError("CODABAR: Mindestens 1 Zeichen erforderlich");for(let s of t)if(!Sr.has(s))throw new Error(`CODABAR: Ung\xFCltiges Zeichen "${s}"`);let r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);let n=new Uint8Array(1+r.length);return n[0]=r.length,n.set(r,1),n}};var dr=require("util");var qe=class{system=73;encode(e){let t=typeof e=="string"?e:new dr.TextDecoder().decode(e);if(t.length<2)throw new RangeError("CODE128: Mindestens 2 Zeichen erforderlich (Subset-Selektor + Daten)");if(!["{A","{B","{C"].some(m=>t.startsWith(m)))throw new Error(`CODE128: Daten m\xFCssen mit einem Subset-Selektor beginnen ({A, {B oder {C), erhalten: "${t.substring(0,2)}"`);let n=new Uint8Array(t.length);for(let m=0;m<t.length;m++)n[m]=t.charCodeAt(m)&255;let s=new Uint8Array(1+n.length);return s[0]=n.length,s.set(n,1),s}};var Ar=new Map([[65,new C(65,11,12)],[66,new C(66,11,12)],[67,new C(67,12,13)],[68,new C(68,7,8)],[69,new ke],[70,new Ie],[71,new $e],[73,new qe]]);function cr(o){let e=Ar.get(o);if(!e)throw new Error(`Keine Standard-Strategie f\xFCr Barcode-System ${o}`);return e}var Te=class extends i{constructor(t,r,n){super();this.system=t;this.data=r;this.strategy=n??cr(t)}system;data;name="PrintBarcode";strategy;encodeBody(){let t=this.strategy.encode(this.data),r=new h;return r.push(29,107,this.system),r.push(t),r.build()}};var ze=class extends i{constructor(t){super();this.n=t}n;name="TransmitStatus";validate(){if(![1,2,49,50].includes(this.n))throw new RangeError(`[${this.name}] n muss 1, 2, 49 oder 50 sein, erhalten: ${this.n}`)}encodeBody(){return new Uint8Array([29,114,this.n])}};var Ne=class extends i{constructor(t,r,n,s,m,f){super();this.mode=t;this.xL=r;this.xH=n;this.yL=s;this.yH=m;this.data=f}mode;xL;xH;yL;yH;data;name="PrintRasterBitImage";validate(){this.assertRange(this.mode,0,3,"mode"),this.assertRange(this.xL,0,255,"xL"),this.assertRange(this.xH,0,255,"xH"),this.assertRange(this.yL,0,255,"yL"),this.assertRange(this.yH,0,255,"yH");let t=(this.xL+this.xH*256)*(this.yL+this.yH*256);if(t===0)throw new RangeError(`[${this.name}] Bildgr\xF6\xDFe darf nicht 0 sein`);if(this.data.length!==t)throw new RangeError(`[${this.name}] Datenl\xE4nge muss ${t} Bytes sein, erhalten: ${this.data.length}`)}encodeBody(){let t=new h;return t.push(29,118,48,this.mode,this.xL,this.xH,this.yL,this.yH),t.push(this.data),t.build()}};var We=class extends i{constructor(t){super();this.width=t}width;name="SetBarcodeWidth";validate(){this.assertRange(this.width,2,6)}encodeBody(){return new Uint8Array([29,119,this.width])}};var Ut=class extends i{name="HexDump";encodeBody(){return new Uint8Array([29,40,65,2,0,0,1])}};var _e=class extends i{name="PrintQrCode";data;moduleSize;errorCorrection;model;constructor(e,t={}){if(super(),this.data=typeof e=="string"?new TextEncoder().encode(e):e,this.moduleSize=t.moduleSize??3,this.errorCorrection=t.errorCorrection??49,this.model=t.model??2,this.moduleSize<1||this.moduleSize>16)throw new RangeError(`QR-Modulgr\xF6\xDFe muss 1\u201316 sein, war: ${this.moduleSize}`);if(this.data.length<1)throw new RangeError("QR-Code-Daten d\xFCrfen nicht leer sein")}encodeBody(){let e=new h,t=49;e.push(29,40,107,4,0,t,65,this.model,0),e.push(29,40,107,3,0,t,67,this.moduleSize),e.push(29,40,107,3,0,t,69,this.errorCorrection);let n=this.data.length+3,s=n&255,m=n>>8&255;return e.push(29,40,107,s,m,t,80,48),e.push(this.data),e.push(29,40,107,3,0,t,81,48),e.build()}};var d=class o{static customFactories=new Map;static register(e,t){o.customFactories.set(e,t),O.getInstance().register({name:e,description:"Custom Command",escPosCommand:"custom"})}static createCustom(e,t){let r=o.customFactories.get(e);if(!r)throw new Error(`Kein Custom-Command mit dem Namen "${e}" registriert`);return r(t)}static horizontalTab(){return new k}static lineFeed(){return new I}static formFeed(){return new $}static carriageReturn(){return new q}static cancelPageData(){return new T}static transmitRealtimeStatus(e){return new z(e)}static realtimeRequest(e){return new N(e)}static generatePulseRealtime(e,t){return new W(e,t)}static printPageMode(){return new pt}static setRightCharacterSpacing(e){return new ut(e)}static selectPrintModes(e){return new _(e)}static setAbsolutePosition(e){return new G(e)}static selectUserCharSet(e){return new lt(e)}static defineUserChars(e,t,r,n){return new ht(e,t,r,n)}static selectBitImageMode(e,t,r,n){return new ft(e,t,r,n)}static setUnderline(e){return new K(e)}static setDefaultLineSpacing(){return new Q}static setLineSpacing(e){return new Z(e)}static setPeripheralDevice(e){return new yt(e)}static cancelUserChar(e){return new xt(e)}static initialize(){return new V}static setHorizontalTabPositions(e){return new J(e)}static setEmphasized(e){return new X(e)}static setDoubleStrike(e){return new gt(e)}static printAndFeedPaper(e){return new Y(e)}static selectPageMode(){return new ee}static selectCharacterFont(e){return new te(e)}static selectInternationalCharSet(e){return new re(e)}static selectStandardMode(){return new ne}static selectPrintDirection(e){return new oe(e)}static setRotation(e){return new ie(e)}static setPrintingAreaPageMode(e,t,r,n,s,m,f,y){return new se(e,t,r,n,s,m,f,y)}static setRelativePosition(e){return new ae(e)}static setJustification(e){return new me(e)}static selectPaperEndSensors(e){return new bt(e)}static selectPaperStopSensors(e){return new wt(e)}static enablePanelButtons(e){return new Ct(e)}static printAndFeedLines(e){return new de(e)}static generatePulse(e,t,r){return new ce(e,t,r)}static selectCharacterCodeTable(e){return new pe(e)}static setUpsideDown(e){return new ue(e)}static beep(e,t){return new le(e,t)}static beepAndFlash(e,t,r){return new he(e,t,r)}static printNvBitImage(e,t){return new fe(e,t)}static defineNvBitImage(e,t){return new ye(e,t)}static setKanjiPrintMode(e){return new xe(e)}static selectKanjiMode(){return new ge}static setKanjiUnderline(e){return new be(e)}static cancelKanjiMode(){return new we}static defineKanji(e,t,r){return new Ce(e,t,r)}static setKanjiSpacing(e,t){return new Se(e,t)}static setKanjiQuadruple(e){return new Ae(e)}static selectCharacterSize(e,t){return new ve(e,t)}static setAbsoluteVerticalPosition(e){return new St(e)}static defineDownloadedBitImage(e,t,r){return new Ue(e,t,r)}static printDownloadedBitImage(e){return new Pe(e)}static macroStartEnd(){return new Be}static setReverse(e){return new Ee(e)}static setHriPosition(e){return new Re(e)}static setLeftMargin(e){return new De(e)}static setMotionUnits(e,t){return new At(e,t)}static cut(e,t){return new Le(e,t)}static setPrintingAreaWidth(e){return new Me(e)}static setRelativeVerticalPosition(e){return new vt(e)}static executeMacro(e,t,r){return new He(e,t,r)}static enableAsb(e){return new Fe(e)}static setHriFont(e){return new je(e)}static setBarcodeHeight(e){return new Oe(e)}static printBarcode(e,t,r){return new Te(e,t,r)}static transmitStatus(e){return new ze(e)}static printRasterBitImage(e,t,r,n,s,m){return new Ne(e,t,r,n,s,m)}static setBarcodeWidth(e){return new We(e)}static hexDump(){return new Ut}static printQrCode(e,t){return new _e(e,t)}static raw(e,t){return new j(e,t)}};var P=class o{constructor(e=0,t=0,r=!1,n=!1,s=!1,m=!1,f=0,y=!1,l=!1,R=!1,U=0,Nt=0,Wt=null){this.alignment=e;this.font=t;this.emphasized=r;this.doubleStrike=n;this.doubleHeight=s;this.doubleWidth=m;this.underline=f;this.rotation=y;this.upsideDown=l;this.reverse=R;this.codeTable=U;this.rightSpacing=Nt;this.lineSpacing=Wt}alignment;font;emphasized;doubleStrike;doubleHeight;doubleWidth;underline;rotation;upsideDown;reverse;codeTable;rightSpacing;lineSpacing;clone(){return new o(this.alignment,this.font,this.emphasized,this.doubleStrike,this.doubleHeight,this.doubleWidth,this.underline,this.rotation,this.upsideDown,this.reverse,this.codeTable,this.rightSpacing,this.lineSpacing)}};var Ge=class{snapshot;constructor(e){this.snapshot=e.clone()}getSnapshot(){return this.snapshot.clone()}};nt();dt();var S=class{sequence=new F;state=new P;mementoStack=[];save(){return this.mementoStack.push(new Ge(this.state)),this}restore(){let e=this.mementoStack.pop();if(!e)throw new Error("ReceiptBuilder.restore(): kein gespeicherter Zustand vorhanden");let t=this.state;return this.state=e.getSnapshot(),this._syncState(t),this}_syncState(e){let t=this.state;t.alignment!==e.alignment&&this.sequence.add(d.setJustification(t.alignment)),t.font!==e.font&&this.sequence.add(d.selectCharacterFont(t.font)),t.underline!==e.underline&&this.sequence.add(d.setUnderline(t.underline)),t.rotation!==e.rotation&&this.sequence.add(d.setRotation(t.rotation)),t.upsideDown!==e.upsideDown&&this.sequence.add(d.setUpsideDown(t.upsideDown)),t.reverse!==e.reverse&&this.sequence.add(d.setReverse(t.reverse)),t.codeTable!==e.codeTable&&this.sequence.add(d.selectCharacterCodeTable(t.codeTable)),t.rightSpacing!==e.rightSpacing&&this.sequence.add(d.setRightCharacterSpacing(t.rightSpacing)),(t.emphasized!==e.emphasized||t.doubleStrike!==e.doubleStrike||t.doubleHeight!==e.doubleHeight||t.doubleWidth!==e.doubleWidth||t.font!==e.font)&&this.sequence.add(d.selectPrintModes({fontB:t.font===1,emphasized:t.emphasized,doubleHeight:t.doubleHeight,doubleWidth:t.doubleWidth,underline:t.underline!==0})),t.lineSpacing!==e.lineSpacing&&(t.lineSpacing===null?this.sequence.add(d.setDefaultLineSpacing()):this.sequence.add(d.setLineSpacing(t.lineSpacing)))}add(e){return this.sequence.add(e),this}use(e){return e(this),this}initialize(){return this.sequence.add(d.initialize()),this.state=new P,this}align(e){return this.state.alignment!==e&&(this.state.alignment=e,this.sequence.add(d.setJustification(e))),this}left(){return this.align(0)}center(){return this.align(1)}right(){return this.align(2)}font(e){return this.state.font!==e&&(this.state.font=e,this.sequence.add(d.selectCharacterFont(e))),this}bold(e=!0){return this.state.emphasized!==e&&(this.state.emphasized=e,this.sequence.add(d.setEmphasized(e))),this}doubleStrike(e=!0){return this.state.doubleStrike!==e&&(this.state.doubleStrike=e,this.sequence.add(d.setDoubleStrike(e))),this}underline(e=1){return this.state.underline!==e&&(this.state.underline=e,this.sequence.add(d.setUnderline(e))),this}doubleHeight(e=!0){return this.state.doubleHeight=e,this.sequence.add(d.selectPrintModes({fontB:this.state.font===1,emphasized:this.state.emphasized,doubleHeight:e,doubleWidth:this.state.doubleWidth})),this}doubleWidth(e=!0){return this.state.doubleWidth=e,this.sequence.add(d.selectPrintModes({fontB:this.state.font===1,emphasized:this.state.emphasized,doubleHeight:this.state.doubleHeight,doubleWidth:e})),this}rotate(e=!0){return this.state.rotation!==e&&(this.state.rotation=e,this.sequence.add(d.setRotation(e))),this}upsideDown(e=!0){return this.state.upsideDown!==e&&(this.state.upsideDown=e,this.sequence.add(d.setUpsideDown(e))),this}reverse(e=!0){return this.state.reverse!==e&&(this.state.reverse=e,this.sequence.add(d.setReverse(e))),this}codeTable(e){return this.state.codeTable!==e&&(this.state.codeTable=e,this.sequence.add(d.selectCharacterCodeTable(e))),this}rightSpacing(e){return this.state.rightSpacing=e,this.sequence.add(d.setRightCharacterSpacing(e)),this}lineSpacing(e){return this.state.lineSpacing=e,this.sequence.add(d.setLineSpacing(e)),this}defaultLineSpacing(){return this.state.lineSpacing=null,this.sequence.add(d.setDefaultLineSpacing()),this}text(e){let t=new h;return t.text(e),this.sequence.add(d.raw(t.build(),"Text")),this}textLine(e){return this.text(e).feed()}feed(){return this.sequence.add(d.lineFeed()),this}feedLines(e){return this.sequence.add(d.printAndFeedLines(e)),this}feedDots(e){return this.sequence.add(d.printAndFeedPaper(e)),this}divider(e="-",t=48){return this.textLine(e.repeat(t))}absolutePosition(e){return this.sequence.add(d.setAbsolutePosition(e)),this}relativePosition(e){return this.sequence.add(d.setRelativePosition(e)),this}leftMargin(e){return this.sequence.add(d.setLeftMargin(e)),this}hriPosition(e){return this.sequence.add(d.setHriPosition(e)),this}hriFont(e){return this.sequence.add(d.setHriFont(e)),this}barcodeHeight(e){return this.sequence.add(d.setBarcodeHeight(e)),this}barcode(e,t,r){return this.sequence.add(d.printBarcode(e,t,r)),this}qrCode(e,t){return this.sequence.add(d.printQrCode(e,t)),this}cut(e=1,t){return this.sequence.add(d.cut(e,t)),this}openDrawer(e=0,t=50,r=50){return this.sequence.add(d.generatePulse(e,t,r)),this}rasterImage(e,t,r,n,s,m){return this.sequence.add(d.printRasterBitImage(e,t,r,n,s,m)),this}beep(e=1,t=1){return this.sequence.add(d.beep(e,t)),this}build(){return this.sequence}encode(){return this.sequence.encode()}};var zt=require("jimp");var Ke=class{name="FloydSteinberg";dither(e,t,r){let n=new Float32Array(e.length);for(let m=0;m<e.length;m++)n[m]=e[m]??255;let s=new Uint8Array(e.length);for(let m=0;m<r;m++)for(let f=0;f<t;f++){let y=m*t+f,l=n[y]??255,R=l<128?0:255;s[y]=R===0?1:0;let U=l-R;f+1<t&&(n[y+1]=(n[y+1]??255)+U*7/16),m+1<r&&f>0&&(n[y+t-1]=(n[y+t-1]??255)+U*3/16),m+1<r&&(n[y+t]=(n[y+t]??255)+U*5/16),m+1<r&&f+1<t&&(n[y+t+1]=(n[y+t+1]??255)+U*1/16)}return s}};var Qe=class{dither;printWidthDots;constructor(e={}){this.printWidthDots=e.printWidthDots??576,this.dither=e.dither??new Ke}async encodeFile(e){let t=await zt.Jimp.read(e);return this._processImage(t)}async encodeBuffer(e){let t=await zt.Jimp.fromBuffer(Buffer.from(e));return this._processImage(t)}async _processImage(e){let t=this.printWidthDots,r=e.height/e.width,n=Math.round(t*r);e.resize({w:t,h:n});let s=e.width,m=e.height,f=new Uint8Array(s*m);for(let w=0;w<m;w++)for(let p=0;p<s;p++){let u=e.getPixelColor(p,w),D=u>>>24&255,it=u>>>16&255,lr=u>>>8&255;(u&255)<128?f[w*s+p]=255:f[w*s+p]=Math.round(.299*D+.587*it+.114*lr)}let y=this.dither.dither(f,s,m),l=Math.ceil(s/8),R=new Uint8Array(l*m);for(let w=0;w<m;w++)for(let p=0;p<l;p++){let u=0;for(let D=0;D<8;D++){let it=p*8+D;it<s&&(y[w*s+it]??0)&&(u|=128>>D)}R[w*l+p]=u}let U=l&255,Nt=l>>8&255,Wt=m&255,ur=m>>8&255;return{data:R,widthBytes:l,heightDots:m,xL:U,xH:Nt,yL:Wt,yH:ur}}};var Pt=class extends S{cols;printWidthDots;defaultQtyDisplay;subIndent=" ";constructor(e={}){super(),this.printWidthDots=e.printWidthDots??576,this.cols=e.charsPerLine??48,this.defaultQtyDisplay=e.quantityDisplay??"inline"}async logo(e,t){let n=await new Qe({printWidthDots:this.printWidthDots,...t!==void 0?{dither:t}:{}}).encodeFile(e);return this.center().rasterImage(0,n.xL,n.xH,n.yL,n.yH,n.data).feed(),this}address(e){return this.center().bold(!0).textLine(e.company).bold(!1).textLine(e.street),e.postalCity&&this.textLine(e.postalCity),e.extra&&this.textLine(e.extra),this.left()}separator(e="-"){return this.divider(e,this.cols)}itemsHeader(){return this.textLine(this._mainRow("Nr","Artikel","Preis"))}item(e,t,r,n={}){let s=n.qty??1,m=n.qtyDisplay??this.defaultQtyDisplay,f=s>1,y=f&&m==="inline"?`${s}x ${t}`:t;if(this.textLine(this._mainRow(String(e),y,r)),f&&m==="separate"){let l=n.unitPrice?`${s}x \xE0 ${n.unitPrice}`:`${s}x`;this.textLine(this.subIndent+l)}for(let l of n.subLines??[])this.textLine(this._subRow(l));return this}total(e,t){return this.bold(!0).textLine(this._twoCol(e,t)).bold(!1)}taxLine(e,t){return this.textLine(this._twoCol(e,t))}footer(e,{withSeparator:t=!0}={}){t&&this.separator(),this.center();for(let r of e)this.textLine(r);return this.left()}_mainRow(e,t,r){return`${e.padStart(2)} ${t}`.padEnd(this.cols-r.length)+r}_subRow(e){let t=this.subIndent+e.label;return e.value?t.padEnd(this.cols-e.value.length)+e.value:t}_twoCol(e,t){return e.padEnd(this.cols-t.length)+t}};var v=class{observers=new Set;subscribe(e){return this.observers.add(e),()=>this.observers.delete(e)}unsubscribe(e){this.observers.delete(e)}notify(e){for(let t of this.observers)try{t.onEvent(e)}catch{}}makeEvent(e,t){return{type:e,timestamp:new Date,data:t}}};var Bt=class extends v{constructor(t){super();this.connection=t}connection;createBuilder(){return new S}async write(t){try{await this.connection.write(t),this.notify(this.makeEvent("written",{bytes:t,byteCount:t.length}))}catch(r){let n=r instanceof Error?r:new Error(String(r));throw this.notify(this.makeEvent("error",{error:n})),n}}async send(t){return this.write(t.encode())}async print(t){let r=(t instanceof S,t.encode());return this.write(r)}async open(){await this.connection.open(),this.notify(this.makeEvent("opened"))}async close(){await this.connection.close(),this.notify(this.makeEvent("closed"))}async initialize(){return this.send(d.initialize())}async cut(t=5){let{CutMode:r}=await Promise.resolve().then(()=>(nt(),nr));return this.send(d.cut(r.Partial,t))}async openDrawer(t=0,r=50,n=50){let{DrawerPin:s}=await Promise.resolve().then(()=>(dt(),or));return this.send(d.generatePulse(t,r,n))}};var Ze=class{constructor(e){this.byte=e}byte;get rawByte(){return this.byte}get isCashDrawerClosed(){return(this.byte&4)!==0}get isOffline(){return(this.byte&8)!==0}get isOnline(){return!this.isOffline}};var Ve=class{constructor(e){this.byte=e}byte;get rawByte(){return this.byte}get isCoverOpen(){return(this.byte&4)!==0}get isPaperBeingFed(){return(this.byte&8)!==0}get isPaperEndStop(){return(this.byte&32)!==0}get hasError(){return(this.byte&64)!==0}};var Je=class{constructor(e){this.byte=e}byte;get rawByte(){return this.byte}get hasAutoCutterError(){return(this.byte&8)!==0}get hasUnrecoverableError(){return(this.byte&32)!==0}get hasAutoRecoverableError(){return(this.byte&64)!==0}get hasAnyError(){return this.hasAutoCutterError||this.hasUnrecoverableError||this.hasAutoRecoverableError}};var Xe=class{constructor(e){this.byte=e}byte;get rawByte(){return this.byte}get isPaperNearEnd(){return(this.byte&12)!==0}get isPaperEnd(){return(this.byte&96)!==0}get isNearEndGsr(){return(this.byte&3)!==0}get isPaperEndGsr(){return(this.byte&12)!==0}get isPaperPresent(){return!this.isPaperEnd}};var Ye=class{constructor(e){this.byte=e}byte;get rawByte(){return this.byte}get isDrawerClosed(){return(this.byte&1)!==0}get isDrawerOpen(){return!this.isDrawerClosed}};var Et=class o{static decodePrinterStatus(e){return new Ze(e)}static decodeOfflineStatus(e){return new Ve(e)}static decodeErrorStatus(e){return new Je(e)}static decodePaperSensorStatus(e){return new Xe(e)}static decodeDrawerStatus(e){return new Ye(e)}static decode(e,t){switch(e){case"printer":return o.decodePrinterStatus(t);case"offline":return o.decodeOfflineStatus(t);case"error":return o.decodeErrorStatus(t);case"paper":return o.decodePaperSensorStatus(t);case"drawer":return o.decodeDrawerStatus(t)}}static typeFromN(e){return{1:"printer",2:"offline",3:"error",4:"paper"}[e]}};var b=class extends v{_isOpen=!1;get isOpen(){return this._isOpen}async open(){this._isOpen||(await this._open(),this._isOpen=!0,this.notify(this.makeEvent("opened")))}async write(e){if(!this._isOpen)throw new Error(`[${this.constructor.name}] Verbindung ist nicht ge\xF6ffnet`);await this._write(e),this.notify(this.makeEvent("written",{bytes:e,byteCount:e.length}))}async close(){this._isOpen&&(await this._close(),this._isOpen=!1,this.notify(this.makeEvent("closed")))}};var B=class extends b{buffers=[];async _open(){}async _write(e){this.buffers.push(e.slice())}async _close(){}getBuffer(){let e=0;for(let n of this.buffers)e+=n.length;let t=new Uint8Array(e),r=0;for(let n of this.buffers)t.set(n,r),r+=n.length;return t}getWrites(){return this.buffers}clear(){this.buffers.length=0}async read(e){return this.buffers[this.buffers.length-1]??new Uint8Array(0)}};var pr=Ft(require("net"),1),E=class extends b{constructor(t,r=9100,n=5e3){super();this.host=t;this.port=r;this.connectTimeout=n}host;port;connectTimeout;socket=null;async _open(){return new Promise((t,r)=>{let n=new pr.Socket,s=setTimeout(()=>{n.destroy(),r(new Error(`Verbindungs-Timeout zu ${this.host}:${this.port}`))},this.connectTimeout);n.connect(this.port,this.host,()=>{clearTimeout(s),this.socket=n,t()}),n.once("error",m=>{clearTimeout(s),r(m)})})}async _write(t){if(!this.socket)throw new Error("Kein aktiver Socket");return new Promise((r,n)=>{this.socket.write(t,s=>{s?n(s):r()})})}async _close(){return new Promise(t=>{if(!this.socket){t();return}this.socket.end(()=>{this.socket=null,t()})})}async read(t=2e3){if(!this.socket)throw new Error("Kein aktiver Socket");return new Promise((r,n)=>{let s=setTimeout(()=>{n(new Error("Lese-Timeout"))},t);this.socket.once("data",m=>{clearTimeout(s),r(new Uint8Array(m))})})}};var Rt=class extends b{constructor(t,r){super();this.vendorId=t;this.productId=r}vendorId;productId;device=null;async _open(){let t;try{t=await import("usb")}catch{throw new Error('Das "usb"-Package ist nicht installiert. Bitte mit npm install usb nachinstallieren.')}let r=t.findByIds(this.vendorId,this.productId);if(!r)throw new Error(`USB-Ger\xE4t mit VID=${this.vendorId} PID=${this.productId} nicht gefunden`);r.open(),this.device=r}async _write(t){throw new Error("UsbConnection._write: Bitte die Bulk-Transfer-Logik f\xFCr dein Ger\xE4t implementieren")}async _close(){this.device&&(this.device.close(),this.device=null)}};var Dt=class extends b{constructor(t,r=9600){super();this.path=t;this.baudRate=r}path;baudRate;port=null;async _open(){let t;try{t=await import("serialport")}catch{throw new Error('Das "serialport"-Package ist nicht installiert. Bitte mit npm install serialport nachinstallieren.')}let{SerialPort:r}=t,n=new r({path:this.path,baudRate:this.baudRate,autoOpen:!1});await new Promise((s,m)=>{n.open(f=>{f?m(f):s()})}),this.port=n}async _write(t){if(!this.port)throw new Error("Serial-Port nicht ge\xF6ffnet");let r=this.port;return new Promise((n,s)=>{r.write(t,m=>{m?s(m):n()})})}async _close(){if(!this.port)return;let t=this.port;await new Promise((r,n)=>{t.close(s=>{s?n(s):r()})}),this.port=null}};var Lt=class o{static creators=new Map([["buffer",e=>new B],["network",e=>new E(e.host,e.port??9100,e.timeout??5e3)]]);static register(e,t){o.creators.set(e,t)}static create(e,t={}){let r=o.creators.get(e);if(!r)throw new Error(`Unbekannter Connection-Typ "${e}". Registriert: ${[...o.creators.keys()].join(", ")}`);return r(t)}static createBuffer(){return new B}static createNetwork(e,t=9100){return new E(e,t)}};var Mt=class{constructor(e=128){this.threshold=e}threshold;name="Threshold";dither(e,t,r){let n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=(e[s]??255)<this.threshold?1:0;return n}};0&&(module.exports={AbstractCommand,AbstractConnection,Alignment,BarcodeSystem,BarcodeWidth,BeepAndFlashCommand,BeepCommand,BitImageMode,BufferConnection,ByteBuilder,CAN,CR,CancelKanjiModeCommand,CancelPageDataCommand,CarriageReturnCommand,CharacterCodeTable,CodabarStrategy,Code128Strategy,Code39Strategy,CommandFactory,CommandRegistry,CommandSequence,ConnectionFactory,CutCommand,CutMode,DC4,DLE,DefineDownloadedBitImageCommand,DefineKanjiCommand,DefineNvBitImageCommand,DrawerPin,DrawerStatus,ENQ,EOT,ESC,EnableAsbCommand,ErrorStatus,ExecuteMacroCommand,FF,FS,FloydSteinbergDither,Font,FormFeedCommand,GS,GeneratePulseCommand,GeneratePulseRealtimeCommand,HT,HorizontalTabCommand,HriFont,HriPosition,ImageEncoder,InitializeCommand,InternationalCharacterSet,InvoiceBuilder,ItfStrategy,LF,LineFeedCommand,MacroStartEndCommand,NUL,NetworkConnection,OfflineStatus,PaperSensorStatus,PrintAndFeedLinesCommand,PrintAndFeedPaperCommand,PrintBarcodeCommand,PrintDirection,PrintDownloadedBitImageCommand,PrintNvBitImageCommand,PrintQrCodeCommand,PrintRasterBitImageCommand,PrintState,Printer,PrinterStatus,QrCodeErrorCorrection,RasterMode,RawCommand,RealtimeRequestCommand,ReceiptBuilder,SP,SelectCharacterCodeTableCommand,SelectCharacterFontCommand,SelectCharacterSizeCommand,SelectInternationalCharSetCommand,SelectKanjiModeCommand,SelectPageModeCommand,SelectPrintDirectionCommand,SelectPrintModesCommand,SelectStandardModeCommand,SerialConnection,SetAbsolutePositionCommand,SetBarcodeHeightCommand,SetBarcodeWidthCommand,SetDefaultLineSpacingCommand,SetEmphasizedCommand,SetHorizontalTabPositionsCommand,SetHriFontCommand,SetHriPositionCommand,SetJustificationCommand,SetKanjiPrintModeCommand,SetKanjiQuadrupleCommand,SetKanjiSpacingCommand,SetKanjiUnderlineCommand,SetLeftMarginCommand,SetLineSpacingCommand,SetPrintingAreaPageModeCommand,SetPrintingAreaWidthCommand,SetRelativePositionCommand,SetReverseCommand,SetRotationCommand,SetUnderlineCommand,SetUpsideDownCommand,SimpleNumericBarcodeStrategy,StateMemento,StatusDecoder,Subject,ThresholdDither,TransmitRealtimeStatusCommand,TransmitStatusCommand,UnderlineMode,UsbConnection,fromUint16LE,toComplement16,toUint16LE});
|