@sincpro/printer-expo 0.1.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +589 -415
  2. package/android/.editorconfig +20 -0
  3. package/android/README.md +103 -0
  4. package/android/build.gradle +36 -34
  5. package/android/libs/pdf/Bixolon_pdf.aar +0 -0
  6. package/android/libs/{jniLibs/x86_64/libbxl_common.so → sincpro-printer-sdk.aar} +0 -0
  7. package/android/src/main/java/sincpro/expo/printer/entrypoint/PrinterModule.kt +387 -0
  8. package/build/SincproPrinter.d.ts +191 -0
  9. package/build/SincproPrinter.d.ts.map +1 -0
  10. package/build/SincproPrinter.js +120 -0
  11. package/build/SincproPrinter.js.map +1 -0
  12. package/build/index.d.ts +11 -3
  13. package/build/index.d.ts.map +1 -1
  14. package/build/index.js +13 -3
  15. package/build/index.js.map +1 -1
  16. package/build/types/bluetooth.types.d.ts +19 -0
  17. package/build/types/bluetooth.types.d.ts.map +1 -0
  18. package/build/types/bluetooth.types.js +5 -0
  19. package/build/types/bluetooth.types.js.map +1 -0
  20. package/build/types/index.d.ts +7 -0
  21. package/build/types/index.d.ts.map +1 -0
  22. package/build/types/index.js +7 -0
  23. package/build/types/index.js.map +1 -0
  24. package/build/types/printer.types.d.ts +118 -0
  25. package/build/types/printer.types.d.ts.map +1 -0
  26. package/build/types/printer.types.js +5 -0
  27. package/build/types/printer.types.js.map +1 -0
  28. package/build/types/receipt.types.d.ts +96 -0
  29. package/build/types/receipt.types.d.ts.map +1 -0
  30. package/build/types/receipt.types.js +5 -0
  31. package/build/types/receipt.types.js.map +1 -0
  32. package/expo-module.config.json +2 -5
  33. package/package.json +6 -5
  34. package/src/SincproPrinter.ts +208 -0
  35. package/src/index.ts +15 -3
  36. package/src/types/bluetooth.types.ts +20 -0
  37. package/src/types/index.ts +7 -0
  38. package/src/types/printer.types.ts +141 -0
  39. package/src/types/receipt.types.ts +115 -0
  40. package/android/libs/BixolonLabelPrinterLibrary_V2.0.9.jar +0 -0
  41. package/android/libs/jniLibs/arm64-v8a/libbxl_common.so +0 -0
  42. package/android/libs/jniLibs/armeabi-v7a/libbxl_common.so +0 -0
  43. package/android/libs/jniLibs/x86/libbxl_common.so +0 -0
  44. package/android/libs/libcommon_V1.4.0.jar +0 -0
  45. package/android/src/main/java/expo/sincpro/ExpoBixolonModule.kt +0 -271
  46. package/android/src/main/java/expo/sincpro/bixolon/BixolonQRPrinter.kt +0 -423
  47. package/android/src/main/java/expo/sincpro/managers/BluetoothManager.kt +0 -139
  48. package/android/src/main/java/expo/sincpro/managers/ConnectionManager.kt +0 -124
  49. package/android/src/main/java/expo/sincpro/managers/PermissionManager.kt +0 -122
  50. package/android/src/main/java/expo/sincpro/managers/PrinterManager.kt +0 -396
  51. package/android/src/main/jniLibs/arm64-v8a/libbxl_common.so +0 -0
  52. package/android/src/main/jniLibs/armeabi-v7a/libbxl_common.so +0 -0
  53. package/android/src/main/jniLibs/x86/libbxl_common.so +0 -0
  54. package/android/src/main/jniLibs/x86_64/libbxl_common.so +0 -0
  55. package/build/BixolonPrinter.d.ts +0 -4
  56. package/build/BixolonPrinter.d.ts.map +0 -1
  57. package/build/BixolonPrinter.js +0 -12
  58. package/build/BixolonPrinter.js.map +0 -1
  59. package/build/ExpoBixolon.types.d.ts +0 -45
  60. package/build/ExpoBixolon.types.d.ts.map +0 -1
  61. package/build/ExpoBixolon.types.js +0 -2
  62. package/build/ExpoBixolon.types.js.map +0 -1
  63. package/build/ExpoBixolonModule.d.ts +0 -24
  64. package/build/ExpoBixolonModule.d.ts.map +0 -1
  65. package/build/ExpoBixolonModule.js +0 -3
  66. package/build/ExpoBixolonModule.js.map +0 -1
  67. package/build/QrCodePrinter.d.ts +0 -45
  68. package/build/QrCodePrinter.d.ts.map +0 -1
  69. package/build/QrCodePrinter.js +0 -118
  70. package/build/QrCodePrinter.js.map +0 -1
  71. package/src/BixolonPrinter.ts +0 -16
  72. package/src/ExpoBixolon.types.ts +0 -60
  73. package/src/ExpoBixolonModule.ts +0 -38
  74. package/src/QrCodePrinter.ts +0 -201
@@ -1,396 +0,0 @@
1
- package expo.sincpro.managers
2
-
3
- import android.util.Log
4
- import expo.sincpro.bixolon.BixolonQRPrinter
5
-
6
- class PrinterManager(private val bixolonQRPrinter: BixolonQRPrinter) {
7
- private val TAG = "PrinterManager"
8
-
9
- fun printPlainText(text: String): Boolean {
10
- try {
11
- Log.d(TAG, "Printing plain text using Bixolon SDK")
12
-
13
- val finalText = if (text.isNotEmpty()) {
14
- text
15
- } else {
16
- "Texto vacío"
17
- }
18
-
19
- bixolonQRPrinter.initializeForNewPrint()
20
-
21
- bixolonQRPrinter.beginTransactionPrint()
22
-
23
- val lines = finalText.split("\n")
24
- var yPosition = 50
25
-
26
- for (line in lines) {
27
- if (line.isNotEmpty()) {
28
- bixolonQRPrinter.drawText(
29
- line,
30
- 50, yPosition,
31
- BixolonQRPrinter.FONT_SIZE_10,
32
- 1, 1, 0,
33
- BixolonQRPrinter.ROTATION_NONE,
34
- false, false,
35
- BixolonQRPrinter.TEXT_ALIGNMENT_LEFT
36
- )
37
- yPosition += 30
38
- } else {
39
- yPosition += 15
40
- }
41
- }
42
-
43
- bixolonQRPrinter.print(1, 1)
44
-
45
- bixolonQRPrinter.endTransactionPrint()
46
-
47
- Log.d(TAG, "Plain text printed successfully using Bixolon SDK")
48
- Log.d(TAG, " Content: $finalText")
49
- Log.d(TAG, " Lines printed: ${lines.size}")
50
-
51
- return true
52
-
53
- } catch (e: Exception) {
54
- Log.e(TAG, "Error printing plain text: ${e.message}")
55
- throw e
56
- }
57
- }
58
-
59
- fun printInvoice(invoiceText: String): Boolean {
60
- try {
61
- Log.d(TAG, "Printing invoice using Bixolon SDK")
62
-
63
- val finalText = if (invoiceText.isNotEmpty()) {
64
- invoiceText
65
- } else {
66
- "Factura vacía"
67
- }
68
-
69
- bixolonQRPrinter.initializeForNewPrint()
70
-
71
- bixolonQRPrinter.beginTransactionPrint()
72
-
73
- val lines = finalText.split("\n")
74
- var yPosition = 50
75
-
76
- for (line in lines) {
77
- if (line.isNotEmpty()) {
78
- bixolonQRPrinter.drawText(
79
- line,
80
- 50, yPosition,
81
- BixolonQRPrinter.FONT_SIZE_10,
82
- 1, 1, 0,
83
- BixolonQRPrinter.ROTATION_NONE,
84
- false, false,
85
- BixolonQRPrinter.TEXT_ALIGNMENT_LEFT
86
- )
87
- yPosition += 30
88
- } else {
89
- yPosition += 15
90
- }
91
- }
92
-
93
- bixolonQRPrinter.print(1, 1)
94
-
95
- bixolonQRPrinter.endTransactionPrint()
96
-
97
- Log.d(TAG, "Invoice printed successfully using Bixolon SDK")
98
- Log.d(TAG, " Content: $finalText")
99
- Log.d(TAG, " Lines printed: ${lines.size}")
100
- return true
101
-
102
- } catch (e: Exception) {
103
- Log.e(TAG, "Error printing invoice: ${e.message}")
104
- throw e
105
- }
106
- }
107
-
108
- fun printQRCode(text: String, size: Int): Boolean {
109
- try {
110
- Log.d(TAG, "Printing QR code for text: $text using Bixolon SDK")
111
-
112
- bixolonQRPrinter.initializeForNewPrint()
113
-
114
- bixolonQRPrinter.beginTransactionPrint()
115
-
116
- bixolonQRPrinter.drawQrCode(
117
- text,
118
- 100,
119
- 50,
120
- BixolonQRPrinter.QR_CODE_MODEL2,
121
- BixolonQRPrinter.ECC_LEVEL_7,
122
- Math.min(size, 3),
123
- BixolonQRPrinter.ROTATION_NONE
124
- )
125
-
126
- bixolonQRPrinter.print(1, 1)
127
-
128
- bixolonQRPrinter.endTransactionPrint()
129
-
130
- Log.d(TAG, "QR code printed successfully using Bixolon SDK")
131
- Log.d(TAG, " Content: $text")
132
- Log.d(TAG, " Size: $size")
133
-
134
- return true
135
-
136
- } catch (e: Exception) {
137
- Log.e(TAG, "Error printing QR code: ${e.message}")
138
- throw e
139
- }
140
- }
141
-
142
- fun printQRCodeAdvanced(data: String, size: Int): Boolean {
143
- try {
144
- Log.d(TAG, "Printing advanced QR code for data: $data")
145
-
146
- val success = bixolonQRPrinter.printQRCode(data, size)
147
-
148
- if (success) {
149
- Log.d(TAG, "QR code printed successfully with Bixolon library")
150
- return true
151
- } else {
152
- Log.e(TAG, "Failed to print QR code with Bixolon library")
153
- return false
154
- }
155
-
156
- } catch (e: Exception) {
157
- Log.e(TAG, "Error printing QR code: ${e.message}")
158
- throw e
159
- }
160
- }
161
-
162
- fun printFormattedText(text: String, fontSize: Int = BixolonQRPrinter.FONT_SIZE_10): Boolean {
163
- try {
164
- Log.d(TAG, "Printing formatted text using Bixolon SDK")
165
- Log.d(TAG, "Full text to print: $text")
166
-
167
- val finalText = if (text.isNotEmpty()) {
168
- text
169
- } else {
170
- "Texto vacío"
171
- }
172
-
173
- bixolonQRPrinter.initializeForNewPrint()
174
-
175
- bixolonQRPrinter.beginTransactionPrint()
176
-
177
- val lines = finalText.split("\n")
178
- Log.d(TAG, "Total lines to print: ${lines.size}")
179
- var yPosition = 50
180
- var lineCount = 0
181
-
182
- for (line in lines) {
183
- lineCount++
184
- Log.d(TAG, "Printing line $lineCount: '$line'")
185
-
186
- if (line.isNotEmpty()) {
187
- val maxLineLength = 32
188
- if (line.length > maxLineLength) {
189
- val words = line.split(" ")
190
- var currentLine = ""
191
-
192
- for (word in words) {
193
- if ((currentLine + word).length <= maxLineLength) {
194
- currentLine += if (currentLine.isEmpty()) word else " $word"
195
- } else {
196
- if (currentLine.isNotEmpty()) {
197
- Log.d(TAG, "Printing wrapped line: '$currentLine'")
198
- bixolonQRPrinter.drawText(
199
- currentLine,
200
- 50, yPosition,
201
- fontSize,
202
- 1, 1, 0,
203
- BixolonQRPrinter.ROTATION_NONE,
204
- false, false,
205
- BixolonQRPrinter.TEXT_ALIGNMENT_LEFT
206
- )
207
- yPosition += 30
208
- }
209
- currentLine = word
210
- }
211
- }
212
-
213
- if (currentLine.isNotEmpty()) {
214
- Log.d(TAG, "Printing final wrapped line: '$currentLine'")
215
- bixolonQRPrinter.drawText(
216
- currentLine,
217
- 50, yPosition,
218
- fontSize,
219
- 1, 1, 0,
220
- BixolonQRPrinter.ROTATION_NONE,
221
- false, false,
222
- BixolonQRPrinter.TEXT_ALIGNMENT_LEFT
223
- )
224
- yPosition += 30
225
- }
226
- } else {
227
- Log.d(TAG, "Printing normal line: '$line'")
228
- bixolonQRPrinter.drawText(
229
- line,
230
- 50, yPosition,
231
- fontSize,
232
- 1, 1, 0,
233
- BixolonQRPrinter.ROTATION_NONE,
234
- false, false,
235
- BixolonQRPrinter.TEXT_ALIGNMENT_LEFT
236
- )
237
- yPosition += 30
238
- }
239
- } else {
240
- Log.d(TAG, "Skipping empty line")
241
- yPosition += 15
242
- }
243
- }
244
-
245
- Log.d(TAG, "Calling print() with ${lineCount} lines")
246
- bixolonQRPrinter.print(1, 1)
247
-
248
- bixolonQRPrinter.endTransactionPrint()
249
-
250
- Log.d(TAG, "Formatted text printed successfully using Bixolon SDK")
251
- Log.d(TAG, " Total lines processed: $lineCount")
252
- Log.d(TAG, " Final Y position: $yPosition")
253
-
254
- return true
255
-
256
- } catch (e: Exception) {
257
- Log.e(TAG, "Error printing formatted text: ${e.message}")
258
- Log.e(TAG, "Stack trace: ${e.stackTrace.joinToString("\n")}")
259
- throw e
260
- }
261
- }
262
-
263
- fun printTextSimple(text: String): Boolean {
264
- try {
265
- Log.d(TAG, "Printing simple text using Bixolon SDK")
266
- Log.d(TAG, "Full text to print: $text")
267
-
268
- val finalText = if (text.isNotEmpty()) {
269
- text
270
- } else {
271
- "Texto vacío"
272
- }
273
-
274
- bixolonQRPrinter.initializeForNewPrint()
275
-
276
- bixolonQRPrinter.beginTransactionPrint()
277
-
278
- val lines = finalText.split("\n")
279
- Log.d(TAG, "Total lines to print: ${lines.size}")
280
- var yPosition = 50
281
-
282
- for ((index, line) in lines.withIndex()) {
283
- Log.d(TAG, "Printing line ${index + 1}: '$line'")
284
-
285
- if (line.isNotEmpty()) {
286
- bixolonQRPrinter.drawText(
287
- line,
288
- 50, yPosition,
289
- BixolonQRPrinter.FONT_SIZE_10,
290
- 1, 1, 0,
291
- BixolonQRPrinter.ROTATION_NONE,
292
- false, false,
293
- BixolonQRPrinter.TEXT_ALIGNMENT_LEFT
294
- )
295
- yPosition += 25
296
- } else {
297
- yPosition += 10
298
- }
299
-
300
- if ((index + 1) % 10 == 0) {
301
- Log.d(TAG, "Adding extra spacing at line ${index + 1}")
302
- yPosition += 20
303
- }
304
- }
305
-
306
- Log.d(TAG, "Adding final spacing")
307
- yPosition += 50
308
-
309
- Log.d(TAG, "Calling print() with ${lines.size} lines")
310
- bixolonQRPrinter.print(1, 1)
311
-
312
- bixolonQRPrinter.endTransactionPrint()
313
-
314
- Log.d(TAG, "Simple text printed successfully using Bixolon SDK")
315
- Log.d(TAG, " Total lines processed: ${lines.size}")
316
- Log.d(TAG, " Final Y position: $yPosition")
317
-
318
- return true
319
-
320
- } catch (e: Exception) {
321
- Log.e(TAG, "Error printing simple text: ${e.message}")
322
- Log.e(TAG, "Stack trace: ${e.stackTrace.joinToString("\n")}")
323
- throw e
324
- }
325
- }
326
-
327
- fun printTextInPages(text: String): Boolean {
328
- try {
329
- Log.d(TAG, "Printing text in pages using Bixolon SDK")
330
- Log.d(TAG, "Full text to print: $text")
331
-
332
- val finalText = if (text.isNotEmpty()) {
333
- text
334
- } else {
335
- "Texto vacío"
336
- }
337
-
338
- val lines = finalText.split("\n")
339
- Log.d(TAG, "Total lines to print: ${lines.size}")
340
-
341
- val linesPerPage = 8
342
- val totalPages = (lines.size + linesPerPage - 1) / linesPerPage
343
-
344
- for (page in 0 until totalPages) {
345
- Log.d(TAG, "Printing page ${page + 1} of $totalPages")
346
-
347
- bixolonQRPrinter.initializeForNewPrint()
348
- bixolonQRPrinter.beginTransactionPrint()
349
-
350
- val startIndex = page * linesPerPage
351
- val endIndex = minOf(startIndex + linesPerPage, lines.size)
352
- var yPosition = 50
353
-
354
- for (i in startIndex until endIndex) {
355
- val line = lines[i]
356
- Log.d(TAG, "Printing line ${i + 1} on page ${page + 1}: '$line'")
357
-
358
- if (line.isNotEmpty()) {
359
- bixolonQRPrinter.drawText(
360
- line,
361
- 50, yPosition,
362
- BixolonQRPrinter.FONT_SIZE_10,
363
- 1, 1, 0,
364
- BixolonQRPrinter.ROTATION_NONE,
365
- false, false,
366
- BixolonQRPrinter.TEXT_ALIGNMENT_LEFT
367
- )
368
- yPosition += 30
369
- } else {
370
- yPosition += 15
371
- }
372
- }
373
-
374
- Log.d(TAG, "Adding page spacing for page ${page + 1}")
375
- yPosition += 50
376
-
377
- bixolonQRPrinter.print(1, 1)
378
- bixolonQRPrinter.endTransactionPrint()
379
-
380
- Log.d(TAG, "Page ${page + 1} printed successfully")
381
- }
382
-
383
- Log.d(TAG, "All pages printed successfully using Bixolon SDK")
384
- Log.d(TAG, " Total pages: $totalPages")
385
- Log.d(TAG, " Total lines: ${lines.size}")
386
-
387
- return true
388
-
389
- } catch (e: Exception) {
390
- Log.e(TAG, "Error printing text in pages: ${e.message}")
391
- Log.e(TAG, "Stack trace: ${e.stackTrace.joinToString("\n")}")
392
- throw e
393
- }
394
- }
395
-
396
- }
@@ -1,4 +0,0 @@
1
- import type { BixolonPrinterInterface } from './ExpoBixolon.types';
2
- export declare const BixolonPrinter: BixolonPrinterInterface;
3
- export default BixolonPrinter;
4
- //# sourceMappingURL=BixolonPrinter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BixolonPrinter.d.ts","sourceRoot":"","sources":["../src/BixolonPrinter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAWnE,eAAO,MAAM,cAAc,EAAE,uBAA2C,CAAC;AAEzE,eAAe,cAAc,CAAC"}
@@ -1,12 +0,0 @@
1
- import { NativeEventEmitter } from 'react-native';
2
- import ExpoBixolonModule from './ExpoBixolonModule';
3
- const eventEmitter = new NativeEventEmitter(ExpoBixolonModule);
4
- if (!eventEmitter.addListener) {
5
- eventEmitter.addListener = () => ({ remove: () => { } });
6
- }
7
- if (!eventEmitter.removeAllListeners) {
8
- eventEmitter.removeAllListeners = () => { };
9
- }
10
- export const BixolonPrinter = ExpoBixolonModule;
11
- export default BixolonPrinter;
12
- //# sourceMappingURL=BixolonPrinter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BixolonPrinter.js","sourceRoot":"","sources":["../src/BixolonPrinter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAGpD,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,iBAAwB,CAAC,CAAC;AAEtE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAC7B,YAAoB,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC;AACD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;IACpC,YAAoB,CAAC,kBAAkB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA4B,iBAAiB,CAAC;AAEzE,eAAe,cAAc,CAAC","sourcesContent":["import { NativeEventEmitter } from 'react-native';\nimport ExpoBixolonModule from './ExpoBixolonModule';\nimport type { BixolonPrinterInterface } from './ExpoBixolon.types';\n\nconst eventEmitter = new NativeEventEmitter(ExpoBixolonModule as any);\n\nif (!eventEmitter.addListener) {\n (eventEmitter as any).addListener = () => ({ remove: () => {} });\n}\nif (!eventEmitter.removeAllListeners) {\n (eventEmitter as any).removeAllListeners = () => {};\n}\n\nexport const BixolonPrinter: BixolonPrinterInterface = ExpoBixolonModule;\n\nexport default BixolonPrinter;\n"]}
@@ -1,45 +0,0 @@
1
- export interface BluetoothDevice {
2
- name: string;
3
- address: string;
4
- type: 'CLASSIC' | 'LE' | 'DUAL' | 'UNKNOWN';
5
- isPrinter: boolean;
6
- }
7
- export interface BluetoothPermissions {
8
- ACCESS_FINE_LOCATION: boolean;
9
- ACCESS_COARSE_LOCATION: boolean;
10
- BLUETOOTH_SCAN?: boolean;
11
- BLUETOOTH_CONNECT?: boolean;
12
- }
13
- export interface InvoiceItem {
14
- description: string;
15
- quantity: number;
16
- price: number;
17
- }
18
- export interface BixolonPrinterInterface {
19
- initializePrinter(): Promise<boolean>;
20
- connectPrinter(interfaceType: string, address: string, port: number): Promise<boolean>;
21
- disconnectPrinter(): Promise<boolean>;
22
- executeCommand(command: string): Promise<boolean>;
23
- testPlainText(text: string): Promise<boolean>;
24
- printInvoice(invoiceText: string): Promise<boolean>;
25
- printQRCode(text: string, size?: number): Promise<boolean>;
26
- printQRCodeAdvanced(data: string, horizontalPosition: number, verticalPosition: number, model: string, eccLevel: string, size: number, rotation: string): Promise<boolean>;
27
- printFormattedText(text: string, fontSize?: number): Promise<boolean>;
28
- printTextSimple(text: string): Promise<boolean>;
29
- printTextInPages(text: string): Promise<boolean>;
30
- requestBluetoothPermissions(): Promise<boolean>;
31
- checkBluetoothPermissions(): Promise<BluetoothPermissions>;
32
- discoverBluetoothDevices(): Promise<BluetoothDevice[]>;
33
- startBluetoothDiscovery(): Promise<boolean>;
34
- stopBluetoothDiscovery(): Promise<boolean>;
35
- isBluetoothEnabled(): Promise<boolean>;
36
- }
37
- export type ExpoBixolonModuleEvents = {
38
- onBluetoothDeviceDiscovered: (device: BluetoothDevice) => void;
39
- onBluetoothDiscoveryStarted: () => void;
40
- onBluetoothDiscoveryStopped: () => void;
41
- onPrinterConnected: () => void;
42
- onPrinterDisconnected: () => void;
43
- onPrintComplete: (success: boolean) => void;
44
- };
45
- //# sourceMappingURL=ExpoBixolon.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpoBixolon.types.d.ts","sourceRoot":"","sources":["../src/ExpoBixolon.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,yBAAyB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,wBAAwB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACvD,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,2BAA2B,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/D,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ExpoBixolon.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpoBixolon.types.js","sourceRoot":"","sources":["../src/ExpoBixolon.types.ts"],"names":[],"mappings":"","sourcesContent":["export interface BluetoothDevice {\n name: string;\n address: string;\n type: 'CLASSIC' | 'LE' | 'DUAL' | 'UNKNOWN';\n isPrinter: boolean;\n}\n\nexport interface BluetoothPermissions {\n ACCESS_FINE_LOCATION: boolean;\n ACCESS_COARSE_LOCATION: boolean;\n BLUETOOTH_SCAN?: boolean;\n BLUETOOTH_CONNECT?: boolean;\n}\n\nexport interface InvoiceItem {\n description: string;\n quantity: number;\n price: number;\n}\n\nexport interface BixolonPrinterInterface {\n initializePrinter(): Promise<boolean>;\n connectPrinter(interfaceType: string, address: string, port: number): Promise<boolean>;\n disconnectPrinter(): Promise<boolean>;\n executeCommand(command: string): Promise<boolean>;\n\n testPlainText(text: string): Promise<boolean>;\n\n printInvoice(invoiceText: string): Promise<boolean>;\n\n printQRCode(text: string, size?: number): Promise<boolean>;\n printQRCodeAdvanced(\n data: string,\n horizontalPosition: number,\n verticalPosition: number,\n model: string,\n eccLevel: string,\n size: number,\n rotation: string\n ): Promise<boolean>;\n printFormattedText(text: string, fontSize?: number): Promise<boolean>;\n printTextSimple(text: string): Promise<boolean>;\n printTextInPages(text: string): Promise<boolean>;\n\n requestBluetoothPermissions(): Promise<boolean>;\n checkBluetoothPermissions(): Promise<BluetoothPermissions>;\n discoverBluetoothDevices(): Promise<BluetoothDevice[]>;\n startBluetoothDiscovery(): Promise<boolean>;\n stopBluetoothDiscovery(): Promise<boolean>;\n isBluetoothEnabled(): Promise<boolean>;\n}\n\nexport type ExpoBixolonModuleEvents = {\n onBluetoothDeviceDiscovered: (device: BluetoothDevice) => void;\n onBluetoothDiscoveryStarted: () => void;\n onBluetoothDiscoveryStopped: () => void;\n onPrinterConnected: () => void;\n onPrinterDisconnected: () => void;\n onPrintComplete: (success: boolean) => void;\n};\n"]}
@@ -1,24 +0,0 @@
1
- import { NativeModule } from 'expo';
2
- import { ExpoBixolonModuleEvents, BixolonPrinterInterface } from './ExpoBixolon.types';
3
- declare class ExpoBixolonModule extends NativeModule<ExpoBixolonModuleEvents> implements BixolonPrinterInterface {
4
- printQRCode(text: string, size?: number): Promise<boolean>;
5
- printQRCodeAdvanced(data: string, horizontalPosition: number, verticalPosition: number, model: string, eccLevel: string, size: number, rotation: string): Promise<boolean>;
6
- printFormattedText(text: string, fontSize?: number): Promise<boolean>;
7
- printTextSimple(text: string): Promise<boolean>;
8
- printTextInPages(text: string): Promise<boolean>;
9
- initializePrinter(): Promise<boolean>;
10
- connectPrinter(interfaceType: string, address: string, port: number): Promise<boolean>;
11
- disconnectPrinter(): Promise<boolean>;
12
- executeCommand(command: string): Promise<boolean>;
13
- testPlainText(text: string): Promise<boolean>;
14
- printInvoice(invoiceText: string): Promise<boolean>;
15
- requestBluetoothPermissions(): Promise<boolean>;
16
- checkBluetoothPermissions(): Promise<any>;
17
- discoverBluetoothDevices(): Promise<any[]>;
18
- startBluetoothDiscovery(): Promise<boolean>;
19
- stopBluetoothDiscovery(): Promise<boolean>;
20
- isBluetoothEnabled(): Promise<boolean>;
21
- }
22
- declare const _default: ExpoBixolonModule;
23
- export default _default;
24
- //# sourceMappingURL=ExpoBixolonModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpoBixolonModule.d.ts","sourceRoot":"","sources":["../src/ExpoBixolonModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,OAAO,iBACZ,SAAQ,YAAY,CAAC,uBAAuB,CAC5C,YAAW,uBAAuB;IAElC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1D,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IACnB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACrE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IACrC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACtF,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IACrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAEjD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAEnD,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IAC/C,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC;IACzC,wBAAwB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAC3C,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAC1C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;CACvC;;AAED,wBAAqE"}
@@ -1,3 +0,0 @@
1
- import { requireNativeModule } from 'expo';
2
- export default requireNativeModule('ExpoBixolon');
3
- //# sourceMappingURL=ExpoBixolonModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpoBixolonModule.js","sourceRoot":"","sources":["../src/ExpoBixolonModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAqCzD,eAAe,mBAAmB,CAAoB,aAAa,CAAC,CAAC","sourcesContent":["import { NativeModule, requireNativeModule } from 'expo';\nimport { ExpoBixolonModuleEvents, BixolonPrinterInterface } from './ExpoBixolon.types';\n\ndeclare class ExpoBixolonModule\n extends NativeModule<ExpoBixolonModuleEvents>\n implements BixolonPrinterInterface\n{\n printQRCode(text: string, size?: number): Promise<boolean>;\n printQRCodeAdvanced(\n data: string,\n horizontalPosition: number,\n verticalPosition: number,\n model: string,\n eccLevel: string,\n size: number,\n rotation: string\n ): Promise<boolean>;\n printFormattedText(text: string, fontSize?: number): Promise<boolean>;\n printTextSimple(text: string): Promise<boolean>;\n printTextInPages(text: string): Promise<boolean>;\n initializePrinter(): Promise<boolean>;\n connectPrinter(interfaceType: string, address: string, port: number): Promise<boolean>;\n disconnectPrinter(): Promise<boolean>;\n executeCommand(command: string): Promise<boolean>;\n\n testPlainText(text: string): Promise<boolean>;\n\n printInvoice(invoiceText: string): Promise<boolean>;\n\n requestBluetoothPermissions(): Promise<boolean>;\n checkBluetoothPermissions(): Promise<any>;\n discoverBluetoothDevices(): Promise<any[]>;\n startBluetoothDiscovery(): Promise<boolean>;\n stopBluetoothDiscovery(): Promise<boolean>;\n isBluetoothEnabled(): Promise<boolean>;\n}\n\nexport default requireNativeModule<ExpoBixolonModule>('ExpoBixolon');\n"]}
@@ -1,45 +0,0 @@
1
- export interface QRCodeOptions {
2
- data: string;
3
- size?: number;
4
- }
5
- export interface QRCodeConstants {
6
- QR_CODE_MODEL1: number;
7
- QR_CODE_MODEL2: number;
8
- ECC_LEVEL_7: number;
9
- ECC_LEVEL_15: number;
10
- ECC_LEVEL_25: number;
11
- ECC_LEVEL_30: number;
12
- ROTATION_NONE: number;
13
- ROTATION_90_DEGREES: number;
14
- ROTATION_180_DEGREES: number;
15
- ROTATION_270_DEGREES: number;
16
- }
17
- export declare class QrCodePrinter {
18
- private static instance;
19
- private isInitialized;
20
- private constructor();
21
- static getInstance(): QrCodePrinter;
22
- initialize(): Promise<boolean>;
23
- printQRCode(options: QRCodeOptions): Promise<boolean>;
24
- printSimpleQRCode(data: string, size?: number): Promise<boolean>;
25
- printURLQRCode(url: string, size?: number): Promise<boolean>;
26
- printContactQRCode(contact: {
27
- name: string;
28
- phone?: string;
29
- email?: string;
30
- company?: string;
31
- title?: string;
32
- }, size?: number): Promise<boolean>;
33
- printWiFiQRCode(ssid: string, password: string, encryption?: 'WPA' | 'WEP' | 'nopass', size?: number): Promise<boolean>;
34
- printPaymentQRCode(paymentData: {
35
- amount: number;
36
- currency: string;
37
- description?: string;
38
- merchantName?: string;
39
- }, size?: number): Promise<boolean>;
40
- private generateVCard;
41
- private generatePaymentString;
42
- getConstants(): QRCodeConstants;
43
- }
44
- export default QrCodePrinter;
45
- //# sourceMappingURL=QrCodePrinter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QrCodePrinter.d.ts","sourceRoot":"","sources":["../src/QrCodePrinter.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IAEvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IAErB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO;WAEO,WAAW,IAAI,aAAa;IAO7B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAc9B,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BrD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAOnE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/D,kBAAkB,CAC7B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EACD,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAQN,eAAe,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,KAAK,GAAG,KAAK,GAAG,QAAgB,EAC5C,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAQN,kBAAkB,CAC7B,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,EACD,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAQnB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,qBAAqB;IAWtB,YAAY,IAAI,eAAe;CAcvC;AAED,eAAe,aAAa,CAAC"}