react-native-ble-nitro 1.11.0 → 1.12.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.
- package/android/src/main/java/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +58 -21
- package/ios/BleNitroBleManager.swift +60 -3
- package/ios/BlePeripheralDelegate.swift +68 -9
- package/lib/commonjs/index.d.ts +1 -1
- package/lib/commonjs/index.d.ts.map +1 -1
- package/lib/commonjs/index.js +2 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager.d.ts +17 -1
- package/lib/commonjs/manager.d.ts.map +1 -1
- package/lib/commonjs/manager.js +54 -9
- package/lib/commonjs/manager.js.map +1 -1
- package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts +3 -0
- package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/manager.d.ts +17 -1
- package/lib/manager.js +52 -8
- package/lib/specs/NativeBleNitro.nitro.d.ts +3 -0
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +9 -0
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +2 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +13 -0
- package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +14 -0
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +2 -0
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +28 -0
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +2 -0
- package/package.json +1 -1
- package/src/__tests__/index.test.ts +127 -0
- package/src/index.ts +1 -0
- package/src/manager.ts +81 -9
- package/src/specs/NativeBleNitro.nitro.ts +3 -0
|
@@ -75,7 +75,9 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
75
75
|
var connectCallback: ((success: Boolean, deviceId: String, error: String) -> Unit)? = null,
|
|
76
76
|
var disconnectCallback: ((deviceId: String, interrupted: Boolean, error: String) -> Unit)? = null,
|
|
77
77
|
var serviceDiscoveryCallback: ((success: Boolean, error: String) -> Unit)? = null,
|
|
78
|
-
|
|
78
|
+
// Key: "serviceId:characteristicId" for correct scoping when the same
|
|
79
|
+
// characteristic UUID exists under multiple services.
|
|
80
|
+
var characteristicSubscriptions: MutableMap<String, (characteristicId: String, data: ArrayBuffer) -> Unit> = ConcurrentHashMap()
|
|
79
81
|
)
|
|
80
82
|
|
|
81
83
|
// Sealed class for GATT operations that need to be queued
|
|
@@ -352,17 +354,23 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
352
354
|
override fun onCharacteristicChanged(gatt: BluetoothGatt, characteristic: BluetoothGattCharacteristic) {
|
|
353
355
|
// Handle characteristic notifications
|
|
354
356
|
val characteristicId = characteristic.uuid.toString()
|
|
357
|
+
val serviceId = characteristic.service?.uuid?.toString()
|
|
358
|
+
if (serviceId == null) {
|
|
359
|
+
android.util.Log.w("BleNitro", "onCharacteristicChanged: characteristic.service is null for $characteristicId")
|
|
360
|
+
return
|
|
361
|
+
}
|
|
362
|
+
val subscriptionKey = "$serviceId:$characteristicId"
|
|
355
363
|
val value = characteristic.value ?: byteArrayOf()
|
|
356
|
-
|
|
364
|
+
|
|
357
365
|
// Create direct ByteBuffer as required by ArrayBuffer.wrap()
|
|
358
366
|
val directBuffer = java.nio.ByteBuffer.allocateDirect(value.size)
|
|
359
367
|
directBuffer.put(value)
|
|
360
368
|
directBuffer.flip()
|
|
361
|
-
|
|
369
|
+
|
|
362
370
|
val data = ArrayBuffer.wrap(directBuffer)
|
|
363
|
-
|
|
371
|
+
|
|
364
372
|
val callbacks = deviceCallbacks[deviceId]
|
|
365
|
-
callbacks?.characteristicSubscriptions?.get(
|
|
373
|
+
callbacks?.characteristicSubscriptions?.get(subscriptionKey)?.invoke(characteristicId, data)
|
|
366
374
|
}
|
|
367
375
|
|
|
368
376
|
override fun onDescriptorWrite(gatt: BluetoothGatt, descriptor: BluetoothGattDescriptor, status: Int) {
|
|
@@ -733,6 +741,12 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
733
741
|
}
|
|
734
742
|
}
|
|
735
743
|
|
|
744
|
+
override fun discoverServicesWithCharacteristics(deviceId: String, callback: (success: Boolean, error: String) -> Unit) {
|
|
745
|
+
// On Android, discoverServices() already discovers characteristics automatically.
|
|
746
|
+
// Delegate directly to discoverServices.
|
|
747
|
+
discoverServices(deviceId, callback)
|
|
748
|
+
}
|
|
749
|
+
|
|
736
750
|
override fun getServices(deviceId: String): Array<String> {
|
|
737
751
|
return try {
|
|
738
752
|
val gatt = connectedDevices[deviceId]
|
|
@@ -896,14 +910,11 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
896
910
|
return
|
|
897
911
|
}
|
|
898
912
|
|
|
899
|
-
|
|
900
|
-
val callbacks = deviceCallbacks[deviceId]
|
|
901
|
-
if (callbacks != null) {
|
|
902
|
-
callbacks.characteristicSubscriptions[characteristicId] = updateCallback
|
|
903
|
-
}
|
|
913
|
+
val subscriptionKey = "$serviceId:$characteristicId"
|
|
904
914
|
|
|
905
|
-
// Write to the CCCD descriptor to enable notifications on the remote device
|
|
906
|
-
//
|
|
915
|
+
// Write to the CCCD descriptor to enable notifications on the remote device.
|
|
916
|
+
// The update callback is stored only after the descriptor write succeeds
|
|
917
|
+
// so that isSubscribedToCharacteristic reflects actual BLE state.
|
|
907
918
|
val descriptor = characteristic.getDescriptor(UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"))
|
|
908
919
|
if (descriptor != null) {
|
|
909
920
|
enqueueGattOperation(
|
|
@@ -912,11 +923,19 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
912
923
|
descriptor = descriptor,
|
|
913
924
|
value = BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE,
|
|
914
925
|
deviceId = deviceId,
|
|
915
|
-
callback =
|
|
926
|
+
callback = { success, error ->
|
|
927
|
+
if (success) {
|
|
928
|
+
val callbacks = deviceCallbacks[deviceId]
|
|
929
|
+
callbacks?.characteristicSubscriptions?.set(subscriptionKey, updateCallback)
|
|
930
|
+
}
|
|
931
|
+
completionCallback(success, error)
|
|
932
|
+
}
|
|
916
933
|
)
|
|
917
934
|
)
|
|
918
935
|
} else {
|
|
919
|
-
// No CCCD descriptor -
|
|
936
|
+
// No CCCD descriptor - store callback and report success
|
|
937
|
+
val callbacks = deviceCallbacks[deviceId]
|
|
938
|
+
callbacks?.characteristicSubscriptions?.set(subscriptionKey, updateCallback)
|
|
920
939
|
completionCallback(true, "")
|
|
921
940
|
}
|
|
922
941
|
|
|
@@ -957,12 +976,12 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
957
976
|
return
|
|
958
977
|
}
|
|
959
978
|
|
|
960
|
-
|
|
961
|
-
val callbacks = deviceCallbacks[deviceId]
|
|
962
|
-
callbacks?.characteristicSubscriptions?.remove(characteristicId)
|
|
979
|
+
val subscriptionKey = "$serviceId:$characteristicId"
|
|
963
980
|
|
|
964
|
-
// Write to the CCCD descriptor to disable notifications on the remote device
|
|
965
|
-
//
|
|
981
|
+
// Write to the CCCD descriptor to disable notifications on the remote device.
|
|
982
|
+
// The subscription entry is removed only after the descriptor write succeeds,
|
|
983
|
+
// mirroring the subscribe pattern to avoid a stale-entry race when
|
|
984
|
+
// subscribe and unsubscribe are called in rapid succession.
|
|
966
985
|
val descriptor = characteristic.getDescriptor(UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"))
|
|
967
986
|
if (descriptor != null) {
|
|
968
987
|
enqueueGattOperation(
|
|
@@ -971,11 +990,19 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
971
990
|
descriptor = descriptor,
|
|
972
991
|
value = BluetoothGattDescriptor.DISABLE_NOTIFICATION_VALUE,
|
|
973
992
|
deviceId = deviceId,
|
|
974
|
-
callback =
|
|
993
|
+
callback = { success, error ->
|
|
994
|
+
if (success) {
|
|
995
|
+
val callbacks = deviceCallbacks[deviceId]
|
|
996
|
+
callbacks?.characteristicSubscriptions?.remove(subscriptionKey)
|
|
997
|
+
}
|
|
998
|
+
callback(success, error)
|
|
999
|
+
}
|
|
975
1000
|
)
|
|
976
1001
|
)
|
|
977
1002
|
} else {
|
|
978
|
-
// No CCCD descriptor -
|
|
1003
|
+
// No CCCD descriptor - remove immediately
|
|
1004
|
+
val callbacks = deviceCallbacks[deviceId]
|
|
1005
|
+
callbacks?.characteristicSubscriptions?.remove(subscriptionKey)
|
|
979
1006
|
callback(true, "")
|
|
980
1007
|
}
|
|
981
1008
|
|
|
@@ -984,6 +1011,16 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
|
|
|
984
1011
|
}
|
|
985
1012
|
}
|
|
986
1013
|
|
|
1014
|
+
override fun isSubscribedToCharacteristic(
|
|
1015
|
+
deviceId: String,
|
|
1016
|
+
serviceId: String,
|
|
1017
|
+
characteristicId: String
|
|
1018
|
+
): Boolean {
|
|
1019
|
+
val callbacks = deviceCallbacks[deviceId] ?: return false
|
|
1020
|
+
val subscriptionKey = "$serviceId:$characteristicId"
|
|
1021
|
+
return callbacks.characteristicSubscriptions.containsKey(subscriptionKey)
|
|
1022
|
+
}
|
|
1023
|
+
|
|
987
1024
|
// Bluetooth state management
|
|
988
1025
|
override fun requestBluetoothEnable(callback: (success: Boolean, error: String) -> Unit) {
|
|
989
1026
|
try {
|
|
@@ -310,10 +310,50 @@ public class BleNitroBleManager: HybridNativeBleNitroSpec {
|
|
|
310
310
|
callback(false, "Peripheral not connected")
|
|
311
311
|
return
|
|
312
312
|
}
|
|
313
|
-
|
|
314
|
-
peripheralDelegates[deviceId]
|
|
313
|
+
|
|
314
|
+
guard let delegate = peripheralDelegates[deviceId] else {
|
|
315
|
+
callback(false, "Peripheral delegate not found")
|
|
316
|
+
return
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// If services already discovered, resolve immediately to avoid
|
|
320
|
+
// CoreBluetooth silently skipping the didDiscoverServices callback.
|
|
321
|
+
if delegate.servicesDiscovered, let services = peripheral.services, !services.isEmpty {
|
|
322
|
+
callback(true, "")
|
|
323
|
+
return
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
delegate.serviceDiscoveryCallback = callback
|
|
315
327
|
peripheral.discoverServices(nil)
|
|
316
328
|
}
|
|
329
|
+
|
|
330
|
+
public func discoverServicesWithCharacteristics(deviceId: String, callback: @escaping (Bool, String) -> Void) throws {
|
|
331
|
+
guard let peripheral = connectedPeripherals[deviceId] else {
|
|
332
|
+
callback(false, "Peripheral not connected")
|
|
333
|
+
return
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
guard let delegate = peripheralDelegates[deviceId] else {
|
|
337
|
+
callback(false, "Peripheral delegate not found")
|
|
338
|
+
return
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// If services and all characteristics are already discovered, resolve immediately.
|
|
342
|
+
if delegate.servicesDiscovered,
|
|
343
|
+
let services = peripheral.services, !services.isEmpty,
|
|
344
|
+
services.allSatisfy({ $0.characteristics != nil }) {
|
|
345
|
+
callback(true, "")
|
|
346
|
+
return
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
let isFirstCaller = delegate.fullDiscoveryCallbacks.isEmpty
|
|
350
|
+
delegate.fullDiscoveryCallbacks.append(callback)
|
|
351
|
+
// Only trigger discovery if this is the first caller; subsequent
|
|
352
|
+
// callers piggyback on the in-flight discovery via the callback array.
|
|
353
|
+
if isFirstCaller {
|
|
354
|
+
peripheral.discoverServices(nil)
|
|
355
|
+
}
|
|
356
|
+
}
|
|
317
357
|
|
|
318
358
|
public func getServices(deviceId: String) throws -> [String] {
|
|
319
359
|
guard let peripheral = connectedPeripherals[deviceId] else {
|
|
@@ -464,7 +504,24 @@ public class BleNitroBleManager: HybridNativeBleNitroSpec {
|
|
|
464
504
|
|
|
465
505
|
characteristic.service?.peripheral?.setNotifyValue(false, for: characteristic)
|
|
466
506
|
}
|
|
467
|
-
|
|
507
|
+
|
|
508
|
+
// `throws` is required by the Nitro-generated HybridNativeBleNitroSpec protocol
|
|
509
|
+
// for all synchronous methods, even though this implementation never throws.
|
|
510
|
+
public func isSubscribedToCharacteristic(
|
|
511
|
+
deviceId: String,
|
|
512
|
+
serviceId: String,
|
|
513
|
+
characteristicId: String
|
|
514
|
+
) throws -> Bool {
|
|
515
|
+
guard let characteristic = findCharacteristic(
|
|
516
|
+
deviceId: deviceId,
|
|
517
|
+
serviceId: serviceId,
|
|
518
|
+
characteristicId: characteristicId
|
|
519
|
+
) else {
|
|
520
|
+
return false
|
|
521
|
+
}
|
|
522
|
+
return characteristic.isNotifying
|
|
523
|
+
}
|
|
524
|
+
|
|
468
525
|
// MARK: - Helper Methods
|
|
469
526
|
private func findPeripheral(by deviceId: String) -> CBPeripheral? {
|
|
470
527
|
ensureCentralManager()
|
|
@@ -18,7 +18,14 @@ class BlePeripheralDelegate: NSObject, CBPeripheralDelegate {
|
|
|
18
18
|
var disconnectEventCallback: ((String, Bool, String) -> Void)?
|
|
19
19
|
var serviceDiscoveryCallback: ((Bool, String) -> Void)?
|
|
20
20
|
var characteristicDiscoveryCallbacks: [String: (Bool, String) -> Void] = [:]
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
// Full discovery (services + characteristics) callbacks and state
|
|
23
|
+
var fullDiscoveryCallbacks: [(Bool, String) -> Void] = []
|
|
24
|
+
var servicesDiscovered = false
|
|
25
|
+
var characteristicsDiscoveredCount = 0
|
|
26
|
+
var expectedCharacteristicsCount = 0
|
|
27
|
+
var characteristicDiscoveryError: String?
|
|
28
|
+
|
|
22
29
|
// RSSI callback
|
|
23
30
|
var rssiCallback: ((Bool, Double, String) -> Void)?
|
|
24
31
|
|
|
@@ -45,15 +52,34 @@ class BlePeripheralDelegate: NSObject, CBPeripheralDelegate {
|
|
|
45
52
|
func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
|
|
46
53
|
if let error = error {
|
|
47
54
|
serviceDiscoveryCallback?(false, error.localizedDescription)
|
|
55
|
+
serviceDiscoveryCallback = nil
|
|
56
|
+
resolveFullDiscoveryCallbacks(success: false, error: error.localizedDescription)
|
|
57
|
+
return
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
servicesDiscovered = true
|
|
61
|
+
|
|
62
|
+
// Resolve service-only callback immediately
|
|
63
|
+
serviceDiscoveryCallback?(true, "")
|
|
64
|
+
serviceDiscoveryCallback = nil
|
|
65
|
+
|
|
66
|
+
// Trigger characteristic discovery only for services that still need it.
|
|
67
|
+
// CoreBluetooth may skip the didDiscoverCharacteristicsFor callback for
|
|
68
|
+
// services whose characteristics are already cached, which would leave the
|
|
69
|
+
// counter stuck below expectedCharacteristicsCount.
|
|
70
|
+
let services = peripheral.services ?? []
|
|
71
|
+
let undiscovered = services.filter { $0.characteristics == nil }
|
|
72
|
+
|
|
73
|
+
if undiscovered.isEmpty {
|
|
74
|
+
resolveFullDiscoveryCallbacks(success: true, error: "")
|
|
48
75
|
} else {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
76
|
+
expectedCharacteristicsCount = undiscovered.count
|
|
77
|
+
characteristicsDiscoveredCount = 0
|
|
78
|
+
characteristicDiscoveryError = nil
|
|
79
|
+
for service in undiscovered {
|
|
53
80
|
peripheral.discoverCharacteristics(nil, for: service)
|
|
54
81
|
}
|
|
55
82
|
}
|
|
56
|
-
serviceDiscoveryCallback = nil
|
|
57
83
|
}
|
|
58
84
|
|
|
59
85
|
func peripheral(
|
|
@@ -62,13 +88,27 @@ class BlePeripheralDelegate: NSObject, CBPeripheralDelegate {
|
|
|
62
88
|
error: Error?
|
|
63
89
|
) {
|
|
64
90
|
let serviceId = service.uuid.uuidString
|
|
65
|
-
|
|
91
|
+
|
|
66
92
|
if let error = error {
|
|
67
93
|
characteristicDiscoveryCallbacks[serviceId]?(false, error.localizedDescription)
|
|
94
|
+
// Record the first error for the full discovery callback
|
|
95
|
+
if characteristicDiscoveryError == nil {
|
|
96
|
+
characteristicDiscoveryError = "Characteristic discovery failed for service \(serviceId): \(error.localizedDescription)"
|
|
97
|
+
}
|
|
68
98
|
} else {
|
|
69
99
|
characteristicDiscoveryCallbacks[serviceId]?(true, "")
|
|
70
100
|
}
|
|
71
101
|
characteristicDiscoveryCallbacks.removeValue(forKey: serviceId)
|
|
102
|
+
|
|
103
|
+
// Track full discovery progress
|
|
104
|
+
characteristicsDiscoveredCount += 1
|
|
105
|
+
if characteristicsDiscoveredCount >= expectedCharacteristicsCount {
|
|
106
|
+
if let discoveryError = characteristicDiscoveryError {
|
|
107
|
+
resolveFullDiscoveryCallbacks(success: false, error: discoveryError)
|
|
108
|
+
} else {
|
|
109
|
+
resolveFullDiscoveryCallbacks(success: true, error: "")
|
|
110
|
+
}
|
|
111
|
+
}
|
|
72
112
|
}
|
|
73
113
|
|
|
74
114
|
// MARK: - CBPeripheralDelegate - Characteristic Read
|
|
@@ -197,10 +237,23 @@ class BlePeripheralDelegate: NSObject, CBPeripheralDelegate {
|
|
|
197
237
|
// MARK: - CBPeripheralDelegate - Connection Events
|
|
198
238
|
|
|
199
239
|
func peripheral(_ peripheral: CBPeripheral, didModifyServices invalidatedServices: [CBService]) {
|
|
200
|
-
|
|
201
|
-
|
|
240
|
+
resolveFullDiscoveryCallbacks(success: false, error: "Services were invalidated during discovery")
|
|
241
|
+
servicesDiscovered = false
|
|
242
|
+
characteristicsDiscoveredCount = 0
|
|
243
|
+
expectedCharacteristicsCount = 0
|
|
244
|
+
characteristicDiscoveryError = nil
|
|
202
245
|
}
|
|
203
246
|
|
|
247
|
+
// MARK: - Full Discovery Helpers
|
|
248
|
+
|
|
249
|
+
private func resolveFullDiscoveryCallbacks(success: Bool, error: String) {
|
|
250
|
+
let callbacks = fullDiscoveryCallbacks
|
|
251
|
+
fullDiscoveryCallbacks.removeAll()
|
|
252
|
+
for callback in callbacks {
|
|
253
|
+
callback(success, error)
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
204
257
|
func peripheralIsReady(toSendWriteWithoutResponse peripheral: CBPeripheral) {
|
|
205
258
|
// Handle write without response ready state
|
|
206
259
|
// Can be used to implement queuing for write operations
|
|
@@ -208,11 +261,17 @@ class BlePeripheralDelegate: NSObject, CBPeripheralDelegate {
|
|
|
208
261
|
|
|
209
262
|
// MARK: - Cleanup
|
|
210
263
|
func cleanup() {
|
|
264
|
+
// Reject in-flight discovery callbacks before clearing
|
|
265
|
+
resolveFullDiscoveryCallbacks(success: false, error: "Peripheral disconnected during discovery")
|
|
211
266
|
// Clear all callbacks to prevent memory leaks
|
|
212
267
|
connectionCallback = nil
|
|
213
268
|
disconnectionCallback = nil
|
|
214
269
|
disconnectEventCallback = nil
|
|
215
270
|
serviceDiscoveryCallback = nil
|
|
271
|
+
servicesDiscovered = false
|
|
272
|
+
characteristicsDiscoveredCount = 0
|
|
273
|
+
expectedCharacteristicsCount = 0
|
|
274
|
+
characteristicDiscoveryError = nil
|
|
216
275
|
characteristicDiscoveryCallbacks.removeAll()
|
|
217
276
|
rssiCallback = nil
|
|
218
277
|
readCallbacks.removeAll()
|
package/lib/commonjs/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { type ByteArray, type ScanFilter, type BLEDevice, type ScanCallback, type ManufacturerDataEntry, type ManufacturerData, type ConnectionCallback, type DisconnectEventCallback, type OperationCallback, type CharacteristicUpdateCallback, type Subscription, type AsyncSubscription, type BleNitroManagerOptions, BLEState, AndroidScanMode, BleNitroManager, } from "./manager";
|
|
1
|
+
export { type ByteArray, type ScanFilter, type BLEDevice, type ScanCallback, type ManufacturerDataEntry, type ManufacturerData, type ConnectionCallback, type DisconnectEventCallback, type OperationCallback, type CharacteristicUpdateCallback, type Subscription, type AsyncSubscription, type BleNitroManagerOptions, BLEState, AndroidScanMode, BleNitroManager, BleTimeoutError, } from "./manager";
|
|
2
2
|
export { BleNitro } from './singleton';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,QAAQ,EACR,eAAe,EACf,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,QAAQ,EACR,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BleNitro = exports.BleNitroManager = exports.AndroidScanMode = exports.BLEState = void 0;
|
|
3
|
+
exports.BleNitro = exports.BleTimeoutError = exports.BleNitroManager = exports.AndroidScanMode = exports.BLEState = void 0;
|
|
4
4
|
var manager_1 = require("./manager");
|
|
5
5
|
Object.defineProperty(exports, "BLEState", { enumerable: true, get: function () { return manager_1.BLEState; } });
|
|
6
6
|
Object.defineProperty(exports, "AndroidScanMode", { enumerable: true, get: function () { return manager_1.AndroidScanMode; } });
|
|
7
7
|
Object.defineProperty(exports, "BleNitroManager", { enumerable: true, get: function () { return manager_1.BleNitroManager; } });
|
|
8
|
+
Object.defineProperty(exports, "BleTimeoutError", { enumerable: true, get: function () { return manager_1.BleTimeoutError; } });
|
|
8
9
|
var singleton_1 = require("./singleton");
|
|
9
10
|
Object.defineProperty(exports, "BleNitro", { enumerable: true, get: function () { return singleton_1.BleNitro; } });
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAkBmB;AAJjB,mGAAA,QAAQ,OAAA;AACR,0GAAA,eAAe,OAAA;AACf,0GAAA,eAAe,OAAA;AACf,0GAAA,eAAe,OAAA;AAGjB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { BLEDevice as NativeBLEDevice, BLEState as NativeBLEState, AndroidScanMode as NativeAndroidScanMode } from './specs/NativeBleNitro';
|
|
2
|
+
export declare class BleTimeoutError extends Error {
|
|
3
|
+
constructor(operation: string, ms: number);
|
|
4
|
+
}
|
|
2
5
|
export type ByteArray = number[];
|
|
3
6
|
export interface ScanFilter {
|
|
4
7
|
serviceUUIDs?: string[];
|
|
@@ -173,7 +176,10 @@ export declare class BleNitroManager {
|
|
|
173
176
|
*/
|
|
174
177
|
getCharacteristics(deviceId: string, serviceId: string): string[];
|
|
175
178
|
/**
|
|
176
|
-
* Get services and characteristics for a connected device
|
|
179
|
+
* Get services and characteristics for a connected device.
|
|
180
|
+
* Uses a native method that waits for both service and characteristic
|
|
181
|
+
* discovery to complete before reading, avoiding the CoreBluetooth race
|
|
182
|
+
* where didDiscoverServices may not re-fire for cached services.
|
|
177
183
|
* @param deviceId ID of the device
|
|
178
184
|
* @returns Promise resolving to array of service and characteristic UUIDs
|
|
179
185
|
* @see getServices
|
|
@@ -183,6 +189,8 @@ export declare class BleNitroManager {
|
|
|
183
189
|
uuid: string;
|
|
184
190
|
characteristics: string[];
|
|
185
191
|
}[]>;
|
|
192
|
+
private static readonly DISCOVERY_TIMEOUT_MS;
|
|
193
|
+
private _discoverServicesWithCharacteristics;
|
|
186
194
|
/**
|
|
187
195
|
* Read a characteristic value
|
|
188
196
|
* @param deviceId ID of the device
|
|
@@ -218,6 +226,14 @@ export declare class BleNitroManager {
|
|
|
218
226
|
* @returns Promise resolving when unsubscription is complete
|
|
219
227
|
*/
|
|
220
228
|
unsubscribeFromCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<void>;
|
|
229
|
+
/**
|
|
230
|
+
* Check if currently subscribed to a characteristic's notifications
|
|
231
|
+
* @param deviceId ID of the device
|
|
232
|
+
* @param serviceId ID of the service
|
|
233
|
+
* @param characteristicId ID of the characteristic
|
|
234
|
+
* @returns Boolean indicating if subscribed to notifications
|
|
235
|
+
*/
|
|
236
|
+
isSubscribedToCharacteristic(deviceId: string, serviceId: string, characteristicId: string): boolean;
|
|
221
237
|
/**
|
|
222
238
|
* Check if Bluetooth is enabled
|
|
223
239
|
* @returns returns Boolean according to Bluetooth state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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"}
|
package/lib/commonjs/manager.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.BleNitroManager = exports.AndroidScanMode = exports.BLEState = void 0;
|
|
6
|
+
exports.BleNitroManager = exports.AndroidScanMode = exports.BLEState = exports.BleTimeoutError = void 0;
|
|
7
7
|
exports.mapNativeBLEStateToBLEState = mapNativeBLEStateToBLEState;
|
|
8
8
|
exports.mapAndroidScanModeToNativeAndroidScanMode = mapAndroidScanModeToNativeAndroidScanMode;
|
|
9
9
|
exports.convertNativeBleDeviceToBleDevice = convertNativeBleDeviceToBleDevice;
|
|
@@ -11,6 +11,20 @@ exports.arrayBufferToByteArray = arrayBufferToByteArray;
|
|
|
11
11
|
exports.byteArrayToArrayBuffer = byteArrayToArrayBuffer;
|
|
12
12
|
const NativeBleNitroFactory_1 = __importDefault(require("./specs/NativeBleNitroFactory"));
|
|
13
13
|
const NativeBleNitro_1 = require("./specs/NativeBleNitro");
|
|
14
|
+
class BleTimeoutError extends Error {
|
|
15
|
+
constructor(operation, ms) {
|
|
16
|
+
super(`${operation} timed out after ${ms}ms`);
|
|
17
|
+
this.name = 'BleTimeoutError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.BleTimeoutError = BleTimeoutError;
|
|
21
|
+
function withTimeout(promise, ms, operation) {
|
|
22
|
+
let timer;
|
|
23
|
+
const timeout = new Promise((_, reject) => {
|
|
24
|
+
timer = setTimeout(() => reject(new BleTimeoutError(operation, ms)), ms);
|
|
25
|
+
});
|
|
26
|
+
return Promise.race([promise, timeout]).finally(() => clearTimeout(timer));
|
|
27
|
+
}
|
|
14
28
|
var BLEState;
|
|
15
29
|
(function (BLEState) {
|
|
16
30
|
BLEState["Unknown"] = "Unknown";
|
|
@@ -372,21 +386,39 @@ class BleNitroManager {
|
|
|
372
386
|
return BleNitroManager.normalizeGattUUIDs(characteristics);
|
|
373
387
|
}
|
|
374
388
|
/**
|
|
375
|
-
* Get services and characteristics for a connected device
|
|
389
|
+
* Get services and characteristics for a connected device.
|
|
390
|
+
* Uses a native method that waits for both service and characteristic
|
|
391
|
+
* discovery to complete before reading, avoiding the CoreBluetooth race
|
|
392
|
+
* where didDiscoverServices may not re-fire for cached services.
|
|
376
393
|
* @param deviceId ID of the device
|
|
377
394
|
* @returns Promise resolving to array of service and characteristic UUIDs
|
|
378
395
|
* @see getServices
|
|
379
396
|
* @see getCharacteristics
|
|
380
397
|
*/
|
|
381
398
|
async getServicesWithCharacteristics(deviceId) {
|
|
382
|
-
await this.
|
|
383
|
-
const services =
|
|
384
|
-
return services.map((service) => {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
399
|
+
await this._discoverServicesWithCharacteristics(deviceId);
|
|
400
|
+
const services = this.Instance.getServices(deviceId);
|
|
401
|
+
return BleNitroManager.normalizeGattUUIDs(services).map((service) => ({
|
|
402
|
+
uuid: service,
|
|
403
|
+
characteristics: this.getCharacteristics(deviceId, service),
|
|
404
|
+
}));
|
|
405
|
+
}
|
|
406
|
+
_discoverServicesWithCharacteristics(deviceId) {
|
|
407
|
+
const inner = new Promise((resolve, reject) => {
|
|
408
|
+
if (!this.isConnected(deviceId)) {
|
|
409
|
+
reject(new Error('Device not connected'));
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
this.Instance.discoverServicesWithCharacteristics(deviceId, (success, error) => {
|
|
413
|
+
if (success) {
|
|
414
|
+
resolve();
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
reject(new Error(error));
|
|
418
|
+
}
|
|
419
|
+
});
|
|
389
420
|
});
|
|
421
|
+
return withTimeout(inner, BleNitroManager.DISCOVERY_TIMEOUT_MS, 'discoverServicesWithCharacteristics');
|
|
390
422
|
}
|
|
391
423
|
/**
|
|
392
424
|
* Read a characteristic value
|
|
@@ -495,6 +527,18 @@ class BleNitroManager {
|
|
|
495
527
|
});
|
|
496
528
|
});
|
|
497
529
|
}
|
|
530
|
+
/**
|
|
531
|
+
* Check if currently subscribed to a characteristic's notifications
|
|
532
|
+
* @param deviceId ID of the device
|
|
533
|
+
* @param serviceId ID of the service
|
|
534
|
+
* @param characteristicId ID of the characteristic
|
|
535
|
+
* @returns Boolean indicating if subscribed to notifications
|
|
536
|
+
*/
|
|
537
|
+
isSubscribedToCharacteristic(deviceId, serviceId, characteristicId) {
|
|
538
|
+
// No isConnected guard — both native implementations already return false
|
|
539
|
+
// for disconnected devices, and an extra check would introduce a TOCTOU race.
|
|
540
|
+
return this.Instance.isSubscribedToCharacteristic(deviceId, BleNitroManager.normalizeGattUUID(serviceId), BleNitroManager.normalizeGattUUID(characteristicId));
|
|
541
|
+
}
|
|
498
542
|
/**
|
|
499
543
|
* Check if Bluetooth is enabled
|
|
500
544
|
* @returns returns Boolean according to Bluetooth state
|
|
@@ -556,4 +600,5 @@ class BleNitroManager {
|
|
|
556
600
|
}
|
|
557
601
|
}
|
|
558
602
|
exports.BleNitroManager = BleNitroManager;
|
|
603
|
+
BleNitroManager.DISCOVERY_TIMEOUT_MS = 30000;
|
|
559
604
|
//# sourceMappingURL=manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,12 +74,15 @@ export interface NativeBleNitro extends HybridObject<{
|
|
|
74
74
|
requestMTU(deviceId: string, mtu: number): number;
|
|
75
75
|
readRSSI(deviceId: string, callback: ReadRSSICallback): void;
|
|
76
76
|
discoverServices(deviceId: string, callback: OperationCallback): void;
|
|
77
|
+
/** Discover services and wait for all characteristic discovery to complete before resolving. */
|
|
78
|
+
discoverServicesWithCharacteristics(deviceId: string, callback: OperationCallback): void;
|
|
77
79
|
getServices(deviceId: string): string[];
|
|
78
80
|
getCharacteristics(deviceId: string, serviceId: string): string[];
|
|
79
81
|
readCharacteristic(deviceId: string, serviceId: string, characteristicId: string, callback: ReadCharacteristicCallback): void;
|
|
80
82
|
writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data: BLEValue, withResponse: boolean, callback: WriteCharacteristicCallback): void;
|
|
81
83
|
subscribeToCharacteristic(deviceId: string, serviceId: string, characteristicId: string, updateCallback: CharacteristicCallback, completionCallback: OperationCallback): void;
|
|
82
84
|
unsubscribeFromCharacteristic(deviceId: string, serviceId: string, characteristicId: string, callback: OperationCallback): void;
|
|
85
|
+
isSubscribedToCharacteristic(deviceId: string, serviceId: string, characteristicId: string): boolean;
|
|
83
86
|
requestBluetoothEnable(callback: OperationCallback): void;
|
|
84
87
|
state(): BLEState;
|
|
85
88
|
subscribeToStateChange(stateCallback: StateCallback): OperationResult;
|