@kreiseck/kasseneck-api 0.30.0 → 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/CHANGELOG.md +433 -0
  2. package/README.de.md +11 -7
  3. package/README.md +486 -126
  4. package/dist/cjs/client/api.d.ts +7 -6
  5. package/dist/cjs/client/api.js +2 -2
  6. package/dist/cjs/client/aufrufe.d.ts +29 -5
  7. package/dist/cjs/client/aufrufe.js +114 -2
  8. package/dist/cjs/client/auth.d.ts +2 -0
  9. package/dist/cjs/client/auth.js +17 -1
  10. package/dist/cjs/client/cashregisters.d.ts +1 -1
  11. package/dist/cjs/client/cashregisters.js +2 -2
  12. package/dist/cjs/client/errors.d.ts +78 -19
  13. package/dist/cjs/client/errors.js +107 -28
  14. package/dist/cjs/client/fehlercodes.d.ts +9 -0
  15. package/dist/cjs/client/fehlercodes.js +36 -0
  16. package/dist/cjs/client/index.d.ts +5 -5
  17. package/dist/cjs/client/index.js +11 -3
  18. package/dist/cjs/client/receipts.d.ts +131 -124
  19. package/dist/cjs/client/receipts.js +214 -137
  20. package/dist/cjs/client/reports.d.ts +26 -4
  21. package/dist/cjs/client/reports.js +37 -4
  22. package/dist/cjs/client/status.d.ts +3 -3
  23. package/dist/cjs/client/status.js +7 -7
  24. package/dist/cjs/client/transport.d.ts +56 -4
  25. package/dist/cjs/client/transport.js +222 -25
  26. package/dist/cjs/enums/vat-rate.d.ts +2 -2
  27. package/dist/cjs/enums/vat-rate.js +1 -1
  28. package/dist/cjs/index.d.ts +4 -3
  29. package/dist/cjs/index.js +42 -13
  30. package/dist/{esm/rechnung → cjs/invoice}/api.d.ts +18 -17
  31. package/dist/cjs/{rechnung → invoice}/api.js +6 -6
  32. package/dist/{esm/rechnung → cjs/invoice}/auth.d.ts +2 -2
  33. package/dist/cjs/{rechnung → invoice}/auth.js +5 -5
  34. package/dist/{esm/rechnung/rechnen.d.ts → cjs/invoice/calc.d.ts} +27 -27
  35. package/dist/cjs/{rechnung/rechnen.js → invoice/calc.js} +54 -54
  36. package/dist/{esm/rechnung → cjs/invoice}/endpunkte.d.ts +23 -21
  37. package/dist/cjs/{rechnung → invoice}/endpunkte.js +52 -42
  38. package/dist/cjs/invoice/fehler.d.ts +31 -0
  39. package/dist/cjs/invoice/fehler.js +39 -0
  40. package/dist/cjs/invoice/index.d.ts +21 -0
  41. package/dist/cjs/invoice/index.js +86 -0
  42. package/dist/cjs/{rechnung → invoice}/summen.d.ts +12 -12
  43. package/dist/cjs/{rechnung → invoice}/summen.js +14 -14
  44. package/dist/cjs/invoice/texte.d.ts +224 -0
  45. package/dist/cjs/invoice/texte.js +425 -0
  46. package/dist/{esm/rechnung → cjs/invoice}/typen.d.ts +32 -11
  47. package/dist/{esm/rechnung → cjs/invoice}/vertrag.d.ts +97 -71
  48. package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
  49. package/dist/cjs/models/cancellation.d.ts +53 -21
  50. package/dist/cjs/models/cancellation.js +94 -42
  51. package/dist/cjs/models/hobex-receipt.d.ts +3 -3
  52. package/dist/cjs/models/hobex-receipt.js +35 -35
  53. package/dist/cjs/models/index.d.ts +6 -5
  54. package/dist/cjs/models/index.js +22 -2
  55. package/dist/cjs/models/payment-errors.d.ts +32 -15
  56. package/dist/cjs/models/payment-errors.js +80 -32
  57. package/dist/cjs/models/receipt-company.d.ts +6 -5
  58. package/dist/cjs/models/receipt-company.js +4 -4
  59. package/dist/cjs/models/receipt-email.d.ts +32 -18
  60. package/dist/cjs/models/receipt-email.js +69 -24
  61. package/dist/cjs/models/receipt-errors.d.ts +39 -0
  62. package/dist/cjs/models/receipt-errors.js +94 -0
  63. package/dist/cjs/models/receipt-item.d.ts +9 -1
  64. package/dist/cjs/models/receipt-item.js +3 -0
  65. package/dist/cjs/models/receipt-payment.d.ts +2 -1
  66. package/dist/cjs/models/receipt-summary.d.ts +10 -4
  67. package/dist/cjs/models/receipt-summary.js +10 -4
  68. package/dist/cjs/models/receipt.d.ts +31 -2
  69. package/dist/cjs/models/receipt.js +28 -1
  70. package/dist/cjs/models/voucher.d.ts +7 -6
  71. package/dist/cjs/models/voucher.js +2 -7
  72. package/dist/cjs/partner/ablauf.d.ts +10 -10
  73. package/dist/cjs/partner/ablauf.js +29 -29
  74. package/dist/cjs/partner/api.d.ts +26 -23
  75. package/dist/cjs/partner/api.js +11 -13
  76. package/dist/cjs/partner/auth.d.ts +1 -1
  77. package/dist/cjs/partner/auth.js +2 -2
  78. package/dist/cjs/partner/betrieb.d.ts +7 -7
  79. package/dist/cjs/partner/betrieb.js +10 -10
  80. package/dist/cjs/partner/endpunkte.d.ts +27 -14
  81. package/dist/cjs/partner/endpunkte.js +80 -39
  82. package/dist/cjs/partner/fehler.d.ts +60 -30
  83. package/dist/cjs/partner/fehler.js +99 -43
  84. package/dist/cjs/partner/index.d.ts +13 -12
  85. package/dist/cjs/partner/index.js +35 -22
  86. package/dist/cjs/partner/secret.d.ts +3 -3
  87. package/dist/cjs/partner/secret.js +6 -6
  88. package/dist/cjs/partner/typen.d.ts +129 -71
  89. package/dist/cjs/partner/typen.js +76 -3
  90. package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
  91. package/dist/cjs/partner/webhook-signatur.js +12 -12
  92. package/dist/cjs/partner/webhooks.d.ts +60 -32
  93. package/dist/cjs/partner/webhooks.js +40 -34
  94. package/dist/cjs/payments/hobex-hps/transaction-response.js +28 -28
  95. package/dist/cjs/payments/hobex.d.ts +2 -2
  96. package/dist/cjs/payments/hobex.js +4 -4
  97. package/dist/cjs/payments/stripe.d.ts +2 -2
  98. package/dist/cjs/payments/stripe.js +4 -4
  99. package/dist/cjs/pos/artikel.d.ts +90 -0
  100. package/dist/cjs/pos/artikel.js +89 -0
  101. package/dist/cjs/pos/client.d.ts +27 -0
  102. package/dist/cjs/pos/client.js +144 -0
  103. package/dist/cjs/pos/drucker.d.ts +86 -0
  104. package/dist/cjs/pos/drucker.js +78 -0
  105. package/dist/cjs/pos/errors.d.ts +36 -0
  106. package/dist/cjs/pos/errors.js +95 -0
  107. package/dist/cjs/pos/index.d.ts +15 -0
  108. package/dist/cjs/pos/index.js +102 -0
  109. package/dist/cjs/pos/settings.d.ts +313 -0
  110. package/dist/cjs/pos/settings.js +376 -0
  111. package/dist/cjs/pos/texte.d.ts +883 -0
  112. package/dist/cjs/pos/texte.js +489 -0
  113. package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
  114. package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
  115. package/dist/cjs/printing/escpos.d.ts +29 -29
  116. package/dist/cjs/printing/escpos.js +61 -61
  117. package/dist/cjs/printing/index.d.ts +2 -2
  118. package/dist/cjs/printing/index.js +17 -17
  119. package/dist/cjs/printing/qr-groesse.d.ts +38 -38
  120. package/dist/cjs/printing/qr-groesse.js +47 -47
  121. package/dist/cjs/printing/webusb.d.ts +2 -2
  122. package/dist/cjs/printing/webusb.js +4 -4
  123. package/dist/cjs/react/index.d.ts +21 -21
  124. package/dist/cjs/react/index.js +40 -30
  125. package/dist/cjs/receipt/bild.d.ts +4 -4
  126. package/dist/cjs/receipt/bild.js +11 -11
  127. package/dist/cjs/receipt/blatt.d.ts +46 -46
  128. package/dist/cjs/receipt/blatt.js +59 -59
  129. package/dist/cjs/receipt/discount.d.ts +1 -1
  130. package/dist/cjs/receipt/discount.js +8 -8
  131. package/dist/cjs/receipt/due.d.ts +86 -0
  132. package/dist/cjs/receipt/due.js +261 -0
  133. package/dist/cjs/receipt/epos.d.ts +22 -22
  134. package/dist/cjs/receipt/epos.js +45 -45
  135. package/dist/cjs/receipt/grid.d.ts +10 -10
  136. package/dist/cjs/receipt/grid.js +20 -20
  137. package/dist/cjs/receipt/index.d.ts +9 -8
  138. package/dist/cjs/receipt/index.js +26 -23
  139. package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
  140. package/dist/cjs/receipt/layout-escpos.js +49 -49
  141. package/dist/cjs/receipt/layout.d.ts +28 -23
  142. package/dist/cjs/receipt/layout.js +45 -21
  143. package/dist/cjs/receipt/marke-daten.d.ts +8 -8
  144. package/dist/cjs/receipt/marke-daten.js +8 -8
  145. package/dist/cjs/receipt/marke.d.ts +7 -7
  146. package/dist/cjs/receipt/marke.js +10 -10
  147. package/dist/cjs/register/errors.d.ts +61 -0
  148. package/dist/cjs/register/errors.js +112 -0
  149. package/dist/cjs/register/index.d.ts +14 -1
  150. package/dist/cjs/register/index.js +20 -1
  151. package/dist/cjs/register/pairing.d.ts +55 -36
  152. package/dist/cjs/register/pairing.js +33 -29
  153. package/dist/cjs/register/session.d.ts +5 -5
  154. package/dist/cjs/register/session.js +7 -7
  155. package/dist/cjs/stored/draht.d.ts +45 -0
  156. package/dist/cjs/stored/draht.js +220 -0
  157. package/dist/cjs/stored/einstellungen.d.ts +23 -0
  158. package/dist/cjs/stored/einstellungen.js +200 -0
  159. package/dist/cjs/stored/index.d.ts +109 -0
  160. package/dist/cjs/stored/index.js +225 -0
  161. package/dist/cjs/stored/vokabular.d.ts +18 -0
  162. package/dist/cjs/stored/vokabular.js +389 -0
  163. package/dist/cjs/version.d.ts +7 -0
  164. package/dist/cjs/version.js +10 -0
  165. package/dist/cjs/vienna-time.d.ts +1 -1
  166. package/dist/cjs/vienna-time.js +2 -2
  167. package/dist/esm/client/api.d.ts +7 -6
  168. package/dist/esm/client/api.js +4 -4
  169. package/dist/esm/client/aufrufe.d.ts +29 -5
  170. package/dist/esm/client/aufrufe.js +111 -1
  171. package/dist/esm/client/auth.d.ts +2 -0
  172. package/dist/esm/client/auth.js +16 -1
  173. package/dist/esm/client/cashregisters.d.ts +1 -1
  174. package/dist/esm/client/cashregisters.js +2 -2
  175. package/dist/esm/client/errors.d.ts +78 -19
  176. package/dist/esm/client/errors.js +105 -27
  177. package/dist/esm/client/fehlercodes.d.ts +9 -0
  178. package/dist/esm/client/fehlercodes.js +32 -0
  179. package/dist/esm/client/index.d.ts +5 -5
  180. package/dist/esm/client/index.js +5 -5
  181. package/dist/esm/client/receipts.d.ts +131 -124
  182. package/dist/esm/client/receipts.js +213 -140
  183. package/dist/esm/client/reports.d.ts +26 -4
  184. package/dist/esm/client/reports.js +36 -4
  185. package/dist/esm/client/status.d.ts +3 -3
  186. package/dist/esm/client/status.js +7 -7
  187. package/dist/esm/client/transport.d.ts +56 -4
  188. package/dist/esm/client/transport.js +221 -24
  189. package/dist/esm/enums/vat-rate.d.ts +2 -2
  190. package/dist/esm/enums/vat-rate.js +1 -1
  191. package/dist/esm/index.d.ts +4 -3
  192. package/dist/esm/index.js +4 -3
  193. package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
  194. package/dist/esm/{rechnung → invoice}/api.js +6 -6
  195. package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
  196. package/dist/esm/{rechnung → invoice}/auth.js +4 -4
  197. package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
  198. package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
  199. package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
  200. package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
  201. package/dist/esm/invoice/fehler.d.ts +31 -0
  202. package/dist/esm/invoice/fehler.js +33 -0
  203. package/dist/esm/invoice/index.d.ts +21 -0
  204. package/dist/esm/invoice/index.js +20 -0
  205. package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
  206. package/dist/esm/{rechnung → invoice}/summen.js +12 -12
  207. package/dist/esm/invoice/texte.d.ts +224 -0
  208. package/dist/esm/invoice/texte.js +421 -0
  209. package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
  210. package/dist/{cjs/rechnung → esm/invoice}/vertrag.d.ts +97 -71
  211. package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
  212. package/dist/esm/models/cancellation.d.ts +53 -21
  213. package/dist/esm/models/cancellation.js +90 -41
  214. package/dist/esm/models/hobex-receipt.d.ts +3 -3
  215. package/dist/esm/models/hobex-receipt.js +35 -35
  216. package/dist/esm/models/index.d.ts +6 -5
  217. package/dist/esm/models/index.js +6 -5
  218. package/dist/esm/models/payment-errors.d.ts +32 -15
  219. package/dist/esm/models/payment-errors.js +77 -32
  220. package/dist/esm/models/receipt-company.d.ts +6 -5
  221. package/dist/esm/models/receipt-company.js +4 -4
  222. package/dist/esm/models/receipt-email.d.ts +32 -18
  223. package/dist/esm/models/receipt-email.js +65 -23
  224. package/dist/esm/models/receipt-errors.d.ts +39 -0
  225. package/dist/esm/models/receipt-errors.js +87 -0
  226. package/dist/esm/models/receipt-item.d.ts +9 -1
  227. package/dist/esm/models/receipt-item.js +3 -0
  228. package/dist/esm/models/receipt-payment.d.ts +2 -1
  229. package/dist/esm/models/receipt-summary.d.ts +10 -4
  230. package/dist/esm/models/receipt-summary.js +9 -3
  231. package/dist/esm/models/receipt.d.ts +31 -2
  232. package/dist/esm/models/receipt.js +28 -2
  233. package/dist/esm/models/voucher.d.ts +7 -6
  234. package/dist/esm/models/voucher.js +2 -7
  235. package/dist/esm/partner/ablauf.d.ts +10 -10
  236. package/dist/esm/partner/ablauf.js +27 -27
  237. package/dist/esm/partner/api.d.ts +26 -23
  238. package/dist/esm/partner/api.js +13 -15
  239. package/dist/esm/partner/auth.d.ts +1 -1
  240. package/dist/esm/partner/auth.js +2 -2
  241. package/dist/esm/partner/betrieb.d.ts +7 -7
  242. package/dist/esm/partner/betrieb.js +8 -8
  243. package/dist/esm/partner/endpunkte.d.ts +27 -14
  244. package/dist/esm/partner/endpunkte.js +79 -39
  245. package/dist/esm/partner/fehler.d.ts +60 -30
  246. package/dist/esm/partner/fehler.js +91 -35
  247. package/dist/esm/partner/index.d.ts +13 -12
  248. package/dist/esm/partner/index.js +12 -11
  249. package/dist/esm/partner/secret.d.ts +3 -3
  250. package/dist/esm/partner/secret.js +5 -5
  251. package/dist/esm/partner/typen.d.ts +129 -71
  252. package/dist/esm/partner/typen.js +75 -2
  253. package/dist/esm/partner/webhook-signatur.d.ts +2 -2
  254. package/dist/esm/partner/webhook-signatur.js +12 -12
  255. package/dist/esm/partner/webhooks.d.ts +60 -32
  256. package/dist/esm/partner/webhooks.js +38 -32
  257. package/dist/esm/payments/hobex-hps/transaction-response.js +28 -28
  258. package/dist/esm/payments/hobex.d.ts +2 -2
  259. package/dist/esm/payments/hobex.js +4 -4
  260. package/dist/esm/payments/stripe.d.ts +2 -2
  261. package/dist/esm/payments/stripe.js +4 -4
  262. package/dist/esm/pos/artikel.d.ts +90 -0
  263. package/dist/esm/pos/artikel.js +79 -0
  264. package/dist/esm/pos/client.d.ts +27 -0
  265. package/dist/esm/pos/client.js +137 -0
  266. package/dist/esm/pos/drucker.d.ts +86 -0
  267. package/dist/esm/pos/drucker.js +71 -0
  268. package/dist/esm/pos/errors.d.ts +36 -0
  269. package/dist/esm/pos/errors.js +88 -0
  270. package/dist/esm/pos/index.d.ts +15 -0
  271. package/dist/esm/pos/index.js +20 -0
  272. package/dist/esm/pos/settings.d.ts +313 -0
  273. package/dist/esm/pos/settings.js +367 -0
  274. package/dist/esm/pos/texte.d.ts +883 -0
  275. package/dist/esm/pos/texte.js +481 -0
  276. package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
  277. package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
  278. package/dist/esm/printing/escpos.d.ts +29 -29
  279. package/dist/esm/printing/escpos.js +56 -56
  280. package/dist/esm/printing/index.d.ts +2 -2
  281. package/dist/esm/printing/index.js +2 -2
  282. package/dist/esm/printing/qr-groesse.d.ts +38 -38
  283. package/dist/esm/printing/qr-groesse.js +42 -42
  284. package/dist/esm/printing/webusb.d.ts +2 -2
  285. package/dist/esm/printing/webusb.js +4 -4
  286. package/dist/esm/react/index.d.ts +21 -21
  287. package/dist/esm/react/index.js +39 -29
  288. package/dist/esm/receipt/bild.d.ts +4 -4
  289. package/dist/esm/receipt/bild.js +11 -11
  290. package/dist/esm/receipt/blatt.d.ts +46 -46
  291. package/dist/esm/receipt/blatt.js +55 -55
  292. package/dist/esm/receipt/discount.d.ts +1 -1
  293. package/dist/esm/receipt/discount.js +7 -7
  294. package/dist/esm/receipt/due.d.ts +86 -0
  295. package/dist/esm/receipt/due.js +257 -0
  296. package/dist/esm/receipt/epos.d.ts +22 -22
  297. package/dist/esm/receipt/epos.js +47 -47
  298. package/dist/esm/receipt/grid.d.ts +10 -10
  299. package/dist/esm/receipt/grid.js +18 -18
  300. package/dist/esm/receipt/index.d.ts +9 -8
  301. package/dist/esm/receipt/index.js +9 -8
  302. package/dist/esm/receipt/layout-escpos.d.ts +24 -24
  303. package/dist/esm/receipt/layout-escpos.js +51 -51
  304. package/dist/esm/receipt/layout.d.ts +28 -23
  305. package/dist/esm/receipt/layout.js +44 -20
  306. package/dist/esm/receipt/marke-daten.d.ts +8 -8
  307. package/dist/esm/receipt/marke-daten.js +7 -7
  308. package/dist/esm/receipt/marke.d.ts +7 -7
  309. package/dist/esm/receipt/marke.js +10 -10
  310. package/dist/esm/register/errors.d.ts +61 -0
  311. package/dist/esm/register/errors.js +104 -0
  312. package/dist/esm/register/index.d.ts +14 -1
  313. package/dist/esm/register/index.js +13 -0
  314. package/dist/esm/register/pairing.d.ts +55 -36
  315. package/dist/esm/register/pairing.js +33 -29
  316. package/dist/esm/register/session.d.ts +5 -5
  317. package/dist/esm/register/session.js +7 -7
  318. package/dist/esm/stored/draht.d.ts +45 -0
  319. package/dist/esm/stored/draht.js +208 -0
  320. package/dist/esm/stored/einstellungen.d.ts +23 -0
  321. package/dist/esm/stored/einstellungen.js +196 -0
  322. package/dist/esm/stored/index.d.ts +109 -0
  323. package/dist/esm/stored/index.js +217 -0
  324. package/dist/esm/stored/vokabular.d.ts +18 -0
  325. package/dist/esm/stored/vokabular.js +386 -0
  326. package/dist/esm/version.d.ts +7 -0
  327. package/dist/esm/version.js +7 -0
  328. package/dist/esm/vienna-time.d.ts +1 -1
  329. package/dist/esm/vienna-time.js +2 -2
  330. package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
  331. package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
  332. package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
  333. package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
  334. package/fixtures/expected/cancellation-full.sheet32.json +218 -0
  335. package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
  336. package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
  337. package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
  338. package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
  339. package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
  340. package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
  341. package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
  342. package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
  343. package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
  344. package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
  345. package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
  346. package/fixtures/expected/card-custom.sheet32.json +158 -0
  347. package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
  348. package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
  349. package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
  350. package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
  351. package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
  352. package/fixtures/expected/card-gptom.sheet32.json +230 -0
  353. package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
  354. package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
  355. package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
  356. package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
  357. package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
  358. package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
  359. package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
  360. package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
  361. package/fixtures/expected/card-mypos.sheet32.json +254 -0
  362. package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
  363. package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
  364. package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
  365. package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
  366. package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
  367. package/fixtures/expected/card-stripe.sheet32.json +212 -0
  368. package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
  369. package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
  370. package/fixtures/expected/card-sumup.sheet32.json +218 -0
  371. package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
  372. package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
  373. package/fixtures/expected/discount-lines.sheet32.json +200 -0
  374. package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
  375. package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
  376. package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
  377. package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
  378. package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
  379. package/fixtures/expected/discount-simple.sheet32.json +182 -0
  380. package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
  381. package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
  382. package/fixtures/expected/discount-tip.sheet32.json +212 -0
  383. package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
  384. package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
  385. package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
  386. package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
  387. package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
  388. package/fixtures/expected/long-item-name.sheet32.json +176 -0
  389. package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
  390. package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
  391. package/fixtures/expected/sale-card.sheet32.json +176 -0
  392. package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
  393. package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
  394. package/fixtures/expected/sale-cash.sheet32.json +176 -0
  395. package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
  396. package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
  397. package/fixtures/expected/sale-small-business.sheet32.json +182 -0
  398. package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
  399. package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
  400. package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
  401. package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
  402. package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
  403. package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
  404. package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
  405. package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
  406. package/fixtures/expected/split-cash-change.sheet32.json +194 -0
  407. package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
  408. package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
  409. package/fixtures/expected/split-long-amount.sheet32.json +266 -0
  410. package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
  411. package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
  412. package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
  413. package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
  414. package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
  415. package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
  416. package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
  417. package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
  418. package/fixtures/expected/split-tip-card.sheet32.json +272 -0
  419. package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
  420. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
  421. package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
  422. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
  423. package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
  424. package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
  425. package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
  426. package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
  427. package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
  428. package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
  429. package/fixtures/{erwartet → expected}/training.lines.json +2 -2
  430. package/fixtures/expected/training.sheet32.json +236 -0
  431. package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
  432. package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
  433. package/fixtures/expected/zero-annual.sheet32.json +212 -0
  434. package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
  435. package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
  436. package/fixtures/expected/zero-final.sheet32.json +206 -0
  437. package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
  438. package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
  439. package/fixtures/expected/zero-manual.sheet32.json +206 -0
  440. package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
  441. package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
  442. package/fixtures/expected/zero-monthly.sheet32.json +206 -0
  443. package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
  444. package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
  445. package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
  446. package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
  447. package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
  448. package/fixtures/expected/zero-start.sheet32.json +206 -0
  449. package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
  450. package/fixtures/hobex-hps-codes.json +40 -40
  451. package/fixtures/invoice-api-examples/brands-ok.json +8 -0
  452. package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
  453. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
  454. package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
  455. package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
  456. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
  457. package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
  458. package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
  459. package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
  460. package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
  461. package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
  462. package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
  463. package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
  464. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
  465. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
  466. package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
  467. package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
  468. package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
  469. package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
  470. package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
  471. package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
  472. package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
  473. package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
  474. package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
  475. package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
  476. package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
  477. package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
  478. package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
  479. package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
  480. package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
  481. package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
  482. package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
  483. package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
  484. package/fixtures/invoice-texts.json +464 -0
  485. package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
  486. package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
  487. package/fixtures/manifest.json +252 -252
  488. package/fixtures/pos-message-cases.json +32 -0
  489. package/fixtures/pos-settings-defaults.json +149 -0
  490. package/fixtures/pos-texts.json +957 -0
  491. package/fixtures/receipt-due-generated.json +1218 -0
  492. package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
  493. package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
  494. package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
  495. package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
  496. package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
  497. package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
  498. package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
  499. package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
  500. package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
  501. package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
  502. package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
  503. package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
  504. package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
  505. package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
  506. package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
  507. package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
  508. package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
  509. package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
  510. package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
  511. package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
  512. package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
  513. package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
  514. package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
  515. package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
  516. package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
  517. package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
  518. package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
  519. package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
  520. package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
  521. package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
  522. package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
  523. package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
  524. package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
  525. package/fixtures/{belege → receipts}/training.json +2 -2
  526. package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
  527. package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
  528. package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
  529. package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
  530. package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
  531. package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
  532. package/fixtures/renames-1.0.json +1490 -0
  533. package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +10 -8
  534. package/fixtures/surface.json +877 -0
  535. package/fixtures/v3/README.md +125 -0
  536. package/fixtures/v3/antworten/belege.json +4738 -0
  537. package/fixtures/v3/antworten/belegmail.json +154 -0
  538. package/fixtures/v3/antworten/kasse-belege.json +4304 -0
  539. package/fixtures/v3/antworten/kasse.json +12716 -0
  540. package/fixtures/v3/antworten/rechnungen.json +1712 -0
  541. package/fixtures/v3/antworten/storno.json +737 -0
  542. package/fixtures/v3/stored/belege.json +502 -0
  543. package/fixtures/v3/stored/kasse.json +3461 -0
  544. package/fixtures/v3/stored/rechnungen.json +750 -0
  545. package/fixtures/v3/v3-vokabular.json +3375 -0
  546. package/fixtures/v3/zahlbetrag-faelle.json +794 -0
  547. package/package.json +32 -18
  548. package/dist/cjs/kasse/artikel.d.ts +0 -83
  549. package/dist/cjs/kasse/artikel.js +0 -79
  550. package/dist/cjs/kasse/client.d.ts +0 -10
  551. package/dist/cjs/kasse/client.js +0 -38
  552. package/dist/cjs/kasse/drucker.d.ts +0 -59
  553. package/dist/cjs/kasse/drucker.js +0 -50
  554. package/dist/cjs/kasse/index.d.ts +0 -13
  555. package/dist/cjs/kasse/index.js +0 -79
  556. package/dist/cjs/kasse/settings.d.ts +0 -227
  557. package/dist/cjs/kasse/settings.js +0 -169
  558. package/dist/cjs/kasse/texte.d.ts +0 -458
  559. package/dist/cjs/kasse/texte.js +0 -244
  560. package/dist/cjs/rechnung/fehler.d.ts +0 -21
  561. package/dist/cjs/rechnung/fehler.js +0 -44
  562. package/dist/cjs/rechnung/index.d.ts +0 -21
  563. package/dist/cjs/rechnung/index.js +0 -82
  564. package/dist/cjs/rechnung/texte.d.ts +0 -222
  565. package/dist/cjs/rechnung/texte.js +0 -425
  566. package/dist/esm/kasse/artikel.d.ts +0 -83
  567. package/dist/esm/kasse/artikel.js +0 -70
  568. package/dist/esm/kasse/client.d.ts +0 -10
  569. package/dist/esm/kasse/client.js +0 -33
  570. package/dist/esm/kasse/drucker.d.ts +0 -59
  571. package/dist/esm/kasse/drucker.js +0 -45
  572. package/dist/esm/kasse/index.d.ts +0 -13
  573. package/dist/esm/kasse/index.js +0 -18
  574. package/dist/esm/kasse/settings.d.ts +0 -227
  575. package/dist/esm/kasse/settings.js +0 -165
  576. package/dist/esm/kasse/texte.d.ts +0 -458
  577. package/dist/esm/kasse/texte.js +0 -238
  578. package/dist/esm/rechnung/fehler.d.ts +0 -21
  579. package/dist/esm/rechnung/fehler.js +0 -39
  580. package/dist/esm/rechnung/index.d.ts +0 -21
  581. package/dist/esm/rechnung/index.js +0 -20
  582. package/dist/esm/rechnung/texte.d.ts +0 -222
  583. package/dist/esm/rechnung/texte.js +0 -421
  584. package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
  585. package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
  586. package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
  587. package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
  588. package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
  589. package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
  590. package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
  591. package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
  592. package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
  593. package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
  594. package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
  595. package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
  596. package/fixtures/erwartet/null-monat.blatt32.json +0 -206
  597. package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
  598. package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
  599. package/fixtures/erwartet/null-start.blatt32.json +0 -206
  600. package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
  601. package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
  602. package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
  603. package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
  604. package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
  605. package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
  606. package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
  607. package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
  608. package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
  609. package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
  610. package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
  611. package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
  612. package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
  613. package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
  614. package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
  615. package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
  616. package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
  617. package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
  618. package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
  619. package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
  620. package/fixtures/erwartet/training.blatt32.json +0 -236
  621. package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
  622. package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
  623. package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
  624. package/fixtures/kasse-meldungen-faelle.json +0 -32
  625. package/fixtures/kasse-texte.json +0 -513
  626. package/fixtures/oberflaeche.json +0 -557
  627. package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
  628. package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
  629. package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
  630. package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
  631. package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
  632. package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
  633. package/fixtures/rechnung-texte.json +0 -464
  634. /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
  635. /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
  636. /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
  637. /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
  638. /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
  639. /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
  640. /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
  641. /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
  642. /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
  643. /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
  644. /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
  645. /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
  646. /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
  647. /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
  648. /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
  649. /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
  650. /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
  651. /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
  652. /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
  653. /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
  654. /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
  655. /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
  656. /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
  657. /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
  658. /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
  659. /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
  660. /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
  661. /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
  662. /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
  663. /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
  664. /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
  665. /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
  666. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
  667. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
  668. /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
  669. /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
  670. /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
  671. /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
  672. /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
  673. /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
  674. /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
  675. /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
  676. /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
  677. /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
  678. /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
  679. /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
  680. /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
  681. /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
  682. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
  683. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
  684. /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
  685. /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
  686. /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
  687. /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
  688. /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
  689. /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
  690. /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
  691. /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
  692. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
  693. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
  694. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
  695. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
  696. /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
  697. /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
  698. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
  699. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
  700. /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
  701. /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
  702. /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
  703. /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
  704. /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
  705. /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
  706. /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
  707. /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
  708. /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
  709. /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
  710. /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
  711. /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
  712. /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
  713. /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
  714. /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
  715. /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
  716. /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
  717. /package/fixtures/{erwartet/null-start.grid48.txt → expected/zero-start.grid48.txt} +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SMALL_BUSINESS_NOTICE = exports.AKTUELLES_REGELWERK = void 0;
3
+ exports.SMALL_BUSINESS_NOTICE = exports.CURRENT_LAYOUT_RULESET = void 0;
4
4
  exports.formatCents = formatCents;
5
5
  exports.stripeReceiptLines = stripeReceiptLines;
6
6
  exports.receiptSignatureFailed = receiptSignatureFailed;
@@ -14,7 +14,30 @@ const index_js_1 = require("../enums/index.js");
14
14
  const index_js_2 = require("../models/index.js");
15
15
  const vienna_time_js_1 = require("../vienna-time.js");
16
16
  const errors_js_1 = require("../client/errors.js");
17
- exports.AKTUELLES_REGELWERK = 2;
17
+ exports.CURRENT_LAYOUT_RULESET = 2;
18
+ /** Die Optionen von [buildReceiptLayout]; jede andere wird abgewiesen. */
19
+ const LAYOUT_OPTIONEN = new Set(['paperSize', 'ruleset', 'testCashregister', 'testSignature', 'registrationInfo']);
20
+ /** Namen bis 0.x -> Namen seit 1.0 (fuer eine Meldung, die den Weg nennt). */
21
+ const LAYOUT_OPTIONEN_ALT = {
22
+ testKasse: 'testCashregister',
23
+ testSignatur: 'testSignature',
24
+ pruefangaben: 'registrationInfo',
25
+ regelwerk: 'ruleset',
26
+ };
27
+ /**
28
+ * Weist unbekannte Optionen ab. Eine alte deutsche Option (`testKasse`) darf
29
+ * nie still verschwinden: der Rahmen „TESTKASSE — kein gültiger Beleg“ fehlte
30
+ * sonst auf einem Testbeleg, und der saehe aus wie ein gueltiger. Das gilt
31
+ * auch fuer Aufrufer ohne Typpruefung (JavaScript).
32
+ */
33
+ function pruefeLayoutOptionen(options) {
34
+ for (const name of Object.keys(options)) {
35
+ if (LAYOUT_OPTIONEN.has(name))
36
+ continue;
37
+ const neu = LAYOUT_OPTIONEN_ALT[name];
38
+ throw new errors_js_1.KasseneckValidationError('buildReceiptLayout', neu !== undefined ? `Option "${name}" heisst seit 1.0 "${neu}"` : `Unbekannte Option "${name}"`, 'request');
39
+ }
40
+ }
18
41
  // -------------------------------------------------------------- Formatierung
19
42
  /**
20
43
  * Cent-Betrag als Anzeigetext: `1234` -> `"12,34"`. Die **einzige** Stelle, an
@@ -90,7 +113,7 @@ function originalDatum(timeStamp) {
90
113
  * anderswo noch einmal baut, oeffnet die Drift wieder.
91
114
  *
92
115
  * Vorbild ist `print_paper.dart` im Dart-Paket (`_gpTom`, `_hobexHps`,
93
- * `_sumup`, `_mypos`, `_stripe`); die Fixtures unter `fixtures/belege/karte-*`
116
+ * `_sumup`, `_mypos`, `_stripe`); die Fixtures unter `fixtures/receipts/karte-*`
94
117
  * halten je Anbieter eine Zeile-fuer-Zeile-Probe fest.
95
118
  */
96
119
  /** Ein Feld aus `cardPaymentData` als Text; fehlend/null wird leer. */
@@ -501,7 +524,7 @@ function steuersatz(vat) {
501
524
  return { rate: vat.rate, category: vat.category };
502
525
  }
503
526
  /** `20` -> `"20"`, `4.9` -> `"4,9"` (wie im Vorbild). */
504
- function satzText(rate) {
527
+ function formatVatRate(rate) {
505
528
  return String(rate).replace('.', ',');
506
529
  }
507
530
  /**
@@ -641,8 +664,8 @@ const TRAINING_ERKLAERUNG = [
641
664
  'Trainingsbuchung — kein Kauf, keine Zahlung, keine steuerliche Buchung.',
642
665
  'Sollten Sie diesen Beleg als Kunde erhalten haben, sagen Sie bitte dem Betrieb Bescheid.',
643
666
  ];
644
- function bannerZeile(text, ton = 'belegart') {
645
- return { kind: 'banner', text, ton };
667
+ function bannerZeile(text, tone = 'receipt_type') {
668
+ return { kind: 'banner', text, tone };
646
669
  }
647
670
  /** Belegtyp als Zeichenkette (Enum-Objekt oder roher Serverwert). */
648
671
  function belegtyp(receipt) {
@@ -707,10 +730,10 @@ function pruefangabenBlock(receipt, angaben) {
707
730
  const zda = receiptZdaText(receipt.qr);
708
731
  if (zda)
709
732
  out.push(paarZeile('Zertifizierungsdienst:', zda, 7, 5));
710
- const karte = pruefDatum(angaben?.karteRegistriertAm);
733
+ const karte = pruefDatum(angaben?.cardRegisteredAt);
711
734
  if (karte)
712
735
  out.push(paarZeile('Karte registriert:', karte));
713
- const kasse = pruefDatum(angaben?.kasseRegistriertAm);
736
+ const kasse = pruefDatum(angaben?.cashregisterRegisteredAt);
714
737
  if (kasse)
715
738
  out.push(paarZeile('Kasse registriert:', kasse));
716
739
  out.push({ kind: 'rule', char: '-' });
@@ -802,20 +825,21 @@ function belegartBlock(receipt) {
802
825
  * `print_paper.dart` (`setKeckReceipt`).
803
826
  */
804
827
  function buildReceiptLayout(receipt, company, options = {}) {
828
+ pruefeLayoutOptionen(options);
805
829
  const paperSize = options.paperSize ?? 'mm58';
806
- const regelwerk = options.regelwerk ?? exports.AKTUELLES_REGELWERK;
807
- if (regelwerk !== 1 && regelwerk !== 2) {
808
- throw new errors_js_1.KasseneckValidationError('buildReceiptLayout', `Unbekanntes Layout-Regelwerk ${String(regelwerk)} — bitte Paket aktualisieren`, 'request');
830
+ const ruleset = options.ruleset ?? exports.CURRENT_LAYOUT_RULESET;
831
+ if (ruleset !== 1 && ruleset !== 2) {
832
+ throw new errors_js_1.KasseneckValidationError('buildReceiptLayout', `Unbekanntes Layout-Regelwerk (ruleset ${String(ruleset)}), bitte Paket aktualisieren`, 'request');
809
833
  }
810
834
  const lines = [];
811
835
  // Regelwerk 2: ein „Nullbeleg“ mit echten Betraegen wird nicht reduziert --
812
836
  // die Zahlen stehen drauf, statt hinter einer Null zu verschwinden.
813
- const nullbeleg = receiptIsZero(receipt) && (regelwerk === 1 || receiptAmountsAreZero(receipt));
837
+ const nullbeleg = receiptIsZero(receipt) && (ruleset === 1 || receiptAmountsAreZero(receipt));
814
838
  const warnungen = [];
815
- if (options.testKasse)
816
- warnungen.push(bannerZeile(TESTKASSE_TEXT, 'warnung'));
817
- if (options.testSignatur)
818
- warnungen.push(bannerZeile(TESTSIGNATUR_TEXT, 'warnung'));
839
+ if (options.testCashregister)
840
+ warnungen.push(bannerZeile(TESTKASSE_TEXT, 'warning'));
841
+ if (options.testSignature)
842
+ warnungen.push(bannerZeile(TESTSIGNATUR_TEXT, 'warning'));
819
843
  // --- Warnrahmen oben (Testkasse/Testsignatur): ueber dem Kopf, damit ihn niemand uebersieht.
820
844
  lines.push(...warnungen);
821
845
  // --- Belegkopf: Firma, Anschrift, Steuerangabe, Telefon
@@ -838,11 +862,11 @@ function buildReceiptLayout(receipt, company, options = {}) {
838
862
  lines.push(paarZeile('Kassen-ID:', receipt.cashregisterId));
839
863
  lines.push(paarZeile('Beleg-ID:', receipt.receiptId));
840
864
  lines.push({ kind: 'space', lines: 1 });
841
- if (regelwerk === 1) {
865
+ if (ruleset === 1) {
842
866
  lines.push(textZeile('Betrag: 0,00 €', 'center', true));
843
867
  }
844
868
  else {
845
- lines.push(...pruefangabenBlock(receipt, options.pruefangaben ?? null));
869
+ lines.push(...pruefangabenBlock(receipt, options.registrationInfo ?? null));
846
870
  }
847
871
  lines.push({ kind: 'space', lines: 1 });
848
872
  if (receiptSignatureFailed(receipt)) {
@@ -852,7 +876,7 @@ function buildReceiptLayout(receipt, company, options = {}) {
852
876
  lines.push({ kind: 'qr', data: receipt.qr });
853
877
  lines.push({ kind: 'space', lines: 1 });
854
878
  lines.push(...warnungen);
855
- return { lines, paperSize, regelwerk };
879
+ return { lines, paperSize, ruleset };
856
880
  }
857
881
  // --- Kundendaten
858
882
  if (receipt.customerDetails.length > 0) {
@@ -972,7 +996,7 @@ function buildReceiptLayout(receipt, company, options = {}) {
972
996
  const bruttoCents = gruppe.bruttoCents;
973
997
  const nettoCents = nettoAusBrutto(bruttoCents, gruppe.satz.rate);
974
998
  lines.push(tabellenZeile([
975
- `${gruppe.satz.category} ${satzText(gruppe.satz.rate)}%`,
999
+ `${gruppe.satz.category} ${formatVatRate(gruppe.satz.rate)}%`,
976
1000
  formatCents(bruttoCents - nettoCents),
977
1001
  formatCents(nettoCents),
978
1002
  formatCents(bruttoCents),
@@ -1052,7 +1076,7 @@ function buildReceiptLayout(receipt, company, options = {}) {
1052
1076
  lines.push({ kind: 'space', lines: 1 });
1053
1077
  lines.push(...warnungen);
1054
1078
  }
1055
- return { lines, paperSize, regelwerk };
1079
+ return { lines, paperSize, ruleset };
1056
1080
  }
1057
1081
  /**
1058
1082
  * Verteilt einen eingeloesten Promotionsgutschein anteilig auf die
@@ -1,14 +1,14 @@
1
1
  import type { PosPaperSize } from '../printing/escpos.js';
2
- export interface MarkeRasterDaten {
3
- readonly breite: number;
4
- readonly hoehe: number;
2
+ export interface BrandMarkRaster {
3
+ readonly width: number;
4
+ readonly height: number;
5
5
  /** Rasterzeilen als Bits, MSB zuerst, je Zeile auf volle Bytes aufgefuellt; base64. */
6
6
  readonly bits: string;
7
7
  }
8
- export declare const MARKE_RASTER: Readonly<Record<PosPaperSize, MarkeRasterDaten>>;
8
+ export declare const BRAND_MARK_RASTERS: Readonly<Record<PosPaperSize, BrandMarkRaster>>;
9
9
  /** Die Marke als Pfade (fuer PDF und Bildschirm), im Kasten der Markendatei. */
10
- export declare const MARKE_PFADE: {
11
- readonly breite: number;
12
- readonly hoehe: number;
13
- readonly pfade: readonly string[];
10
+ export declare const BRAND_MARK_PATHS: {
11
+ readonly width: number;
12
+ readonly height: number;
13
+ readonly paths: readonly string[];
14
14
  };
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MARKE_PFADE = exports.MARKE_RASTER = void 0;
4
- exports.MARKE_RASTER = {
5
- mm80: { breite: 352, hoehe: 51, bits: "////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAA////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD+AAAAAAfgAAAD+AAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAP4AAAAAB+AAAAf4AA/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAA/gAAAAAH4AAAB/gAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD+AAAAAAfgAAAH+AAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAP4AAAAAB+AAAAf4AD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAA/gAAAAAH4AAAB/gAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD+AAAAAAfgAAAH+AD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAP4AAAAAB+AAAAf4Af8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAA/gAAAAAH4AAAB/gD/gAAPgAAAHgAAAHgAAAPgAAAAeAAAB8AAAB8AAf4AAD+AAAAAAfgAAAH+Af8AAP/4AAP/8AAP/4AAP/4AH4P/AAB//AAB//AB/gB/v4AAAAAB+AAAAf4D/gAD//4AD//8AD//4AD//4Afj//AAf//AAP//AH+AP8/gAAAAAH4AAAB/gf8AAf//wAf//4Af//wAf//wB+f/+AD//+AD//+Af4B/j+AAAAAAfgAAAH+D/gAD///gD///wD///gD///gH///4Af//8Af//8B/gP8P4AAAAAB+AAAAf4f8AAf///Af///Af///Af///Af///wD///4B///4H+B/g/gAAAAAH4AAAB/j/gAB/gf8B/wP+D/gf8B/wP8B////Af+D/gP/D/wf4P+D+AAAAAAfgAAAH+f8AAH8AfwH8Af4P8Af4P8Af4H/gP+B/gD/A/wD/B/g/wP4AAAAAB+AAAAf7/wAA/wB/A/wA/g/gA/g/wA/gf8Af4P8AP8H+AH8H+H+A/gAAAAAH4AAAB///gAB+AH8D/AD+D+AD+D+AD/B/gB/g/wAfwfwAfwf4/wD+AAAAAAfgAAAH///AAAAAf4P+AAAP8AAAf4AH8H+AD+D+AB/B/AB/h/n+AP4AAAAAB+AAAAf//8AAAAB/gf+AAA/8AAB/AAfwfwAP4P4AH+P8AH+H+/wA/gAAAAAH4AAAB///4AAAAH+B//AAB//AAH+AD/B/AA/g/gAf4/wAAAf//AD+AAAAAAfgAAAH///wAAD//4D//wAH//gAf///8H8AD+D////j+AAAB//8AP4AAAAAB+AAAAf/j/AAB///gP//4AP//wB////wfwAP4f///+P4AAAH//wA/gAAAAAH4AAAB/8P+AAf//+AP//4Af//wH////B/AA/h////4/gAAAf//gD+AAAAAA/gAAAH/gf8AD///4Af//wAf//gf///8H8AD+H////j+AAAB///AP4AAAD//+AAAAf8A/wAf///gAP//gAf//B////wfwAP4f///+P4AAAH//8A/gAAAP//4AAAB/gD/gD/wH+AAH/+AAH/+H8AAAB/AA/g/gAAA/gAAAf/f4D+AAAA///gAAAH+AH/AP8Af4AAB/8AAD/4fwAAAH8AD+D+AAAD/AAAB/4/gP4AAAD//+AAAAf4AP8B/gB/gAAB/wAAB/h/AAfwfwAP4P4AD8P8AD+H/D/A/gAAAP//4AAAB/gA/4H8AH+D8AD/D8AD/H+AB/B/AA/g/gAP4fwAP4f4H8D+AAAA///gAAAH+AB/wfwAf4P4AH8fwAP8P4AH8H8AD+D/AB/h/AB/B/gf4P4AAAD//+AAAAf4AD/B/AD/g/gAfx/gA/g/wA/wfwAP4H8AH8H+AH8H+A/w/gAAAP//4AAAB/gAP+H+Af+D/AD/D/AD+D/AH+B/AA/gf4A/wP8A/wf4D/D+AAAA///gAAAH+AAf8f+P/8P/A/4P/A/4H/A/4H8AD+B/4P/A/8P+B/gH+P4AAAD//+AAAAf4AA/w////8f///g////Af///AfwAP4D///4B///4H+Af4/gAAAP//4AAAB/gAD/j////w///8B///8A///8B/AA/gH///AH///Af4A/z+AAAA///gAAAH+AAH/H//n/B///gD///gB///gH8AD+AP//4AP//4B/gD/P4AAAH//+AAAAf4AAf8P/8f8D//8AD//8AB//4AfwAP4Af//AAP//AH+AH+////////4AAAA/gAA/4f/A/wD//AAD/+AAB/+AB/AA/gAf/wAAP/wAPwAP7////////gAAAAAAAAAAHAAAAAeAAAAcAAAAeAAAAAAAAADgAAADgAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" },
6
- mm58: { breite: 234, hoehe: 34, bits: "/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAA+AAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwAfgAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwA/AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwB+AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwD8AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwH4AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwPwAPwAD8AA+AAPwAAfAAPgAD4A+AAA8AAAA8AAHwfgB/8AP/AH/wB/8B5/wB/8Af/A+B+A8AAAA8AAHw/AD/+A//wP/4D/+B7/4D/+A//g+D8A8AAAA8AAHx+AH//B//4f/8H//B//4H//B//w+D4A8AAAA8AAHz+AHwfB8H4fB+H4fh/n8PwfB+P4+HwA8AAAA8AAH/8AHwPh8D4+A+PgPh+B8PgPj8D4+PgA8AAAA8AAH/+AHgPh8B4+AcPgPh8B8PgPj4D4+fgA8AAAA8AAH/+AAAPh+AA/gAPgHh8B8fAPj4D4+/AA8AAAA8AAH//AAA/h/4Af8AP//x8B8f//jwAA/+AA8AAAA8AAH/fgA//g//Af/gf//x8B8f//jwAA//AA8AAAA8AAH8PgD//gf/wH/4f//x8B8f//nwAA//AA8AAD/8AAH4PwH//gH/4B/8f//x8B8f//nwAA//gA8AAH/8AAH4H4P4PgA/4AP+PAAB8B8fAADwAA/vgA8AAH/8AAHwH4PgPgAD8AB+PgCh8B8fAAD4B4/HwA8AAH/8AAHwD8PgPj4B88A+PgHx8B8fAHj4D4+HwA8AAH/8AAHwB+Pgfj4B8+A+PgHh8B8PgPj4D4+D4A8AAH/8AAHwB+Pg/j8D4/A+HwPh8B8Pwfh8H4+D8A8AAH/8AAHwA/P//5//4f/+H//h8B8H//B//w+B8A8AAH/8AAHwAfn//4//wf/8D//B8B8D//A//g+B+A+AAH/8AAHwAfn/n4f/gP/4B/+B8B8B/8Af/A+A+A/////8AADwAPh+D4H+AB/gAf4B4A8AfwAH8AeAeA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" },
3
+ exports.BRAND_MARK_PATHS = exports.BRAND_MARK_RASTERS = void 0;
4
+ exports.BRAND_MARK_RASTERS = {
5
+ mm80: { width: 352, height: 51, bits: "////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAA////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD+AAAAAAfgAAAD+AAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAP4AAAAAB+AAAAf4AA/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAA/gAAAAAH4AAAB/gAH/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD+AAAAAAfgAAAH+AAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAP4AAAAAB+AAAAf4AD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAA/gAAAAAH4AAAB/gAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf4AAD+AAAAAAfgAAAH+AD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAP4AAAAAB+AAAAf4Af8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+AAA/gAAAAAH4AAAB/gD/gAAPgAAAHgAAAHgAAAPgAAAAeAAAB8AAAB8AAf4AAD+AAAAAAfgAAAH+Af8AAP/4AAP/8AAP/4AAP/4AH4P/AAB//AAB//AB/gB/v4AAAAAB+AAAAf4D/gAD//4AD//8AD//4AD//4Afj//AAf//AAP//AH+AP8/gAAAAAH4AAAB/gf8AAf//wAf//4Af//wAf//wB+f/+AD//+AD//+Af4B/j+AAAAAAfgAAAH+D/gAD///gD///wD///gD///gH///4Af//8Af//8B/gP8P4AAAAAB+AAAAf4f8AAf///Af///Af///Af///Af///wD///4B///4H+B/g/gAAAAAH4AAAB/j/gAB/gf8B/wP+D/gf8B/wP8B////Af+D/gP/D/wf4P+D+AAAAAAfgAAAH+f8AAH8AfwH8Af4P8Af4P8Af4H/gP+B/gD/A/wD/B/g/wP4AAAAAB+AAAAf7/wAA/wB/A/wA/g/gA/g/wA/gf8Af4P8AP8H+AH8H+H+A/gAAAAAH4AAAB///gAB+AH8D/AD+D+AD+D+AD/B/gB/g/wAfwfwAfwf4/wD+AAAAAAfgAAAH///AAAAAf4P+AAAP8AAAf4AH8H+AD+D+AB/B/AB/h/n+AP4AAAAAB+AAAAf//8AAAAB/gf+AAA/8AAB/AAfwfwAP4P4AH+P8AH+H+/wA/gAAAAAH4AAAB///4AAAAH+B//AAB//AAH+AD/B/AA/g/gAf4/wAAAf//AD+AAAAAAfgAAAH///wAAD//4D//wAH//gAf///8H8AD+D////j+AAAB//8AP4AAAAAB+AAAAf/j/AAB///gP//4AP//wB////wfwAP4f///+P4AAAH//wA/gAAAAAH4AAAB/8P+AAf//+AP//4Af//wH////B/AA/h////4/gAAAf//gD+AAAAAA/gAAAH/gf8AD///4Af//wAf//gf///8H8AD+H////j+AAAB///AP4AAAD//+AAAAf8A/wAf///gAP//gAf//B////wfwAP4f///+P4AAAH//8A/gAAAP//4AAAB/gD/gD/wH+AAH/+AAH/+H8AAAB/AA/g/gAAA/gAAAf/f4D+AAAA///gAAAH+AH/AP8Af4AAB/8AAD/4fwAAAH8AD+D+AAAD/AAAB/4/gP4AAAD//+AAAAf4AP8B/gB/gAAB/wAAB/h/AAfwfwAP4P4AD8P8AD+H/D/A/gAAAP//4AAAB/gA/4H8AH+D8AD/D8AD/H+AB/B/AA/g/gAP4fwAP4f4H8D+AAAA///gAAAH+AB/wfwAf4P4AH8fwAP8P4AH8H8AD+D/AB/h/AB/B/gf4P4AAAD//+AAAAf4AD/B/AD/g/gAfx/gA/g/wA/wfwAP4H8AH8H+AH8H+A/w/gAAAP//4AAAB/gAP+H+Af+D/AD/D/AD+D/AH+B/AA/gf4A/wP8A/wf4D/D+AAAA///gAAAH+AAf8f+P/8P/A/4P/A/4H/A/4H8AD+B/4P/A/8P+B/gH+P4AAAD//+AAAAf4AA/w////8f///g////Af///AfwAP4D///4B///4H+Af4/gAAAP//4AAAB/gAD/j////w///8B///8A///8B/AA/gH///AH///Af4A/z+AAAA///gAAAH+AAH/H//n/B///gD///gB///gH8AD+AP//4AP//4B/gD/P4AAAH//+AAAAf4AAf8P/8f8D//8AD//8AB//4AfwAP4Af//AAP//AH+AH+////////4AAAA/gAA/4f/A/wD//AAD/+AAB/+AB/AA/gAf/wAAP/wAPwAP7////////gAAAAAAAAAAHAAAAAeAAAAcAAAAeAAAAAAAAADgAAADgAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" },
6
+ mm58: { width: 234, height: 34, bits: "/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAA+AAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwAfgAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwA/AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwB+AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwD8AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwH4AAAAAAAAAAAAAAAAAAAAAAAA+AAA8AAAA8AAHwPwAPwAD8AA+AAPwAAfAAPgAD4A+AAA8AAAA8AAHwfgB/8AP/AH/wB/8B5/wB/8Af/A+B+A8AAAA8AAHw/AD/+A//wP/4D/+B7/4D/+A//g+D8A8AAAA8AAHx+AH//B//4f/8H//B//4H//B//w+D4A8AAAA8AAHz+AHwfB8H4fB+H4fh/n8PwfB+P4+HwA8AAAA8AAH/8AHwPh8D4+A+PgPh+B8PgPj8D4+PgA8AAAA8AAH/+AHgPh8B4+AcPgPh8B8PgPj4D4+fgA8AAAA8AAH/+AAAPh+AA/gAPgHh8B8fAPj4D4+/AA8AAAA8AAH//AAA/h/4Af8AP//x8B8f//jwAA/+AA8AAAA8AAH/fgA//g//Af/gf//x8B8f//jwAA//AA8AAAA8AAH8PgD//gf/wH/4f//x8B8f//nwAA//AA8AAD/8AAH4PwH//gH/4B/8f//x8B8f//nwAA//gA8AAH/8AAH4H4P4PgA/4AP+PAAB8B8fAADwAA/vgA8AAH/8AAHwH4PgPgAD8AB+PgCh8B8fAAD4B4/HwA8AAH/8AAHwD8PgPj4B88A+PgHx8B8fAHj4D4+HwA8AAH/8AAHwB+Pgfj4B8+A+PgHh8B8PgPj4D4+D4A8AAH/8AAHwB+Pg/j8D4/A+HwPh8B8Pwfh8H4+D8A8AAH/8AAHwA/P//5//4f/+H//h8B8H//B//w+B8A8AAH/8AAHwAfn//4//wf/8D//B8B8D//A//g+B+A+AAH/8AAHwAfn/n4f/gP/4B/+B8B8B/8Af/A+A+A/////8AADwAPh+D4H+AB/gAf4B4A8AfwAH8AeAeA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" },
7
7
  };
8
8
  /** Die Marke als Pfade (fuer PDF und Bildschirm), im Kasten der Markendatei. */
9
- exports.MARKE_PFADE = {
10
- breite: 332,
11
- hoehe: 48,
12
- pfade: [
9
+ exports.BRAND_MARK_PATHS = {
10
+ width: 332,
11
+ height: 48,
12
+ paths: [
13
13
  "M0 0H48V30H42V6H0Z",
14
14
  "M0 6V48H30V42H6V6Z",
15
15
  "M30 30H48V48H30Z",
@@ -1,20 +1,20 @@
1
- import type { PosPaperSize, RasterBild } from '../printing/escpos.js';
1
+ import type { PosPaperSize, RasterImage } from '../printing/escpos.js';
2
2
  /**
3
3
  * Entpackt gepackte Rasterzeilen (Base64, MSB zuerst, je Zeile auf volle Bytes
4
- * aufgefuellt -- die Form von [rasterZeilenBytes]) in ein Punkt-je-Byte-Bild.
4
+ * aufgefuellt -- die Form von [rasterRowsBytes]) in ein Punkt-je-Byte-Bild.
5
5
  *
6
- * Eigene, exportierte Funktion statt Code inline in `markeBild`: ein
7
- * Rundlauf-Test (packen mit `rasterZeilenBytes`, entpacken hiermit) kann so
6
+ * Eigene, exportierte Funktion statt Code inline in `brandMarkImage`: ein
7
+ * Rundlauf-Test (packen mit `rasterRowsBytes`, entpacken hiermit) kann so
8
8
  * denselben Entpacker pruefen, den die Marke zur Laufzeit auch benutzt --
9
9
  * ein vertauschter Bit-Index waere sonst nur am schiefen Ausdruck sichtbar.
10
10
  */
11
- export declare function entpackeRasterBits(bits: string, breite: number, hoehe: number): RasterBild;
11
+ export declare function entpackeRasterBits(bits: string, breite: number, hoehe: number): RasterImage;
12
12
  /**
13
13
  * Die Marke als Rasterbild fuer diese Papierbreite.
14
14
  *
15
15
  * Entpackt die gepackten Zeilen in ein Punkt-je-Byte-Bild, wie es
16
- * [escPosRasterBild] erwartet. Zur Laufzeit wird nichts gerechnet und nichts
16
+ * [escPosRasterImage] erwartet. Zur Laufzeit wird nichts gerechnet und nichts
17
17
  * skaliert -- die beiden Masse stehen fest, damit JS und Dart fuer denselben
18
18
  * Beleg dieselben Bytes erzeugen.
19
19
  */
20
- export declare function markeBild(paperSize: PosPaperSize): RasterBild;
20
+ export declare function brandMarkImage(paperSize: PosPaperSize): RasterImage;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.entpackeRasterBits = entpackeRasterBits;
4
- exports.markeBild = markeBild;
4
+ exports.brandMarkImage = brandMarkImage;
5
5
  const marke_daten_js_1 = require("./marke-daten.js");
6
- /** Base64 -> Bytes ohne `Buffer` -- laeuft im Browser und in Node gleich (wie `rasterZeilenBase64`). */
6
+ /** Base64 -> Bytes ohne `Buffer` -- laeuft im Browser und in Node gleich (wie `rasterRowsBase64`). */
7
7
  function base64Bytes(base64) {
8
8
  const binaer = atob(base64);
9
9
  const bytes = new Uint8Array(binaer.length);
@@ -13,10 +13,10 @@ function base64Bytes(base64) {
13
13
  }
14
14
  /**
15
15
  * Entpackt gepackte Rasterzeilen (Base64, MSB zuerst, je Zeile auf volle Bytes
16
- * aufgefuellt -- die Form von [rasterZeilenBytes]) in ein Punkt-je-Byte-Bild.
16
+ * aufgefuellt -- die Form von [rasterRowsBytes]) in ein Punkt-je-Byte-Bild.
17
17
  *
18
- * Eigene, exportierte Funktion statt Code inline in `markeBild`: ein
19
- * Rundlauf-Test (packen mit `rasterZeilenBytes`, entpacken hiermit) kann so
18
+ * Eigene, exportierte Funktion statt Code inline in `brandMarkImage`: ein
19
+ * Rundlauf-Test (packen mit `rasterRowsBytes`, entpacken hiermit) kann so
20
20
  * denselben Entpacker pruefen, den die Marke zur Laufzeit auch benutzt --
21
21
  * ein vertauschter Bit-Index waere sonst nur am schiefen Ausdruck sichtbar.
22
22
  */
@@ -30,17 +30,17 @@ function entpackeRasterBits(bits, breite, hoehe) {
30
30
  punkte[y * breite + x] = (byte >> (7 - (x & 7))) & 1;
31
31
  }
32
32
  }
33
- return { breite, hoehe, punkte };
33
+ return { width: breite, height: hoehe, dots: punkte };
34
34
  }
35
35
  /**
36
36
  * Die Marke als Rasterbild fuer diese Papierbreite.
37
37
  *
38
38
  * Entpackt die gepackten Zeilen in ein Punkt-je-Byte-Bild, wie es
39
- * [escPosRasterBild] erwartet. Zur Laufzeit wird nichts gerechnet und nichts
39
+ * [escPosRasterImage] erwartet. Zur Laufzeit wird nichts gerechnet und nichts
40
40
  * skaliert -- die beiden Masse stehen fest, damit JS und Dart fuer denselben
41
41
  * Beleg dieselben Bytes erzeugen.
42
42
  */
43
- function markeBild(paperSize) {
44
- const d = marke_daten_js_1.MARKE_RASTER[paperSize];
45
- return entpackeRasterBits(d.bits, d.breite, d.hoehe);
43
+ function brandMarkImage(paperSize) {
44
+ const d = marke_daten_js_1.BRAND_MARK_RASTERS[paperSize];
45
+ return entpackeRasterBits(d.bits, d.width, d.height);
46
46
  }
@@ -0,0 +1,61 @@
1
+ import { KasseneckApiError } from '../client/errors.js';
2
+ /**
3
+ * Fehler der Kassen-Anmeldung (Kopplung, Benutzerliste, PIN-Anmeldung,
4
+ * Sitzung, Entkoppeln) auswerten: **am `code`, nie am Meldungstext.**
5
+ *
6
+ * Bis 0.x verglich die Web-Kasse deutsche Meldungen („Kasse wird gerade auf …
7
+ * verwendet“) und zog Zahlen aus dem Text. Unter `/api/v3` traegt jede
8
+ * Abweisung einen Code (Nachtrag §11.7.4) und ihre Angaben als Daten:
9
+ * `deviceLabel`, `takeoverAllowed`, `retryAfterSec`, `distanceM`,
10
+ * `pairedDevices`, `licenses`. Die `message` bleibt ein deutscher Menschentext
11
+ * zum Anzeigen, sie ist kein Vertrag.
12
+ *
13
+ * Die Liste ist aus dem Vertrags-Export abgeleitet (Fehlerfaelle der acht
14
+ * Anmelde-Endpunkte in `fixtures/v3/antworten/kasse.json` und die
15
+ * Handler-Codes aus `v3-vokabular.json`); ein Test haelt sie deckungsgleich.
16
+ * Dazu kommen die Codes, die der Rand auf jedem Kassen-Endpunkt erzeugen kann:
17
+ * die Anmelde- und Pruefcodes (`errorCodes.auth` ohne die sieben des
18
+ * Partner-Zugangs, z. B. `register_user_not_found`, wenn der Chef einen
19
+ * angemeldeten Benutzer loescht) und die des Rands selbst (`errorCodes.edge`:
20
+ * `validation`, `not_found`, `internal_translation_error`, `dialect_mismatch`,
21
+ * `response_translation_failed`). Ein Code, der in keiner Liste steht, bleibt
22
+ * ueber `KasseneckApiError.code` lesbar; die Kasse braucht dafuer einen
23
+ * Rueckfallzweig.
24
+ */
25
+ export declare const REGISTER_ERROR_CODES: readonly ["account_not_found", "admin_required", "cashregister_in_use", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "device_bound_elsewhere", "device_not_found", "device_not_paired", "device_takeover_required", "dialect_mismatch", "internal_translation_error", "licenses_exhausted", "live_not_enabled", "location_outside", "location_required", "login_failed", "login_mode_select_user", "login_unavailable", "method_not_allowed", "mfa_required", "not_found", "pairing_code_expired", "pairing_code_unknown", "pairing_code_used", "pairing_failed", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "register_user_only", "response_translation_failed", "session_ended", "session_expired", "session_not_running", "session_other_cashregister", "too_many_attempts", "unauthorized", "user_disabled", "user_verification_failed", "validation", "route_missing"];
26
+ export type RegisterErrorCode = typeof REGISTER_ERROR_CODES[number];
27
+ export declare function isRegisterErrorCode(value: unknown): value is RegisterErrorCode;
28
+ /** Der Code eines geworfenen Fehlers, wenn es einer der Kassen-Anmeldung ist; sonst `undefined`. */
29
+ export declare function registerErrorCode(error: unknown): RegisterErrorCode | undefined;
30
+ /**
31
+ * Kurzform fuer `catch (e) { if (isRegisterError(e, 'cashregister_in_use')) … }`.
32
+ * Ohne `code`: ist es ueberhaupt ein Fehler der Kassen-Anmeldung?
33
+ */
34
+ export declare function isRegisterError(error: unknown, code?: RegisterErrorCode): error is KasseneckApiError;
35
+ /**
36
+ * Die Angaben einer Abweisung, soweit sie welche traegt. Was fehlt, ist
37
+ * `null`; `deviceLabel` ist auch dann `null`, wenn das belegende Geraet keinen
38
+ * Namen hat (die Oberflaeche sagt dann „ein anderes Geraet“).
39
+ */
40
+ export interface RegisterErrorDetails {
41
+ /** `cashregister_in_use`, `device_takeover_required`: Name des Geraets, das die Kasse haelt. */
42
+ deviceLabel: string | null;
43
+ /** `cashregister_in_use`: darf dieser Benutzer die Kasse uebernehmen (Recht `takeover`)? */
44
+ takeoverAllowed: boolean;
45
+ /** `too_many_attempts`: Sekunden bis zum naechsten Versuch. */
46
+ retryAfterSec: number | null;
47
+ /** `location_outside`: Abstand zum Betrieb in Metern. */
48
+ distanceM: number | null;
49
+ /** `licenses_exhausted`: gekoppelte Geraete und Lizenzen. */
50
+ pairedDevices: number | null;
51
+ licenses: number | null;
52
+ }
53
+ export declare function registerErrorDetails(error: unknown): RegisterErrorDetails;
54
+ /** Ein Feldfehler aus `data.errors[]` einer `validation`-Antwort. */
55
+ export interface RegisterFieldError {
56
+ /** Feldpfad in der gesendeten Anfrage, z. B. `pairingCode` oder `pin`. */
57
+ field: string;
58
+ message: string;
59
+ }
60
+ /** Die Feldfehler einer `validation`-Antwort; leer, wenn es keine sind. */
61
+ export declare function registerFieldErrors(error: unknown): RegisterFieldError[];
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REGISTER_ERROR_CODES = void 0;
4
+ exports.isRegisterErrorCode = isRegisterErrorCode;
5
+ exports.registerErrorCode = registerErrorCode;
6
+ exports.isRegisterError = isRegisterError;
7
+ exports.registerErrorDetails = registerErrorDetails;
8
+ exports.registerFieldErrors = registerFieldErrors;
9
+ const errors_js_1 = require("../client/errors.js");
10
+ const fehlercodes_js_1 = require("../client/fehlercodes.js");
11
+ /**
12
+ * Fehler der Kassen-Anmeldung (Kopplung, Benutzerliste, PIN-Anmeldung,
13
+ * Sitzung, Entkoppeln) auswerten: **am `code`, nie am Meldungstext.**
14
+ *
15
+ * Bis 0.x verglich die Web-Kasse deutsche Meldungen („Kasse wird gerade auf …
16
+ * verwendet“) und zog Zahlen aus dem Text. Unter `/api/v3` traegt jede
17
+ * Abweisung einen Code (Nachtrag §11.7.4) und ihre Angaben als Daten:
18
+ * `deviceLabel`, `takeoverAllowed`, `retryAfterSec`, `distanceM`,
19
+ * `pairedDevices`, `licenses`. Die `message` bleibt ein deutscher Menschentext
20
+ * zum Anzeigen, sie ist kein Vertrag.
21
+ *
22
+ * Die Liste ist aus dem Vertrags-Export abgeleitet (Fehlerfaelle der acht
23
+ * Anmelde-Endpunkte in `fixtures/v3/antworten/kasse.json` und die
24
+ * Handler-Codes aus `v3-vokabular.json`); ein Test haelt sie deckungsgleich.
25
+ * Dazu kommen die Codes, die der Rand auf jedem Kassen-Endpunkt erzeugen kann:
26
+ * die Anmelde- und Pruefcodes (`errorCodes.auth` ohne die sieben des
27
+ * Partner-Zugangs, z. B. `register_user_not_found`, wenn der Chef einen
28
+ * angemeldeten Benutzer loescht) und die des Rands selbst (`errorCodes.edge`:
29
+ * `validation`, `not_found`, `internal_translation_error`, `dialect_mismatch`,
30
+ * `response_translation_failed`). Ein Code, der in keiner Liste steht, bleibt
31
+ * ueber `KasseneckApiError.code` lesbar; die Kasse braucht dafuer einen
32
+ * Rueckfallzweig.
33
+ */
34
+ exports.REGISTER_ERROR_CODES = Object.freeze([
35
+ 'account_not_found',
36
+ 'admin_required',
37
+ 'cashregister_in_use',
38
+ 'cashregister_not_assigned',
39
+ 'cashregister_not_found',
40
+ 'cashregister_token_invalid',
41
+ 'cashregister_token_missing',
42
+ 'device_bound_elsewhere',
43
+ 'device_not_found',
44
+ 'device_not_paired',
45
+ 'device_takeover_required',
46
+ 'dialect_mismatch',
47
+ 'internal_translation_error',
48
+ 'licenses_exhausted',
49
+ 'live_not_enabled',
50
+ 'location_outside',
51
+ 'location_required',
52
+ 'login_failed',
53
+ 'login_mode_select_user',
54
+ 'login_unavailable',
55
+ 'method_not_allowed',
56
+ 'mfa_required',
57
+ 'not_found',
58
+ 'pairing_code_expired',
59
+ 'pairing_code_unknown',
60
+ 'pairing_code_used',
61
+ 'pairing_failed',
62
+ 'register_user_no_business',
63
+ 'register_user_not_allowed',
64
+ 'register_user_not_found',
65
+ 'register_user_only',
66
+ 'response_translation_failed',
67
+ 'session_ended',
68
+ 'session_expired',
69
+ 'session_not_running',
70
+ 'session_other_cashregister',
71
+ 'too_many_attempts',
72
+ 'unauthorized',
73
+ 'user_disabled',
74
+ 'user_verification_failed',
75
+ 'validation',
76
+ // Code des Pakets (CLIENT_ERROR_CODES): HTML statt Backend, der Aufruf kam nie an
77
+ 'route_missing',
78
+ ]);
79
+ const BEKANNT = new Set(exports.REGISTER_ERROR_CODES);
80
+ function isRegisterErrorCode(value) {
81
+ return typeof value === 'string' && BEKANNT.has(value);
82
+ }
83
+ /** Der Code eines geworfenen Fehlers, wenn es einer der Kassen-Anmeldung ist; sonst `undefined`. */
84
+ function registerErrorCode(error) {
85
+ if (!(error instanceof errors_js_1.KasseneckApiError))
86
+ return undefined;
87
+ return isRegisterErrorCode(error.code) ? error.code : undefined;
88
+ }
89
+ /**
90
+ * Kurzform fuer `catch (e) { if (isRegisterError(e, 'cashregister_in_use')) … }`.
91
+ * Ohne `code`: ist es ueberhaupt ein Fehler der Kassen-Anmeldung?
92
+ */
93
+ function isRegisterError(error, code) {
94
+ const gefunden = registerErrorCode(error);
95
+ return gefunden !== undefined && (code === undefined || gefunden === code);
96
+ }
97
+ function registerErrorDetails(error) {
98
+ const d = error instanceof errors_js_1.KasseneckApiError ? error.details : {};
99
+ const zahl = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : null);
100
+ return {
101
+ deviceLabel: typeof d['deviceLabel'] === 'string' && d['deviceLabel'] !== '' ? d['deviceLabel'] : null,
102
+ takeoverAllowed: d['takeoverAllowed'] === true,
103
+ retryAfterSec: zahl(d['retryAfterSec']),
104
+ distanceM: zahl(d['distanceM']),
105
+ pairedDevices: zahl(d['pairedDevices']),
106
+ licenses: zahl(d['licenses']),
107
+ };
108
+ }
109
+ /** Die Feldfehler einer `validation`-Antwort; leer, wenn es keine sind. */
110
+ function registerFieldErrors(error) {
111
+ return (0, fehlercodes_js_1.feldfehlerVon)(error);
112
+ }
@@ -43,9 +43,22 @@
43
43
  * });
44
44
  * ```
45
45
  *
46
+ * Abweisungen entscheidet die Kasse am Code, nie am Meldungstext:
47
+ *
48
+ * ```ts
49
+ * } catch (e) {
50
+ * if (isRegisterError(e, 'cashregister_in_use')) {
51
+ * const { deviceLabel, takeoverAllowed } = registerErrorDetails(e);
52
+ * } else if (isRegisterError(e, 'too_many_attempts')) {
53
+ * const { retryAfterSec } = registerErrorDetails(e);
54
+ * }
55
+ * }
56
+ * ```
57
+ *
46
58
  * Mit `sitzung.customToken` meldet sich der Verbraucher beim Anmeldedienst an; das
47
59
  * daraus entstehende ID-Token und `sitzung.sessionId` ergeben zusammen
48
60
  * `registerUserAuth` — ab da laeuft alles Weitere ueber den ueblichen Weg.
49
61
  */
50
- export { type RegisterDeviceConnection, type RegisterDeviceCredentials, type PairRegisterDeviceOptions, type PairedRegisterDevice, type RegisterUserKind, type RegisterUserSummary, type RegisterUserPerms, REGISTER_PERMS, type RegisterScope, type RegisterUser, type RegisterUserSession, type ListRegisterUsersForDeviceOptions, type RegisterUserLoginOptions, type RegisterPinLoginOptions, type RegisterPinPolicy, type RegisterLoginMode, type RegisterDeviceUsers, type RegisterClientInfo, type RegisterGeo, type RegisterGeraeteAngaben, type RegisterSession, type RegisterSessionsStand, type ListRegisterSessionsForDeviceOptions, pairRegisterDevice, listRegisterUsersForDevice, listRegisterSessionsForDevice, unpairRegisterDevice, registerUserLogin, registerPinLogin, } from './pairing.js';
62
+ export { type RegisterDeviceConnection, type RegisterDeviceCredentials, type PairRegisterDeviceOptions, type PairedRegisterDevice, type RegisterUserKind, type RegisterUserSummary, type RegisterUserPerms, REGISTER_PERMS, type RegisterScope, type RegisterUser, type RegisterUserSession, type ListRegisterUsersForDeviceOptions, type RegisterUserLoginOptions, type RegisterPinLoginOptions, type RegisterPinPolicy, type RegisterLoginMode, type RegisterDeviceUsers, type RegisterClientInfo, type RegisterGeo, type RegisterDeviceInfo, type RegisterSession, type RegisterSessionOverview, type ListRegisterSessionsForDeviceOptions, pairRegisterDevice, listRegisterUsersForDevice, listRegisterSessionsForDevice, unpairRegisterDevice, registerUserLogin, registerPinLogin, } from './pairing.js';
51
63
  export { renewRegisterSession, endRegisterSession } from './session.js';
64
+ export { REGISTER_ERROR_CODES, type RegisterErrorCode, isRegisterErrorCode, registerErrorCode, registerFieldErrors, type RegisterFieldError, isRegisterError, type RegisterErrorDetails, registerErrorDetails, } from './errors.js';
@@ -44,12 +44,24 @@
44
44
  * });
45
45
  * ```
46
46
  *
47
+ * Abweisungen entscheidet die Kasse am Code, nie am Meldungstext:
48
+ *
49
+ * ```ts
50
+ * } catch (e) {
51
+ * if (isRegisterError(e, 'cashregister_in_use')) {
52
+ * const { deviceLabel, takeoverAllowed } = registerErrorDetails(e);
53
+ * } else if (isRegisterError(e, 'too_many_attempts')) {
54
+ * const { retryAfterSec } = registerErrorDetails(e);
55
+ * }
56
+ * }
57
+ * ```
58
+ *
47
59
  * Mit `sitzung.customToken` meldet sich der Verbraucher beim Anmeldedienst an; das
48
60
  * daraus entstehende ID-Token und `sitzung.sessionId` ergeben zusammen
49
61
  * `registerUserAuth` — ab da laeuft alles Weitere ueber den ueblichen Weg.
50
62
  */
51
63
  Object.defineProperty(exports, "__esModule", { value: true });
52
- exports.endRegisterSession = exports.renewRegisterSession = exports.registerPinLogin = exports.registerUserLogin = exports.unpairRegisterDevice = exports.listRegisterSessionsForDevice = exports.listRegisterUsersForDevice = exports.pairRegisterDevice = exports.REGISTER_PERMS = void 0;
64
+ exports.registerErrorDetails = exports.isRegisterError = exports.registerFieldErrors = exports.registerErrorCode = exports.isRegisterErrorCode = exports.REGISTER_ERROR_CODES = exports.endRegisterSession = exports.renewRegisterSession = exports.registerPinLogin = exports.registerUserLogin = exports.unpairRegisterDevice = exports.listRegisterSessionsForDevice = exports.listRegisterUsersForDevice = exports.pairRegisterDevice = exports.REGISTER_PERMS = void 0;
53
65
  var pairing_js_1 = require("./pairing.js");
54
66
  Object.defineProperty(exports, "REGISTER_PERMS", { enumerable: true, get: function () { return pairing_js_1.REGISTER_PERMS; } });
55
67
  Object.defineProperty(exports, "pairRegisterDevice", { enumerable: true, get: function () { return pairing_js_1.pairRegisterDevice; } });
@@ -61,3 +73,10 @@ Object.defineProperty(exports, "registerPinLogin", { enumerable: true, get: func
61
73
  var session_js_1 = require("./session.js");
62
74
  Object.defineProperty(exports, "renewRegisterSession", { enumerable: true, get: function () { return session_js_1.renewRegisterSession; } });
63
75
  Object.defineProperty(exports, "endRegisterSession", { enumerable: true, get: function () { return session_js_1.endRegisterSession; } });
76
+ var errors_js_1 = require("./errors.js");
77
+ Object.defineProperty(exports, "REGISTER_ERROR_CODES", { enumerable: true, get: function () { return errors_js_1.REGISTER_ERROR_CODES; } });
78
+ Object.defineProperty(exports, "isRegisterErrorCode", { enumerable: true, get: function () { return errors_js_1.isRegisterErrorCode; } });
79
+ Object.defineProperty(exports, "registerErrorCode", { enumerable: true, get: function () { return errors_js_1.registerErrorCode; } });
80
+ Object.defineProperty(exports, "registerFieldErrors", { enumerable: true, get: function () { return errors_js_1.registerFieldErrors; } });
81
+ Object.defineProperty(exports, "isRegisterError", { enumerable: true, get: function () { return errors_js_1.isRegisterError; } });
82
+ Object.defineProperty(exports, "registerErrorDetails", { enumerable: true, get: function () { return errors_js_1.registerErrorDetails; } });