react-native-ble-nitro 1.0.0-beta.9 → 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 (354) hide show
  1. package/BleNitro.podspec +39 -0
  2. package/LICENSE +1 -1
  3. package/README.md +273 -77
  4. package/ios/BleNitroBleManager.swift +426 -458
  5. package/ios/BlePeripheralDelegate.swift +174 -0
  6. package/lib/commonjs/index.d.ts +174 -10
  7. package/lib/commonjs/index.d.ts.map +1 -1
  8. package/lib/commonjs/index.js +461 -38
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/specs/NativeBleNitro.d.ts +5 -0
  11. package/lib/commonjs/specs/NativeBleNitro.d.ts.map +1 -0
  12. package/lib/commonjs/{utils/index.js → specs/NativeBleNitro.js} +6 -3
  13. package/lib/commonjs/specs/NativeBleNitro.js.map +1 -0
  14. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts +69 -0
  15. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts.map +1 -0
  16. package/lib/commonjs/specs/NativeBleNitro.nitro.js +14 -0
  17. package/lib/commonjs/specs/NativeBleNitro.nitro.js.map +1 -0
  18. package/lib/index.d.ts +174 -10
  19. package/lib/index.js +456 -16
  20. package/lib/specs/NativeBleNitro.d.ts +4 -0
  21. package/lib/specs/NativeBleNitro.js +5 -0
  22. package/lib/specs/NativeBleNitro.nitro.d.ts +68 -0
  23. package/lib/specs/NativeBleNitro.nitro.js +10 -0
  24. package/nitro.json +1 -1
  25. package/nitrogen/generated/android/BleNitro+autolinking.cmake +2 -10
  26. package/nitrogen/generated/android/BleNitroOnLoad.cpp +25 -22
  27. package/nitrogen/generated/android/c++/JBLEDevice.hpp +95 -0
  28. package/nitrogen/generated/android/c++/{JState.hpp → JBLEState.hpp} +22 -22
  29. package/nitrogen/generated/android/c++/JFunc_void_BLEDevice.hpp +82 -0
  30. package/nitrogen/generated/android/c++/JFunc_void_BLEState.hpp +76 -0
  31. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +74 -0
  32. package/nitrogen/generated/android/c++/JFunc_void_bool_std__string.hpp +75 -0
  33. package/nitrogen/generated/android/c++/JFunc_void_bool_std__string_std__string.hpp +75 -0
  34. package/nitrogen/generated/android/c++/JFunc_void_bool_std__vector_double__std__string.hpp +86 -0
  35. package/nitrogen/generated/android/c++/JFunc_void_std__string_bool_std__string.hpp +75 -0
  36. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__vector_double_.hpp +86 -0
  37. package/nitrogen/generated/android/c++/JFunc_void_std__vector_BLEDevice_.hpp +99 -0
  38. package/nitrogen/generated/android/c++/JFunc_void_std__vector_std__string_.hpp +93 -0
  39. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +171 -0
  40. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +83 -0
  41. package/nitrogen/generated/android/c++/JManufacturerData.hpp +73 -0
  42. package/nitrogen/generated/android/c++/JManufacturerDataEntry.hpp +68 -0
  43. package/nitrogen/generated/android/c++/JScanFilter.hpp +79 -0
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BLEDevice.kt +44 -0
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{LogLevel.kt → BLEState.kt} +9 -13
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.kt → Func_void_BLEDevice.kt} +15 -14
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void.kt → Func_void_BLEState.kt} +15 -14
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_State.kt → Func_void_bool.kt} +15 -14
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.kt → Func_void_bool_std__string.kt} +15 -14
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__string_std__string.kt +81 -0
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_bool_std__vector_double__std__string.kt +81 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_bool_std__string.kt +81 -0
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__string_std__vector_double_.kt +81 -0
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_BLEDevice_.kt +81 -0
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_std__string_.kt +81 -0
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +223 -0
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ServiceDataEntry.kt → ManufacturerData.kt} +7 -5
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{ConnectionOptions.kt → ManufacturerDataEntry.kt} +10 -6
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{NativeService.kt → ScanFilter.kt} +13 -7
  60. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +67 -175
  61. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +205 -867
  62. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Umbrella.hpp +20 -88
  63. package/nitrogen/generated/ios/BleNitroAutolinking.mm +3 -3
  64. package/nitrogen/generated/ios/BleNitroAutolinking.swift +4 -4
  65. package/nitrogen/generated/ios/c++/{HybridCharacteristicSpecSwift.cpp → HybridNativeBleNitroSpecSwift.cpp} +2 -2
  66. package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +205 -0
  67. package/nitrogen/generated/ios/swift/BLEDevice.swift +102 -0
  68. package/nitrogen/generated/ios/swift/{State.swift → BLEState.swift} +6 -6
  69. package/nitrogen/generated/ios/swift/Func_void.swift +1 -0
  70. package/nitrogen/generated/ios/swift/{Func_void_State.swift → Func_void_BLEDevice.swift} +12 -11
  71. package/nitrogen/generated/ios/swift/{Func_void_LogLevel.swift → Func_void_BLEState.swift} +12 -11
  72. package/nitrogen/generated/ios/swift/Func_void_bool.swift +6 -5
  73. package/nitrogen/generated/ios/swift/{Func_void_NativeDescriptor.swift → Func_void_bool_std__string.swift} +12 -11
  74. package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeCharacteristic_.swift → Func_void_bool_std__string_std__string.swift} +12 -11
  75. package/nitrogen/generated/ios/swift/Func_void_bool_std__vector_double__std__string.swift +47 -0
  76. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -0
  77. package/nitrogen/generated/ios/swift/{Func_void_NativeDevice.swift → Func_void_std__string_bool_std__string.swift} +12 -11
  78. package/nitrogen/generated/ios/swift/{Func_void_std__optional_BleRestoredState_.swift → Func_void_std__string_std__vector_double_.swift} +12 -17
  79. package/nitrogen/generated/ios/swift/{Func_void_NativeCharacteristic.swift → Func_void_std__vector_BLEDevice_.swift} +12 -11
  80. package/nitrogen/generated/ios/swift/{Func_void_std__vector_NativeDevice_.swift → Func_void_std__vector_std__string_.swift} +12 -11
  81. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +68 -0
  82. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +485 -0
  83. package/nitrogen/generated/ios/swift/ManufacturerData.swift +47 -0
  84. package/nitrogen/generated/ios/swift/ManufacturerDataEntry.swift +58 -0
  85. package/nitrogen/generated/ios/swift/ScanFilter.swift +69 -0
  86. package/nitrogen/generated/shared/c++/BLEDevice.hpp +90 -0
  87. package/nitrogen/generated/shared/c++/{State.hpp → BLEState.hpp} +13 -15
  88. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +40 -0
  89. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +93 -0
  90. package/nitrogen/generated/shared/c++/ManufacturerData.hpp +69 -0
  91. package/nitrogen/generated/shared/c++/{ServiceDataEntry.hpp → ManufacturerDataEntry.hpp} +19 -20
  92. package/nitrogen/generated/shared/c++/ScanFilter.hpp +76 -0
  93. package/package.json +9 -11
  94. package/react-native.config.js +2 -7
  95. package/src/__tests__/index.test.ts +188 -0
  96. package/src/index.ts +604 -45
  97. package/src/specs/NativeBleNitro.nitro.ts +84 -0
  98. package/src/specs/NativeBleNitro.ts +8 -0
  99. package/android/build.gradle +0 -58
  100. package/android/src/main/AndroidManifest.xml +0 -23
  101. package/android/src/main/kotlin/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +0 -760
  102. package/ios/BleNitro.podspec +0 -44
  103. package/ios/BleNitroModule.swift +0 -24
  104. package/lib/BleManagerCompatFactory.d.ts +0 -55
  105. package/lib/BleManagerCompatFactory.js +0 -194
  106. package/lib/BleManagerFactory.d.ts +0 -30
  107. package/lib/BleManagerFactory.js +0 -73
  108. package/lib/commonjs/BleManagerCompatFactory.d.ts +0 -56
  109. package/lib/commonjs/BleManagerCompatFactory.d.ts.map +0 -1
  110. package/lib/commonjs/BleManagerCompatFactory.js +0 -201
  111. package/lib/commonjs/BleManagerCompatFactory.js.map +0 -1
  112. package/lib/commonjs/BleManagerFactory.d.ts +0 -31
  113. package/lib/commonjs/BleManagerFactory.d.ts.map +0 -1
  114. package/lib/commonjs/BleManagerFactory.js +0 -81
  115. package/lib/commonjs/BleManagerFactory.js.map +0 -1
  116. package/lib/commonjs/compatibility/constants.d.ts +0 -50
  117. package/lib/commonjs/compatibility/constants.d.ts.map +0 -1
  118. package/lib/commonjs/compatibility/constants.js +0 -58
  119. package/lib/commonjs/compatibility/constants.js.map +0 -1
  120. package/lib/commonjs/compatibility/deviceWrapper.d.ts +0 -100
  121. package/lib/commonjs/compatibility/deviceWrapper.d.ts.map +0 -1
  122. package/lib/commonjs/compatibility/deviceWrapper.js +0 -268
  123. package/lib/commonjs/compatibility/deviceWrapper.js.map +0 -1
  124. package/lib/commonjs/compatibility/enums.d.ts +0 -39
  125. package/lib/commonjs/compatibility/enums.d.ts.map +0 -1
  126. package/lib/commonjs/compatibility/enums.js +0 -179
  127. package/lib/commonjs/compatibility/enums.js.map +0 -1
  128. package/lib/commonjs/compatibility/index.d.ts +0 -13
  129. package/lib/commonjs/compatibility/index.d.ts.map +0 -1
  130. package/lib/commonjs/compatibility/index.js +0 -41
  131. package/lib/commonjs/compatibility/index.js.map +0 -1
  132. package/lib/commonjs/compatibility/serviceData.d.ts +0 -52
  133. package/lib/commonjs/compatibility/serviceData.d.ts.map +0 -1
  134. package/lib/commonjs/compatibility/serviceData.js +0 -80
  135. package/lib/commonjs/compatibility/serviceData.js.map +0 -1
  136. package/lib/commonjs/errors/BleError.d.ts +0 -60
  137. package/lib/commonjs/errors/BleError.d.ts.map +0 -1
  138. package/lib/commonjs/errors/BleError.js +0 -125
  139. package/lib/commonjs/errors/BleError.js.map +0 -1
  140. package/lib/commonjs/specs/BleManager.nitro.d.ts +0 -45
  141. package/lib/commonjs/specs/BleManager.nitro.d.ts.map +0 -1
  142. package/lib/commonjs/specs/BleManager.nitro.js +0 -3
  143. package/lib/commonjs/specs/BleManager.nitro.js.map +0 -1
  144. package/lib/commonjs/specs/Characteristic.nitro.d.ts +0 -27
  145. package/lib/commonjs/specs/Characteristic.nitro.d.ts.map +0 -1
  146. package/lib/commonjs/specs/Characteristic.nitro.js +0 -3
  147. package/lib/commonjs/specs/Characteristic.nitro.js.map +0 -1
  148. package/lib/commonjs/specs/Descriptor.nitro.d.ts +0 -18
  149. package/lib/commonjs/specs/Descriptor.nitro.d.ts.map +0 -1
  150. package/lib/commonjs/specs/Descriptor.nitro.js +0 -3
  151. package/lib/commonjs/specs/Descriptor.nitro.js.map +0 -1
  152. package/lib/commonjs/specs/Device.nitro.d.ts +0 -38
  153. package/lib/commonjs/specs/Device.nitro.d.ts.map +0 -1
  154. package/lib/commonjs/specs/Device.nitro.js +0 -3
  155. package/lib/commonjs/specs/Device.nitro.js.map +0 -1
  156. package/lib/commonjs/specs/Service.nitro.d.ts +0 -20
  157. package/lib/commonjs/specs/Service.nitro.d.ts.map +0 -1
  158. package/lib/commonjs/specs/Service.nitro.js +0 -3
  159. package/lib/commonjs/specs/Service.nitro.js.map +0 -1
  160. package/lib/commonjs/specs/types.d.ts +0 -229
  161. package/lib/commonjs/specs/types.d.ts.map +0 -1
  162. package/lib/commonjs/specs/types.js +0 -150
  163. package/lib/commonjs/specs/types.js.map +0 -1
  164. package/lib/commonjs/utils/base64.d.ts +0 -26
  165. package/lib/commonjs/utils/base64.d.ts.map +0 -1
  166. package/lib/commonjs/utils/base64.js +0 -88
  167. package/lib/commonjs/utils/base64.js.map +0 -1
  168. package/lib/commonjs/utils/index.d.ts +0 -3
  169. package/lib/commonjs/utils/index.d.ts.map +0 -1
  170. package/lib/commonjs/utils/index.js.map +0 -1
  171. package/lib/commonjs/utils/uuid.d.ts +0 -10
  172. package/lib/commonjs/utils/uuid.d.ts.map +0 -1
  173. package/lib/commonjs/utils/uuid.js +0 -41
  174. package/lib/commonjs/utils/uuid.js.map +0 -1
  175. package/lib/compatibility/constants.d.ts +0 -49
  176. package/lib/compatibility/constants.js +0 -50
  177. package/lib/compatibility/deviceWrapper.d.ts +0 -99
  178. package/lib/compatibility/deviceWrapper.js +0 -259
  179. package/lib/compatibility/enums.d.ts +0 -38
  180. package/lib/compatibility/enums.js +0 -159
  181. package/lib/compatibility/index.d.ts +0 -12
  182. package/lib/compatibility/index.js +0 -12
  183. package/lib/compatibility/serviceData.d.ts +0 -51
  184. package/lib/compatibility/serviceData.js +0 -70
  185. package/lib/errors/BleError.d.ts +0 -59
  186. package/lib/errors/BleError.js +0 -120
  187. package/lib/specs/BleManager.nitro.d.ts +0 -44
  188. package/lib/specs/BleManager.nitro.js +0 -1
  189. package/lib/specs/Characteristic.nitro.d.ts +0 -26
  190. package/lib/specs/Characteristic.nitro.js +0 -1
  191. package/lib/specs/Descriptor.nitro.d.ts +0 -17
  192. package/lib/specs/Descriptor.nitro.js +0 -1
  193. package/lib/specs/Device.nitro.d.ts +0 -37
  194. package/lib/specs/Device.nitro.js +0 -1
  195. package/lib/specs/Service.nitro.d.ts +0 -19
  196. package/lib/specs/Service.nitro.js +0 -1
  197. package/lib/specs/types.d.ts +0 -228
  198. package/lib/specs/types.js +0 -146
  199. package/lib/utils/base64.d.ts +0 -25
  200. package/lib/utils/base64.js +0 -80
  201. package/lib/utils/index.d.ts +0 -2
  202. package/lib/utils/index.js +0 -2
  203. package/lib/utils/uuid.d.ts +0 -9
  204. package/lib/utils/uuid.js +0 -37
  205. package/nitrogen/generated/android/c++/JBleATTErrorCode.hpp +0 -107
  206. package/nitrogen/generated/android/c++/JBleAndroidErrorCode.hpp +0 -101
  207. package/nitrogen/generated/android/c++/JBleErrorCode.hpp +0 -170
  208. package/nitrogen/generated/android/c++/JBleIOSErrorCode.hpp +0 -92
  209. package/nitrogen/generated/android/c++/JBleManagerNitroOptions.hpp +0 -54
  210. package/nitrogen/generated/android/c++/JBleRestoredState.hpp +0 -76
  211. package/nitrogen/generated/android/c++/JCharacteristicSubscriptionType.hpp +0 -59
  212. package/nitrogen/generated/android/c++/JConnectionOptions.hpp +0 -61
  213. package/nitrogen/generated/android/c++/JConnectionPriority.hpp +0 -62
  214. package/nitrogen/generated/android/c++/JFunc_void.hpp +0 -74
  215. package/nitrogen/generated/android/c++/JFunc_void_State.hpp +0 -76
  216. package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.hpp +0 -88
  217. package/nitrogen/generated/android/c++/JFunc_void_std__optional_NativeBleError__std__optional_NativeDevice_.hpp +0 -91
  218. package/nitrogen/generated/android/c++/JHybridBleManagerSpec.cpp +0 -653
  219. package/nitrogen/generated/android/c++/JHybridBleManagerSpec.hpp +0 -92
  220. package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.cpp +0 -253
  221. package/nitrogen/generated/android/c++/JHybridCharacteristicSpec.hpp +0 -79
  222. package/nitrogen/generated/android/c++/JHybridDescriptorSpec.cpp +0 -115
  223. package/nitrogen/generated/android/c++/JHybridDescriptorSpec.hpp +0 -70
  224. package/nitrogen/generated/android/c++/JHybridDeviceSpec.cpp +0 -476
  225. package/nitrogen/generated/android/c++/JHybridDeviceSpec.hpp +0 -90
  226. package/nitrogen/generated/android/c++/JHybridServiceSpec.cpp +0 -232
  227. package/nitrogen/generated/android/c++/JHybridServiceSpec.hpp +0 -72
  228. package/nitrogen/generated/android/c++/JLogLevel.hpp +0 -71
  229. package/nitrogen/generated/android/c++/JNativeBleError.hpp +0 -98
  230. package/nitrogen/generated/android/c++/JNativeCharacteristic.hpp +0 -98
  231. package/nitrogen/generated/android/c++/JNativeDescriptor.hpp +0 -82
  232. package/nitrogen/generated/android/c++/JNativeDevice.hpp +0 -173
  233. package/nitrogen/generated/android/c++/JNativeService.hpp +0 -65
  234. package/nitrogen/generated/android/c++/JScanCallbackType.hpp +0 -62
  235. package/nitrogen/generated/android/c++/JScanMode.hpp +0 -65
  236. package/nitrogen/generated/android/c++/JScanOptions.hpp +0 -69
  237. package/nitrogen/generated/android/c++/JServiceDataEntry.hpp +0 -57
  238. package/nitrogen/generated/android/c++/JSubscription.hpp +0 -64
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleATTErrorCode.kt +0 -41
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleAndroidErrorCode.kt +0 -39
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleErrorCode.kt +0 -62
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleIOSErrorCode.kt +0 -36
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleManagerNitroOptions.kt +0 -26
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/BleRestoredState.kt +0 -26
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/CharacteristicSubscriptionType.kt +0 -25
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ConnectionPriority.kt +0 -26
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridBleManagerSpec.kt +0 -192
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridCharacteristicSpec.kt +0 -127
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDescriptorSpec.kt +0 -86
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridDeviceSpec.kt +0 -176
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridServiceSpec.kt +0 -99
  252. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeBleError.kt +0 -35
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeCharacteristic.kt +0 -37
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDescriptor.kt +0 -33
  255. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/NativeDevice.kt +0 -38
  256. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanCallbackType.kt +0 -26
  257. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanMode.kt +0 -27
  258. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanOptions.kt +0 -29
  259. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/State.kt +0 -29
  260. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Subscription.kt +0 -30
  261. package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.cpp +0 -11
  262. package/nitrogen/generated/ios/c++/HybridBleManagerSpecSwift.hpp +0 -377
  263. package/nitrogen/generated/ios/c++/HybridCharacteristicSpecSwift.hpp +0 -192
  264. package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.cpp +0 -11
  265. package/nitrogen/generated/ios/c++/HybridDescriptorSpecSwift.hpp +0 -112
  266. package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.cpp +0 -11
  267. package/nitrogen/generated/ios/c++/HybridDeviceSpecSwift.hpp +0 -294
  268. package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.cpp +0 -11
  269. package/nitrogen/generated/ios/c++/HybridServiceSpecSwift.hpp +0 -170
  270. package/nitrogen/generated/ios/swift/BleATTErrorCode.swift +0 -104
  271. package/nitrogen/generated/ios/swift/BleAndroidErrorCode.swift +0 -96
  272. package/nitrogen/generated/ios/swift/BleErrorCode.swift +0 -188
  273. package/nitrogen/generated/ios/swift/BleIOSErrorCode.swift +0 -84
  274. package/nitrogen/generated/ios/swift/BleManagerNitroOptions.swift +0 -53
  275. package/nitrogen/generated/ios/swift/BleRestoredState.swift +0 -47
  276. package/nitrogen/generated/ios/swift/CharacteristicSubscriptionType.swift +0 -40
  277. package/nitrogen/generated/ios/swift/ConnectionOptions.swift +0 -57
  278. package/nitrogen/generated/ios/swift/ConnectionPriority.swift +0 -44
  279. package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeCharacteristic_.swift +0 -58
  280. package/nitrogen/generated/ios/swift/Func_void_std__optional_NativeBleError__std__optional_NativeDevice_.swift +0 -58
  281. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridCharacteristicSpec_.swift +0 -50
  282. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_margelo__nitro__co__zyke__ble__HybridDescriptorSpec_.swift +0 -50
  283. package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeDescriptor_.swift +0 -46
  284. package/nitrogen/generated/ios/swift/Func_void_std__vector_NativeService_.swift +0 -46
  285. package/nitrogen/generated/ios/swift/HybridBleManagerSpec.swift +0 -78
  286. package/nitrogen/generated/ios/swift/HybridBleManagerSpec_cxx.swift +0 -852
  287. package/nitrogen/generated/ios/swift/HybridCharacteristicSpec.swift +0 -65
  288. package/nitrogen/generated/ios/swift/HybridCharacteristicSpec_cxx.swift +0 -384
  289. package/nitrogen/generated/ios/swift/HybridDescriptorSpec.swift +0 -56
  290. package/nitrogen/generated/ios/swift/HybridDescriptorSpec_cxx.swift +0 -218
  291. package/nitrogen/generated/ios/swift/HybridDeviceSpec.swift +0 -76
  292. package/nitrogen/generated/ios/swift/HybridDeviceSpec_cxx.swift +0 -702
  293. package/nitrogen/generated/ios/swift/HybridServiceSpec.swift +0 -58
  294. package/nitrogen/generated/ios/swift/HybridServiceSpec_cxx.swift +0 -338
  295. package/nitrogen/generated/ios/swift/LogLevel.swift +0 -56
  296. package/nitrogen/generated/ios/swift/NativeBleError.swift +0 -278
  297. package/nitrogen/generated/ios/swift/NativeCharacteristic.swift +0 -174
  298. package/nitrogen/generated/ios/swift/NativeDescriptor.swift +0 -130
  299. package/nitrogen/generated/ios/swift/NativeDevice.swift +0 -377
  300. package/nitrogen/generated/ios/swift/NativeService.swift +0 -68
  301. package/nitrogen/generated/ios/swift/ScanCallbackType.swift +0 -44
  302. package/nitrogen/generated/ios/swift/ScanMode.swift +0 -48
  303. package/nitrogen/generated/ios/swift/ScanOptions.swift +0 -116
  304. package/nitrogen/generated/ios/swift/ServiceDataEntry.swift +0 -46
  305. package/nitrogen/generated/ios/swift/Subscription.swift +0 -46
  306. package/nitrogen/generated/shared/c++/BleATTErrorCode.hpp +0 -80
  307. package/nitrogen/generated/shared/c++/BleAndroidErrorCode.hpp +0 -78
  308. package/nitrogen/generated/shared/c++/BleErrorCode.hpp +0 -101
  309. package/nitrogen/generated/shared/c++/BleIOSErrorCode.hpp +0 -75
  310. package/nitrogen/generated/shared/c++/BleManagerNitroOptions.hpp +0 -70
  311. package/nitrogen/generated/shared/c++/BleRestoredState.hpp +0 -71
  312. package/nitrogen/generated/shared/c++/CharacteristicSubscriptionType.hpp +0 -64
  313. package/nitrogen/generated/shared/c++/ConnectionOptions.hpp +0 -77
  314. package/nitrogen/generated/shared/c++/ConnectionPriority.hpp +0 -65
  315. package/nitrogen/generated/shared/c++/HybridBleManagerSpec.cpp +0 -51
  316. package/nitrogen/generated/shared/c++/HybridBleManagerSpec.hpp +0 -137
  317. package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.cpp +0 -39
  318. package/nitrogen/generated/shared/c++/HybridCharacteristicSpec.hpp +0 -101
  319. package/nitrogen/generated/shared/c++/HybridDescriptorSpec.cpp +0 -30
  320. package/nitrogen/generated/shared/c++/HybridDescriptorSpec.hpp +0 -75
  321. package/nitrogen/generated/shared/c++/HybridDeviceSpec.cpp +0 -50
  322. package/nitrogen/generated/shared/c++/HybridDeviceSpec.hpp +0 -123
  323. package/nitrogen/generated/shared/c++/HybridServiceSpec.cpp +0 -32
  324. package/nitrogen/generated/shared/c++/HybridServiceSpec.hpp +0 -90
  325. package/nitrogen/generated/shared/c++/LogLevel.hpp +0 -68
  326. package/nitrogen/generated/shared/c++/NativeBleError.hpp +0 -117
  327. package/nitrogen/generated/shared/c++/NativeCharacteristic.hpp +0 -114
  328. package/nitrogen/generated/shared/c++/NativeDescriptor.hpp +0 -98
  329. package/nitrogen/generated/shared/c++/NativeDevice.hpp +0 -121
  330. package/nitrogen/generated/shared/c++/NativeService.hpp +0 -81
  331. package/nitrogen/generated/shared/c++/ScanCallbackType.hpp +0 -65
  332. package/nitrogen/generated/shared/c++/ScanMode.hpp +0 -66
  333. package/nitrogen/generated/shared/c++/ScanOptions.hpp +0 -86
  334. package/nitrogen/generated/shared/c++/Subscription.hpp +0 -69
  335. package/src/BleManagerCompatFactory.ts +0 -371
  336. package/src/BleManagerFactory.ts +0 -93
  337. package/src/__tests__/BleManager.test.ts +0 -327
  338. package/src/__tests__/compatibility/deviceWrapper.test.ts +0 -563
  339. package/src/__tests__/compatibility/enums.test.ts +0 -264
  340. package/src/compatibility/constants.ts +0 -71
  341. package/src/compatibility/deviceWrapper.ts +0 -427
  342. package/src/compatibility/enums.ts +0 -190
  343. package/src/compatibility/index.ts +0 -32
  344. package/src/compatibility/serviceData.ts +0 -85
  345. package/src/errors/BleError.ts +0 -193
  346. package/src/specs/BleManager.nitro.ts +0 -165
  347. package/src/specs/Characteristic.nitro.ts +0 -61
  348. package/src/specs/Descriptor.nitro.ts +0 -28
  349. package/src/specs/Device.nitro.ts +0 -104
  350. package/src/specs/Service.nitro.ts +0 -64
  351. package/src/specs/types.ts +0 -259
  352. package/src/utils/base64.ts +0 -80
  353. package/src/utils/index.ts +0 -2
  354. package/src/utils/uuid.ts +0 -45
@@ -1,371 +0,0 @@
1
- /**
2
- * BleManager Compatibility Factory
3
- *
4
- * Creates BleManager instances with full react-native-ble-plx compatibility
5
- * by wrapping the Nitro implementation with compatibility shims
6
- */
7
-
8
- import { createBleManager } from './BleManagerFactory';
9
- import type { BleManager as BleManagerInterface } from './specs/BleManager.nitro';
10
- import type {
11
- BleManagerOptions,
12
- UUID,
13
- DeviceId,
14
- TransactionId,
15
- ConnectionPriority,
16
- ConnectionOptions,
17
- ScanOptions,
18
- NativeDevice,
19
- NativeService,
20
- NativeCharacteristic,
21
- NativeDescriptor,
22
- LogLevel,
23
- Subscription
24
- } from './specs/types';
25
- import { DeviceWrapper } from './compatibility/deviceWrapper';
26
- import {
27
- stateToString,
28
- logLevelToString,
29
- normalizeLogLevel,
30
- normalizeCharacteristicSubscriptionType,
31
- State as PlxState,
32
- LogLevel as PlxLogLevel
33
- } from './compatibility/enums';
34
-
35
-
36
- /**
37
- * BleManager wrapper that provides react-native-ble-plx compatibility
38
- */
39
- export class BleManagerCompat {
40
- private bleManager: BleManagerInterface;
41
-
42
- constructor(options?: BleManagerOptions) {
43
- this.bleManager = createBleManager(options);
44
- }
45
-
46
- // Lifecycle
47
- async destroy(): Promise<void> {
48
- return await this.bleManager.destroy();
49
- }
50
-
51
- // Common operations with compatibility
52
- async setLogLevel(logLevel: LogLevel | string): Promise<PlxLogLevel> {
53
- const normalizedLogLevel = normalizeLogLevel(logLevel);
54
- const result = await this.bleManager.setLogLevel(normalizedLogLevel);
55
- return logLevelToString(result);
56
- }
57
-
58
- async logLevel(): Promise<PlxLogLevel> {
59
- const result = await this.bleManager.logLevel();
60
- return logLevelToString(result);
61
- }
62
-
63
- async cancelTransaction(transactionId: TransactionId): Promise<void> {
64
- return await this.bleManager.cancelTransaction(transactionId);
65
- }
66
-
67
- // State management with string conversion
68
- async enable(transactionId?: TransactionId): Promise<BleManagerCompat> {
69
- await this.bleManager.enable(transactionId);
70
- return this;
71
- }
72
-
73
- async disable(transactionId?: TransactionId): Promise<BleManagerCompat> {
74
- await this.bleManager.disable(transactionId);
75
- return this;
76
- }
77
-
78
- async state(): Promise<PlxState> {
79
- const result = await this.bleManager.state();
80
- return stateToString(result);
81
- }
82
-
83
- onStateChange(
84
- listener: (newState: PlxState) => void,
85
- emitCurrentState?: boolean
86
- ): Subscription {
87
- return this.bleManager.onStateChange((state) => {
88
- listener(stateToString(state));
89
- }, emitCurrentState);
90
- }
91
-
92
- // Device scanning with compatibility wrappers
93
- async startDeviceScan(
94
- uuids: UUID[] | null,
95
- options: ScanOptions | null,
96
- listener: (error: any | null, scannedDevice: DeviceWrapper | null) => void // TODO: COMPAT! remove any and move to BleError as react-native-ble-plx uses this type as well!
97
- ): Promise<void> {
98
- return await this.bleManager.startDeviceScan(uuids, options, (error, device) => {
99
- listener(error, device ? new DeviceWrapper(this.createDeviceFromNative(device)) : null);
100
- });
101
- }
102
-
103
- async stopDeviceScan(): Promise<void> {
104
- return await this.bleManager.stopDeviceScan();
105
- }
106
-
107
- // Connection management
108
- async connectToDevice(
109
- deviceIdentifier: DeviceId,
110
- options?: Partial<ConnectionOptions>
111
- ): Promise<DeviceWrapper> {
112
- // Provide defaults for Nitro's required fields
113
- const connectionOptions: ConnectionOptions = {
114
- autoConnect: options?.autoConnect ?? false,
115
- requestMTU: options?.requestMTU ?? 23,
116
- timeout: options?.timeout ?? 0,
117
- };
118
-
119
- const result = await this.bleManager.connectToDevice(deviceIdentifier, connectionOptions);
120
- return new DeviceWrapper(this.createDeviceFromNative(result));
121
- }
122
-
123
- async cancelDeviceConnection(deviceIdentifier: DeviceId): Promise<DeviceWrapper> {
124
- const result = await this.bleManager.cancelDeviceConnection(deviceIdentifier);
125
- return new DeviceWrapper(this.createDeviceFromNative(result));
126
- }
127
-
128
- async isDeviceConnected(deviceIdentifier: DeviceId): Promise<boolean> {
129
- return await this.bleManager.isDeviceConnected(deviceIdentifier);
130
- }
131
-
132
- onDeviceDisconnected(
133
- deviceIdentifier: DeviceId,
134
- listener: (error: any | null, device: DeviceWrapper | null) => void // TODO: COMPAT! use propper error type like in react-native-ble-plx!!!
135
- ): Subscription {
136
- return this.bleManager.onDeviceDisconnected(deviceIdentifier, (error, device) => {
137
- listener(error, device ? new DeviceWrapper(this.createDeviceFromNative(device)) : null);
138
- });
139
- }
140
-
141
- // Device discovery
142
- async devices(deviceIdentifiers: DeviceId[]): Promise<DeviceWrapper[]> {
143
- const result = await this.bleManager.devices(deviceIdentifiers);
144
- return result.map(device => new DeviceWrapper(this.createDeviceFromNative(device)));
145
- }
146
-
147
- async connectedDevices(serviceUUIDs: UUID[]): Promise<DeviceWrapper[]> {
148
- const result = await this.bleManager.connectedDevices(serviceUUIDs);
149
- return result.map(device => new DeviceWrapper(this.createDeviceFromNative(device)));
150
- }
151
-
152
- // RSSI and MTU operations
153
- async readRSSIForDevice(
154
- deviceIdentifier: DeviceId,
155
- transactionId?: TransactionId
156
- ): Promise<DeviceWrapper> {
157
- const result = await this.bleManager.readRSSIForDevice(deviceIdentifier, transactionId);
158
- return new DeviceWrapper(this.createDeviceFromNative(result));
159
- }
160
-
161
- async requestMTUForDevice(
162
- deviceIdentifier: DeviceId,
163
- mtu: number,
164
- transactionId?: TransactionId
165
- ): Promise<DeviceWrapper> {
166
- const result = await this.bleManager.requestMTUForDevice(deviceIdentifier, mtu, transactionId);
167
- return new DeviceWrapper(this.createDeviceFromNative(result));
168
- }
169
-
170
- async requestConnectionPriorityForDevice(
171
- deviceIdentifier: DeviceId,
172
- connectionPriority: ConnectionPriority,
173
- transactionId?: TransactionId
174
- ): Promise<DeviceWrapper> {
175
- const result = await this.bleManager.requestConnectionPriorityForDevice(
176
- deviceIdentifier,
177
- connectionPriority,
178
- transactionId
179
- );
180
- return new DeviceWrapper(this.createDeviceFromNative(result));
181
- }
182
-
183
- // Service discovery
184
- async discoverAllServicesAndCharacteristicsForDevice(
185
- deviceIdentifier: DeviceId,
186
- transactionId?: TransactionId
187
- ): Promise<DeviceWrapper> {
188
- const result = await this.bleManager.discoverAllServicesAndCharacteristicsForDevice(
189
- deviceIdentifier,
190
- transactionId
191
- );
192
- return new DeviceWrapper(this.createDeviceFromNative(result));
193
- }
194
-
195
- // Service operations
196
- async servicesForDevice(deviceIdentifier: DeviceId): Promise<NativeService[]> {
197
- return await this.bleManager.servicesForDevice(deviceIdentifier);
198
- }
199
-
200
- // Characteristic operations
201
- async characteristicsForDevice(
202
- deviceIdentifier: DeviceId,
203
- serviceUUID: UUID
204
- ): Promise<NativeCharacteristic[]> {
205
- return await this.bleManager.characteristicsForDevice(deviceIdentifier, serviceUUID);
206
- }
207
-
208
- async readCharacteristicForDevice(
209
- deviceIdentifier: DeviceId,
210
- serviceUUID: UUID,
211
- characteristicUUID: UUID,
212
- transactionId?: TransactionId
213
- ): Promise<NativeCharacteristic> {
214
- return await this.bleManager.readCharacteristicForDevice(
215
- deviceIdentifier,
216
- serviceUUID,
217
- characteristicUUID,
218
- transactionId
219
- );
220
- }
221
-
222
- async writeCharacteristicWithResponseForDevice(
223
- deviceIdentifier: DeviceId,
224
- serviceUUID: UUID,
225
- characteristicUUID: UUID,
226
- base64Value: string,
227
- transactionId?: TransactionId
228
- ): Promise<NativeCharacteristic> {
229
- return await this.bleManager.writeCharacteristicWithResponseForDevice(
230
- deviceIdentifier,
231
- serviceUUID,
232
- characteristicUUID,
233
- base64Value,
234
- transactionId
235
- );
236
- }
237
-
238
- async writeCharacteristicWithoutResponseForDevice(
239
- deviceIdentifier: DeviceId,
240
- serviceUUID: UUID,
241
- characteristicUUID: UUID,
242
- base64Value: string,
243
- transactionId?: TransactionId
244
- ): Promise<NativeCharacteristic> {
245
- return await this.bleManager.writeCharacteristicWithoutResponseForDevice(
246
- deviceIdentifier,
247
- serviceUUID,
248
- characteristicUUID,
249
- base64Value,
250
- transactionId
251
- );
252
- }
253
-
254
- monitorCharacteristicForDevice(
255
- deviceIdentifier: DeviceId,
256
- serviceUUID: UUID,
257
- characteristicUUID: UUID,
258
- listener: (error: any | null, characteristic: NativeCharacteristic | null) => void, // TODO: COMPAT! use proper error type like in react-native-ble-plx
259
- transactionId?: TransactionId,
260
- subscriptionType?: 'notification' | 'indication'
261
- ): Subscription {
262
- const nitroSubscriptionType = subscriptionType
263
- ? normalizeCharacteristicSubscriptionType(subscriptionType)
264
- : undefined;
265
-
266
- return this.bleManager.monitorCharacteristicForDevice(
267
- deviceIdentifier,
268
- serviceUUID,
269
- characteristicUUID,
270
- listener,
271
- transactionId,
272
- nitroSubscriptionType
273
- );
274
- }
275
-
276
- // Descriptor operations
277
- async descriptorsForDevice(
278
- deviceIdentifier: DeviceId,
279
- serviceUUID: UUID,
280
- characteristicUUID: UUID
281
- ): Promise<NativeDescriptor[]> {
282
- return await this.bleManager.descriptorsForDevice(
283
- deviceIdentifier,
284
- serviceUUID,
285
- characteristicUUID
286
- );
287
- }
288
-
289
- async readDescriptorForDevice(
290
- deviceIdentifier: DeviceId,
291
- serviceUUID: UUID,
292
- characteristicUUID: UUID,
293
- descriptorUUID: UUID,
294
- transactionId?: TransactionId
295
- ): Promise<NativeDescriptor> {
296
- return await this.bleManager.readDescriptorForDevice(
297
- deviceIdentifier,
298
- serviceUUID,
299
- characteristicUUID,
300
- descriptorUUID,
301
- transactionId
302
- );
303
- }
304
-
305
- async writeDescriptorForDevice(
306
- deviceIdentifier: DeviceId,
307
- serviceUUID: UUID,
308
- characteristicUUID: UUID,
309
- descriptorUUID: UUID,
310
- valueBase64: string,
311
- transactionId?: TransactionId
312
- ): Promise<NativeDescriptor> {
313
- return await this.bleManager.writeDescriptorForDevice(
314
- deviceIdentifier,
315
- serviceUUID,
316
- characteristicUUID,
317
- descriptorUUID,
318
- valueBase64,
319
- transactionId
320
- );
321
- }
322
-
323
- /**
324
- * Helper method to create a Device wrapper from NativeDevice data
325
- * This is a temporary method until we have proper Device Nitro objects
326
- */
327
- private createDeviceFromNative(nativeDevice: NativeDevice) {
328
- // This is a placeholder - in the actual implementation, we'd need to create
329
- // proper Nitro Device objects, but for now we'll work with the native data
330
- return {
331
- id: nativeDevice.id,
332
- deviceName: nativeDevice.name,
333
- rssi: nativeDevice.rssi,
334
- mtu: nativeDevice.mtu,
335
- manufacturerData: nativeDevice.manufacturerData,
336
- rawScanRecord: nativeDevice.rawScanRecord,
337
- serviceData: nativeDevice.serviceData,
338
- serviceUUIDs: nativeDevice.serviceUUIDs,
339
- localName: nativeDevice.localName,
340
- txPowerLevel: nativeDevice.txPowerLevel,
341
- solicitedServiceUUIDs: nativeDevice.solicitedServiceUUIDs,
342
- isConnectable: nativeDevice.isConnectable,
343
- overflowServiceUUIDs: nativeDevice.overflowServiceUUIDs,
344
- // Add placeholder methods - these would be implemented in the actual Device class
345
- requestConnectionPriority: async () => this.createDeviceFromNative(nativeDevice),
346
- readRSSI: async () => this.createDeviceFromNative(nativeDevice),
347
- requestMTU: async () => this.createDeviceFromNative(nativeDevice),
348
- connect: async () => this.createDeviceFromNative(nativeDevice),
349
- cancelConnection: async () => this.createDeviceFromNative(nativeDevice),
350
- isConnected: async () => false,
351
- onDisconnected: () => ({ remove: () => {} }),
352
- discoverAllServicesAndCharacteristics: async () => this.createDeviceFromNative(nativeDevice),
353
- services: async () => [],
354
- characteristicsForService: async () => [],
355
- readCharacteristicForService: async () => ({}),
356
- writeCharacteristicWithResponseForService: async () => ({}),
357
- writeCharacteristicWithoutResponseForService: async () => ({}),
358
- monitorCharacteristicForService: () => ({ remove: () => {} }),
359
- descriptorsForService: async () => [],
360
- readDescriptorForService: async () => ({}),
361
- writeDescriptorForService: async () => ({}),
362
- };
363
- }
364
- }
365
-
366
- /**
367
- * Factory function to create a compatibility BleManager
368
- */
369
- export function createBleManagerCompat(options?: BleManagerOptions): BleManagerCompat {
370
- return new BleManagerCompat(options);
371
- }
@@ -1,93 +0,0 @@
1
- import { NitroModules } from 'react-native-nitro-modules';
2
- import type { BleManager as BleManagerInterface, BleManagerNitroOptions } from './specs/BleManager.nitro';
3
- import type { BleManagerOptions } from './specs/types';
4
-
5
- // Store callbacks that can't be passed to Nitro
6
- const storedCallbacks = new WeakMap<BleManagerInterface, {
7
- restoreStateFunction?: (restoredState: any) => void;
8
- errorCodesToMessagesMapping?: { [key: number]: string };
9
- }>();
10
-
11
- /**
12
- * Creates a BleManager instance using Nitro Modules
13
- * This function maintains compatibility with react-native-ble-plx's BleManager constructor
14
- */
15
- export function createBleManager(options?: BleManagerOptions): BleManagerInterface {
16
- const BleManagerModule = NitroModules.createHybridObject<BleManagerInterface>('BleManager');
17
-
18
- if (!BleManagerModule) {
19
- throw new Error(
20
- 'Failed to create BleManager: Nitro module not found. ' +
21
- 'Make sure react-native-ble-nitro is properly installed and linked.'
22
- );
23
- }
24
-
25
- // Initialize with options if provided
26
- if (options) {
27
- // Extract Nitro-compatible options
28
- const nitroOptions: BleManagerNitroOptions = {
29
- restoreStateIdentifier: options.restoreStateIdentifier,
30
- };
31
-
32
- // Store callbacks and mappings that can't be passed to Nitro
33
- if (options.restoreStateFunction || options.errorCodesToMessagesMapping) {
34
- storedCallbacks.set(BleManagerModule, {
35
- restoreStateFunction: options.restoreStateFunction,
36
- errorCodesToMessagesMapping: options.errorCodesToMessagesMapping,
37
- });
38
- }
39
-
40
- // Note: initialize() is async but we need to maintain sync compatibility with react-native-ble-plx
41
- // The initialization will happen asynchronously in the background
42
- BleManagerModule.initialize(nitroOptions).then(async () => {
43
- // Check for restored state and call the callback if available
44
- if (options.restoreStateFunction) {
45
- try {
46
- const restoredState = await BleManagerModule.getRestoredState();
47
- if (restoredState) {
48
- options.restoreStateFunction(restoredState);
49
- }
50
- } catch (error) {
51
- console.warn('BleManager restore state callback failed:', error);
52
- }
53
- }
54
- }).catch(error => {
55
- console.warn('BleManager initialization failed:', error);
56
- });
57
- }
58
-
59
- return BleManagerModule;
60
- }
61
-
62
- /**
63
- * Helper function to retrieve stored callbacks for a BleManager instance
64
- * This is used internally when callbacks need to be invoked
65
- */
66
- export function getStoredCallbacks(manager: BleManagerInterface) {
67
- return storedCallbacks.get(manager);
68
- }
69
-
70
- /**
71
- * Helper function to get custom error message if available
72
- * @param manager The BleManager instance
73
- * @param errorCode The BLE error code
74
- * @param defaultMessage Default error message
75
- * @returns Custom message if available, otherwise default message
76
- */
77
- export function getCustomErrorMessage(
78
- manager: BleManagerInterface,
79
- errorCode: number,
80
- defaultMessage: string
81
- ): string {
82
- const callbacks = storedCallbacks.get(manager);
83
- const customMessage = callbacks?.errorCodesToMessagesMapping?.[errorCode];
84
- return customMessage || defaultMessage;
85
- }
86
-
87
- /**
88
- * Legacy compatibility: Export a BleManager constructor function
89
- * This maintains compatibility with code that imports { BleManager } from 'react-native-ble-plx'
90
- */
91
- export const BleManager = function(options?: BleManagerOptions): BleManagerInterface {
92
- return createBleManager(options);
93
- } as (options?: BleManagerOptions) => BleManagerInterface;