react-native-earl-thermal-printer 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 (140) hide show
  1. package/README.md +441 -0
  2. package/android/build/.transforms/9bdecbc31aaf57a08a337d36d73153ec/results.bin +1 -0
  3. package/android/build/.transforms/9bdecbc31aaf57a08a337d36d73153ec/transformed/classes/classes_dex/classes.dex +0 -0
  4. package/android/build/.transforms/bc167481fd58833142c92ba32b0fc3e3/results.bin +1 -0
  5. package/android/build/.transforms/bc167481fd58833142c92ba32b0fc3e3/transformed/classes/classes_dex/classes.dex +0 -0
  6. package/android/build/generated/source/buildConfig/debug/com/pinmi/react/printer/BuildConfig.java +10 -0
  7. package/android/build/generated/source/codegen/java/com/pinmi/react/printer/NativeBLEPrinterSpec.java +70 -0
  8. package/android/build/generated/source/codegen/java/com/pinmi/react/printer/NativeNetPrinterSpec.java +70 -0
  9. package/android/build/generated/source/codegen/java/com/pinmi/react/printer/NativeUSBPrinterSpec.java +62 -0
  10. package/android/build/generated/source/codegen/jni/CMakeLists.txt +46 -0
  11. package/android/build/generated/source/codegen/jni/RNThermalReceiptPrinterSpec-generated.cpp +190 -0
  12. package/android/build/generated/source/codegen/jni/RNThermalReceiptPrinterSpec.h +49 -0
  13. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/ComponentDescriptors.h +22 -0
  14. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/EventEmitters.cpp +18 -0
  15. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/EventEmitters.h +19 -0
  16. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/Props.cpp +21 -0
  17. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/Props.h +20 -0
  18. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/RNThermalReceiptPrinterSpecJSI-generated.cpp +205 -0
  19. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/RNThermalReceiptPrinterSpecJSI.h +355 -0
  20. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/ShadowNodes.cpp +19 -0
  21. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/ShadowNodes.h +25 -0
  22. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/States.cpp +18 -0
  23. package/android/build/generated/source/codegen/jni/react/renderer/components/RNThermalReceiptPrinterSpec/States.h +23 -0
  24. package/android/build/generated/source/codegen/schema.json +514 -0
  25. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +13 -0
  26. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  27. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +5 -0
  28. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  29. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  30. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  31. package/android/build/intermediates/compile_symbol_list/debug/R.txt +1 -0
  32. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  33. package/android/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml +4 -0
  34. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  35. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  36. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  37. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  38. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/BuildConfig.class +0 -0
  39. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/NativeBLEPrinterSpec.class +0 -0
  40. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/NativeNetPrinterSpec.class +0 -0
  41. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/NativeUSBPrinterSpec.class +0 -0
  42. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/RNBLEPrinterModule.class +0 -0
  43. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/RNNetPrinterModule.class +0 -0
  44. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/RNPrinterModule.class +0 -0
  45. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/RNPrinterPackage.class +0 -0
  46. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/RNUSBPrinterModule.class +0 -0
  47. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/BLEPrinterAdapter$1.class +0 -0
  48. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/BLEPrinterAdapter.class +0 -0
  49. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/BLEPrinterDevice.class +0 -0
  50. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/BLEPrinterDeviceId.class +0 -0
  51. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/NetPrinterAdapter$1.class +0 -0
  52. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/NetPrinterAdapter$2.class +0 -0
  53. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/NetPrinterAdapter.class +0 -0
  54. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/NetPrinterDevice.class +0 -0
  55. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/NetPrinterDeviceId.class +0 -0
  56. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/PrinterAdapter.class +0 -0
  57. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/PrinterDevice.class +0 -0
  58. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/PrinterDeviceId.class +0 -0
  59. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/USBPrinterAdapter$1.class +0 -0
  60. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/USBPrinterAdapter$2.class +0 -0
  61. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/USBPrinterAdapter.class +0 -0
  62. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/USBPrinterDevice.class +0 -0
  63. package/android/build/intermediates/javac/debug/classes/com/pinmi/react/printer/adapter/USBPrinterDeviceId.class +0 -0
  64. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +3 -0
  65. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +23 -0
  66. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +13 -0
  67. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  68. package/android/build/intermediates/packaged_res/debug/values/values.xml +4 -0
  69. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  70. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +2 -0
  71. package/android/build/outputs/logs/manifest-merger-debug-report.txt +37 -0
  72. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  73. package/android/build.gradle +30 -0
  74. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  75. package/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  76. package/android/gradlew +160 -0
  77. package/android/gradlew.bat +90 -0
  78. package/android/src/androidTest/java/com/pinmi/react/printer/ExampleInstrumentedTest.java +26 -0
  79. package/android/src/main/AndroidManifest.xml +10 -0
  80. package/android/src/main/java/com/pinmi/react/printer/RNBLEPrinterModule.java +91 -0
  81. package/android/src/main/java/com/pinmi/react/printer/RNNetPrinterModule.java +95 -0
  82. package/android/src/main/java/com/pinmi/react/printer/RNPrinterModule.java +24 -0
  83. package/android/src/main/java/com/pinmi/react/printer/RNPrinterPackage.java +57 -0
  84. package/android/src/main/java/com/pinmi/react/printer/RNUSBPrinterModule.java +79 -0
  85. package/android/src/main/java/com/pinmi/react/printer/adapter/BLEPrinterAdapter.java +391 -0
  86. package/android/src/main/java/com/pinmi/react/printer/adapter/BLEPrinterDevice.java +33 -0
  87. package/android/src/main/java/com/pinmi/react/printer/adapter/BLEPrinterDeviceId.java +38 -0
  88. package/android/src/main/java/com/pinmi/react/printer/adapter/NetPrinterAdapter.java +433 -0
  89. package/android/src/main/java/com/pinmi/react/printer/adapter/NetPrinterDevice.java +30 -0
  90. package/android/src/main/java/com/pinmi/react/printer/adapter/NetPrinterDeviceId.java +48 -0
  91. package/android/src/main/java/com/pinmi/react/printer/adapter/PrinterAdapter.java +29 -0
  92. package/android/src/main/java/com/pinmi/react/printer/adapter/PrinterDevice.java +17 -0
  93. package/android/src/main/java/com/pinmi/react/printer/adapter/PrinterDeviceId.java +8 -0
  94. package/android/src/main/java/com/pinmi/react/printer/adapter/USBPrinterAdapter.java +468 -0
  95. package/android/src/main/java/com/pinmi/react/printer/adapter/USBPrinterDevice.java +41 -0
  96. package/android/src/main/java/com/pinmi/react/printer/adapter/USBPrinterDeviceId.java +49 -0
  97. package/android/src/main/res/values/strings.xml +3 -0
  98. package/android/src/test/java/com/pinmi/react/printer/ExampleUnitTest.java +17 -0
  99. package/dist/NativeBLEPrinter.d.ts +15 -0
  100. package/dist/NativeBLEPrinter.d.ts.map +1 -0
  101. package/dist/NativeBLEPrinter.js +3 -0
  102. package/dist/NativeBLEPrinter.js.map +1 -0
  103. package/dist/NativeNetPrinter.d.ts +15 -0
  104. package/dist/NativeNetPrinter.d.ts.map +1 -0
  105. package/dist/NativeNetPrinter.js +3 -0
  106. package/dist/NativeNetPrinter.js.map +1 -0
  107. package/dist/NativeUSBPrinter.d.ts +13 -0
  108. package/dist/NativeUSBPrinter.d.ts.map +1 -0
  109. package/dist/NativeUSBPrinter.js +3 -0
  110. package/dist/NativeUSBPrinter.js.map +1 -0
  111. package/dist/index.d.ts +59 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +58 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/utils/EPToolkit.d.ts +9 -0
  116. package/dist/utils/EPToolkit.d.ts.map +1 -0
  117. package/dist/utils/EPToolkit.js +161 -0
  118. package/dist/utils/EPToolkit.js.map +1 -0
  119. package/dist/utils/buffer-helper.d.ts +12 -0
  120. package/dist/utils/buffer-helper.d.ts.map +1 -0
  121. package/dist/utils/buffer-helper.js +32 -0
  122. package/dist/utils/buffer-helper.js.map +1 -0
  123. package/ios/PrinterSDK/PrinterSDK.h +74 -0
  124. package/ios/PrinterSDK/libPrinterSDK.a +0 -0
  125. package/ios/RNBLEPrinter.h +24 -0
  126. package/ios/RNBLEPrinter.mm +251 -0
  127. package/ios/RNNetPrinter.h +25 -0
  128. package/ios/RNNetPrinter.mm +306 -0
  129. package/ios/RNThermalReceiptPrinter.xcodeproj/project.pbxproj +294 -0
  130. package/ios/RNThermalReceiptPrinter.xcworkspace/contents.xcworkspacedata +9 -0
  131. package/ios/RNUSBPrinter.h +19 -0
  132. package/ios/RNUSBPrinter.mm +80 -0
  133. package/package.json +70 -0
  134. package/react-native-earl-thermal-printer.podspec +22 -0
  135. package/src/NativeBLEPrinter.ts +16 -0
  136. package/src/NativeNetPrinter.ts +16 -0
  137. package/src/NativeUSBPrinter.ts +14 -0
  138. package/src/index.ts +160 -0
  139. package/src/utils/EPToolkit.ts +193 -0
  140. package/src/utils/buffer-helper.ts +42 -0
@@ -0,0 +1,294 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 2248FA1822AE5CDD0015571C /* RNBLEPrinter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248FA1722AE5CDD0015571C /* RNBLEPrinter.m */; };
11
+ 225666E122B0ABD800EF323A /* RNUSBPrinter.m in Sources */ = {isa = PBXBuildFile; fileRef = 225666E022B0ABD800EF323A /* RNUSBPrinter.m */; };
12
+ 22BC54C9229E811F006DE50F /* libPrinterSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22BC54C8229E811F006DE50F /* libPrinterSDK.a */; };
13
+ 22F425A422AFB2A400673AFC /* RNNetPrinter.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F425A322AFB2A400673AFC /* RNNetPrinter.m */; };
14
+ /* End PBXBuildFile section */
15
+
16
+ /* Begin PBXCopyFilesBuildPhase section */
17
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
18
+ isa = PBXCopyFilesBuildPhase;
19
+ buildActionMask = 2147483647;
20
+ dstPath = "include/$(PRODUCT_NAME)";
21
+ dstSubfolderSpec = 16;
22
+ files = (
23
+ );
24
+ runOnlyForDeploymentPostprocessing = 0;
25
+ };
26
+ /* End PBXCopyFilesBuildPhase section */
27
+
28
+ /* Begin PBXFileReference section */
29
+ 134814201AA4EA6300B7C361 /* libRNThermalReceiptPrinter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNThermalReceiptPrinter.a; sourceTree = BUILT_PRODUCTS_DIR; };
30
+ 2248FA1622AE5CB40015571C /* RNBLEPrinter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNBLEPrinter.h; sourceTree = "<group>"; };
31
+ 2248FA1722AE5CDD0015571C /* RNBLEPrinter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNBLEPrinter.m; sourceTree = "<group>"; };
32
+ 225666E022B0ABD800EF323A /* RNUSBPrinter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNUSBPrinter.m; sourceTree = "<group>"; };
33
+ 225666E222B0ABE900EF323A /* RNUSBPrinter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNUSBPrinter.h; sourceTree = "<group>"; };
34
+ 22BC54C6229E80D8006DE50F /* PrinterSDK */ = {isa = PBXFileReference; lastKnownFileType = folder; path = PrinterSDK; sourceTree = "<group>"; };
35
+ 22BC54C8229E811F006DE50F /* libPrinterSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPrinterSDK.a; path = PrinterSDK/libPrinterSDK.a; sourceTree = "<group>"; };
36
+ 22F425A222AFB28F00673AFC /* RNNetPrinter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNetPrinter.h; sourceTree = "<group>"; };
37
+ 22F425A322AFB2A400673AFC /* RNNetPrinter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNetPrinter.m; sourceTree = "<group>"; };
38
+ /* End PBXFileReference section */
39
+
40
+ /* Begin PBXFrameworksBuildPhase section */
41
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
42
+ isa = PBXFrameworksBuildPhase;
43
+ buildActionMask = 2147483647;
44
+ files = (
45
+ 22BC54C9229E811F006DE50F /* libPrinterSDK.a in Frameworks */,
46
+ );
47
+ runOnlyForDeploymentPostprocessing = 0;
48
+ };
49
+ /* End PBXFrameworksBuildPhase section */
50
+
51
+ /* Begin PBXGroup section */
52
+ 134814211AA4EA7D00B7C361 /* Products */ = {
53
+ isa = PBXGroup;
54
+ children = (
55
+ 134814201AA4EA6300B7C361 /* libRNThermalReceiptPrinter.a */,
56
+ );
57
+ name = Products;
58
+ sourceTree = "<group>";
59
+ };
60
+ 22BC54C7229E811F006DE50F /* Frameworks */ = {
61
+ isa = PBXGroup;
62
+ children = (
63
+ 22BC54C8229E811F006DE50F /* libPrinterSDK.a */,
64
+ );
65
+ name = Frameworks;
66
+ sourceTree = "<group>";
67
+ };
68
+ 58B511D21A9E6C8500147676 = {
69
+ isa = PBXGroup;
70
+ children = (
71
+ 225666E222B0ABE900EF323A /* RNUSBPrinter.h */,
72
+ 225666E022B0ABD800EF323A /* RNUSBPrinter.m */,
73
+ 22F425A322AFB2A400673AFC /* RNNetPrinter.m */,
74
+ 22F425A222AFB28F00673AFC /* RNNetPrinter.h */,
75
+ 2248FA1722AE5CDD0015571C /* RNBLEPrinter.m */,
76
+ 2248FA1622AE5CB40015571C /* RNBLEPrinter.h */,
77
+ 22BC54C6229E80D8006DE50F /* PrinterSDK */,
78
+ 134814211AA4EA7D00B7C361 /* Products */,
79
+ 22BC54C7229E811F006DE50F /* Frameworks */,
80
+ );
81
+ sourceTree = "<group>";
82
+ };
83
+ /* End PBXGroup section */
84
+
85
+ /* Begin PBXNativeTarget section */
86
+ 58B511DA1A9E6C8500147676 /* RNThermalReceiptPrinter */ = {
87
+ isa = PBXNativeTarget;
88
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNThermalReceiptPrinter" */;
89
+ buildPhases = (
90
+ 58B511D71A9E6C8500147676 /* Sources */,
91
+ 58B511D81A9E6C8500147676 /* Frameworks */,
92
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
93
+ );
94
+ buildRules = (
95
+ );
96
+ dependencies = (
97
+ );
98
+ name = RNThermalReceiptPrinter;
99
+ productName = RCTDataManager;
100
+ productReference = 134814201AA4EA6300B7C361 /* libRNThermalReceiptPrinter.a */;
101
+ productType = "com.apple.product-type.library.static";
102
+ };
103
+ /* End PBXNativeTarget section */
104
+
105
+ /* Begin PBXProject section */
106
+ 58B511D31A9E6C8500147676 /* Project object */ = {
107
+ isa = PBXProject;
108
+ attributes = {
109
+ LastUpgradeCheck = 0830;
110
+ ORGANIZATIONNAME = Facebook;
111
+ TargetAttributes = {
112
+ 58B511DA1A9E6C8500147676 = {
113
+ CreatedOnToolsVersion = 6.1.1;
114
+ };
115
+ };
116
+ };
117
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNThermalReceiptPrinter" */;
118
+ compatibilityVersion = "Xcode 3.2";
119
+ developmentRegion = English;
120
+ hasScannedForEncodings = 0;
121
+ knownRegions = (
122
+ English,
123
+ en,
124
+ );
125
+ mainGroup = 58B511D21A9E6C8500147676;
126
+ productRefGroup = 58B511D21A9E6C8500147676;
127
+ projectDirPath = "";
128
+ projectRoot = "";
129
+ targets = (
130
+ 58B511DA1A9E6C8500147676 /* RNThermalReceiptPrinter */,
131
+ );
132
+ };
133
+ /* End PBXProject section */
134
+
135
+ /* Begin PBXSourcesBuildPhase section */
136
+ 58B511D71A9E6C8500147676 /* Sources */ = {
137
+ isa = PBXSourcesBuildPhase;
138
+ buildActionMask = 2147483647;
139
+ files = (
140
+ 22F425A422AFB2A400673AFC /* RNNetPrinter.m in Sources */,
141
+ 2248FA1822AE5CDD0015571C /* RNBLEPrinter.m in Sources */,
142
+ 225666E122B0ABD800EF323A /* RNUSBPrinter.m in Sources */,
143
+ );
144
+ runOnlyForDeploymentPostprocessing = 0;
145
+ };
146
+ /* End PBXSourcesBuildPhase section */
147
+
148
+ /* Begin XCBuildConfiguration section */
149
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
150
+ isa = XCBuildConfiguration;
151
+ buildSettings = {
152
+ ALWAYS_SEARCH_USER_PATHS = NO;
153
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
154
+ CLANG_CXX_LIBRARY = "libc++";
155
+ CLANG_ENABLE_MODULES = YES;
156
+ CLANG_ENABLE_OBJC_ARC = YES;
157
+ CLANG_WARN_BOOL_CONVERSION = YES;
158
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
159
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
160
+ CLANG_WARN_EMPTY_BODY = YES;
161
+ CLANG_WARN_ENUM_CONVERSION = YES;
162
+ CLANG_WARN_INFINITE_RECURSION = YES;
163
+ CLANG_WARN_INT_CONVERSION = YES;
164
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
165
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
166
+ CLANG_WARN_UNREACHABLE_CODE = YES;
167
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
168
+ COPY_PHASE_STRIP = NO;
169
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
170
+ ENABLE_TESTABILITY = YES;
171
+ GCC_C_LANGUAGE_STANDARD = gnu99;
172
+ GCC_DYNAMIC_NO_PIC = NO;
173
+ GCC_NO_COMMON_BLOCKS = YES;
174
+ GCC_OPTIMIZATION_LEVEL = 0;
175
+ GCC_PREPROCESSOR_DEFINITIONS = (
176
+ "DEBUG=1",
177
+ "$(inherited)",
178
+ );
179
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
180
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
181
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
182
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
183
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
184
+ GCC_WARN_UNUSED_FUNCTION = YES;
185
+ GCC_WARN_UNUSED_VARIABLE = YES;
186
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
187
+ MTL_ENABLE_DEBUG_INFO = YES;
188
+ ONLY_ACTIVE_ARCH = YES;
189
+ SDKROOT = iphoneos;
190
+ };
191
+ name = Debug;
192
+ };
193
+ 58B511EE1A9E6C8500147676 /* Release */ = {
194
+ isa = XCBuildConfiguration;
195
+ buildSettings = {
196
+ ALWAYS_SEARCH_USER_PATHS = NO;
197
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
198
+ CLANG_CXX_LIBRARY = "libc++";
199
+ CLANG_ENABLE_MODULES = YES;
200
+ CLANG_ENABLE_OBJC_ARC = YES;
201
+ CLANG_WARN_BOOL_CONVERSION = YES;
202
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
203
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
204
+ CLANG_WARN_EMPTY_BODY = YES;
205
+ CLANG_WARN_ENUM_CONVERSION = YES;
206
+ CLANG_WARN_INFINITE_RECURSION = YES;
207
+ CLANG_WARN_INT_CONVERSION = YES;
208
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
209
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
210
+ CLANG_WARN_UNREACHABLE_CODE = YES;
211
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
212
+ COPY_PHASE_STRIP = YES;
213
+ ENABLE_NS_ASSERTIONS = NO;
214
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
215
+ GCC_C_LANGUAGE_STANDARD = gnu99;
216
+ GCC_NO_COMMON_BLOCKS = YES;
217
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
218
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
219
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
220
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
221
+ GCC_WARN_UNUSED_FUNCTION = YES;
222
+ GCC_WARN_UNUSED_VARIABLE = YES;
223
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
224
+ MTL_ENABLE_DEBUG_INFO = NO;
225
+ SDKROOT = iphoneos;
226
+ VALIDATE_PRODUCT = YES;
227
+ };
228
+ name = Release;
229
+ };
230
+ 58B511F01A9E6C8500147676 /* Debug */ = {
231
+ isa = XCBuildConfiguration;
232
+ buildSettings = {
233
+ HEADER_SEARCH_PATHS = (
234
+ "$(inherited)",
235
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
236
+ "$(SRCROOT)/../../../React/**",
237
+ "$(SRCROOT)/../../react-native/React/**",
238
+ "$(PROJECT_DIR)/PrinterSDK",
239
+ );
240
+ LIBRARY_SEARCH_PATHS = (
241
+ "$(inherited)",
242
+ "$(PROJECT_DIR)/PrinterSDK",
243
+ );
244
+ OTHER_LDFLAGS = "-ObjC";
245
+ PRODUCT_NAME = RNThermalReceiptPrinter;
246
+ SKIP_INSTALL = YES;
247
+ };
248
+ name = Debug;
249
+ };
250
+ 58B511F11A9E6C8500147676 /* Release */ = {
251
+ isa = XCBuildConfiguration;
252
+ buildSettings = {
253
+ HEADER_SEARCH_PATHS = (
254
+ "$(inherited)",
255
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
256
+ "$(SRCROOT)/../../../React/**",
257
+ "$(SRCROOT)/../../react-native/React/**",
258
+ "$(PROJECT_DIR)/PrinterSDK",
259
+ );
260
+ LIBRARY_SEARCH_PATHS = (
261
+ "$(inherited)",
262
+ "$(PROJECT_DIR)/PrinterSDK",
263
+ );
264
+ OTHER_LDFLAGS = "-ObjC";
265
+ PRODUCT_NAME = RNThermalReceiptPrinter;
266
+ SKIP_INSTALL = YES;
267
+ };
268
+ name = Release;
269
+ };
270
+ /* End XCBuildConfiguration section */
271
+
272
+ /* Begin XCConfigurationList section */
273
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNThermalReceiptPrinter" */ = {
274
+ isa = XCConfigurationList;
275
+ buildConfigurations = (
276
+ 58B511ED1A9E6C8500147676 /* Debug */,
277
+ 58B511EE1A9E6C8500147676 /* Release */,
278
+ );
279
+ defaultConfigurationIsVisible = 0;
280
+ defaultConfigurationName = Release;
281
+ };
282
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNThermalReceiptPrinter" */ = {
283
+ isa = XCConfigurationList;
284
+ buildConfigurations = (
285
+ 58B511F01A9E6C8500147676 /* Debug */,
286
+ 58B511F11A9E6C8500147676 /* Release */,
287
+ );
288
+ defaultConfigurationIsVisible = 0;
289
+ defaultConfigurationName = Release;
290
+ };
291
+ /* End XCConfigurationList section */
292
+ };
293
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
294
+ }
@@ -0,0 +1,9 @@
1
+ // !$*UTF8*$!
2
+ <?xml version="1.0" encoding="UTF-8"?>
3
+ <Workspace
4
+ version = "1.0">
5
+ <FileRef
6
+ location = "group:RNThermalReceiptPrinter.xcodeproj">
7
+ </FileRef>
8
+ </Workspace>
9
+
@@ -0,0 +1,19 @@
1
+ //
2
+ // RNUSBPrinter.h
3
+ // react-native-earl-thermal-printer
4
+ //
5
+ // Author: Ordovez, Earl Romeo
6
+ //
7
+
8
+ #pragma once
9
+
10
+ #import <React/RCTBridgeModule.h>
11
+
12
+ #ifdef RCT_NEW_ARCH_ENABLED
13
+ #import <RNThermalReceiptPrinterSpec/RNThermalReceiptPrinterSpec.h>
14
+ @interface RNUSBPrinter : NSObject <NativeUSBPrinterSpec>
15
+ #else
16
+ @interface RNUSBPrinter : NSObject <RCTBridgeModule>
17
+ #endif
18
+
19
+ @end
@@ -0,0 +1,80 @@
1
+ //
2
+ // RNUSBPrinter.mm
3
+ // react-native-earl-thermal-printer
4
+ //
5
+ // USB printers are not supported on iOS. This module provides stub
6
+ // implementations so the TurboModule spec is satisfied.
7
+ //
8
+ // Author: Ordovez, Earl Romeo
9
+ //
10
+
11
+ #import "RNUSBPrinter.h"
12
+
13
+ #ifdef RCT_NEW_ARCH_ENABLED
14
+ #import "RNThermalReceiptPrinterSpec.h"
15
+ #endif
16
+
17
+ @implementation RNUSBPrinter
18
+
19
+ - (dispatch_queue_t)methodQueue
20
+ {
21
+ return dispatch_get_main_queue();
22
+ }
23
+
24
+ RCT_EXPORT_MODULE()
25
+
26
+ RCT_EXPORT_METHOD(init:(RCTPromiseResolveBlock)resolve
27
+ reject:(RCTPromiseRejectBlock)reject)
28
+ {
29
+ reject(@"ERR_UNSUPPORTED", @"USB printing is not supported on iOS", nil);
30
+ }
31
+
32
+ RCT_EXPORT_METHOD(getDeviceList:(RCTPromiseResolveBlock)resolve
33
+ reject:(RCTPromiseRejectBlock)reject)
34
+ {
35
+ reject(@"ERR_UNSUPPORTED", @"USB printing is not supported on iOS", nil);
36
+ }
37
+
38
+ RCT_EXPORT_METHOD(connectPrinter:(double)vendorId
39
+ productId:(double)productId
40
+ resolve:(RCTPromiseResolveBlock)resolve
41
+ reject:(RCTPromiseRejectBlock)reject)
42
+ {
43
+ reject(@"ERR_UNSUPPORTED", @"USB printing is not supported on iOS", nil);
44
+ }
45
+
46
+ RCT_EXPORT_METHOD(printRawData:(NSString *)base64Data
47
+ resolve:(RCTPromiseResolveBlock)resolve
48
+ reject:(RCTPromiseRejectBlock)reject)
49
+ {
50
+ reject(@"ERR_UNSUPPORTED", @"USB printing is not supported on iOS", nil);
51
+ }
52
+
53
+ RCT_EXPORT_METHOD(printImageData:(NSString *)imageUrl
54
+ resolve:(RCTPromiseResolveBlock)resolve
55
+ reject:(RCTPromiseRejectBlock)reject)
56
+ {
57
+ reject(@"ERR_UNSUPPORTED", @"USB printing is not supported on iOS", nil);
58
+ }
59
+
60
+ RCT_EXPORT_METHOD(printQrCode:(NSString *)qrCode
61
+ resolve:(RCTPromiseResolveBlock)resolve
62
+ reject:(RCTPromiseRejectBlock)reject)
63
+ {
64
+ reject(@"ERR_UNSUPPORTED", @"USB printing is not supported on iOS", nil);
65
+ }
66
+
67
+ RCT_EXPORT_METHOD(closeConn)
68
+ {
69
+ // No-op on iOS
70
+ }
71
+
72
+ #ifdef RCT_NEW_ARCH_ENABLED
73
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
74
+ (const facebook::react::ObjCTurboModule::InitParams &)params
75
+ {
76
+ return std::make_shared<facebook::react::NativeUSBPrinterSpecJSI>(params);
77
+ }
78
+ #endif
79
+
80
+ @end
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "react-native-earl-thermal-printer",
3
+ "version": "1.0.0",
4
+ "description": "A modern, high-performance thermal printer library for React Native. Built with the New Architecture (TurboModules) for synchronous communication, zero legacy bridge overhead, and Android 12+ Bluetooth compliance.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "source": "src/index.ts",
8
+ "scripts": {
9
+ "pods": "cd example && pod-install --quiet",
10
+ "example": "yarn --cwd example",
11
+ "bootstrap": "yarn example && yarn && yarn pods",
12
+ "build": "rimraf ./dist && tsc",
13
+ "prepare": "npm run build"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/Swif7ify/react-native-earl-thermal-printer.git"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "src",
22
+ "android",
23
+ "ios",
24
+ "react-native-earl-thermal-printer.podspec"
25
+ ],
26
+ "codegenConfig": {
27
+ "name": "RNThermalReceiptPrinterSpec",
28
+ "type": "modules",
29
+ "jsSrcsDir": "src",
30
+ "android": {
31
+ "javaPackageName": "com.pinmi.react.printer"
32
+ }
33
+ },
34
+ "keywords": [
35
+ "react-native",
36
+ "thermal",
37
+ "printer",
38
+ "bluetooth",
39
+ "net",
40
+ "usb",
41
+ "turbomodule",
42
+ "new-architecture",
43
+ "android",
44
+ "ios"
45
+ ],
46
+ "dependencies": {
47
+ "buffer": "^5.6.0",
48
+ "iconv-lite": "^0.6.2",
49
+ "string_decoder": "^1.3.0"
50
+ },
51
+ "peerDependencies": {
52
+ "react": ">=18.0.0",
53
+ "react-native": ">=0.73.0"
54
+ },
55
+ "devDependencies": {
56
+ "@types/react": "^18.2.0",
57
+ "react": "^18.2.0",
58
+ "react-native": "^0.73.0",
59
+ "rimraf": "^5.0.0",
60
+ "typescript": "^5.3.0"
61
+ },
62
+ "author": "Ordovez, Earl Romeo",
63
+ "funding": {
64
+ "type": "github",
65
+ "url": "https://github.com/sponsors/Swif7ify"
66
+ },
67
+ "homepage": "https://github.com/Swif7ify/react-native-earl-thermal-printer#readme",
68
+ "bugs": "https://github.com/Swif7ify/react-native-earl-thermal-printer/issues",
69
+ "license": "ISC"
70
+ }
@@ -0,0 +1,22 @@
1
+ require 'json'
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = package['name']
7
+ s.version = package['version']
8
+ s.summary = package['description']
9
+ s.license = package['license']
10
+
11
+ s.authors = package['author']
12
+ s.homepage = package['homepage']
13
+ s.platform = :ios, "13.4"
14
+
15
+ s.source = { :git => "https://github.com/Swif7ify/react-native-earl-thermal-printer.git", :tag => "v#{s.version}" }
16
+ s.source_files = "ios/**/*.{h,m,mm}"
17
+ s.requires_arc = true
18
+ s.ios.vendored_libraries = "ios/PrinterSDK/libPrinterSDK.a"
19
+ s.xcconfig = { 'HEADER_SEARCH_PATHS' => '"${PROJECT_DIR}/PrinterSDK"/**' }
20
+
21
+ install_modules_dependencies(s)
22
+ end
@@ -0,0 +1,16 @@
1
+ import type { TurboModule } from "react-native";
2
+ import { TurboModuleRegistry } from "react-native";
3
+
4
+ export interface Spec extends TurboModule {
5
+ init(): Promise<string>;
6
+ getDeviceList(): Promise<Object[]>;
7
+ connectPrinter(innerAddress: string): Promise<Object>;
8
+ closeConn(): void;
9
+ printRawData(base64Data: string): Promise<void>;
10
+ printImageData(imageUrl: string): Promise<void>;
11
+ printQrCode(qrCode: string): Promise<void>;
12
+ addListener(eventName: string): void;
13
+ removeListeners(count: number): void;
14
+ }
15
+
16
+ export default TurboModuleRegistry.getEnforcing<Spec>("RNBLEPrinter");
@@ -0,0 +1,16 @@
1
+ import type { TurboModule } from "react-native";
2
+ import { TurboModuleRegistry } from "react-native";
3
+
4
+ export interface Spec extends TurboModule {
5
+ init(): Promise<string>;
6
+ getDeviceList(): Promise<Object[]>;
7
+ connectPrinter(host: string, port: number): Promise<Object>;
8
+ closeConn(): void;
9
+ printRawData(base64Data: string): Promise<void>;
10
+ printImageData(imageUrl: string): Promise<void>;
11
+ printQrCode(qrCode: string): Promise<void>;
12
+ addListener(eventName: string): void;
13
+ removeListeners(count: number): void;
14
+ }
15
+
16
+ export default TurboModuleRegistry.getEnforcing<Spec>("RNNetPrinter");
@@ -0,0 +1,14 @@
1
+ import type { TurboModule } from "react-native";
2
+ import { TurboModuleRegistry } from "react-native";
3
+
4
+ export interface Spec extends TurboModule {
5
+ init(): Promise<string>;
6
+ getDeviceList(): Promise<Object[]>;
7
+ connectPrinter(vendorId: number, productId: number): Promise<Object>;
8
+ closeConn(): void;
9
+ printRawData(base64Data: string): Promise<void>;
10
+ printImageData(imageUrl: string): Promise<void>;
11
+ printQrCode(qrCode: string): Promise<void>;
12
+ }
13
+
14
+ export default TurboModuleRegistry.getEnforcing<Spec>("RNUSBPrinter");