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