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.
- package/README.md +3 -0
- package/android/build.gradle +93 -0
- package/android/generated/java/com/escposprinter/NativeEscPosPrinterDiscoverySpec.java +125 -0
- package/android/generated/java/com/escposprinter/NativeEscPosPrinterSpec.java +364 -0
- package/android/generated/jni/CMakeLists.txt +28 -0
- package/android/generated/jni/RNEscPosPrinterSpec-generated.cpp +198 -0
- package/android/generated/jni/RNEscPosPrinterSpec.h +39 -0
- package/android/generated/jni/react/renderer/components/RNEscPosPrinterSpec/RNEscPosPrinterSpecJSI-generated.cpp +250 -0
- package/android/generated/jni/react/renderer/components/RNEscPosPrinterSpec/RNEscPosPrinterSpecJSI.h +366 -0
- package/android/gradle.properties +5 -0
- package/android/libs/ePOS2.jar +0 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/com/reactnativeescposprinter/EposStringHelper.java +429 -0
- package/android/src/main/java/com/reactnativeescposprinter/EscPosPrinterDiscoveryModule.java +260 -0
- package/android/src/main/java/com/reactnativeescposprinter/EscPosPrinterModule.java +430 -0
- package/android/src/main/java/com/reactnativeescposprinter/EscPosPrinterPackage.java +62 -0
- package/android/src/main/java/com/reactnativeescposprinter/ImageManager.java +48 -0
- package/android/src/main/java/com/reactnativeescposprinter/PrinterCallback.java +8 -0
- package/android/src/main/java/com/reactnativeescposprinter/PrinterDelegate.java +13 -0
- package/android/src/main/java/com/reactnativeescposprinter/ThePrinter.java +426 -0
- package/android/src/main/java/com/reactnativeescposprinter/ThePrinterManager.java +41 -0
- package/android/src/main/jniLibs/arm64-v8a/libepos2.so +0 -0
- package/android/src/main/jniLibs/armeabi-v7a/libepos2.so +0 -0
- package/android/src/main/jniLibs/x86/libepos2.so +0 -0
- package/android/src/main/jniLibs/x86_64/libepos2.so +0 -0
- package/android/src/oldarch/java/com/reactnativeescposprinter/NativeEscPosPrinterDiscoverySpec.java +124 -0
- package/android/src/oldarch/java/com/reactnativeescposprinter/NativeEscPosPrinterSpec.java +363 -0
- package/ios/EposStringHelper.h +13 -0
- package/ios/EposStringHelper.m +366 -0
- package/ios/EscPosPrinter.h +22 -0
- package/ios/EscPosPrinter.mm +545 -0
- package/ios/EscPosPrinter.xcodeproj/project.pbxproj +345 -0
- package/ios/EscPosPrinterDiscovery.h +17 -0
- package/ios/EscPosPrinterDiscovery.mm +134 -0
- package/ios/ImageManager.h +9 -0
- package/ios/ImageManager.m +52 -0
- package/ios/PrinterSDK/libepos2.xcframework/Headers/ePOS2.h +1808 -0
- package/ios/PrinterSDK/libepos2.xcframework/Info.plist +48 -0
- package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeRequirements +0 -0
- package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeResources +158 -0
- package/ios/PrinterSDK/libepos2.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/PrinterSDK/libepos2.xcframework/ios-arm64/libepos2.a +0 -0
- package/ios/PrinterSDK/libepos2.xcframework/ios-arm64_x86_64-simulator/libepos2.a +0 -0
- package/ios/ThePrinter.h +151 -0
- package/ios/ThePrinter.m +578 -0
- package/ios/ThePrinterManager.h +17 -0
- package/ios/ThePrinterManager.m +70 -0
- package/ios/generated/RNEscPosPrinterSpec/RNEscPosPrinterSpec-generated.mm +255 -0
- package/ios/generated/RNEscPosPrinterSpec/RNEscPosPrinterSpec.h +1000 -0
- package/ios/generated/RNEscPosPrinterSpecJSI-generated.cpp +250 -0
- package/ios/generated/RNEscPosPrinterSpecJSI.h +366 -0
- package/lib/module/core/errors/PrinterDiscoveryError.js +15 -0
- package/lib/module/core/errors/PrinterDiscoveryError.js.map +1 -0
- package/lib/module/core/errors/PrinterError.js +15 -0
- package/lib/module/core/errors/PrinterError.js.map +1 -0
- package/lib/module/core/errors/index.js +5 -0
- package/lib/module/core/errors/index.js.map +1 -0
- package/lib/module/core/index.js +5 -0
- package/lib/module/core/index.js.map +1 -0
- package/lib/module/core/utils/constants.js +10 -0
- package/lib/module/core/utils/constants.js.map +1 -0
- package/lib/module/core/utils/index.js +5 -0
- package/lib/module/core/utils/index.js.map +1 -0
- package/lib/module/core/utils/permissions.js +62 -0
- package/lib/module/core/utils/permissions.js.map +1 -0
- package/lib/module/discovery/PrintersDiscovery.js +114 -0
- package/lib/module/discovery/PrintersDiscovery.js.map +1 -0
- package/lib/module/discovery/constants.js +86 -0
- package/lib/module/discovery/constants.js.map +1 -0
- package/lib/module/discovery/hooks/index.js +4 -0
- package/lib/module/discovery/hooks/index.js.map +1 -0
- package/lib/module/discovery/hooks/usePrintersDiscovery.js +56 -0
- package/lib/module/discovery/hooks/usePrintersDiscovery.js.map +1 -0
- package/lib/module/discovery/index.js +7 -0
- package/lib/module/discovery/index.js.map +1 -0
- package/lib/module/discovery/types.js +4 -0
- package/lib/module/discovery/types.js.map +1 -0
- package/lib/module/discovery/utils/errors.js +20 -0
- package/lib/module/discovery/utils/errors.js.map +1 -0
- package/lib/module/discovery/utils/index.js +4 -0
- package/lib/module/discovery/utils/index.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/printer/Printer.js +106 -0
- package/lib/module/printer/Printer.js.map +1 -0
- package/lib/module/printer/PrinterWrapper.js +316 -0
- package/lib/module/printer/PrinterWrapper.js.map +1 -0
- package/lib/module/printer/constants/enums/barcode.js +32 -0
- package/lib/module/printer/constants/enums/barcode.js.map +1 -0
- package/lib/module/printer/constants/enums/common.js +93 -0
- package/lib/module/printer/constants/enums/common.js.map +1 -0
- package/lib/module/printer/constants/enums/image.js +23 -0
- package/lib/module/printer/constants/enums/image.js.map +1 -0
- package/lib/module/printer/constants/enums/index.js +43 -0
- package/lib/module/printer/constants/enums/index.js.map +1 -0
- package/lib/module/printer/constants/enums/pulse.js +18 -0
- package/lib/module/printer/constants/enums/pulse.js.map +1 -0
- package/lib/module/printer/constants/enums/settings.js +56 -0
- package/lib/module/printer/constants/enums/settings.js.map +1 -0
- package/lib/module/printer/constants/enums/status.js +63 -0
- package/lib/module/printer/constants/enums/status.js.map +1 -0
- package/lib/module/printer/constants/enums/symbol.js +43 -0
- package/lib/module/printer/constants/enums/symbol.js.map +1 -0
- package/lib/module/printer/constants/enums/textStyle.js +19 -0
- package/lib/module/printer/constants/enums/textStyle.js.map +1 -0
- package/lib/module/printer/constants/index.js +7 -0
- package/lib/module/printer/constants/index.js.map +1 -0
- package/lib/module/printer/constants/layout.js +5 -0
- package/lib/module/printer/constants/layout.js.map +1 -0
- package/lib/module/printer/constants/valuesToKeysMappers.js +96 -0
- package/lib/module/printer/constants/valuesToKeysMappers.js.map +1 -0
- package/lib/module/printer/constants/valuesToMessagesMappers.js +200 -0
- package/lib/module/printer/constants/valuesToMessagesMappers.js.map +1 -0
- package/lib/module/printer/index.js +6 -0
- package/lib/module/printer/index.js.map +1 -0
- package/lib/module/printer/printHelpers/addTextLine.js +14 -0
- package/lib/module/printer/printHelpers/addTextLine.js.map +1 -0
- package/lib/module/printer/printHelpers/addViewShot.js +35 -0
- package/lib/module/printer/printHelpers/addViewShot.js.map +1 -0
- package/lib/module/printer/printHelpers/index.js +7 -0
- package/lib/module/printer/printHelpers/index.js.map +1 -0
- package/lib/module/printer/printHelpers/monitorPrinter.js +30 -0
- package/lib/module/printer/printHelpers/monitorPrinter.js.map +1 -0
- package/lib/module/printer/printHelpers/tryToConnectUntil.js +15 -0
- package/lib/module/printer/printHelpers/tryToConnectUntil.js.map +1 -0
- package/lib/module/printer/types.js +4 -0
- package/lib/module/printer/types.js.map +1 -0
- package/lib/module/printer/utils/BufferHelper.js +44 -0
- package/lib/module/printer/utils/BufferHelper.js.map +1 -0
- package/lib/module/printer/utils/errors.js +37 -0
- package/lib/module/printer/utils/errors.js.map +1 -0
- package/lib/module/printer/utils/index.js +7 -0
- package/lib/module/printer/utils/index.js.map +1 -0
- package/lib/module/printer/utils/layout/getFontACharsPerLine.js +97 -0
- package/lib/module/printer/utils/layout/getFontACharsPerLine.js.map +1 -0
- package/lib/module/printer/utils/layout/index.js +5 -0
- package/lib/module/printer/utils/layout/index.js.map +1 -0
- package/lib/module/printer/utils/layout/spaceBetween.js +63 -0
- package/lib/module/printer/utils/layout/spaceBetween.js.map +1 -0
- package/lib/module/printer/utils/parsers/index.js +5 -0
- package/lib/module/printer/utils/parsers/index.js.map +1 -0
- package/lib/module/printer/utils/parsers/parsePrinterSettings.js +17 -0
- package/lib/module/printer/utils/parsers/parsePrinterSettings.js.map +1 -0
- package/lib/module/printer/utils/parsers/parsePrinterStatus.js +17 -0
- package/lib/module/printer/utils/parsers/parsePrinterStatus.js.map +1 -0
- package/lib/module/specs/NativeEscPosPrinter.js +5 -0
- package/lib/module/specs/NativeEscPosPrinter.js.map +1 -0
- package/lib/module/specs/NativeEscPosPrinterDiscovery.js +5 -0
- package/lib/module/specs/NativeEscPosPrinterDiscovery.js.map +1 -0
- package/lib/module/specs/index.js +33 -0
- package/lib/module/specs/index.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/core/errors/PrinterDiscoveryError.d.ts +13 -0
- package/lib/typescript/src/core/errors/PrinterDiscoveryError.d.ts.map +1 -0
- package/lib/typescript/src/core/errors/PrinterError.d.ts +13 -0
- package/lib/typescript/src/core/errors/PrinterError.d.ts.map +1 -0
- package/lib/typescript/src/core/errors/index.d.ts +3 -0
- package/lib/typescript/src/core/errors/index.d.ts.map +1 -0
- package/lib/typescript/src/core/index.d.ts +3 -0
- package/lib/typescript/src/core/index.d.ts.map +1 -0
- package/lib/typescript/src/core/utils/constants.d.ts +2 -0
- package/lib/typescript/src/core/utils/constants.d.ts.map +1 -0
- package/lib/typescript/src/core/utils/index.d.ts +3 -0
- package/lib/typescript/src/core/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/core/utils/permissions.d.ts +3 -0
- package/lib/typescript/src/core/utils/permissions.d.ts.map +1 -0
- package/lib/typescript/src/discovery/PrintersDiscovery.d.ts +22 -0
- package/lib/typescript/src/discovery/PrintersDiscovery.d.ts.map +1 -0
- package/lib/typescript/src/discovery/constants.d.ts +90 -0
- package/lib/typescript/src/discovery/constants.d.ts.map +1 -0
- package/lib/typescript/src/discovery/hooks/index.d.ts +2 -0
- package/lib/typescript/src/discovery/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/discovery/hooks/usePrintersDiscovery.d.ts +11 -0
- package/lib/typescript/src/discovery/hooks/usePrintersDiscovery.d.ts.map +1 -0
- package/lib/typescript/src/discovery/index.d.ts +5 -0
- package/lib/typescript/src/discovery/index.d.ts.map +1 -0
- package/lib/typescript/src/discovery/types.d.ts +69 -0
- package/lib/typescript/src/discovery/types.d.ts.map +1 -0
- package/lib/typescript/src/discovery/utils/errors.d.ts +9 -0
- package/lib/typescript/src/discovery/utils/errors.d.ts.map +1 -0
- package/lib/typescript/src/discovery/utils/index.d.ts +2 -0
- package/lib/typescript/src/discovery/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/Printer.d.ts +40 -0
- package/lib/typescript/src/printer/Printer.d.ts.map +1 -0
- package/lib/typescript/src/printer/PrinterWrapper.d.ts +36 -0
- package/lib/typescript/src/printer/PrinterWrapper.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/barcode.d.ts +26 -0
- package/lib/typescript/src/printer/constants/enums/barcode.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/common.d.ts +82 -0
- package/lib/typescript/src/printer/constants/enums/common.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/image.d.ts +16 -0
- package/lib/typescript/src/printer/constants/enums/image.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/index.d.ts +190 -0
- package/lib/typescript/src/printer/constants/enums/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/pulse.d.ts +12 -0
- package/lib/typescript/src/printer/constants/enums/pulse.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/settings.d.ts +48 -0
- package/lib/typescript/src/printer/constants/enums/settings.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/status.d.ts +50 -0
- package/lib/typescript/src/printer/constants/enums/status.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/symbol.d.ts +37 -0
- package/lib/typescript/src/printer/constants/enums/symbol.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/enums/textStyle.d.ts +13 -0
- package/lib/typescript/src/printer/constants/enums/textStyle.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/index.d.ts +5 -0
- package/lib/typescript/src/printer/constants/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/layout.d.ts +3 -0
- package/lib/typescript/src/printer/constants/layout.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/valuesToKeysMappers.d.ts +6 -0
- package/lib/typescript/src/printer/constants/valuesToKeysMappers.d.ts.map +1 -0
- package/lib/typescript/src/printer/constants/valuesToMessagesMappers.d.ts +112 -0
- package/lib/typescript/src/printer/constants/valuesToMessagesMappers.d.ts.map +1 -0
- package/lib/typescript/src/printer/index.d.ts +4 -0
- package/lib/typescript/src/printer/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/printHelpers/addTextLine.d.ts +4 -0
- package/lib/typescript/src/printer/printHelpers/addTextLine.d.ts.map +1 -0
- package/lib/typescript/src/printer/printHelpers/addViewShot.d.ts +4 -0
- package/lib/typescript/src/printer/printHelpers/addViewShot.d.ts.map +1 -0
- package/lib/typescript/src/printer/printHelpers/index.d.ts +5 -0
- package/lib/typescript/src/printer/printHelpers/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/printHelpers/monitorPrinter.d.ts +4 -0
- package/lib/typescript/src/printer/printHelpers/monitorPrinter.d.ts.map +1 -0
- package/lib/typescript/src/printer/printHelpers/tryToConnectUntil.d.ts +4 -0
- package/lib/typescript/src/printer/printHelpers/tryToConnectUntil.d.ts.map +1 -0
- package/lib/typescript/src/printer/types.d.ts +97 -0
- package/lib/typescript/src/printer/types.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/BufferHelper.d.ts +14 -0
- package/lib/typescript/src/printer/utils/BufferHelper.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/errors.d.ts +10 -0
- package/lib/typescript/src/printer/utils/errors.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/index.d.ts +5 -0
- package/lib/typescript/src/printer/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/layout/getFontACharsPerLine.d.ts +14 -0
- package/lib/typescript/src/printer/utils/layout/getFontACharsPerLine.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/layout/index.d.ts +3 -0
- package/lib/typescript/src/printer/utils/layout/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/layout/spaceBetween.d.ts +3 -0
- package/lib/typescript/src/printer/utils/layout/spaceBetween.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/parsers/index.d.ts +3 -0
- package/lib/typescript/src/printer/utils/parsers/index.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/parsers/parsePrinterSettings.d.ts +3 -0
- package/lib/typescript/src/printer/utils/parsers/parsePrinterSettings.d.ts.map +1 -0
- package/lib/typescript/src/printer/utils/parsers/parsePrinterStatus.d.ts +3 -0
- package/lib/typescript/src/printer/utils/parsers/parsePrinterStatus.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeEscPosPrinter.d.ts +243 -0
- package/lib/typescript/src/specs/NativeEscPosPrinter.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeEscPosPrinterDiscovery.d.ts +46 -0
- package/lib/typescript/src/specs/NativeEscPosPrinterDiscovery.d.ts.map +1 -0
- package/lib/typescript/src/specs/index.d.ts +6 -0
- package/lib/typescript/src/specs/index.d.ts.map +1 -0
- package/package.json +181 -0
- package/react-native-esc-pos-printer.podspec +24 -0
- package/react-native.config.js +12 -0
- package/scripts/movelib.js +66 -0
- package/src/core/errors/PrinterDiscoveryError.ts +14 -0
- package/src/core/errors/PrinterError.ts +14 -0
- package/src/core/errors/index.ts +2 -0
- package/src/core/index.ts +2 -0
- package/src/core/utils/constants.ts +12 -0
- package/src/core/utils/index.ts +2 -0
- package/src/core/utils/permissions.ts +92 -0
- package/src/discovery/PrintersDiscovery.tsx +166 -0
- package/src/discovery/constants.ts +101 -0
- package/src/discovery/hooks/index.ts +1 -0
- package/src/discovery/hooks/usePrintersDiscovery.ts +69 -0
- package/src/discovery/index.ts +4 -0
- package/src/discovery/types.ts +79 -0
- package/src/discovery/utils/errors.ts +37 -0
- package/src/discovery/utils/index.ts +1 -0
- package/src/index.tsx +2 -0
- package/src/printer/Printer.ts +158 -0
- package/src/printer/PrinterWrapper.ts +422 -0
- package/src/printer/constants/enums/barcode.ts +30 -0
- package/src/printer/constants/enums/common.ts +90 -0
- package/src/printer/constants/enums/image.ts +21 -0
- package/src/printer/constants/enums/index.ts +104 -0
- package/src/printer/constants/enums/pulse.ts +16 -0
- package/src/printer/constants/enums/settings.ts +54 -0
- package/src/printer/constants/enums/status.ts +61 -0
- package/src/printer/constants/enums/symbol.ts +41 -0
- package/src/printer/constants/enums/textStyle.ts +17 -0
- package/src/printer/constants/index.ts +4 -0
- package/src/printer/constants/layout.ts +3 -0
- package/src/printer/constants/valuesToKeysMappers.ts +179 -0
- package/src/printer/constants/valuesToMessagesMappers.ts +277 -0
- package/src/printer/index.ts +3 -0
- package/src/printer/printHelpers/addTextLine.ts +26 -0
- package/src/printer/printHelpers/addViewShot.ts +42 -0
- package/src/printer/printHelpers/index.ts +4 -0
- package/src/printer/printHelpers/monitorPrinter.ts +41 -0
- package/src/printer/printHelpers/tryToConnectUntil.ts +20 -0
- package/src/printer/types.ts +152 -0
- package/src/printer/utils/BufferHelper.ts +52 -0
- package/src/printer/utils/errors.ts +48 -0
- package/src/printer/utils/index.ts +4 -0
- package/src/printer/utils/layout/getFontACharsPerLine.ts +119 -0
- package/src/printer/utils/layout/index.ts +2 -0
- package/src/printer/utils/layout/spaceBetween.ts +96 -0
- package/src/printer/utils/parsers/index.ts +2 -0
- package/src/printer/utils/parsers/parsePrinterSettings.ts +30 -0
- package/src/printer/utils/parsers/parsePrinterStatus.ts +20 -0
- package/src/specs/NativeEscPosPrinter.ts +284 -0
- package/src/specs/NativeEscPosPrinterDiscovery.ts +48 -0
- 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,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,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,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();
|