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
package/package.json ADDED
@@ -0,0 +1,181 @@
1
+ {
2
+ "name": "react-native-esc-pos-printer-chunyinli",
3
+ "version": "4.5.2",
4
+ "description": "An unofficial React Native library for printing on an EPSON TM printer with the Epson ePOS SDK for iOS and Epson ePOS SDK for Android",
5
+ "main": "./lib/module/index.js",
6
+ "types": "./lib/typescript/src/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "source": "./src/index.tsx",
10
+ "types": "./lib/typescript/src/index.d.ts",
11
+ "default": "./lib/module/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "files": [
16
+ "scripts",
17
+ "src",
18
+ "lib",
19
+ "android",
20
+ "ios",
21
+ "cpp",
22
+ "*.podspec",
23
+ "react-native.config.js",
24
+ "!ios/build",
25
+ "!android/build",
26
+ "!android/gradle",
27
+ "!android/gradlew",
28
+ "!android/gradlew.bat",
29
+ "!android/local.properties",
30
+ "!**/__tests__",
31
+ "!**/__fixtures__",
32
+ "!**/__mocks__",
33
+ "!**/.*",
34
+ "!scripts/movelib"
35
+ ],
36
+ "scripts": {
37
+ "example": "yarn workspace react-native-esc-pos-printer-example",
38
+ "test": "jest",
39
+ "typecheck": "tsc",
40
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
41
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
42
+ "prepare": "bob build",
43
+ "release": "release-it --only-version",
44
+ "postinstall": "node ./scripts/movelib.js"
45
+ },
46
+ "keywords": [
47
+ "react-native",
48
+ "ios",
49
+ "android"
50
+ ],
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "git+https://github.com/chunyinli/react-native-esc-pos-printer.git"
54
+ },
55
+ "author": "Chunyin LI (https://github.com/chunyinli)",
56
+ "license": "MIT",
57
+ "bugs": {
58
+ "url": "https://github.com/chunyinli/react-native-esc-pos-printer/issues"
59
+ },
60
+ "homepage": "https://github.com/chunyinli/react-native-esc-pos-printer#readme",
61
+ "publishConfig": {
62
+ "registry": "https://registry.npmjs.org/",
63
+ "access": "public"
64
+ },
65
+ "dependencies": {
66
+ "buffer": "6.0.3",
67
+ "p-queue": "7.4.1",
68
+ "react-native-esc-pos-printer-sdk": "2.31.1",
69
+ "wordwrapjs": "5.1.0"
70
+ },
71
+ "devDependencies": {
72
+ "@commitlint/config-conventional": "^19.8.1",
73
+ "@eslint/compat": "^1.3.2",
74
+ "@eslint/eslintrc": "^3.3.1",
75
+ "@eslint/js": "^9.35.0",
76
+ "@evilmartians/lefthook": "^1.12.3",
77
+ "@react-native-community/cli": "20.0.1",
78
+ "@react-native/babel-preset": "0.81.1",
79
+ "@react-native/eslint-config": "^0.81.1",
80
+ "@release-it/conventional-changelog": "^10.0.1",
81
+ "@types/jest": "^29.5.14",
82
+ "@types/react": "^19.1.0",
83
+ "commitlint": "^19.8.1",
84
+ "del-cli": "^6.0.0",
85
+ "eslint": "^9.35.0",
86
+ "eslint-config-prettier": "^10.1.8",
87
+ "eslint-plugin-prettier": "^5.5.4",
88
+ "jest": "^29.7.0",
89
+ "prettier": "^3.6.2",
90
+ "react": "19.1.0",
91
+ "react-native": "0.81.1",
92
+ "react-native-builder-bob": "^0.40.13",
93
+ "react-native-view-shot": "^3.8.0",
94
+ "release-it": "^19.0.4",
95
+ "turbo": "^2.5.6",
96
+ "typescript": "^5.9.2"
97
+ },
98
+ "peerDependencies": {
99
+ "react": "*",
100
+ "react-native": "*"
101
+ },
102
+ "workspaces": [
103
+ "example"
104
+ ],
105
+ "packageManager": "yarn@3.6.1",
106
+ "jest": {
107
+ "preset": "react-native",
108
+ "modulePathIgnorePatterns": [
109
+ "<rootDir>/example/node_modules",
110
+ "<rootDir>/lib/"
111
+ ]
112
+ },
113
+ "commitlint": {
114
+ "extends": [
115
+ "@commitlint/config-conventional"
116
+ ]
117
+ },
118
+ "release-it": {
119
+ "git": {
120
+ "commitMessage": "chore: release ${version}",
121
+ "tagName": "v${version}"
122
+ },
123
+ "npm": {
124
+ "publish": true
125
+ },
126
+ "github": {
127
+ "release": true
128
+ },
129
+ "plugins": {
130
+ "@release-it/conventional-changelog": {
131
+ "preset": {
132
+ "name": "angular"
133
+ }
134
+ }
135
+ }
136
+ },
137
+ "prettier": {
138
+ "quoteProps": "consistent",
139
+ "singleQuote": true,
140
+ "tabWidth": 2,
141
+ "trailingComma": "es5",
142
+ "useTabs": false
143
+ },
144
+ "react-native-builder-bob": {
145
+ "source": "src",
146
+ "output": "lib",
147
+ "targets": [
148
+ "codegen",
149
+ [
150
+ "module",
151
+ {
152
+ "esm": true
153
+ }
154
+ ],
155
+ [
156
+ "typescript",
157
+ {
158
+ "project": "tsconfig.build.json"
159
+ }
160
+ ]
161
+ ]
162
+ },
163
+ "codegenConfig": {
164
+ "name": "RNEscPosPrinterSpec",
165
+ "type": "modules",
166
+ "jsSrcsDir": "src/specs",
167
+ "outputDir": {
168
+ "ios": "ios/generated",
169
+ "android": "android/generated"
170
+ },
171
+ "android": {
172
+ "javaPackageName": "com.escposprinter"
173
+ },
174
+ "includesGeneratedCode": true
175
+ },
176
+ "create-react-native-library": {
177
+ "languages": "kotlin-objc",
178
+ "type": "turbo-module",
179
+ "version": "0.54.3"
180
+ }
181
+ }
@@ -0,0 +1,24 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5
+
6
+ Pod::Spec.new do |s|
7
+ s.name = "react-native-esc-pos-printer"
8
+ s.version = package["version"]
9
+ s.summary = package["description"]
10
+ s.homepage = package["homepage"]
11
+ s.license = package["license"]
12
+ s.authors = package["author"]
13
+
14
+ s.platforms = { :ios => min_ios_version_supported }
15
+ s.source = { :git => "https://github.com/tr3v3r/react-native-esc-pos-printer.git", :tag => "#{s.version}" }
16
+
17
+ s.source_files = "ios/**/*.{h,m,mm,cpp}"
18
+ s.private_header_files = "ios/generated/**/*.h"
19
+ s.vendored_frameworks = "ios/PrinterSDK/libepos2.xcframework"
20
+ s.libraries = "xml2.2"
21
+ s.frameworks = "ExternalAccessory", "CoreBluetooth"
22
+
23
+ install_modules_dependencies(s)
24
+ end
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @type {import('@react-native-community/cli-types').UserDependencyConfig}
3
+ */
4
+ module.exports = {
5
+ dependency: {
6
+ platforms: {
7
+ android: {
8
+ cmakeListsPath: 'generated/jni/CMakeLists.txt',
9
+ },
10
+ },
11
+ },
12
+ };
@@ -0,0 +1,66 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+
4
+ let dir = '../../react-native-esc-pos-printer-sdk';
5
+
6
+ if (!fs.existsSync(path.join(__dirname, dir))) {
7
+ dir = '../node_modules/react-native-esc-pos-printer-sdk';
8
+ }
9
+
10
+ const libCurrentPath = path.join(__dirname, dir, 'ios');
11
+ const libDestPath = path.join(__dirname, '../ios/PrinterSDK');
12
+
13
+ const libAndroidCurrentPath = path.join(__dirname, dir, 'android/libs');
14
+ const libAndroidDestPath = path.join(__dirname, '../android/libs');
15
+
16
+ const jnilibAndroidCurrentPath = path.join(__dirname, dir, 'android/jniLibs');
17
+ const jnilibAndroidDestPath = path.join(
18
+ __dirname,
19
+ '../android/src/main/jniLibs'
20
+ );
21
+
22
+ // Helper to recursively copy directory
23
+ function copyDirSync(src, dest) {
24
+ if (!fs.existsSync(src)) return;
25
+
26
+ if (!fs.existsSync(dest)) {
27
+ fs.mkdirSync(dest, { recursive: true });
28
+ }
29
+
30
+ const entries = fs.readdirSync(src, { withFileTypes: true });
31
+
32
+ for (const entry of entries) {
33
+ const srcPath = path.join(src, entry.name);
34
+ const destPath = path.join(dest, entry.name);
35
+
36
+ if (entry.isDirectory()) {
37
+ copyDirSync(srcPath, destPath);
38
+ } else {
39
+ fs.copyFileSync(srcPath, destPath);
40
+ }
41
+ }
42
+ }
43
+
44
+ // Copy iOS SDK
45
+ try {
46
+ copyDirSync(libCurrentPath, libDestPath);
47
+ console.log('iOS SDK copied!');
48
+ } catch (err) {
49
+ console.error(err);
50
+ }
51
+
52
+ // Copy Android libs
53
+ try {
54
+ copyDirSync(libAndroidCurrentPath, libAndroidDestPath);
55
+ console.log('Android lib copied!');
56
+ } catch (err) {
57
+ console.error(err);
58
+ }
59
+
60
+ // Copy Android jniLibs
61
+ try {
62
+ copyDirSync(jnilibAndroidCurrentPath, jnilibAndroidDestPath);
63
+ console.log('Android jniLibs copied!');
64
+ } catch (err) {
65
+ console.error(err);
66
+ }
@@ -0,0 +1,14 @@
1
+ export class PrinterDiscoveryError extends Error {
2
+ message: string = '';
3
+ name: string = 'PrinterDiscoveryError';
4
+ timestamp: number = 0;
5
+ status: string = '';
6
+ methodName: string = '';
7
+
8
+ constructor(params: { status: string; message: string; methodName: string }) {
9
+ super(params.message);
10
+ Object.assign(this, params);
11
+ }
12
+ }
13
+
14
+ PrinterDiscoveryError.prototype.name = 'PrinterDiscoveryError';
@@ -0,0 +1,14 @@
1
+ export class PrinterError extends Error {
2
+ message: string = '';
3
+ name: string = 'PrinterError';
4
+ timestamp: number = 0;
5
+ status: string = '';
6
+ methodName: string = '';
7
+
8
+ constructor(params: { status: string; message: string; methodName: string }) {
9
+ super(params.message);
10
+ Object.assign(this, params);
11
+ }
12
+ }
13
+
14
+ PrinterError.prototype.name = 'PrinterError';
@@ -0,0 +1,2 @@
1
+ export { PrinterDiscoveryError } from './PrinterDiscoveryError';
2
+ export { PrinterError } from './PrinterError';
@@ -0,0 +1,2 @@
1
+ export * from './errors';
2
+ export * from './utils';
@@ -0,0 +1,12 @@
1
+ export function remapConstants<T extends object>(
2
+ constants: T
3
+ ): Record<string, keyof T> {
4
+ return Object.keys(constants).reduce(
5
+ (acc, key) => {
6
+ const value = constants[key as keyof T];
7
+ acc[String(value)] = key as keyof T;
8
+ return acc;
9
+ },
10
+ {} as Record<string, keyof T>
11
+ );
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from './constants';
2
+ export * from './permissions';
@@ -0,0 +1,92 @@
1
+ import { PermissionsAndroid, Platform } from 'react-native';
2
+
3
+ import type { EventSubscription, Permission } from 'react-native';
4
+ import { EscPosPrinterDiscovery } from '../../specs';
5
+
6
+ const platformVersion = Platform.Version as number;
7
+ export async function requestAndroidPermissions(): Promise<boolean> {
8
+ if (platformVersion < 23) return true;
9
+
10
+ let permissions: Permission[] = [];
11
+
12
+ if (platformVersion >= 31) {
13
+ const permissionBluetoothScanGranted = await PermissionsAndroid.check(
14
+ PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN
15
+ );
16
+
17
+ const permissionBluetoothConnectGranted = await PermissionsAndroid.check(
18
+ PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT
19
+ );
20
+
21
+ if (!permissionBluetoothScanGranted) {
22
+ permissions.push(PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN);
23
+ }
24
+
25
+ if (!permissionBluetoothConnectGranted) {
26
+ permissions.push(PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT);
27
+ }
28
+ } else if (platformVersion >= 29 && platformVersion <= 30) {
29
+ const permissionFineLocationGranted = await PermissionsAndroid.check(
30
+ PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
31
+ );
32
+
33
+ if (!permissionFineLocationGranted) {
34
+ permissions.push(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
35
+ }
36
+ } else {
37
+ const permissionCoarseLocationGranted = await PermissionsAndroid.check(
38
+ PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION
39
+ );
40
+
41
+ if (!permissionCoarseLocationGranted) {
42
+ permissions.push(PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION);
43
+ }
44
+ }
45
+
46
+ if (permissions.length > 0) {
47
+ const status = await PermissionsAndroid.requestMultiple(permissions);
48
+ return Object.keys(status ?? {}).every(
49
+ (key) => status[key as Permission] === PermissionsAndroid.RESULTS.GRANTED
50
+ );
51
+ }
52
+
53
+ return true;
54
+ }
55
+
56
+ export function enableLocationAccessAndroid10() {
57
+ if (platformVersion > 28) {
58
+ let successListener: EventSubscription | null;
59
+ let errorListener: EventSubscription | null;
60
+
61
+ function removeListeners() {
62
+ successListener?.remove();
63
+ errorListener?.remove();
64
+
65
+ successListener = null;
66
+ errorListener = null;
67
+ }
68
+
69
+ return new Promise((res, rej) => {
70
+ successListener = EscPosPrinterDiscovery.enableLocationSettingSuccess(
71
+ () => {
72
+ removeListeners();
73
+ res(true);
74
+ }
75
+ );
76
+
77
+ errorListener = EscPosPrinterDiscovery.enableLocationSettingFailure(
78
+ () => {
79
+ removeListeners();
80
+ rej(false);
81
+ }
82
+ );
83
+
84
+ EscPosPrinterDiscovery.enableLocationSetting().then(() => {
85
+ removeListeners();
86
+ res(true);
87
+ });
88
+ });
89
+ }
90
+
91
+ return Promise.resolve(true);
92
+ }
@@ -0,0 +1,166 @@
1
+ import { Platform } from 'react-native';
2
+
3
+ import {
4
+ PrinterDiscoveryError,
5
+ enableLocationAccessAndroid10,
6
+ requestAndroidPermissions,
7
+ } from '../core';
8
+ import type {
9
+ DiscoveryStartParams,
10
+ DeviceInfo,
11
+ DiscoveryStatus,
12
+ RawDeviceInfo,
13
+ } from './types';
14
+ import {
15
+ DEFAULT_DISCOVERY_TIMEOUT,
16
+ DiscoveryErrorResult,
17
+ DiscoveryDeviceTypeMapping,
18
+ PrinterPairBluetoothErrorMessageMapping,
19
+ PrinterPairBluetoothErrorStatusMapping,
20
+ } from './constants';
21
+ import { getProcessedError } from './utils';
22
+ import { EscPosPrinterDiscovery } from '../specs';
23
+
24
+ class PrintersDiscoveryClass {
25
+ timeout: ReturnType<typeof setTimeout> | null = null;
26
+ status: DiscoveryStatus = 'inactive';
27
+ statusListeners: ((status: DiscoveryStatus) => void)[] = [];
28
+ errorListeners: ((error: PrinterDiscoveryError) => void)[] = [];
29
+
30
+ public start = async ({
31
+ timeout = DEFAULT_DISCOVERY_TIMEOUT,
32
+ autoStop = true,
33
+ filterOption = {},
34
+ }: DiscoveryStartParams = {}) => {
35
+ try {
36
+ if (this.status === 'discovering') return;
37
+
38
+ if (
39
+ (Platform.OS === 'android' && !(await requestAndroidPermissions())) ||
40
+ !(await enableLocationAccessAndroid10())
41
+ ) {
42
+ this.triggerError(
43
+ 'PrintersDiscovery.start',
44
+ new Error(String(DiscoveryErrorResult.PERMISSION_ERROR))
45
+ );
46
+ return;
47
+ }
48
+
49
+ this.setStatus('discovering');
50
+
51
+ await EscPosPrinterDiscovery.startDiscovery(filterOption);
52
+
53
+ if (autoStop) {
54
+ this.stopAfterDelay(timeout);
55
+ }
56
+ } catch (error) {
57
+ this.setStatus('inactive');
58
+ this.triggerError('start', error as Error);
59
+ }
60
+ };
61
+
62
+ public stop = async () => {
63
+ try {
64
+ if (this.status === 'inactive') return;
65
+ this.clearTimeout();
66
+
67
+ await EscPosPrinterDiscovery.stopDiscovery();
68
+
69
+ this.setStatus('inactive');
70
+ } catch (error) {
71
+ this.triggerError('stop', error as Error);
72
+ }
73
+ };
74
+
75
+ private stopAfterDelay = (timeout: number) => {
76
+ this.timeout = setTimeout(() => {
77
+ this.timeout = null;
78
+ this.stop();
79
+ }, timeout);
80
+ };
81
+
82
+ private clearTimeout = () => {
83
+ if (this.timeout) {
84
+ clearTimeout(this.timeout);
85
+ this.timeout = null;
86
+ }
87
+ };
88
+
89
+ public onStatusChange = (callback: (status: DiscoveryStatus) => void) => {
90
+ this.statusListeners.push(callback);
91
+
92
+ return () => {
93
+ this.statusListeners = this.statusListeners.filter(
94
+ (listener) => listener !== callback
95
+ );
96
+ };
97
+ };
98
+
99
+ public onError = (callback: (error: PrinterDiscoveryError) => void) => {
100
+ this.errorListeners.push(callback);
101
+
102
+ return () => {
103
+ this.errorListeners = this.errorListeners.filter(
104
+ (listener) => listener !== callback
105
+ );
106
+ };
107
+ };
108
+
109
+ public onDiscovery = (callback: (printers: DeviceInfo[]) => void) => {
110
+ const listener = EscPosPrinterDiscovery.onDiscovery(
111
+ (printer: RawDeviceInfo[]) => {
112
+ callback(
113
+ printer.map((info) => ({
114
+ ...info,
115
+ deviceType: DiscoveryDeviceTypeMapping[info.deviceType]!,
116
+ }))
117
+ );
118
+ }
119
+ );
120
+
121
+ return () => {
122
+ listener.remove();
123
+ };
124
+ };
125
+
126
+ pairBluetoothDevice = async (macAddress?: string) => {
127
+ if (Platform.OS === 'ios') {
128
+ try {
129
+ await EscPosPrinterDiscovery.pairBluetoothDevice(macAddress || '');
130
+ } catch (error) {
131
+ throw getProcessedError({
132
+ methodName: 'pairBluetoothDevice',
133
+ errorCode: error.message,
134
+ messagesMapping: PrinterPairBluetoothErrorMessageMapping,
135
+ statusMapping: PrinterPairBluetoothErrorStatusMapping,
136
+ });
137
+ }
138
+ } else {
139
+ return Promise.resolve();
140
+ }
141
+ };
142
+
143
+ private triggerError = (methodName: string, error: Error) => {
144
+ const processedError = getProcessedError({
145
+ methodName,
146
+ errorCode: error.message,
147
+ });
148
+
149
+ this.errorListeners.forEach((listener) => listener(processedError));
150
+ };
151
+
152
+ private triggerStatusChange = (status: DiscoveryStatus) => {
153
+ this.statusListeners.forEach((listener) => listener(status));
154
+ };
155
+
156
+ private setStatus = (status: DiscoveryStatus) => {
157
+ this.status = status;
158
+ this.triggerStatusChange(status);
159
+ };
160
+ }
161
+
162
+ function initPrintersClass() {
163
+ return new PrintersDiscoveryClass();
164
+ }
165
+
166
+ export const PrintersDiscovery = initPrintersClass();