react-native-esc-pos-printer-chunyinli 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/README.md +3 -0
  2. package/android/build.gradle +93 -0
  3. package/android/generated/java/com/escposprinter/NativeEscPosPrinterDiscoverySpec.java +125 -0
  4. package/android/generated/java/com/escposprinter/NativeEscPosPrinterSpec.java +364 -0
  5. package/android/generated/jni/CMakeLists.txt +28 -0
  6. package/android/generated/jni/RNEscPosPrinterSpec-generated.cpp +198 -0
  7. package/android/generated/jni/RNEscPosPrinterSpec.h +39 -0
  8. package/android/generated/jni/react/renderer/components/RNEscPosPrinterSpec/RNEscPosPrinterSpecJSI-generated.cpp +250 -0
  9. package/android/generated/jni/react/renderer/components/RNEscPosPrinterSpec/RNEscPosPrinterSpecJSI.h +366 -0
  10. package/android/gradle.properties +5 -0
  11. package/android/libs/ePOS2.jar +0 -0
  12. package/android/src/main/AndroidManifest.xml +2 -0
  13. package/android/src/main/java/com/reactnativeescposprinter/EposStringHelper.java +429 -0
  14. package/android/src/main/java/com/reactnativeescposprinter/EscPosPrinterDiscoveryModule.java +260 -0
  15. package/android/src/main/java/com/reactnativeescposprinter/EscPosPrinterModule.java +430 -0
  16. package/android/src/main/java/com/reactnativeescposprinter/EscPosPrinterPackage.java +62 -0
  17. package/android/src/main/java/com/reactnativeescposprinter/ImageManager.java +48 -0
  18. package/android/src/main/java/com/reactnativeescposprinter/PrinterCallback.java +8 -0
  19. package/android/src/main/java/com/reactnativeescposprinter/PrinterDelegate.java +13 -0
  20. package/android/src/main/java/com/reactnativeescposprinter/ThePrinter.java +426 -0
  21. package/android/src/main/java/com/reactnativeescposprinter/ThePrinterManager.java +41 -0
  22. package/android/src/main/jniLibs/arm64-v8a/libepos2.so +0 -0
  23. package/android/src/main/jniLibs/armeabi-v7a/libepos2.so +0 -0
  24. package/android/src/main/jniLibs/x86/libepos2.so +0 -0
  25. package/android/src/main/jniLibs/x86_64/libepos2.so +0 -0
  26. package/android/src/oldarch/java/com/reactnativeescposprinter/NativeEscPosPrinterDiscoverySpec.java +124 -0
  27. package/android/src/oldarch/java/com/reactnativeescposprinter/NativeEscPosPrinterSpec.java +363 -0
  28. package/ios/EposStringHelper.h +13 -0
  29. package/ios/EposStringHelper.m +366 -0
  30. package/ios/EscPosPrinter.h +22 -0
  31. package/ios/EscPosPrinter.mm +545 -0
  32. package/ios/EscPosPrinter.xcodeproj/project.pbxproj +345 -0
  33. package/ios/EscPosPrinterDiscovery.h +17 -0
  34. package/ios/EscPosPrinterDiscovery.mm +134 -0
  35. package/ios/ImageManager.h +9 -0
  36. package/ios/ImageManager.m +52 -0
  37. package/ios/PrinterSDK/libepos2.xcframework/Headers/ePOS2.h +1808 -0
  38. package/ios/PrinterSDK/libepos2.xcframework/Info.plist +48 -0
  39. package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeDirectory +0 -0
  40. package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeRequirements +0 -0
  41. package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  42. package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeResources +158 -0
  43. package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeSignature +0 -0
  44. package/ios/PrinterSDK/libepos2.xcframework/ios-arm64/libepos2.a +0 -0
  45. package/ios/PrinterSDK/libepos2.xcframework/ios-arm64_x86_64-simulator/libepos2.a +0 -0
  46. package/ios/ThePrinter.h +151 -0
  47. package/ios/ThePrinter.m +578 -0
  48. package/ios/ThePrinterManager.h +17 -0
  49. package/ios/ThePrinterManager.m +70 -0
  50. package/ios/generated/RNEscPosPrinterSpec/RNEscPosPrinterSpec-generated.mm +255 -0
  51. package/ios/generated/RNEscPosPrinterSpec/RNEscPosPrinterSpec.h +1000 -0
  52. package/ios/generated/RNEscPosPrinterSpecJSI-generated.cpp +250 -0
  53. package/ios/generated/RNEscPosPrinterSpecJSI.h +366 -0
  54. package/lib/module/core/errors/PrinterDiscoveryError.js +15 -0
  55. package/lib/module/core/errors/PrinterDiscoveryError.js.map +1 -0
  56. package/lib/module/core/errors/PrinterError.js +15 -0
  57. package/lib/module/core/errors/PrinterError.js.map +1 -0
  58. package/lib/module/core/errors/index.js +5 -0
  59. package/lib/module/core/errors/index.js.map +1 -0
  60. package/lib/module/core/index.js +5 -0
  61. package/lib/module/core/index.js.map +1 -0
  62. package/lib/module/core/utils/constants.js +10 -0
  63. package/lib/module/core/utils/constants.js.map +1 -0
  64. package/lib/module/core/utils/index.js +5 -0
  65. package/lib/module/core/utils/index.js.map +1 -0
  66. package/lib/module/core/utils/permissions.js +62 -0
  67. package/lib/module/core/utils/permissions.js.map +1 -0
  68. package/lib/module/discovery/PrintersDiscovery.js +114 -0
  69. package/lib/module/discovery/PrintersDiscovery.js.map +1 -0
  70. package/lib/module/discovery/constants.js +86 -0
  71. package/lib/module/discovery/constants.js.map +1 -0
  72. package/lib/module/discovery/hooks/index.js +4 -0
  73. package/lib/module/discovery/hooks/index.js.map +1 -0
  74. package/lib/module/discovery/hooks/usePrintersDiscovery.js +56 -0
  75. package/lib/module/discovery/hooks/usePrintersDiscovery.js.map +1 -0
  76. package/lib/module/discovery/index.js +7 -0
  77. package/lib/module/discovery/index.js.map +1 -0
  78. package/lib/module/discovery/types.js +4 -0
  79. package/lib/module/discovery/types.js.map +1 -0
  80. package/lib/module/discovery/utils/errors.js +20 -0
  81. package/lib/module/discovery/utils/errors.js.map +1 -0
  82. package/lib/module/discovery/utils/index.js +4 -0
  83. package/lib/module/discovery/utils/index.js.map +1 -0
  84. package/lib/module/index.js +5 -0
  85. package/lib/module/index.js.map +1 -0
  86. package/lib/module/package.json +1 -0
  87. package/lib/module/printer/Printer.js +106 -0
  88. package/lib/module/printer/Printer.js.map +1 -0
  89. package/lib/module/printer/PrinterWrapper.js +316 -0
  90. package/lib/module/printer/PrinterWrapper.js.map +1 -0
  91. package/lib/module/printer/constants/enums/barcode.js +32 -0
  92. package/lib/module/printer/constants/enums/barcode.js.map +1 -0
  93. package/lib/module/printer/constants/enums/common.js +93 -0
  94. package/lib/module/printer/constants/enums/common.js.map +1 -0
  95. package/lib/module/printer/constants/enums/image.js +23 -0
  96. package/lib/module/printer/constants/enums/image.js.map +1 -0
  97. package/lib/module/printer/constants/enums/index.js +43 -0
  98. package/lib/module/printer/constants/enums/index.js.map +1 -0
  99. package/lib/module/printer/constants/enums/pulse.js +18 -0
  100. package/lib/module/printer/constants/enums/pulse.js.map +1 -0
  101. package/lib/module/printer/constants/enums/settings.js +56 -0
  102. package/lib/module/printer/constants/enums/settings.js.map +1 -0
  103. package/lib/module/printer/constants/enums/status.js +63 -0
  104. package/lib/module/printer/constants/enums/status.js.map +1 -0
  105. package/lib/module/printer/constants/enums/symbol.js +43 -0
  106. package/lib/module/printer/constants/enums/symbol.js.map +1 -0
  107. package/lib/module/printer/constants/enums/textStyle.js +19 -0
  108. package/lib/module/printer/constants/enums/textStyle.js.map +1 -0
  109. package/lib/module/printer/constants/index.js +7 -0
  110. package/lib/module/printer/constants/index.js.map +1 -0
  111. package/lib/module/printer/constants/layout.js +5 -0
  112. package/lib/module/printer/constants/layout.js.map +1 -0
  113. package/lib/module/printer/constants/valuesToKeysMappers.js +96 -0
  114. package/lib/module/printer/constants/valuesToKeysMappers.js.map +1 -0
  115. package/lib/module/printer/constants/valuesToMessagesMappers.js +200 -0
  116. package/lib/module/printer/constants/valuesToMessagesMappers.js.map +1 -0
  117. package/lib/module/printer/index.js +6 -0
  118. package/lib/module/printer/index.js.map +1 -0
  119. package/lib/module/printer/printHelpers/addTextLine.js +14 -0
  120. package/lib/module/printer/printHelpers/addTextLine.js.map +1 -0
  121. package/lib/module/printer/printHelpers/addViewShot.js +35 -0
  122. package/lib/module/printer/printHelpers/addViewShot.js.map +1 -0
  123. package/lib/module/printer/printHelpers/index.js +7 -0
  124. package/lib/module/printer/printHelpers/index.js.map +1 -0
  125. package/lib/module/printer/printHelpers/monitorPrinter.js +30 -0
  126. package/lib/module/printer/printHelpers/monitorPrinter.js.map +1 -0
  127. package/lib/module/printer/printHelpers/tryToConnectUntil.js +15 -0
  128. package/lib/module/printer/printHelpers/tryToConnectUntil.js.map +1 -0
  129. package/lib/module/printer/types.js +4 -0
  130. package/lib/module/printer/types.js.map +1 -0
  131. package/lib/module/printer/utils/BufferHelper.js +44 -0
  132. package/lib/module/printer/utils/BufferHelper.js.map +1 -0
  133. package/lib/module/printer/utils/errors.js +37 -0
  134. package/lib/module/printer/utils/errors.js.map +1 -0
  135. package/lib/module/printer/utils/index.js +7 -0
  136. package/lib/module/printer/utils/index.js.map +1 -0
  137. package/lib/module/printer/utils/layout/getFontACharsPerLine.js +97 -0
  138. package/lib/module/printer/utils/layout/getFontACharsPerLine.js.map +1 -0
  139. package/lib/module/printer/utils/layout/index.js +5 -0
  140. package/lib/module/printer/utils/layout/index.js.map +1 -0
  141. package/lib/module/printer/utils/layout/spaceBetween.js +63 -0
  142. package/lib/module/printer/utils/layout/spaceBetween.js.map +1 -0
  143. package/lib/module/printer/utils/parsers/index.js +5 -0
  144. package/lib/module/printer/utils/parsers/index.js.map +1 -0
  145. package/lib/module/printer/utils/parsers/parsePrinterSettings.js +17 -0
  146. package/lib/module/printer/utils/parsers/parsePrinterSettings.js.map +1 -0
  147. package/lib/module/printer/utils/parsers/parsePrinterStatus.js +17 -0
  148. package/lib/module/printer/utils/parsers/parsePrinterStatus.js.map +1 -0
  149. package/lib/module/specs/NativeEscPosPrinter.js +5 -0
  150. package/lib/module/specs/NativeEscPosPrinter.js.map +1 -0
  151. package/lib/module/specs/NativeEscPosPrinterDiscovery.js +5 -0
  152. package/lib/module/specs/NativeEscPosPrinterDiscovery.js.map +1 -0
  153. package/lib/module/specs/index.js +33 -0
  154. package/lib/module/specs/index.js.map +1 -0
  155. package/lib/typescript/package.json +1 -0
  156. package/lib/typescript/src/core/errors/PrinterDiscoveryError.d.ts +13 -0
  157. package/lib/typescript/src/core/errors/PrinterDiscoveryError.d.ts.map +1 -0
  158. package/lib/typescript/src/core/errors/PrinterError.d.ts +13 -0
  159. package/lib/typescript/src/core/errors/PrinterError.d.ts.map +1 -0
  160. package/lib/typescript/src/core/errors/index.d.ts +3 -0
  161. package/lib/typescript/src/core/errors/index.d.ts.map +1 -0
  162. package/lib/typescript/src/core/index.d.ts +3 -0
  163. package/lib/typescript/src/core/index.d.ts.map +1 -0
  164. package/lib/typescript/src/core/utils/constants.d.ts +2 -0
  165. package/lib/typescript/src/core/utils/constants.d.ts.map +1 -0
  166. package/lib/typescript/src/core/utils/index.d.ts +3 -0
  167. package/lib/typescript/src/core/utils/index.d.ts.map +1 -0
  168. package/lib/typescript/src/core/utils/permissions.d.ts +3 -0
  169. package/lib/typescript/src/core/utils/permissions.d.ts.map +1 -0
  170. package/lib/typescript/src/discovery/PrintersDiscovery.d.ts +22 -0
  171. package/lib/typescript/src/discovery/PrintersDiscovery.d.ts.map +1 -0
  172. package/lib/typescript/src/discovery/constants.d.ts +90 -0
  173. package/lib/typescript/src/discovery/constants.d.ts.map +1 -0
  174. package/lib/typescript/src/discovery/hooks/index.d.ts +2 -0
  175. package/lib/typescript/src/discovery/hooks/index.d.ts.map +1 -0
  176. package/lib/typescript/src/discovery/hooks/usePrintersDiscovery.d.ts +11 -0
  177. package/lib/typescript/src/discovery/hooks/usePrintersDiscovery.d.ts.map +1 -0
  178. package/lib/typescript/src/discovery/index.d.ts +5 -0
  179. package/lib/typescript/src/discovery/index.d.ts.map +1 -0
  180. package/lib/typescript/src/discovery/types.d.ts +69 -0
  181. package/lib/typescript/src/discovery/types.d.ts.map +1 -0
  182. package/lib/typescript/src/discovery/utils/errors.d.ts +9 -0
  183. package/lib/typescript/src/discovery/utils/errors.d.ts.map +1 -0
  184. package/lib/typescript/src/discovery/utils/index.d.ts +2 -0
  185. package/lib/typescript/src/discovery/utils/index.d.ts.map +1 -0
  186. package/lib/typescript/src/index.d.ts +3 -0
  187. package/lib/typescript/src/index.d.ts.map +1 -0
  188. package/lib/typescript/src/printer/Printer.d.ts +40 -0
  189. package/lib/typescript/src/printer/Printer.d.ts.map +1 -0
  190. package/lib/typescript/src/printer/PrinterWrapper.d.ts +36 -0
  191. package/lib/typescript/src/printer/PrinterWrapper.d.ts.map +1 -0
  192. package/lib/typescript/src/printer/constants/enums/barcode.d.ts +26 -0
  193. package/lib/typescript/src/printer/constants/enums/barcode.d.ts.map +1 -0
  194. package/lib/typescript/src/printer/constants/enums/common.d.ts +82 -0
  195. package/lib/typescript/src/printer/constants/enums/common.d.ts.map +1 -0
  196. package/lib/typescript/src/printer/constants/enums/image.d.ts +16 -0
  197. package/lib/typescript/src/printer/constants/enums/image.d.ts.map +1 -0
  198. package/lib/typescript/src/printer/constants/enums/index.d.ts +190 -0
  199. package/lib/typescript/src/printer/constants/enums/index.d.ts.map +1 -0
  200. package/lib/typescript/src/printer/constants/enums/pulse.d.ts +12 -0
  201. package/lib/typescript/src/printer/constants/enums/pulse.d.ts.map +1 -0
  202. package/lib/typescript/src/printer/constants/enums/settings.d.ts +48 -0
  203. package/lib/typescript/src/printer/constants/enums/settings.d.ts.map +1 -0
  204. package/lib/typescript/src/printer/constants/enums/status.d.ts +50 -0
  205. package/lib/typescript/src/printer/constants/enums/status.d.ts.map +1 -0
  206. package/lib/typescript/src/printer/constants/enums/symbol.d.ts +37 -0
  207. package/lib/typescript/src/printer/constants/enums/symbol.d.ts.map +1 -0
  208. package/lib/typescript/src/printer/constants/enums/textStyle.d.ts +13 -0
  209. package/lib/typescript/src/printer/constants/enums/textStyle.d.ts.map +1 -0
  210. package/lib/typescript/src/printer/constants/index.d.ts +5 -0
  211. package/lib/typescript/src/printer/constants/index.d.ts.map +1 -0
  212. package/lib/typescript/src/printer/constants/layout.d.ts +3 -0
  213. package/lib/typescript/src/printer/constants/layout.d.ts.map +1 -0
  214. package/lib/typescript/src/printer/constants/valuesToKeysMappers.d.ts +6 -0
  215. package/lib/typescript/src/printer/constants/valuesToKeysMappers.d.ts.map +1 -0
  216. package/lib/typescript/src/printer/constants/valuesToMessagesMappers.d.ts +112 -0
  217. package/lib/typescript/src/printer/constants/valuesToMessagesMappers.d.ts.map +1 -0
  218. package/lib/typescript/src/printer/index.d.ts +4 -0
  219. package/lib/typescript/src/printer/index.d.ts.map +1 -0
  220. package/lib/typescript/src/printer/printHelpers/addTextLine.d.ts +4 -0
  221. package/lib/typescript/src/printer/printHelpers/addTextLine.d.ts.map +1 -0
  222. package/lib/typescript/src/printer/printHelpers/addViewShot.d.ts +4 -0
  223. package/lib/typescript/src/printer/printHelpers/addViewShot.d.ts.map +1 -0
  224. package/lib/typescript/src/printer/printHelpers/index.d.ts +5 -0
  225. package/lib/typescript/src/printer/printHelpers/index.d.ts.map +1 -0
  226. package/lib/typescript/src/printer/printHelpers/monitorPrinter.d.ts +4 -0
  227. package/lib/typescript/src/printer/printHelpers/monitorPrinter.d.ts.map +1 -0
  228. package/lib/typescript/src/printer/printHelpers/tryToConnectUntil.d.ts +4 -0
  229. package/lib/typescript/src/printer/printHelpers/tryToConnectUntil.d.ts.map +1 -0
  230. package/lib/typescript/src/printer/types.d.ts +97 -0
  231. package/lib/typescript/src/printer/types.d.ts.map +1 -0
  232. package/lib/typescript/src/printer/utils/BufferHelper.d.ts +14 -0
  233. package/lib/typescript/src/printer/utils/BufferHelper.d.ts.map +1 -0
  234. package/lib/typescript/src/printer/utils/errors.d.ts +10 -0
  235. package/lib/typescript/src/printer/utils/errors.d.ts.map +1 -0
  236. package/lib/typescript/src/printer/utils/index.d.ts +5 -0
  237. package/lib/typescript/src/printer/utils/index.d.ts.map +1 -0
  238. package/lib/typescript/src/printer/utils/layout/getFontACharsPerLine.d.ts +14 -0
  239. package/lib/typescript/src/printer/utils/layout/getFontACharsPerLine.d.ts.map +1 -0
  240. package/lib/typescript/src/printer/utils/layout/index.d.ts +3 -0
  241. package/lib/typescript/src/printer/utils/layout/index.d.ts.map +1 -0
  242. package/lib/typescript/src/printer/utils/layout/spaceBetween.d.ts +3 -0
  243. package/lib/typescript/src/printer/utils/layout/spaceBetween.d.ts.map +1 -0
  244. package/lib/typescript/src/printer/utils/parsers/index.d.ts +3 -0
  245. package/lib/typescript/src/printer/utils/parsers/index.d.ts.map +1 -0
  246. package/lib/typescript/src/printer/utils/parsers/parsePrinterSettings.d.ts +3 -0
  247. package/lib/typescript/src/printer/utils/parsers/parsePrinterSettings.d.ts.map +1 -0
  248. package/lib/typescript/src/printer/utils/parsers/parsePrinterStatus.d.ts +3 -0
  249. package/lib/typescript/src/printer/utils/parsers/parsePrinterStatus.d.ts.map +1 -0
  250. package/lib/typescript/src/specs/NativeEscPosPrinter.d.ts +243 -0
  251. package/lib/typescript/src/specs/NativeEscPosPrinter.d.ts.map +1 -0
  252. package/lib/typescript/src/specs/NativeEscPosPrinterDiscovery.d.ts +46 -0
  253. package/lib/typescript/src/specs/NativeEscPosPrinterDiscovery.d.ts.map +1 -0
  254. package/lib/typescript/src/specs/index.d.ts +6 -0
  255. package/lib/typescript/src/specs/index.d.ts.map +1 -0
  256. package/package.json +181 -0
  257. package/react-native-esc-pos-printer.podspec +24 -0
  258. package/react-native.config.js +12 -0
  259. package/scripts/movelib.js +66 -0
  260. package/src/core/errors/PrinterDiscoveryError.ts +14 -0
  261. package/src/core/errors/PrinterError.ts +14 -0
  262. package/src/core/errors/index.ts +2 -0
  263. package/src/core/index.ts +2 -0
  264. package/src/core/utils/constants.ts +12 -0
  265. package/src/core/utils/index.ts +2 -0
  266. package/src/core/utils/permissions.ts +92 -0
  267. package/src/discovery/PrintersDiscovery.tsx +166 -0
  268. package/src/discovery/constants.ts +101 -0
  269. package/src/discovery/hooks/index.ts +1 -0
  270. package/src/discovery/hooks/usePrintersDiscovery.ts +69 -0
  271. package/src/discovery/index.ts +4 -0
  272. package/src/discovery/types.ts +79 -0
  273. package/src/discovery/utils/errors.ts +37 -0
  274. package/src/discovery/utils/index.ts +1 -0
  275. package/src/index.tsx +2 -0
  276. package/src/printer/Printer.ts +158 -0
  277. package/src/printer/PrinterWrapper.ts +422 -0
  278. package/src/printer/constants/enums/barcode.ts +30 -0
  279. package/src/printer/constants/enums/common.ts +90 -0
  280. package/src/printer/constants/enums/image.ts +21 -0
  281. package/src/printer/constants/enums/index.ts +104 -0
  282. package/src/printer/constants/enums/pulse.ts +16 -0
  283. package/src/printer/constants/enums/settings.ts +54 -0
  284. package/src/printer/constants/enums/status.ts +61 -0
  285. package/src/printer/constants/enums/symbol.ts +41 -0
  286. package/src/printer/constants/enums/textStyle.ts +17 -0
  287. package/src/printer/constants/index.ts +4 -0
  288. package/src/printer/constants/layout.ts +3 -0
  289. package/src/printer/constants/valuesToKeysMappers.ts +179 -0
  290. package/src/printer/constants/valuesToMessagesMappers.ts +277 -0
  291. package/src/printer/index.ts +3 -0
  292. package/src/printer/printHelpers/addTextLine.ts +26 -0
  293. package/src/printer/printHelpers/addViewShot.ts +42 -0
  294. package/src/printer/printHelpers/index.ts +4 -0
  295. package/src/printer/printHelpers/monitorPrinter.ts +41 -0
  296. package/src/printer/printHelpers/tryToConnectUntil.ts +20 -0
  297. package/src/printer/types.ts +152 -0
  298. package/src/printer/utils/BufferHelper.ts +52 -0
  299. package/src/printer/utils/errors.ts +48 -0
  300. package/src/printer/utils/index.ts +4 -0
  301. package/src/printer/utils/layout/getFontACharsPerLine.ts +119 -0
  302. package/src/printer/utils/layout/index.ts +2 -0
  303. package/src/printer/utils/layout/spaceBetween.ts +96 -0
  304. package/src/printer/utils/parsers/index.ts +2 -0
  305. package/src/printer/utils/parsers/parsePrinterSettings.ts +30 -0
  306. package/src/printer/utils/parsers/parsePrinterStatus.ts +20 -0
  307. package/src/specs/NativeEscPosPrinter.ts +284 -0
  308. package/src/specs/NativeEscPosPrinterDiscovery.ts +48 -0
  309. package/src/specs/index.ts +48 -0
@@ -0,0 +1,101 @@
1
+ import { Platform } from 'react-native';
2
+ import { remapConstants } from '../core/utils';
3
+
4
+ import { EscPosPrinterDiscovery } from '../specs';
5
+
6
+ export const DEFAULT_DISCOVERY_TIMEOUT = Platform.OS === 'ios' ? 5000 : 10000;
7
+
8
+ const DiscoveryModuleConstants = EscPosPrinterDiscovery.getConstants();
9
+
10
+ export enum DiscoveryDeviceType {
11
+ TYPE_ALL = DiscoveryModuleConstants.TYPE_ALL,
12
+ TYPE_PRINTER = DiscoveryModuleConstants.TYPE_PRINTER,
13
+ TYPE_HYBRID_PRINTER = DiscoveryModuleConstants.TYPE_HYBRID_PRINTER,
14
+ TYPE_DISPLAY = DiscoveryModuleConstants.TYPE_DISPLAY,
15
+ TYPE_KEYBOARD = DiscoveryModuleConstants.TYPE_KEYBOARD,
16
+ TYPE_SCANNER = DiscoveryModuleConstants.TYPE_SCANNER,
17
+ TYPE_SERIAL = DiscoveryModuleConstants.TYPE_SERIAL,
18
+ TYPE_POS_KEYBOARD = DiscoveryModuleConstants.TYPE_POS_KEYBOARD,
19
+ TYPE_MSR = DiscoveryModuleConstants.TYPE_MSR,
20
+ TYPE_GFE = DiscoveryModuleConstants.TYPE_GFE,
21
+ TYPE_OTHER_PERIPHERAL = DiscoveryModuleConstants.TYPE_OTHER_PERIPHERAL,
22
+ }
23
+
24
+ export enum DiscoveryFilterType { // Android only
25
+ FILTER_NAME = DiscoveryModuleConstants.FILTER_NAME,
26
+ FILTER_NONE = DiscoveryModuleConstants.FILTER_NONE,
27
+ }
28
+ export enum DiscoveryPortType {
29
+ PORTTYPE_ALL = DiscoveryModuleConstants.PORTTYPE_ALL,
30
+ PORTTYPE_TCP = DiscoveryModuleConstants.PORTTYPE_TCP,
31
+ PORTTYPE_BLUETOOTH = DiscoveryModuleConstants.PORTTYPE_BLUETOOTH,
32
+ PORTTYPE_USB = DiscoveryModuleConstants.PORTTYPE_USB,
33
+
34
+ PORTTYPE_BLUETOOTH_LE = DiscoveryModuleConstants.PORTTYPE_BLUETOOTH_LE, // iOS only
35
+ }
36
+
37
+ export enum DiscoveryDeviceModel {
38
+ MODEL_ALL = DiscoveryModuleConstants.MODEL_ALL,
39
+ }
40
+
41
+ export enum DiscoveryBooleanParams { // Android only
42
+ TRUE = DiscoveryModuleConstants.PRINTER_TRUE,
43
+ FALSE = DiscoveryModuleConstants.PRINTER_FALSE,
44
+ }
45
+
46
+ export enum PrinterPairBluetoothError {
47
+ BT_ERR_PARAM = DiscoveryModuleConstants.BT_ERR_PARAM,
48
+ BT_ERR_UNSUPPORTED = DiscoveryModuleConstants.BT_ERR_UNSUPPORTED,
49
+ BT_ERR_CANCEL = DiscoveryModuleConstants.BT_ERR_CANCEL,
50
+ BT_ERR_ILLEGAL_DEVICE = DiscoveryModuleConstants.BT_ERR_ILLEGAL_DEVICE,
51
+ ERR_FAILURE = DiscoveryModuleConstants.ERR_FAILURE,
52
+ }
53
+
54
+ export const DiscoveryFilterOption = {
55
+ ...DiscoveryDeviceType,
56
+ ...DiscoveryFilterType,
57
+ ...DiscoveryPortType,
58
+ ...DiscoveryDeviceModel,
59
+ ...DiscoveryBooleanParams,
60
+ } as const;
61
+
62
+ export enum DiscoveryErrorResult {
63
+ ERR_PARAM = DiscoveryModuleConstants.ERR_PARAM,
64
+ ERR_ILLEGAL = DiscoveryModuleConstants.ERR_ILLEGAL,
65
+ ERR_MEMORY = DiscoveryModuleConstants.ERR_MEMORY,
66
+ ERR_FAILURE = DiscoveryModuleConstants.ERR_FAILURE,
67
+ ERR_PROCESSING = DiscoveryModuleConstants.ERR_PROCESSING,
68
+ PERMISSION_ERROR = -2,
69
+ }
70
+
71
+ export const DiscoveryErrorMessageMapping = {
72
+ [DiscoveryErrorResult.ERR_PARAM]: 'An invalid parameter was passed.',
73
+ [DiscoveryErrorResult.ERR_ILLEGAL]:
74
+ 'Tried to start search when search had been already done.' +
75
+ (Platform.OS === 'android'
76
+ ? '\nBluetooth is OFF\nThere is no permission for the position information'
77
+ : ''),
78
+ [DiscoveryErrorResult.ERR_MEMORY]:
79
+ 'Memory necessary for processing could not be allo- cated.',
80
+ [DiscoveryErrorResult.ERR_FAILURE]: 'An unknown error occurred.',
81
+ [DiscoveryErrorResult.ERR_PROCESSING]: 'Could not run the process.',
82
+
83
+ [DiscoveryErrorResult.PERMISSION_ERROR]: 'Permission error',
84
+ };
85
+
86
+ export const PrinterPairBluetoothErrorMessageMapping = {
87
+ [PrinterPairBluetoothError.BT_ERR_CANCEL]: 'Pairing connection was canceled.',
88
+ [PrinterPairBluetoothError.BT_ERR_PARAM]: 'An invalid parameter was passed.',
89
+ [PrinterPairBluetoothError.BT_ERR_UNSUPPORTED]:
90
+ 'The function was executed on an unsupported OS.',
91
+ [PrinterPairBluetoothError.BT_ERR_ILLEGAL_DEVICE]:
92
+ 'An invalid device was selected.',
93
+ [DiscoveryErrorResult.ERR_FAILURE]: 'An unknown error occurred.',
94
+ };
95
+
96
+ export const DiscoveryErrorStatusMapping = remapConstants(DiscoveryErrorResult);
97
+ export const PrinterPairBluetoothErrorStatusMapping = remapConstants(
98
+ PrinterPairBluetoothError
99
+ );
100
+
101
+ export const DiscoveryDeviceTypeMapping = remapConstants(DiscoveryDeviceType);
@@ -0,0 +1 @@
1
+ export { usePrintersDiscovery } from './usePrintersDiscovery';
@@ -0,0 +1,69 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { PrintersDiscovery } from '../PrintersDiscovery';
3
+ import type { DeviceInfo, DiscoveryStartParams } from '../types';
4
+ import type { PrinterDiscoveryError } from '../../core/errors';
5
+
6
+ export function usePrintersDiscovery() {
7
+ const [printers, setPrinters] = useState<DeviceInfo[]>([]);
8
+ const [isDiscovering, setIsDescovering] = useState<boolean>(false);
9
+ const [printerError, setPrinterError] =
10
+ useState<PrinterDiscoveryError | null>(null);
11
+
12
+ useEffect(() => {
13
+ const removeListener = PrintersDiscovery.onDiscovery(
14
+ (deviceInfo: DeviceInfo[]) => {
15
+ setPrinters(deviceInfo);
16
+ }
17
+ );
18
+
19
+ return () => {
20
+ removeListener();
21
+ };
22
+ }, []);
23
+
24
+ useEffect(() => {
25
+ const removeListener = PrintersDiscovery.onStatusChange((status) => {
26
+ const isNextDiscovering = status === 'discovering';
27
+ if (isNextDiscovering) {
28
+ setPrinters([]);
29
+ setPrinterError(null);
30
+ }
31
+ setIsDescovering(isNextDiscovering);
32
+ });
33
+
34
+ return () => {
35
+ removeListener();
36
+ };
37
+ }, []);
38
+
39
+ useEffect(() => {
40
+ const removeListener = PrintersDiscovery.onError((error) => {
41
+ setPrinterError(error);
42
+ });
43
+
44
+ return () => {
45
+ removeListener();
46
+ };
47
+ }, []);
48
+
49
+ const start = useCallback((params?: DiscoveryStartParams) => {
50
+ PrintersDiscovery.start(params);
51
+ }, []);
52
+
53
+ const stop = useCallback(() => {
54
+ PrintersDiscovery.stop();
55
+ }, []);
56
+
57
+ const pairBluetoothDevice = useCallback(async (macAddress?: string) => {
58
+ await PrintersDiscovery.pairBluetoothDevice(macAddress);
59
+ }, []);
60
+
61
+ return {
62
+ printers,
63
+ isDiscovering,
64
+ printerError,
65
+ start,
66
+ stop,
67
+ pairBluetoothDevice,
68
+ };
69
+ }
@@ -0,0 +1,4 @@
1
+ export * from './hooks';
2
+ export { PrintersDiscovery } from './PrintersDiscovery';
3
+ export * from './types';
4
+ export * from './constants';
@@ -0,0 +1,79 @@
1
+ import type {
2
+ DiscoveryDeviceType,
3
+ DiscoveryFilterType,
4
+ DiscoveryPortType,
5
+ DiscoveryDeviceModel,
6
+ DiscoveryBooleanParams,
7
+ } from './constants';
8
+ export type DiscoveryStatus = 'discovering' | 'inactive';
9
+
10
+ export type RawDeviceInfo = {
11
+ deviceType: number;
12
+ target: string;
13
+ deviceName: string;
14
+ ipAddress: string;
15
+ macAddress: string;
16
+ bdAddress: string;
17
+ };
18
+
19
+ export type DeviceInfo = {
20
+ deviceType: keyof typeof DiscoveryDeviceType;
21
+ target: string;
22
+ deviceName: string;
23
+ ipAddress: string;
24
+ macAddress: string;
25
+ bdAddress: string;
26
+ };
27
+
28
+ export type FilterOption = {
29
+ /**
30
+ * @type {number} - Selects the port to search.
31
+ */
32
+ portType?: DiscoveryPortType;
33
+ /**
34
+ * @type {string} - Specify a Broadcast Address for TCP search as a string. Defaults to "255.255.255.255"
35
+ */
36
+ broadcast?: string;
37
+ /**
38
+ * @type {number} - Specifies the device model to search for. Defaults to Discovery.EPOS2_MODEL_ALL
39
+ */
40
+ deviceModel?: DiscoveryDeviceModel;
41
+ /**
42
+ * @type {number} - Android only. Filters the search result by the Epson printers.
43
+ Search can be performed for printers connected via Bluetooth or USB.
44
+ */
45
+ epsonFilter?: DiscoveryFilterType;
46
+ /**
47
+ * @type {number} - Specifies the device type to search for.
48
+ The device type settings other than "Discovery.TYPE_ALL" can be used for the following systems con- nected using Wi-Fi or Ethernet.
49
+ • Customer Display Models (SSL/TLS communication only)
50
+ • TM Printer + DM-D + barcode scanner model
51
+ • TM Printer + barcode scanner model
52
+ • POS Terminal Model
53
+ */
54
+ deviceType?: DiscoveryDeviceType;
55
+ /**
56
+ * @type {number} - Android only. Specifies the search target when searching for a device that can be connected via Bluetooth. Defaults to Discovery.FALSE
57
+ */
58
+ bondedDevices?: DiscoveryBooleanParams;
59
+
60
+ /**
61
+ * @type {number} - Android only. Specifies whether to search USB devices by their names or not.. Defaults to Discovery.FALSE
62
+ */
63
+ usbDeviceName?: DiscoveryBooleanParams;
64
+ };
65
+
66
+ export type DiscoveryStartParams = {
67
+ /**
68
+ * @type {boolean} - If true, the search will be automatically stopped after timeout is passed. Defaults to true
69
+ */
70
+ autoStop?: boolean;
71
+ /**
72
+ * @type {number} - Search will be automatically stopped after timeout is passed. Defaults to 5000ms
73
+ */
74
+ timeout?: number;
75
+ /**
76
+ * @type {object} - In order to filter the search result, set the filter option in the FilterOption type and specify it in the parameter. When filter is omited, search is run with the default settings.
77
+ */
78
+ filterOption?: FilterOption;
79
+ };
@@ -0,0 +1,37 @@
1
+ import { PrinterDiscoveryError } from '../../core';
2
+ import {
3
+ DiscoveryErrorMessageMapping,
4
+ DiscoveryErrorStatusMapping,
5
+ PrinterPairBluetoothErrorMessageMapping,
6
+ PrinterPairBluetoothErrorStatusMapping,
7
+ DiscoveryErrorResult,
8
+ } from '../constants';
9
+
10
+ export function getProcessedError({
11
+ methodName,
12
+ errorCode,
13
+ messagesMapping = DiscoveryErrorMessageMapping,
14
+ statusMapping = DiscoveryErrorStatusMapping,
15
+ }: {
16
+ methodName: string;
17
+ errorCode: string;
18
+ messagesMapping?:
19
+ | typeof DiscoveryErrorMessageMapping
20
+ | typeof PrinterPairBluetoothErrorMessageMapping;
21
+ statusMapping?:
22
+ | typeof DiscoveryErrorStatusMapping
23
+ | typeof PrinterPairBluetoothErrorStatusMapping;
24
+ }) {
25
+ const result = !isNaN(Number(errorCode))
26
+ ? errorCode
27
+ : DiscoveryErrorResult.ERR_FAILURE;
28
+
29
+ const message = messagesMapping[result];
30
+ const status = statusMapping[result];
31
+
32
+ return new PrinterDiscoveryError({
33
+ status: status,
34
+ message: message,
35
+ methodName,
36
+ });
37
+ }
@@ -0,0 +1 @@
1
+ export { getProcessedError } from './errors';
package/src/index.tsx ADDED
@@ -0,0 +1,2 @@
1
+ export * from './discovery';
2
+ export * from './printer';
@@ -0,0 +1,158 @@
1
+ import type PQueueType from 'p-queue';
2
+ import { PrinterWrapper } from './PrinterWrapper';
3
+ import { PrinterGetSettingsType, PrinterModelLang } from './constants';
4
+ import {
5
+ addTextLine,
6
+ addViewShot,
7
+ monitorPrinter,
8
+ tryToConnectUntil,
9
+ } from './printHelpers';
10
+ import type {
11
+ AddBarcodeParams,
12
+ AddCutTypeParam,
13
+ AddImageParams,
14
+ AddPulseParams,
15
+ AddSymbolParams,
16
+ AddTextAlignParam,
17
+ AddTextLangParam,
18
+ AddTextSizeParams,
19
+ AddTextSmoothParam,
20
+ AddTextStyleParams,
21
+ PrinterParams,
22
+ } from './types';
23
+
24
+ export class Printer {
25
+ private static instances: Map<string, Printer> = new Map();
26
+
27
+ public readonly deviceName: string;
28
+ private lang: PrinterModelLang;
29
+ private printerWrapper: PrinterWrapper;
30
+
31
+ public queue: unknown;
32
+
33
+ constructor({
34
+ target,
35
+ deviceName,
36
+ lang = PrinterModelLang.MODEL_ANK,
37
+ }: PrinterParams) {
38
+ if (Printer.instances.has(target)) {
39
+ return Printer.instances.get(target);
40
+ }
41
+
42
+ this.deviceName = deviceName;
43
+ this.lang = lang;
44
+ this.printerWrapper = new PrinterWrapper(target);
45
+
46
+ this.initQueue();
47
+
48
+ Printer.instances.set(target, this);
49
+ }
50
+
51
+ initQueue() {
52
+ const PQueue = require('p-queue/dist').default;
53
+ this.queue = new PQueue({ concurrency: 1 });
54
+ }
55
+
56
+ addQueueTask<TaskResultType>(
57
+ task: () => Promise<TaskResultType>
58
+ ): Promise<TaskResultType | void> {
59
+ return (this.queue as PQueueType).add(task);
60
+ }
61
+
62
+ static addTextLine = addTextLine;
63
+ static monitorPrinter = monitorPrinter;
64
+ static tryToConnectUntil = tryToConnectUntil;
65
+ static addViewShot = addViewShot;
66
+
67
+ get currentFontWidth() {
68
+ return this.printerWrapper.currentFontWidth;
69
+ }
70
+
71
+ init = () => {
72
+ return this.printerWrapper.init({
73
+ deviceName: this.deviceName,
74
+ lang: this.lang,
75
+ });
76
+ };
77
+
78
+ connect = async (timeout?: number) => {
79
+ await this.init();
80
+ return this.printerWrapper.connect(timeout);
81
+ };
82
+
83
+ disconnect = () => {
84
+ return this.printerWrapper.disconnect();
85
+ };
86
+
87
+ addText = (data: string) => {
88
+ return this.printerWrapper.addText(data);
89
+ };
90
+
91
+ addFeedLine = (line?: number) => {
92
+ return this.printerWrapper.addFeedLine(line);
93
+ };
94
+
95
+ addLineSpace = (linespc: number) => {
96
+ return this.printerWrapper.addLineSpace(linespc);
97
+ };
98
+
99
+ sendData = (timeout?: number) => {
100
+ return this.printerWrapper.sendData(timeout);
101
+ };
102
+
103
+ addCut = (type?: AddCutTypeParam) => {
104
+ return this.printerWrapper.addCut(type);
105
+ };
106
+
107
+ getPrinterSetting = (type: PrinterGetSettingsType, timeout?: number) => {
108
+ return this.printerWrapper.getPrinterSetting(type, timeout);
109
+ };
110
+
111
+ getStatus = () => {
112
+ return this.printerWrapper.getStatus();
113
+ };
114
+
115
+ addImage = (params: AddImageParams) => {
116
+ return this.printerWrapper.addImage(params);
117
+ };
118
+
119
+ addBarcode = (params: AddBarcodeParams) => {
120
+ return this.printerWrapper.addBarcode(params);
121
+ };
122
+
123
+ addSymbol = (params: AddSymbolParams) => {
124
+ return this.printerWrapper.addSymbol(params);
125
+ };
126
+
127
+ addCommand = (uint8Array: Uint8Array) => {
128
+ return this.printerWrapper.addCommand(uint8Array);
129
+ };
130
+
131
+ addPulse = (params: AddPulseParams) => {
132
+ return this.printerWrapper.addPulse(params);
133
+ };
134
+
135
+ addTextAlign = (params?: AddTextAlignParam) => {
136
+ return this.printerWrapper.addTextAlign(params);
137
+ };
138
+
139
+ addTextSize = async (params?: AddTextSizeParams) => {
140
+ await this.printerWrapper.addTextSize(params);
141
+ };
142
+
143
+ addTextSmooth = (smooth?: AddTextSmoothParam) => {
144
+ return this.printerWrapper.addTextSmooth(smooth);
145
+ };
146
+
147
+ addTextStyle = (params?: AddTextStyleParams) => {
148
+ return this.printerWrapper.addTextStyle(params);
149
+ };
150
+
151
+ addTextLang = (lang: AddTextLangParam) => {
152
+ return this.printerWrapper.addTextLang(lang);
153
+ };
154
+
155
+ clearCommandBuffer = () => {
156
+ return this.printerWrapper.clearCommandBuffer();
157
+ };
158
+ }