@kreiseck/kasseneck-api 0.31.0 → 1.0.0-rc.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.
- package/CHANGELOG.md +317 -0
- package/README.de.md +11 -7
- package/README.md +509 -126
- package/dist/cjs/client/api.d.ts +7 -6
- package/dist/cjs/client/api.js +2 -2
- package/dist/cjs/client/aufrufe.d.ts +29 -5
- package/dist/cjs/client/aufrufe.js +114 -2
- package/dist/cjs/client/auth.d.ts +2 -0
- package/dist/cjs/client/auth.js +17 -1
- package/dist/cjs/client/cashregisters.d.ts +1 -1
- package/dist/cjs/client/cashregisters.js +2 -2
- package/dist/cjs/client/errors.d.ts +94 -19
- package/dist/cjs/client/errors.js +132 -28
- package/dist/cjs/client/fehlercodes.d.ts +9 -0
- package/dist/cjs/client/fehlercodes.js +36 -0
- package/dist/cjs/client/index.d.ts +5 -5
- package/dist/cjs/client/index.js +11 -3
- package/dist/cjs/client/receipts.d.ts +131 -124
- package/dist/cjs/client/receipts.js +196 -137
- package/dist/cjs/client/reports.d.ts +26 -4
- package/dist/cjs/client/reports.js +37 -4
- package/dist/cjs/client/status.d.ts +3 -3
- package/dist/cjs/client/status.js +7 -7
- package/dist/cjs/client/transport.d.ts +56 -4
- package/dist/cjs/client/transport.js +234 -25
- package/dist/cjs/enums/vat-rate.d.ts +2 -2
- package/dist/cjs/enums/vat-rate.js +1 -1
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +42 -13
- package/dist/{esm/rechnung → cjs/invoice}/api.d.ts +18 -17
- package/dist/cjs/{rechnung → invoice}/api.js +6 -6
- package/dist/{esm/rechnung → cjs/invoice}/auth.d.ts +2 -2
- package/dist/cjs/{rechnung → invoice}/auth.js +5 -5
- package/dist/{esm/rechnung/rechnen.d.ts → cjs/invoice/calc.d.ts} +27 -27
- package/dist/cjs/{rechnung/rechnen.js → invoice/calc.js} +54 -54
- package/dist/{esm/rechnung → cjs/invoice}/endpunkte.d.ts +23 -21
- package/dist/cjs/{rechnung → invoice}/endpunkte.js +52 -42
- package/dist/cjs/invoice/fehler.d.ts +31 -0
- package/dist/cjs/invoice/fehler.js +39 -0
- package/dist/cjs/invoice/index.d.ts +21 -0
- package/dist/cjs/invoice/index.js +86 -0
- package/dist/cjs/{rechnung → invoice}/summen.d.ts +12 -12
- package/dist/cjs/{rechnung → invoice}/summen.js +14 -14
- package/dist/cjs/invoice/texte.d.ts +224 -0
- package/dist/cjs/invoice/texte.js +425 -0
- package/dist/{esm/rechnung → cjs/invoice}/typen.d.ts +32 -11
- package/dist/cjs/{rechnung → invoice}/vertrag.d.ts +97 -71
- package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
- package/dist/cjs/models/cancellation.d.ts +43 -24
- package/dist/cjs/models/cancellation.js +94 -46
- package/dist/cjs/models/hobex-receipt.d.ts +3 -3
- package/dist/cjs/models/hobex-receipt.js +35 -35
- package/dist/cjs/models/index.d.ts +6 -5
- package/dist/cjs/models/index.js +22 -2
- package/dist/cjs/models/payment-errors.d.ts +32 -15
- package/dist/cjs/models/payment-errors.js +80 -32
- package/dist/cjs/models/receipt-company.d.ts +6 -5
- package/dist/cjs/models/receipt-company.js +4 -4
- package/dist/cjs/models/receipt-email.d.ts +32 -18
- package/dist/cjs/models/receipt-email.js +69 -24
- package/dist/cjs/models/receipt-errors.d.ts +39 -0
- package/dist/cjs/models/receipt-errors.js +94 -0
- package/dist/cjs/models/receipt-item.d.ts +9 -1
- package/dist/cjs/models/receipt-item.js +3 -0
- package/dist/cjs/models/receipt-summary.d.ts +10 -4
- package/dist/cjs/models/receipt-summary.js +10 -4
- package/dist/cjs/models/receipt.d.ts +31 -2
- package/dist/cjs/models/receipt.js +12 -1
- package/dist/cjs/models/voucher.d.ts +7 -6
- package/dist/cjs/models/voucher.js +2 -7
- package/dist/cjs/partner/ablauf.d.ts +10 -10
- package/dist/cjs/partner/ablauf.js +29 -29
- package/dist/cjs/partner/api.d.ts +26 -23
- package/dist/cjs/partner/api.js +11 -13
- package/dist/cjs/partner/auth.d.ts +1 -1
- package/dist/cjs/partner/auth.js +2 -2
- package/dist/cjs/partner/betrieb.d.ts +7 -7
- package/dist/cjs/partner/betrieb.js +10 -10
- package/dist/cjs/partner/endpunkte.d.ts +27 -14
- package/dist/cjs/partner/endpunkte.js +80 -39
- package/dist/cjs/partner/fehler.d.ts +60 -30
- package/dist/cjs/partner/fehler.js +99 -43
- package/dist/cjs/partner/index.d.ts +13 -12
- package/dist/cjs/partner/index.js +35 -22
- package/dist/cjs/partner/secret.d.ts +3 -3
- package/dist/cjs/partner/secret.js +6 -6
- package/dist/cjs/partner/typen.d.ts +129 -71
- package/dist/cjs/partner/typen.js +76 -3
- package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
- package/dist/cjs/partner/webhook-signatur.js +12 -12
- package/dist/cjs/partner/webhooks.d.ts +60 -32
- package/dist/cjs/partner/webhooks.js +40 -34
- package/dist/cjs/payments/hobex.d.ts +11 -3
- package/dist/cjs/payments/hobex.js +17 -5
- package/dist/cjs/payments/stripe.d.ts +5 -2
- package/dist/cjs/payments/stripe.js +10 -5
- package/dist/cjs/pos/artikel.d.ts +90 -0
- package/dist/cjs/pos/artikel.js +89 -0
- package/dist/cjs/pos/client.d.ts +27 -0
- package/dist/cjs/pos/client.js +144 -0
- package/dist/cjs/pos/drucker.d.ts +86 -0
- package/dist/cjs/pos/drucker.js +78 -0
- package/dist/cjs/pos/errors.d.ts +36 -0
- package/dist/cjs/pos/errors.js +95 -0
- package/dist/cjs/pos/index.d.ts +15 -0
- package/dist/cjs/pos/index.js +102 -0
- package/dist/cjs/pos/settings.d.ts +313 -0
- package/dist/cjs/pos/settings.js +376 -0
- package/dist/cjs/pos/texte.d.ts +883 -0
- package/dist/cjs/pos/texte.js +489 -0
- package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
- package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
- package/dist/cjs/printing/escpos.d.ts +29 -29
- package/dist/cjs/printing/escpos.js +61 -61
- package/dist/cjs/printing/index.d.ts +2 -2
- package/dist/cjs/printing/index.js +17 -17
- package/dist/cjs/printing/qr-groesse.d.ts +38 -38
- package/dist/cjs/printing/qr-groesse.js +47 -47
- package/dist/cjs/printing/webusb.d.ts +2 -2
- package/dist/cjs/printing/webusb.js +4 -4
- package/dist/cjs/react/index.d.ts +21 -21
- package/dist/cjs/react/index.js +40 -30
- package/dist/cjs/receipt/bild.d.ts +4 -4
- package/dist/cjs/receipt/bild.js +11 -11
- package/dist/cjs/receipt/blatt.d.ts +46 -46
- package/dist/cjs/receipt/blatt.js +59 -59
- package/dist/cjs/receipt/discount.d.ts +1 -1
- package/dist/cjs/receipt/discount.js +8 -8
- package/dist/cjs/receipt/due.d.ts +86 -0
- package/dist/cjs/receipt/due.js +261 -0
- package/dist/cjs/receipt/epos.d.ts +22 -22
- package/dist/cjs/receipt/epos.js +45 -45
- package/dist/cjs/receipt/grid.d.ts +10 -10
- package/dist/cjs/receipt/grid.js +20 -20
- package/dist/cjs/receipt/index.d.ts +9 -8
- package/dist/cjs/receipt/index.js +26 -23
- package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
- package/dist/cjs/receipt/layout-escpos.js +49 -49
- package/dist/cjs/receipt/layout.d.ts +28 -23
- package/dist/cjs/receipt/layout.js +45 -21
- package/dist/cjs/receipt/marke-daten.d.ts +8 -8
- package/dist/cjs/receipt/marke-daten.js +8 -8
- package/dist/cjs/receipt/marke.d.ts +7 -7
- package/dist/cjs/receipt/marke.js +10 -10
- package/dist/cjs/register/errors.d.ts +61 -0
- package/dist/cjs/register/errors.js +112 -0
- package/dist/cjs/register/index.d.ts +14 -1
- package/dist/cjs/register/index.js +20 -1
- package/dist/cjs/register/pairing.d.ts +55 -36
- package/dist/cjs/register/pairing.js +33 -29
- package/dist/cjs/register/session.d.ts +5 -5
- package/dist/cjs/register/session.js +7 -7
- package/dist/cjs/stored/draht.d.ts +45 -0
- package/dist/cjs/stored/draht.js +220 -0
- package/dist/cjs/stored/einstellungen.d.ts +23 -0
- package/dist/cjs/stored/einstellungen.js +200 -0
- package/dist/cjs/stored/index.d.ts +109 -0
- package/dist/cjs/stored/index.js +225 -0
- package/dist/cjs/stored/vokabular.d.ts +18 -0
- package/dist/cjs/stored/vokabular.js +389 -0
- package/dist/cjs/version.d.ts +7 -0
- package/dist/cjs/version.js +10 -0
- package/dist/cjs/vienna-time.d.ts +1 -1
- package/dist/cjs/vienna-time.js +2 -2
- package/dist/esm/client/api.d.ts +7 -6
- package/dist/esm/client/api.js +4 -4
- package/dist/esm/client/aufrufe.d.ts +29 -5
- package/dist/esm/client/aufrufe.js +111 -1
- package/dist/esm/client/auth.d.ts +2 -0
- package/dist/esm/client/auth.js +16 -1
- package/dist/esm/client/cashregisters.d.ts +1 -1
- package/dist/esm/client/cashregisters.js +2 -2
- package/dist/esm/client/errors.d.ts +94 -19
- package/dist/esm/client/errors.js +129 -27
- package/dist/esm/client/fehlercodes.d.ts +9 -0
- package/dist/esm/client/fehlercodes.js +32 -0
- package/dist/esm/client/index.d.ts +5 -5
- package/dist/esm/client/index.js +5 -5
- package/dist/esm/client/receipts.d.ts +131 -124
- package/dist/esm/client/receipts.js +195 -140
- package/dist/esm/client/reports.d.ts +26 -4
- package/dist/esm/client/reports.js +36 -4
- package/dist/esm/client/status.d.ts +3 -3
- package/dist/esm/client/status.js +7 -7
- package/dist/esm/client/transport.d.ts +56 -4
- package/dist/esm/client/transport.js +233 -24
- package/dist/esm/enums/vat-rate.d.ts +2 -2
- package/dist/esm/enums/vat-rate.js +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +4 -3
- package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
- package/dist/esm/{rechnung → invoice}/api.js +6 -6
- package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
- package/dist/esm/{rechnung → invoice}/auth.js +4 -4
- package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
- package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
- package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
- package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
- package/dist/esm/invoice/fehler.d.ts +31 -0
- package/dist/esm/invoice/fehler.js +33 -0
- package/dist/esm/invoice/index.d.ts +21 -0
- package/dist/esm/invoice/index.js +20 -0
- package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
- package/dist/esm/{rechnung → invoice}/summen.js +12 -12
- package/dist/esm/invoice/texte.d.ts +224 -0
- package/dist/esm/invoice/texte.js +421 -0
- package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
- package/dist/esm/{rechnung → invoice}/vertrag.d.ts +97 -71
- package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
- package/dist/esm/models/cancellation.d.ts +43 -24
- package/dist/esm/models/cancellation.js +90 -45
- package/dist/esm/models/hobex-receipt.d.ts +3 -3
- package/dist/esm/models/hobex-receipt.js +35 -35
- package/dist/esm/models/index.d.ts +6 -5
- package/dist/esm/models/index.js +6 -5
- package/dist/esm/models/payment-errors.d.ts +32 -15
- package/dist/esm/models/payment-errors.js +77 -32
- package/dist/esm/models/receipt-company.d.ts +6 -5
- package/dist/esm/models/receipt-company.js +4 -4
- package/dist/esm/models/receipt-email.d.ts +32 -18
- package/dist/esm/models/receipt-email.js +65 -23
- package/dist/esm/models/receipt-errors.d.ts +39 -0
- package/dist/esm/models/receipt-errors.js +87 -0
- package/dist/esm/models/receipt-item.d.ts +9 -1
- package/dist/esm/models/receipt-item.js +3 -0
- package/dist/esm/models/receipt-summary.d.ts +10 -4
- package/dist/esm/models/receipt-summary.js +9 -3
- package/dist/esm/models/receipt.d.ts +31 -2
- package/dist/esm/models/receipt.js +12 -2
- package/dist/esm/models/voucher.d.ts +7 -6
- package/dist/esm/models/voucher.js +2 -7
- package/dist/esm/partner/ablauf.d.ts +10 -10
- package/dist/esm/partner/ablauf.js +27 -27
- package/dist/esm/partner/api.d.ts +26 -23
- package/dist/esm/partner/api.js +13 -15
- package/dist/esm/partner/auth.d.ts +1 -1
- package/dist/esm/partner/auth.js +2 -2
- package/dist/esm/partner/betrieb.d.ts +7 -7
- package/dist/esm/partner/betrieb.js +8 -8
- package/dist/esm/partner/endpunkte.d.ts +27 -14
- package/dist/esm/partner/endpunkte.js +79 -39
- package/dist/esm/partner/fehler.d.ts +60 -30
- package/dist/esm/partner/fehler.js +91 -35
- package/dist/esm/partner/index.d.ts +13 -12
- package/dist/esm/partner/index.js +12 -11
- package/dist/esm/partner/secret.d.ts +3 -3
- package/dist/esm/partner/secret.js +5 -5
- package/dist/esm/partner/typen.d.ts +129 -71
- package/dist/esm/partner/typen.js +75 -2
- package/dist/esm/partner/webhook-signatur.d.ts +2 -2
- package/dist/esm/partner/webhook-signatur.js +12 -12
- package/dist/esm/partner/webhooks.d.ts +60 -32
- package/dist/esm/partner/webhooks.js +38 -32
- package/dist/esm/payments/hobex.d.ts +11 -3
- package/dist/esm/payments/hobex.js +18 -6
- package/dist/esm/payments/stripe.d.ts +5 -2
- package/dist/esm/payments/stripe.js +11 -6
- package/dist/esm/pos/artikel.d.ts +90 -0
- package/dist/esm/pos/artikel.js +79 -0
- package/dist/esm/pos/client.d.ts +27 -0
- package/dist/esm/pos/client.js +137 -0
- package/dist/esm/pos/drucker.d.ts +86 -0
- package/dist/esm/pos/drucker.js +71 -0
- package/dist/esm/pos/errors.d.ts +36 -0
- package/dist/esm/pos/errors.js +88 -0
- package/dist/esm/pos/index.d.ts +15 -0
- package/dist/esm/pos/index.js +20 -0
- package/dist/esm/pos/settings.d.ts +313 -0
- package/dist/esm/pos/settings.js +367 -0
- package/dist/esm/pos/texte.d.ts +883 -0
- package/dist/esm/pos/texte.js +481 -0
- package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
- package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
- package/dist/esm/printing/escpos.d.ts +29 -29
- package/dist/esm/printing/escpos.js +56 -56
- package/dist/esm/printing/index.d.ts +2 -2
- package/dist/esm/printing/index.js +2 -2
- package/dist/esm/printing/qr-groesse.d.ts +38 -38
- package/dist/esm/printing/qr-groesse.js +42 -42
- package/dist/esm/printing/webusb.d.ts +2 -2
- package/dist/esm/printing/webusb.js +4 -4
- package/dist/esm/react/index.d.ts +21 -21
- package/dist/esm/react/index.js +39 -29
- package/dist/esm/receipt/bild.d.ts +4 -4
- package/dist/esm/receipt/bild.js +11 -11
- package/dist/esm/receipt/blatt.d.ts +46 -46
- package/dist/esm/receipt/blatt.js +55 -55
- package/dist/esm/receipt/discount.d.ts +1 -1
- package/dist/esm/receipt/discount.js +7 -7
- package/dist/esm/receipt/due.d.ts +86 -0
- package/dist/esm/receipt/due.js +257 -0
- package/dist/esm/receipt/epos.d.ts +22 -22
- package/dist/esm/receipt/epos.js +47 -47
- package/dist/esm/receipt/grid.d.ts +10 -10
- package/dist/esm/receipt/grid.js +18 -18
- package/dist/esm/receipt/index.d.ts +9 -8
- package/dist/esm/receipt/index.js +9 -8
- package/dist/esm/receipt/layout-escpos.d.ts +24 -24
- package/dist/esm/receipt/layout-escpos.js +51 -51
- package/dist/esm/receipt/layout.d.ts +28 -23
- package/dist/esm/receipt/layout.js +44 -20
- package/dist/esm/receipt/marke-daten.d.ts +8 -8
- package/dist/esm/receipt/marke-daten.js +7 -7
- package/dist/esm/receipt/marke.d.ts +7 -7
- package/dist/esm/receipt/marke.js +10 -10
- package/dist/esm/register/errors.d.ts +61 -0
- package/dist/esm/register/errors.js +104 -0
- package/dist/esm/register/index.d.ts +14 -1
- package/dist/esm/register/index.js +13 -0
- package/dist/esm/register/pairing.d.ts +55 -36
- package/dist/esm/register/pairing.js +33 -29
- package/dist/esm/register/session.d.ts +5 -5
- package/dist/esm/register/session.js +7 -7
- package/dist/esm/stored/draht.d.ts +45 -0
- package/dist/esm/stored/draht.js +208 -0
- package/dist/esm/stored/einstellungen.d.ts +23 -0
- package/dist/esm/stored/einstellungen.js +196 -0
- package/dist/esm/stored/index.d.ts +109 -0
- package/dist/esm/stored/index.js +217 -0
- package/dist/esm/stored/vokabular.d.ts +18 -0
- package/dist/esm/stored/vokabular.js +386 -0
- package/dist/esm/version.d.ts +7 -0
- package/dist/esm/version.js +7 -0
- package/dist/esm/vienna-time.d.ts +1 -1
- package/dist/esm/vienna-time.js +2 -2
- package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
- package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
- package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
- package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
- package/fixtures/expected/cancellation-full.sheet32.json +218 -0
- package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
- package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
- package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
- package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
- package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
- package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
- package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
- package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
- package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
- package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
- package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
- package/fixtures/expected/card-custom.sheet32.json +158 -0
- package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
- package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
- package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
- package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
- package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
- package/fixtures/expected/card-gptom.sheet32.json +230 -0
- package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
- package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
- package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
- package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
- package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
- package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
- package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
- package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
- package/fixtures/expected/card-mypos.sheet32.json +254 -0
- package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
- package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
- package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
- package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
- package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
- package/fixtures/expected/card-stripe.sheet32.json +212 -0
- package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
- package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
- package/fixtures/expected/card-sumup.sheet32.json +218 -0
- package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
- package/fixtures/expected/discount-lines.sheet32.json +200 -0
- package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
- package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
- package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
- package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
- package/fixtures/expected/discount-simple.sheet32.json +182 -0
- package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
- package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
- package/fixtures/expected/discount-tip.sheet32.json +212 -0
- package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
- package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
- package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
- package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
- package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
- package/fixtures/expected/long-item-name.sheet32.json +176 -0
- package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
- package/fixtures/expected/sale-card.sheet32.json +176 -0
- package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
- package/fixtures/expected/sale-cash.sheet32.json +176 -0
- package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
- package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
- package/fixtures/expected/sale-small-business.sheet32.json +182 -0
- package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
- package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
- package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
- package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
- package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
- package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
- package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
- package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
- package/fixtures/expected/split-cash-change.sheet32.json +194 -0
- package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
- package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
- package/fixtures/expected/split-long-amount.sheet32.json +266 -0
- package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
- package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
- package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
- package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
- package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
- package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
- package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
- package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
- package/fixtures/expected/split-tip-card.sheet32.json +272 -0
- package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
- package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
- package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
- package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
- package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
- package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
- package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
- package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
- package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
- package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
- package/fixtures/{erwartet → expected}/training.lines.json +2 -2
- package/fixtures/expected/training.sheet32.json +236 -0
- package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
- package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
- package/fixtures/expected/zero-annual.sheet32.json +212 -0
- package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
- package/fixtures/expected/zero-final.sheet32.json +206 -0
- package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
- package/fixtures/expected/zero-manual.sheet32.json +206 -0
- package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
- package/fixtures/expected/zero-monthly.sheet32.json +206 -0
- package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
- package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
- package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
- package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
- package/fixtures/expected/zero-start.sheet32.json +206 -0
- package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
- package/fixtures/hobex-hps-codes.json +12 -12
- package/fixtures/invoice-api-examples/brands-ok.json +8 -0
- package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
- package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
- package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
- package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
- package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
- package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
- package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
- package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
- package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
- package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
- package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
- package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
- package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
- package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
- package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
- package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
- package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
- package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
- package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
- package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
- package/fixtures/invoice-texts.json +464 -0
- package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
- package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
- package/fixtures/manifest.json +252 -252
- package/fixtures/pos-message-cases.json +32 -0
- package/fixtures/pos-settings-defaults.json +149 -0
- package/fixtures/{kasse-texte.json → pos-texts.json} +416 -416
- package/fixtures/receipt-due-generated.json +1218 -0
- package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
- package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
- package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
- package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
- package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
- package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
- package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
- package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
- package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
- package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
- package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
- package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
- package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
- package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
- package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
- package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
- package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
- package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
- package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
- package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
- package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
- package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
- package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
- package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
- package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
- package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
- package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
- package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
- package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
- package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
- package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
- package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
- package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
- package/fixtures/{belege → receipts}/training.json +2 -2
- package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
- package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
- package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
- package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
- package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
- package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
- package/fixtures/renames-1.0.json +1490 -0
- package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +7 -7
- package/fixtures/surface.json +877 -0
- package/fixtures/v3/README.md +125 -0
- package/fixtures/v3/antworten/belege.json +4738 -0
- package/fixtures/v3/antworten/belegmail.json +154 -0
- package/fixtures/v3/antworten/kasse-belege.json +4304 -0
- package/fixtures/v3/antworten/kasse.json +12716 -0
- package/fixtures/v3/antworten/rechnungen.json +1712 -0
- package/fixtures/v3/antworten/storno.json +737 -0
- package/fixtures/v3/stored/belege.json +502 -0
- package/fixtures/v3/stored/kasse.json +3461 -0
- package/fixtures/v3/stored/rechnungen.json +750 -0
- package/fixtures/v3/v3-vokabular.json +3375 -0
- package/fixtures/v3/zahlbetrag-faelle.json +794 -0
- package/package.json +32 -18
- package/dist/cjs/kasse/artikel.d.ts +0 -83
- package/dist/cjs/kasse/artikel.js +0 -79
- package/dist/cjs/kasse/client.d.ts +0 -10
- package/dist/cjs/kasse/client.js +0 -38
- package/dist/cjs/kasse/drucker.d.ts +0 -59
- package/dist/cjs/kasse/drucker.js +0 -50
- package/dist/cjs/kasse/index.d.ts +0 -13
- package/dist/cjs/kasse/index.js +0 -83
- package/dist/cjs/kasse/settings.d.ts +0 -229
- package/dist/cjs/kasse/settings.js +0 -172
- package/dist/cjs/kasse/texte.d.ts +0 -868
- package/dist/cjs/kasse/texte.js +0 -474
- package/dist/cjs/rechnung/fehler.d.ts +0 -21
- package/dist/cjs/rechnung/fehler.js +0 -44
- package/dist/cjs/rechnung/index.d.ts +0 -21
- package/dist/cjs/rechnung/index.js +0 -82
- package/dist/cjs/rechnung/texte.d.ts +0 -222
- package/dist/cjs/rechnung/texte.js +0 -425
- package/dist/esm/kasse/artikel.d.ts +0 -83
- package/dist/esm/kasse/artikel.js +0 -70
- package/dist/esm/kasse/client.d.ts +0 -10
- package/dist/esm/kasse/client.js +0 -33
- package/dist/esm/kasse/drucker.d.ts +0 -59
- package/dist/esm/kasse/drucker.js +0 -45
- package/dist/esm/kasse/index.d.ts +0 -13
- package/dist/esm/kasse/index.js +0 -18
- package/dist/esm/kasse/settings.d.ts +0 -229
- package/dist/esm/kasse/settings.js +0 -168
- package/dist/esm/kasse/texte.d.ts +0 -868
- package/dist/esm/kasse/texte.js +0 -466
- package/dist/esm/rechnung/fehler.d.ts +0 -21
- package/dist/esm/rechnung/fehler.js +0 -39
- package/dist/esm/rechnung/index.d.ts +0 -21
- package/dist/esm/rechnung/index.js +0 -20
- package/dist/esm/rechnung/texte.d.ts +0 -222
- package/dist/esm/rechnung/texte.js +0 -421
- package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
- package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
- package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
- package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
- package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
- package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
- package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
- package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
- package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
- package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
- package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
- package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
- package/fixtures/erwartet/null-monat.blatt32.json +0 -206
- package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
- package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
- package/fixtures/erwartet/null-start.blatt32.json +0 -206
- package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
- package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
- package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
- package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
- package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
- package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
- package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
- package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
- package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
- package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
- package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
- package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
- package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
- package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
- package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
- package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
- package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
- package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
- package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
- package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
- package/fixtures/erwartet/training.blatt32.json +0 -236
- package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
- package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
- package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
- package/fixtures/kasse-meldungen-faelle.json +0 -32
- package/fixtures/oberflaeche.json +0 -558
- package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
- package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
- package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
- package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
- package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
- package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
- package/fixtures/rechnung-texte.json +0 -464
- /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
- /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
- /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
- /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
- /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
- /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
- /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
- /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
- /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
- /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
- /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
- /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
- /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
- /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
- /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
- /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
- /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
- /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
- /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
- /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
- /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
- /package/fixtures/{erwartet/null-start.grid48.txt → expected/zero-start.grid48.txt} +0 -0
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
*
|
|
27
27
|
* Nicht enthalten (bewusst): Bilddekodierung (PNG/JPEG liest die Huelle),
|
|
28
28
|
* Capability-Profile einzelner Druckermodelle, Kassenlade, 1D-Barcodes.
|
|
29
|
-
* Fertige einfarbige Rasterbilder (Logo) gehen ueber [
|
|
29
|
+
* Fertige einfarbige Rasterbilder (Logo) gehen ueber [escPosRasterImage].
|
|
30
30
|
*/
|
|
31
|
-
import { type
|
|
31
|
+
import { type QrModuleSize } from './qr-groesse.js';
|
|
32
32
|
/** Papierbreite der Bonrolle. */
|
|
33
33
|
export type PosPaperSize = 'mm58' | 'mm80';
|
|
34
34
|
/** Ausrichtung einer Textzeile bzw. innerhalb einer Spalte. */
|
|
@@ -107,18 +107,18 @@ export interface EscPosQrOptions {
|
|
|
107
107
|
/** Fehlerkorrektur; Vorgabe `M` wie auf allen Druckwegen (siehe `qrCodeBytes`). */
|
|
108
108
|
correction?: QrCorrection;
|
|
109
109
|
/** Deckel fuer die gerechnete Modulgroesse; wirkungslos neben `size`. */
|
|
110
|
-
|
|
110
|
+
moduleSize?: QrModuleSize;
|
|
111
111
|
/** Modell 1 des Symbols ausdruecklich waehlen — siehe `qrCodeBytes`. */
|
|
112
|
-
|
|
112
|
+
model1?: boolean;
|
|
113
113
|
}
|
|
114
114
|
export interface EscPosQrRasterOptions {
|
|
115
115
|
align?: PosAlign;
|
|
116
116
|
/** Feste Punkte je Modul; ohne Angabe gerechnet (mindestens 1). */
|
|
117
|
-
|
|
117
|
+
dotsPerModule?: number;
|
|
118
118
|
/** Deckel fuer die gerechnete Groesse. */
|
|
119
|
-
|
|
120
|
-
/** Ruhezone je Seite in Modulen; Vorgabe `
|
|
121
|
-
|
|
119
|
+
moduleSize?: QrModuleSize;
|
|
120
|
+
/** Ruhezone je Seite in Modulen; Vorgabe `QR_QUIET_ZONE_MODULES` (4). */
|
|
121
|
+
quietZoneModules?: number;
|
|
122
122
|
}
|
|
123
123
|
/** Interner Stilzustand — immer vollstaendig, nie teilbefuellt. */
|
|
124
124
|
interface AktuelleStile {
|
|
@@ -147,18 +147,18 @@ export interface EscPosDocument {
|
|
|
147
147
|
* ist der QR die maschinenlesbare Signatur: das muss der Aufrufer erfahren,
|
|
148
148
|
* ohne den Bytestrom zu durchsuchen.
|
|
149
149
|
*/
|
|
150
|
-
|
|
150
|
+
qrError: string | null;
|
|
151
151
|
/**
|
|
152
152
|
* Der QR steht auf dem Papier, aber nicht so wie eingestellt — `null`,
|
|
153
153
|
* solange nichts abgewichen ist. Zwei Faelle, beide mit Grund im Text: das
|
|
154
154
|
* Symbol war fuer den nativen Befehl zu breit und ging als Bild hinaus, oder
|
|
155
155
|
* es passte nur unter der Mindest-Modulgroesse.
|
|
156
156
|
*
|
|
157
|
-
* Getrennt von `
|
|
157
|
+
* Getrennt von `qrError`, weil die Handlung eine andere ist: dort heisst es
|
|
158
158
|
* "Beleg ohne QR, nachdrucken oder elektronisch ausgeben", hier "gedruckt,
|
|
159
159
|
* aber der eingestellte Weg taugt fuer dieses Geraet nicht".
|
|
160
160
|
*/
|
|
161
|
-
|
|
161
|
+
qrFallback: string | null;
|
|
162
162
|
/** intern: bisher erzeugte Bytes */
|
|
163
163
|
readonly bytes: number[];
|
|
164
164
|
/** intern: global gesetzte Codepage (ueberlebt `escPosReset`) */
|
|
@@ -226,7 +226,7 @@ export declare function escPosSetGlobalFont(doc: EscPosDocument, font: PosFont |
|
|
|
226
226
|
* geaendert haben. Fehlende Felder in [styles] gelten als Vorgabe: wer fett
|
|
227
227
|
* weglaesst, schaltet fett also ab.
|
|
228
228
|
*
|
|
229
|
-
* `
|
|
229
|
+
* `atLineStart` (Vorgabe `true`) sagt, ob dieser Aufruf am Anfang einer
|
|
230
230
|
* Druckzeile steht. Nur dort nimmt der Drucker `ESC a` (Ausrichtung)
|
|
231
231
|
* ueberhaupt an; mitten in der Zeile verwirft er den Befehl wortlos. Der
|
|
232
232
|
* Bytestrom bekommt ihn trotzdem -- die Bytefolge soll sich dadurch nicht
|
|
@@ -234,8 +234,8 @@ export declare function escPosSetGlobalFont(doc: EscPosDocument, font: PosFont |
|
|
|
234
234
|
* Wert stellen: sonst haelt eine spaetere, echte Zeile die Ausrichtung
|
|
235
235
|
* faelschlich schon fuer gesetzt und unterlaesst den Befehl.
|
|
236
236
|
*/
|
|
237
|
-
export declare function escPosSetStyles(doc: EscPosDocument, styles?: PosStyles,
|
|
238
|
-
|
|
237
|
+
export declare function escPosSetStyles(doc: EscPosDocument, styles?: PosStyles, options?: {
|
|
238
|
+
atLineStart?: boolean;
|
|
239
239
|
}): void;
|
|
240
240
|
/**
|
|
241
241
|
* Wortweiser Umbruch von (kodierten) Text-Bytes auf hoechstens `max` Zeichen
|
|
@@ -244,7 +244,7 @@ export declare function escPosSetStyles(doc: EscPosDocument, styles?: PosStyles,
|
|
|
244
244
|
* sonst kaeme die Zeile nie voran. Ein Bondrucker bricht sonst hart mitten
|
|
245
245
|
* im Wort ("Kleinunter|nehmer", "0,7|9"); das soll nie aufs Papier.
|
|
246
246
|
*/
|
|
247
|
-
export declare function
|
|
247
|
+
export declare function escPosWrapLines(textBytes: Uint8Array, max: number): Uint8Array[];
|
|
248
248
|
/**
|
|
249
249
|
* Dieselbe Regel fuer Zeichenketten -- fuer Bildschirm-Vorschauen, die das
|
|
250
250
|
* Papier nachstellen, und fuer das Zeichenraster. Zusaetzlich:
|
|
@@ -253,7 +253,7 @@ export declare function escPosWortzeilen(textBytes: Uint8Array, max: number): Ui
|
|
|
253
253
|
* - ein ueberlanges Wort bricht nach einem Bindestrich, wenn es einen hat
|
|
254
254
|
* ("Bio-" / "Dinkelvollkornsemmel"), sonst hart.
|
|
255
255
|
*/
|
|
256
|
-
export declare function
|
|
256
|
+
export declare function wrapText(text: string, max: number): string[];
|
|
257
257
|
/**
|
|
258
258
|
* Druckt Text und schliesst die Zeile ab. Nach dem Text folgt immer genau ein
|
|
259
259
|
* Zeilenumbruch, `linesAfter` haengt weitere an.
|
|
@@ -284,7 +284,7 @@ export declare function escPosRow(doc: EscPosDocument, columns: readonly PosColu
|
|
|
284
284
|
* Bei Kasseneck-Belegen steht hier der maschinenlesbare RKSV-Code.
|
|
285
285
|
*
|
|
286
286
|
* Fehlerkorrektur ohne Angabe: **M** (bis 0.13: L). Die Groessenrechnung
|
|
287
|
-
* (`
|
|
287
|
+
* (`qrModuleCount`), das Blatt (Anteil am Bildschirm und im PDF), der
|
|
288
288
|
* ePOS-Weg (`level_m`) und der Bildweg rechnen alle mit M — druckte der
|
|
289
289
|
* native Befehl mit L, kaeme fuer manche Nutzlasten ein kleineres Symbol
|
|
290
290
|
* heraus als der Bildschirm zeigt.
|
|
@@ -292,7 +292,7 @@ export declare function escPosRow(doc: EscPosDocument, columns: readonly PosColu
|
|
|
292
292
|
export declare function qrCodeBytes(text: string, options?: {
|
|
293
293
|
size?: QrSize;
|
|
294
294
|
correction?: QrCorrection;
|
|
295
|
-
|
|
295
|
+
model1?: boolean;
|
|
296
296
|
}): Uint8Array;
|
|
297
297
|
/**
|
|
298
298
|
* Setzt die Ausrichtung und haengt den nativen QR-Befehl an — mit
|
|
@@ -329,26 +329,26 @@ export declare function escPosQrRaster(doc: EscPosDocument, matrix: QrMatrix, op
|
|
|
329
329
|
* dieses Papier bringt — dieselbe Rechnung, nur ohne Untergrenze 3: ein Bild
|
|
330
330
|
* darf bis auf einen Punkt je Modul schrumpfen und passt darum immer.
|
|
331
331
|
*/
|
|
332
|
-
export declare function
|
|
333
|
-
|
|
334
|
-
|
|
332
|
+
export declare function qrRasterDots(paperSize: PosPaperSize, moduleCount: number, options?: {
|
|
333
|
+
moduleSize?: QrModuleSize;
|
|
334
|
+
quietZoneModules?: number;
|
|
335
335
|
}): number;
|
|
336
336
|
/**
|
|
337
337
|
* Einfarbiges Rasterbild in Druckpunkten, zeilenweise: `punkte[y * breite + x]`,
|
|
338
|
-
* 1 = schwarz. Entsteht fuer das Firmenlogo in `
|
|
338
|
+
* 1 = schwarz. Entsteht fuer das Firmenlogo in `rasterizeLogo` (receipt/bild.ts).
|
|
339
339
|
*/
|
|
340
|
-
export interface
|
|
341
|
-
readonly
|
|
342
|
-
readonly
|
|
343
|
-
readonly
|
|
340
|
+
export interface RasterImage {
|
|
341
|
+
readonly width: number;
|
|
342
|
+
readonly height: number;
|
|
343
|
+
readonly dots: Uint8Array;
|
|
344
344
|
}
|
|
345
345
|
/** Die Rasterzeilen als Bytes: MSB zuerst, jede Zeile auf volle Bytes aufgefuellt. */
|
|
346
|
-
export declare function
|
|
346
|
+
export declare function rasterRowsBytes(image: RasterImage): Uint8Array;
|
|
347
347
|
/**
|
|
348
348
|
* Die Rasterzeilen als Base64 -- ohne Buffer, laeuft im Browser und in Node.
|
|
349
349
|
* Eine Stelle fuer ePOS-`<image>` und den Druckjob an den Server.
|
|
350
350
|
*/
|
|
351
|
-
export declare function
|
|
351
|
+
export declare function rasterRowsBase64(image: RasterImage): string;
|
|
352
352
|
/**
|
|
353
353
|
* Ein Rasterbild (`GS v 0`) -- das Firmenlogo am Bon.
|
|
354
354
|
*
|
|
@@ -356,7 +356,7 @@ export declare function rasterZeilenBase64(bild: RasterBild): string;
|
|
|
356
356
|
* Papier um die Bildhoehe, ein LF danach waere eine zusaetzliche Leerzeile,
|
|
357
357
|
* die Bildschirm und PDF nicht haben. Die Luft um das Logo kommt aus dem Blatt.
|
|
358
358
|
*/
|
|
359
|
-
export declare function
|
|
359
|
+
export declare function escPosRasterImage(doc: EscPosDocument, image: RasterImage, options?: {
|
|
360
360
|
align?: PosAlign;
|
|
361
361
|
}): void;
|
|
362
362
|
export {};
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
*
|
|
27
27
|
* Nicht enthalten (bewusst): Bilddekodierung (PNG/JPEG liest die Huelle),
|
|
28
28
|
* Capability-Profile einzelner Druckermodelle, Kassenlade, 1D-Barcodes.
|
|
29
|
-
* Fertige einfarbige Rasterbilder (Logo) gehen ueber [
|
|
29
|
+
* Fertige einfarbige Rasterbilder (Logo) gehen ueber [escPosRasterImage].
|
|
30
30
|
*/
|
|
31
|
-
import {
|
|
31
|
+
import { QR_PRINT_WIDTH_DOTS, QR_MIN_MODULE_DOTS, QR_MODULE_SIZE_CAP, QR_QUIET_ZONE_MODULES, qrSizingFor, } from './qr-groesse.js';
|
|
32
32
|
// -------------------------------------------------------------- Befehlsbytes
|
|
33
33
|
// Wortwoertlich aus commands.dart. Die Zahlen sind ASCII-Codes der dortigen
|
|
34
34
|
// Zeichenketten: cCutFull = '$gs' + 'V0' ist GS 0x56 0x30 — die Ziffer '0',
|
|
@@ -225,8 +225,8 @@ export function createEscPosDocument(options = {}) {
|
|
|
225
225
|
globalFont: null,
|
|
226
226
|
maxCharsPerLine: null,
|
|
227
227
|
styles: vollstaendigeStile(),
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
qrError: null,
|
|
229
|
+
qrFallback: null,
|
|
230
230
|
};
|
|
231
231
|
}
|
|
232
232
|
/** Die bisher erzeugten Bytes als Kopie. */
|
|
@@ -244,8 +244,8 @@ export function escPosReset(doc) {
|
|
|
244
244
|
doc.styles = vollstaendigeStile();
|
|
245
245
|
// Wie `PrintPaper.reset()` im Flutter-Zwilling: ein neu begonnener Beleg
|
|
246
246
|
// erbt die QR-Meldungen des vorigen nicht.
|
|
247
|
-
doc.
|
|
248
|
-
doc.
|
|
247
|
+
doc.qrError = null;
|
|
248
|
+
doc.qrFallback = null;
|
|
249
249
|
escPosSetGlobalCodeTable(doc, doc.globalCodeTable);
|
|
250
250
|
escPosSetGlobalFont(doc, doc.globalFont);
|
|
251
251
|
}
|
|
@@ -308,7 +308,7 @@ export function escPosSetGlobalFont(doc, font, options = {}) {
|
|
|
308
308
|
* geaendert haben. Fehlende Felder in [styles] gelten als Vorgabe: wer fett
|
|
309
309
|
* weglaesst, schaltet fett also ab.
|
|
310
310
|
*
|
|
311
|
-
* `
|
|
311
|
+
* `atLineStart` (Vorgabe `true`) sagt, ob dieser Aufruf am Anfang einer
|
|
312
312
|
* Druckzeile steht. Nur dort nimmt der Drucker `ESC a` (Ausrichtung)
|
|
313
313
|
* ueberhaupt an; mitten in der Zeile verwirft er den Befehl wortlos. Der
|
|
314
314
|
* Bytestrom bekommt ihn trotzdem -- die Bytefolge soll sich dadurch nicht
|
|
@@ -316,10 +316,10 @@ export function escPosSetGlobalFont(doc, font, options = {}) {
|
|
|
316
316
|
* Wert stellen: sonst haelt eine spaetere, echte Zeile die Ausrichtung
|
|
317
317
|
* faelschlich schon fuer gesetzt und unterlaesst den Befehl.
|
|
318
318
|
*/
|
|
319
|
-
export function escPosSetStyles(doc, styles = {},
|
|
319
|
+
export function escPosSetStyles(doc, styles = {}, options = {}) {
|
|
320
320
|
const neu = vollstaendigeStile(styles);
|
|
321
321
|
const alt = doc.styles;
|
|
322
|
-
const zeilenanfang =
|
|
322
|
+
const zeilenanfang = options.atLineStart ?? true;
|
|
323
323
|
if (neu.align !== alt.align) {
|
|
324
324
|
anhaengen(doc, neu.align === 'left' ? C_ALIGN_LEFT : neu.align === 'center' ? C_ALIGN_CENTER : C_ALIGN_RIGHT);
|
|
325
325
|
if (zeilenanfang)
|
|
@@ -370,7 +370,7 @@ export function escPosSetStyles(doc, styles = {}, optionen = {}) {
|
|
|
370
370
|
* sonst kaeme die Zeile nie voran. Ein Bondrucker bricht sonst hart mitten
|
|
371
371
|
* im Wort ("Kleinunter|nehmer", "0,7|9"); das soll nie aufs Papier.
|
|
372
372
|
*/
|
|
373
|
-
export function
|
|
373
|
+
export function escPosWrapLines(textBytes, max) {
|
|
374
374
|
const grenze = Math.max(1, Math.floor(max));
|
|
375
375
|
const out = [];
|
|
376
376
|
let rest = textBytes;
|
|
@@ -434,7 +434,7 @@ function verketten(teile) {
|
|
|
434
434
|
* - ein ueberlanges Wort bricht nach einem Bindestrich, wenn es einen hat
|
|
435
435
|
* ("Bio-" / "Dinkelvollkornsemmel"), sonst hart.
|
|
436
436
|
*/
|
|
437
|
-
export function
|
|
437
|
+
export function wrapText(text, max) {
|
|
438
438
|
const grenze = Math.max(1, Math.floor(max));
|
|
439
439
|
const out = [];
|
|
440
440
|
let rest = text;
|
|
@@ -486,7 +486,7 @@ function textIntern(doc, textBytes, optionen = {}) {
|
|
|
486
486
|
const stileFuerDrucker = colInd === 0 && !volleZeile ? { ...optionen.styles, align: 'left' } : optionen.styles;
|
|
487
487
|
// Ausrichtung vor Position -- `ESC a` gilt nur am Zeilenanfang, nach `ESC $`
|
|
488
488
|
// verwirft der Drucker ihn. Zwilling von `_text` in generator.dart.
|
|
489
|
-
escPosSetStyles(doc, stileFuerDrucker, {
|
|
489
|
+
escPosSetStyles(doc, stileFuerDrucker, { atLineStart: colInd === 0 });
|
|
490
490
|
// Eine volle Zeile beginnt am linken Rand; ein Positionsbefehl dafuer waere
|
|
491
491
|
// nicht nur ueberfluessig, er entwertet die Ausrichtung.
|
|
492
492
|
if (!volleZeile) {
|
|
@@ -522,7 +522,7 @@ export function escPosText(doc, text, options = {}) {
|
|
|
522
522
|
// selbst wuerde hart mitten im Wort umbrechen.
|
|
523
523
|
const stile = vollstaendigeStile(options.styles);
|
|
524
524
|
const zeichenJeZeile = Math.max(1, Math.floor(zeichenProZeile(doc, stile) / (stile.width === 2 ? 2 : 1)));
|
|
525
|
-
const zeilen =
|
|
525
|
+
const zeilen = escPosWrapLines(encodeEscPosText(text, doc.globalCodeTable ?? 'CP1252'), zeichenJeZeile);
|
|
526
526
|
zeilen.forEach((z, i) => {
|
|
527
527
|
textIntern(doc, z, { styles: options.styles });
|
|
528
528
|
if (i < zeilen.length - 1)
|
|
@@ -613,7 +613,7 @@ export function escPosRow(doc, columns) {
|
|
|
613
613
|
if (zuDrucken.length > maxZeichen) {
|
|
614
614
|
// Wortweise: erste Zeile bis zum letzten Leerzeichen innerhalb der
|
|
615
615
|
// Spalte, der Rest (ohne fuehrende Leerzeichen) in die Folgezeile.
|
|
616
|
-
const [erste, ...weitere] =
|
|
616
|
+
const [erste, ...weitere] = escPosWrapLines(zuDrucken, maxZeichen);
|
|
617
617
|
const rest = weitere.length ? verketten(weitere) : new Uint8Array(0);
|
|
618
618
|
folge.textEncoded = rest;
|
|
619
619
|
zuDrucken = erste;
|
|
@@ -646,7 +646,7 @@ export function escPosRow(doc, columns) {
|
|
|
646
646
|
* Bei Kasseneck-Belegen steht hier der maschinenlesbare RKSV-Code.
|
|
647
647
|
*
|
|
648
648
|
* Fehlerkorrektur ohne Angabe: **M** (bis 0.13: L). Die Groessenrechnung
|
|
649
|
-
* (`
|
|
649
|
+
* (`qrModuleCount`), das Blatt (Anteil am Bildschirm und im PDF), der
|
|
650
650
|
* ePOS-Weg (`level_m`) und der Bildweg rechnen alle mit M — druckte der
|
|
651
651
|
* native Befehl mit L, kaeme fuer manche Nutzlasten ein kleineres Symbol
|
|
652
652
|
* heraus als der Bildschirm zeigt.
|
|
@@ -674,7 +674,7 @@ export function qrCodeBytes(text, options = {}) {
|
|
|
674
674
|
// Befehl erkannt hat. Der Befehl geht deshalb nur hinaus, wenn er
|
|
675
675
|
// ausdruecklich verlangt ist; ein aufgedraengtes "Modell 2 fuer alle" waere
|
|
676
676
|
// eine stille Umstellung an jedem Bestandsgeraet.
|
|
677
|
-
if (options.
|
|
677
|
+
if (options.model1 === true) {
|
|
678
678
|
bytes.push(...C_QR_HEADER, 0x04, 0x00, 0x31, 0x41, 0x31, 0x00);
|
|
679
679
|
}
|
|
680
680
|
// Funktion 167: Modulgroesse
|
|
@@ -714,31 +714,31 @@ export function escPosQrCode(doc, text, options = {}) {
|
|
|
714
714
|
const qrOptionen = {};
|
|
715
715
|
if (options.correction !== undefined)
|
|
716
716
|
qrOptionen.correction = options.correction;
|
|
717
|
-
if (options.
|
|
718
|
-
qrOptionen.
|
|
717
|
+
if (options.model1 !== undefined)
|
|
718
|
+
qrOptionen.model1 = options.model1;
|
|
719
719
|
let drucken = true;
|
|
720
720
|
if (options.size !== undefined) {
|
|
721
721
|
qrOptionen.size = options.size;
|
|
722
722
|
}
|
|
723
723
|
else if (text !== '') {
|
|
724
|
-
const mass =
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
724
|
+
const mass = qrSizingFor({
|
|
725
|
+
payload: text,
|
|
726
|
+
paperWidthDots: QR_PRINT_WIDTH_DOTS[doc.paperSize],
|
|
727
|
+
moduleSize: options.moduleSize ?? 'auto',
|
|
728
728
|
});
|
|
729
|
-
if (!mass.
|
|
730
|
-
doc.
|
|
731
|
-
`QR mit ${mass.
|
|
732
|
-
`(${
|
|
729
|
+
if (!mass.fits) {
|
|
730
|
+
doc.qrError =
|
|
731
|
+
`QR mit ${mass.modules} Modulen ist fuer ${PAPIER_MM[doc.paperSize]} mm ` +
|
|
732
|
+
`(${QR_PRINT_WIDTH_DOTS[doc.paperSize]} Punkte) zu breit`;
|
|
733
733
|
drucken = false;
|
|
734
734
|
}
|
|
735
735
|
else {
|
|
736
|
-
if (mass.
|
|
737
|
-
doc.
|
|
738
|
-
`QR mit ${mass.
|
|
739
|
-
`je Modul — unter dem Mindestmass von ${
|
|
736
|
+
if (mass.belowMinimum) {
|
|
737
|
+
doc.qrFallback =
|
|
738
|
+
`QR mit ${mass.modules} Modulen passt nur mit ${String(mass.moduleDots)} Punkten ` +
|
|
739
|
+
`je Modul — unter dem Mindestmass von ${QR_MIN_MODULE_DOTS}`;
|
|
740
740
|
}
|
|
741
|
-
qrOptionen.size = mass.
|
|
741
|
+
qrOptionen.size = mass.moduleDots;
|
|
742
742
|
}
|
|
743
743
|
}
|
|
744
744
|
if (drucken)
|
|
@@ -763,15 +763,15 @@ export function escPosQrRaster(doc, matrix, options = {}) {
|
|
|
763
763
|
if (zeile.length !== module)
|
|
764
764
|
throw new Error('QR-Raster ist nicht quadratisch');
|
|
765
765
|
}
|
|
766
|
-
const ruhezone = options.
|
|
766
|
+
const ruhezone = options.quietZoneModules ?? QR_QUIET_ZONE_MODULES;
|
|
767
767
|
if (!istGanzzahl(ruhezone) || ruhezone < 0) {
|
|
768
768
|
throw new Error('ruhezoneModule muss eine Ganzzahl >= 0 sein');
|
|
769
769
|
}
|
|
770
770
|
const gesamtModule = module + 2 * ruhezone;
|
|
771
|
-
let punkte = options.
|
|
771
|
+
let punkte = options.dotsPerModule;
|
|
772
772
|
if (punkte === undefined) {
|
|
773
|
-
const deckel =
|
|
774
|
-
punkte = Math.max(1, Math.min(deckel, Math.floor(
|
|
773
|
+
const deckel = QR_MODULE_SIZE_CAP[options.moduleSize ?? 'auto'];
|
|
774
|
+
punkte = Math.max(1, Math.min(deckel, Math.floor(QR_PRINT_WIDTH_DOTS[doc.paperSize] / gesamtModule)));
|
|
775
775
|
}
|
|
776
776
|
if (!istGanzzahl(punkte) || punkte < 1) {
|
|
777
777
|
throw new Error('punkteJeModul muss eine Ganzzahl >= 1 sein');
|
|
@@ -794,7 +794,7 @@ export function escPosQrRaster(doc, matrix, options = {}) {
|
|
|
794
794
|
bildpunkte[y * breite + x] = 1;
|
|
795
795
|
}
|
|
796
796
|
}
|
|
797
|
-
const daten =
|
|
797
|
+
const daten = rasterRowsBytes({ width: breite, height: breite, dots: bildpunkte });
|
|
798
798
|
escPosSetStyles(doc, { align: options.align ?? 'center' });
|
|
799
799
|
// GS v 0 m xL xH yL yH d1...dk — m = 0: normale Dichte, 1:1.
|
|
800
800
|
anhaengen(doc, rasterBildKopf(breite, breite));
|
|
@@ -806,23 +806,23 @@ export function escPosQrRaster(doc, matrix, options = {}) {
|
|
|
806
806
|
* dieses Papier bringt — dieselbe Rechnung, nur ohne Untergrenze 3: ein Bild
|
|
807
807
|
* darf bis auf einen Punkt je Modul schrumpfen und passt darum immer.
|
|
808
808
|
*/
|
|
809
|
-
export function
|
|
810
|
-
const ruhezone = options.
|
|
811
|
-
const deckel =
|
|
812
|
-
return Math.max(1, Math.min(deckel, Math.floor(
|
|
809
|
+
export function qrRasterDots(paperSize, moduleCount, options = {}) {
|
|
810
|
+
const ruhezone = options.quietZoneModules ?? QR_QUIET_ZONE_MODULES;
|
|
811
|
+
const deckel = QR_MODULE_SIZE_CAP[options.moduleSize ?? 'auto'];
|
|
812
|
+
return Math.max(1, Math.min(deckel, Math.floor(QR_PRINT_WIDTH_DOTS[paperSize] / (moduleCount + 2 * ruhezone))));
|
|
813
813
|
}
|
|
814
814
|
/** Die Rasterzeilen als Bytes: MSB zuerst, jede Zeile auf volle Bytes aufgefuellt. */
|
|
815
|
-
export function
|
|
816
|
-
if (!istGanzzahl(
|
|
815
|
+
export function rasterRowsBytes(image) {
|
|
816
|
+
if (!istGanzzahl(image.width) || image.width < 1 || !istGanzzahl(image.height) || image.height < 1) {
|
|
817
817
|
throw new Error('Rasterbild ohne gueltiges Mass');
|
|
818
818
|
}
|
|
819
|
-
if (
|
|
819
|
+
if (image.dots.length !== image.width * image.height)
|
|
820
820
|
throw new Error('Rasterbild: Punkte passen nicht zum Mass');
|
|
821
|
-
const byteJeZeile = Math.ceil(
|
|
822
|
-
const daten = new Uint8Array(byteJeZeile *
|
|
823
|
-
for (let y = 0; y <
|
|
824
|
-
for (let x = 0; x <
|
|
825
|
-
if (
|
|
821
|
+
const byteJeZeile = Math.ceil(image.width / 8);
|
|
822
|
+
const daten = new Uint8Array(byteJeZeile * image.height);
|
|
823
|
+
for (let y = 0; y < image.height; y++) {
|
|
824
|
+
for (let x = 0; x < image.width; x++) {
|
|
825
|
+
if (image.dots[y * image.width + x] !== 1)
|
|
826
826
|
continue;
|
|
827
827
|
const i = y * byteJeZeile + (x >> 3);
|
|
828
828
|
daten[i] = daten[i] | (0x80 >> (x & 7));
|
|
@@ -834,8 +834,8 @@ export function rasterZeilenBytes(bild) {
|
|
|
834
834
|
* Die Rasterzeilen als Base64 -- ohne Buffer, laeuft im Browser und in Node.
|
|
835
835
|
* Eine Stelle fuer ePOS-`<image>` und den Druckjob an den Server.
|
|
836
836
|
*/
|
|
837
|
-
export function
|
|
838
|
-
const bytes =
|
|
837
|
+
export function rasterRowsBase64(image) {
|
|
838
|
+
const bytes = rasterRowsBytes(image);
|
|
839
839
|
let binaer = '';
|
|
840
840
|
for (let i = 0; i < bytes.length; i += 0x8000) {
|
|
841
841
|
binaer += String.fromCharCode(...bytes.subarray(i, i + 0x8000));
|
|
@@ -844,7 +844,7 @@ export function rasterZeilenBase64(bild) {
|
|
|
844
844
|
}
|
|
845
845
|
/**
|
|
846
846
|
* Der `GS v 0`-Kopf (Byte-Breite, Zeilenhoehe) -- die Rasterzeilen selbst
|
|
847
|
-
* haengt der Aufrufer an. Gemeinsame Rahmung fuer das Logo (`
|
|
847
|
+
* haengt der Aufrufer an. Gemeinsame Rahmung fuer das Logo (`escPosRasterImage`)
|
|
848
848
|
* und den QR-Bildweg (`escPosQrRaster`): beide drucken dasselbe Bildkommando,
|
|
849
849
|
* nur mit unterschiedlichem Nachlauf (Zeilenvorschub ja/nein).
|
|
850
850
|
*/
|
|
@@ -859,17 +859,17 @@ function rasterBildKopf(breite, hoehe) {
|
|
|
859
859
|
* Papier um die Bildhoehe, ein LF danach waere eine zusaetzliche Leerzeile,
|
|
860
860
|
* die Bildschirm und PDF nicht haben. Die Luft um das Logo kommt aus dem Blatt.
|
|
861
861
|
*/
|
|
862
|
-
export function
|
|
862
|
+
export function escPosRasterImage(doc, image, options = {}) {
|
|
863
863
|
// Masse pruefen, BEVOR gepackt wird: ein zu breites Bild soll nicht erst
|
|
864
864
|
// Speicher fuer seine Rasterzeilen belegen. `GS v 0` traegt die Hoehe in zwei
|
|
865
865
|
// Bytes (yL yH) -- ueber 65535 Punkte liefe sie still ueber und der Drucker
|
|
866
866
|
// laese den Rest des Bilds als Befehle.
|
|
867
|
-
if (
|
|
867
|
+
if (image.width > QR_PRINT_WIDTH_DOTS[doc.paperSize])
|
|
868
868
|
throw new Error('Rasterbild breiter als der Druckkopf');
|
|
869
|
-
if (
|
|
869
|
+
if (image.height > 0xffff)
|
|
870
870
|
throw new Error('Rasterbild hoeher als 65535 Punkte');
|
|
871
|
-
const daten =
|
|
871
|
+
const daten = rasterRowsBytes(image);
|
|
872
872
|
escPosSetStyles(doc, { align: options.align ?? 'center' });
|
|
873
|
-
anhaengen(doc, rasterBildKopf(
|
|
873
|
+
anhaengen(doc, rasterBildKopf(image.width, image.height));
|
|
874
874
|
anhaengen(doc, daten);
|
|
875
875
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type PosPaperSize, type PosAlign, type PosFont, type PosCutMode, type PosCodeTable, type PosTextSize, type QrSize, type QrCorrection, type QrMatrix, type PosStyles, type PosColumn, type EscPosOptions, type EscPosTextOptions, type EscPosHrOptions, type EscPosQrOptions, type EscPosQrRasterOptions, type EscPosDocument, createEscPosDocument, escPosBytes, escPosReset, escPosSetGlobalCodeTable, escPosSetGlobalFont, escPosSetStyles, escPosText, escPosEmptyLines, escPosFeed, escPosCut, escPosHr, escPosRow, escPosQrCode, escPosQrRaster,
|
|
2
|
-
export { type
|
|
1
|
+
export { type PosPaperSize, type PosAlign, type PosFont, type PosCutMode, type PosCodeTable, type PosTextSize, type QrSize, type QrCorrection, type QrMatrix, type PosStyles, type PosColumn, type EscPosOptions, type EscPosTextOptions, type EscPosHrOptions, type EscPosQrOptions, type EscPosQrRasterOptions, type EscPosDocument, createEscPosDocument, escPosBytes, escPosReset, escPosSetGlobalCodeTable, escPosSetGlobalFont, escPosSetStyles, escPosText, escPosEmptyLines, escPosFeed, escPosCut, escPosHr, escPosRow, escPosQrCode, escPosQrRaster, qrRasterDots, type RasterImage, rasterRowsBytes, rasterRowsBase64, escPosRasterImage, encodeEscPosText, qrCodeBytes, escPosMaxCharsPerLine, escPosWrapLines, wrapText, } from './escpos.js';
|
|
2
|
+
export { type QrModuleSize, type QrSizing, QR_MODULE_SIZE_CAP, QR_QUIET_ZONE_MODULES, QR_MIN_MODULE_DOTS, QR_EXCEPTION_MODULE_DOTS, QR_MAX_MODULE_DOTS, QR_PRINT_WIDTH_DOTS, qrModuleCount, qrFitsInVersion, computeQrSizing, qrSizingFor, } from './qr-groesse.js';
|
|
3
3
|
export { escPosPrintableText } from './printable.js';
|
|
4
4
|
export { type UsbEndpointLike, type UsbAlternateLike, type UsbInterfaceLike, type UsbConfigurationLike, type UsbTransferOutResultLike, type UsbWriterLike, type UsbIdentityLike, type UsbDeviceLike, type UsbPrinterEndpoint, type UsbPrinterConnection, USB_VENDOR_EPSON, USB_CLASS_PRINTER, UsbTimeoutError, usbDeviceKey, usbFindPrinterEndpoint, usbWriteAll, usbConnectPrinter, usbPrint, usbDisconnect, } from './webusb.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createEscPosDocument, escPosBytes, escPosReset, escPosSetGlobalCodeTable, escPosSetGlobalFont, escPosSetStyles, escPosText, escPosEmptyLines, escPosFeed, escPosCut, escPosHr, escPosRow, escPosQrCode, escPosQrRaster,
|
|
2
|
-
export {
|
|
1
|
+
export { createEscPosDocument, escPosBytes, escPosReset, escPosSetGlobalCodeTable, escPosSetGlobalFont, escPosSetStyles, escPosText, escPosEmptyLines, escPosFeed, escPosCut, escPosHr, escPosRow, escPosQrCode, escPosQrRaster, qrRasterDots, rasterRowsBytes, rasterRowsBase64, escPosRasterImage, encodeEscPosText, qrCodeBytes, escPosMaxCharsPerLine, escPosWrapLines, wrapText, } from './escpos.js';
|
|
2
|
+
export { QR_MODULE_SIZE_CAP, QR_QUIET_ZONE_MODULES, QR_MIN_MODULE_DOTS, QR_EXCEPTION_MODULE_DOTS, QR_MAX_MODULE_DOTS, QR_PRINT_WIDTH_DOTS, qrModuleCount, qrFitsInVersion, computeQrSizing, qrSizingFor, } from './qr-groesse.js';
|
|
3
3
|
export { escPosPrintableText } from './printable.js';
|
|
4
4
|
export { USB_VENDOR_EPSON, USB_CLASS_PRINTER, UsbTimeoutError, usbDeviceKey, usbFindPrinterEndpoint, usbWriteAll, usbConnectPrinter, usbPrint, usbDisconnect, } from './webusb.js';
|
|
@@ -23,46 +23,46 @@ import type { PosPaperSize, QrSize } from './escpos.js';
|
|
|
23
23
|
* alten Wert des nativen ESC/POS-Wegs), in Dart bei 6; derselbe Beleg kam
|
|
24
24
|
* dadurch je nach Paket verschieden gross aus dem Drucker. Einheitlich gilt
|
|
25
25
|
* jetzt 6: der Wert von Dart und vom Epson-Weg, und ein groesseres Modul
|
|
26
|
-
* liest sich besser. `
|
|
27
|
-
* `
|
|
26
|
+
* liest sich besser. `small` (4) druckt den QR so gross wie frueher `auto`;
|
|
27
|
+
* `medium` (6) und `large` (8) waehlt ein Mensch.
|
|
28
28
|
*/
|
|
29
|
-
export type
|
|
29
|
+
export type QrModuleSize = 'auto' | 'small' | 'medium' | 'large';
|
|
30
30
|
/** Groesste Modulgroesse in Druckpunkten, die der jeweilige Deckel zulaesst. */
|
|
31
|
-
export declare const
|
|
31
|
+
export declare const QR_MODULE_SIZE_CAP: Readonly<Record<QrModuleSize, number>>;
|
|
32
32
|
/**
|
|
33
33
|
* Ergebnis der Modulgroessen-Rechnung.
|
|
34
34
|
*
|
|
35
|
-
* Traegt bewusst mehr als die Zahl: ob ueberhaupt etwas passt (`
|
|
36
|
-
* nur unter der Mindestgroesse (`
|
|
37
|
-
* wird (`
|
|
35
|
+
* Traegt bewusst mehr als die Zahl: ob ueberhaupt etwas passt (`fits`), ob
|
|
36
|
+
* nur unter der Mindestgroesse (`belowMinimum`) und wie breit das Symbol
|
|
37
|
+
* wird (`widthDots`). Eine blosse Zahl haette die Ausnahme verschwiegen.
|
|
38
38
|
*/
|
|
39
|
-
export interface
|
|
39
|
+
export interface QrSizing {
|
|
40
40
|
/**
|
|
41
41
|
* Modulgroesse in Druckpunkten, `null` wenn das Symbol auch mit der
|
|
42
42
|
* Ausnahmegroesse nicht aufs Papier passt.
|
|
43
43
|
*/
|
|
44
|
-
readonly
|
|
44
|
+
readonly moduleDots: QrSize | null;
|
|
45
45
|
/** Modulanzahl des Symbols (ohne Ruhezone). */
|
|
46
|
-
readonly
|
|
46
|
+
readonly modules: number;
|
|
47
47
|
/** Gesamtbreite inklusive Ruhezone in Druckpunkten; 0, wenn nichts passt. */
|
|
48
|
-
readonly
|
|
48
|
+
readonly widthDots: number;
|
|
49
49
|
/**
|
|
50
|
-
* Gedruckt wird unter `
|
|
50
|
+
* Gedruckt wird unter `QR_MIN_MODULE_DOTS`. Erlaubt, aber eine Ausnahme, von
|
|
51
51
|
* der der Aufrufer erfahren muss — billige Thermodrucker und Handykameras
|
|
52
52
|
* tun sich damit schwer, besonders auf gewelltem Papier.
|
|
53
53
|
*/
|
|
54
|
-
readonly
|
|
54
|
+
readonly belowMinimum: boolean;
|
|
55
55
|
/** Kurz fuer `punkte !== null`. */
|
|
56
|
-
readonly
|
|
56
|
+
readonly fits: boolean;
|
|
57
57
|
}
|
|
58
58
|
/** Ruhezone je Seite, in Modulen (QR-Norm). */
|
|
59
|
-
export declare const
|
|
59
|
+
export declare const QR_QUIET_ZONE_MODULES = 4;
|
|
60
60
|
/** Untergrenze: 4 Punkte sind bei 203 dpi rund 0,5 mm je Modul. */
|
|
61
|
-
export declare const
|
|
62
|
-
/** Ausnahme, wenn `
|
|
63
|
-
export declare const
|
|
61
|
+
export declare const QR_MIN_MODULE_DOTS = 4;
|
|
62
|
+
/** Ausnahme, wenn `QR_MIN_MODULE_DOTS` nicht passt – gemeldet, nicht still. */
|
|
63
|
+
export declare const QR_EXCEPTION_MODULE_DOTS = 3;
|
|
64
64
|
/** Obergrenze des Druckbefehls in diesem Stack (`GS ( k` Funktion 167: 1..8). */
|
|
65
|
-
export declare const
|
|
65
|
+
export declare const QR_MAX_MODULE_DOTS = 8;
|
|
66
66
|
/**
|
|
67
67
|
* Druckbreite des Kopfes in Punkten (203 dpi): 58 mm = 384, 80 mm = 576 —
|
|
68
68
|
* Zwilling von `KeckPaperSize.druckPunkte`.
|
|
@@ -73,9 +73,9 @@ export declare const QR_HOECHST_PUNKTE = 8;
|
|
|
73
73
|
* die echte Kopfbreite — ein QR, der auch nur einen Punkt zu breit ist, wird
|
|
74
74
|
* von den meisten Geraeten gar nicht gedruckt.
|
|
75
75
|
*/
|
|
76
|
-
export declare const
|
|
76
|
+
export declare const QR_PRINT_WIDTH_DOTS: Readonly<Record<PosPaperSize, number>>;
|
|
77
77
|
/**
|
|
78
|
-
* Modulanzahl, die `
|
|
78
|
+
* Modulanzahl, die `payload` bei Fehlerkorrektur **M** braucht.
|
|
79
79
|
*
|
|
80
80
|
* Alle Druckwege setzen den QR mit Fehlerkorrektur **M** (nativer
|
|
81
81
|
* ESC/POS-Befehl, ePOS `level_m`; das Raster fuer den Bildweg rechnet der
|
|
@@ -90,38 +90,38 @@ export declare const QR_DRUCK_PUNKTE: Readonly<Record<PosPaperSize, number>>;
|
|
|
90
90
|
* langem Inhalt. Ein still zurueckgegebenes "passt nicht" haette den
|
|
91
91
|
* Datenfehler als Papierfehler getarnt.
|
|
92
92
|
*/
|
|
93
|
-
export declare function
|
|
93
|
+
export declare function qrModuleCount(payload: string): number;
|
|
94
94
|
/**
|
|
95
|
-
* Ob `
|
|
96
|
-
* dieselbe Tabelle wie `
|
|
95
|
+
* Ob `payload` in irgendeine QR-Version 1..40 bei Fehlerkorrektur M passt --
|
|
96
|
+
* dieselbe Tabelle wie `qrModuleCount`, aber ohne zu werfen.
|
|
97
97
|
*
|
|
98
98
|
* Fuer Aufrufer, denen ein zu langer Inhalt kein Programmierfehler ist,
|
|
99
99
|
* sondern ein Datenfehler, den sie selbst behandeln (das Beleg-Blatt: ohne
|
|
100
100
|
* QR weiterbauen statt den ganzen Zeichner mitzureissen).
|
|
101
101
|
*/
|
|
102
|
-
export declare function
|
|
102
|
+
export declare function qrFitsInVersion(payload: string): boolean;
|
|
103
103
|
/**
|
|
104
|
-
* Groesste Modulgroesse, mit der `
|
|
105
|
-
* `
|
|
104
|
+
* Groesste Modulgroesse, mit der `moduleCount` Module **samt Ruhezone** in
|
|
105
|
+
* `paperWidthDots` passen, gedeckelt durch `moduleSize`.
|
|
106
106
|
*
|
|
107
107
|
* Wirft bei sinnlosen Eingaben: eine Papierbreite von 0 oder ein Symbol ohne
|
|
108
108
|
* Module ist ein Programmierfehler, und ein still zurueckgegebenes "passt
|
|
109
109
|
* nicht" haette ihn als Druckerproblem getarnt.
|
|
110
110
|
*/
|
|
111
|
-
export declare function
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}):
|
|
111
|
+
export declare function computeQrSizing(options: {
|
|
112
|
+
paperWidthDots: number;
|
|
113
|
+
moduleCount: number;
|
|
114
|
+
moduleSize?: QrModuleSize;
|
|
115
|
+
}): QrSizing;
|
|
116
116
|
/**
|
|
117
|
-
* Wie `
|
|
117
|
+
* Wie `computeQrSizing`, nur mit der Modulanzahl aus `payload`.
|
|
118
118
|
*
|
|
119
119
|
* Eine leere Nutzlast ergibt kein Symbol — sie "passt nicht", statt zu
|
|
120
120
|
* werfen: der Aufrufer behandelt den Fall ohnehin schon (leerer QR am Beleg
|
|
121
121
|
* ist ein Datenfehler, kein Papierfehler).
|
|
122
122
|
*/
|
|
123
|
-
export declare function
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}):
|
|
123
|
+
export declare function qrSizingFor(options: {
|
|
124
|
+
payload: string;
|
|
125
|
+
paperWidthDots: number;
|
|
126
|
+
moduleSize?: QrModuleSize;
|
|
127
|
+
}): QrSizing;
|