@matter/react-native 0.16.10 → 0.16.11-alpha.0-20260225-033797f3c

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.
@@ -3,50 +3,14 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ChannelType, Duration } from "#general";
7
- import { CommissionableDevice, CommissionableDeviceIdentifiers, Scanner } from "#protocol";
8
- import { Device } from "react-native-ble-plx";
9
- import { ReactNativeBleClient } from "./ReactNativeBleClient.js";
10
- export type DiscoveredBleDevice = {
11
- deviceData: CommissionableDeviceData;
12
- peripheral: Device;
13
- hasAdditionalAdvertisementData: boolean;
6
+ import { BleScanner as BaseBleScanner, DiscoveredBleDevice } from "#protocol";
7
+ import { ReactNativeBleClient, ReactNativeBlePeripheral } from "./ReactNativeBleClient.js";
8
+ export type { DiscoveredBleDevice } from "#protocol";
9
+ export type ReactNativeDiscoveredBleDevice = Omit<DiscoveredBleDevice, "peripheral"> & {
10
+ peripheral: ReactNativeBlePeripheral;
14
11
  };
15
- type CommissionableDeviceData = CommissionableDevice & {
16
- SD: number;
17
- };
18
- export declare class BleScanner implements Scanner {
19
- private readonly bleClient;
20
- get type(): ChannelType;
21
- private readonly recordWaiters;
22
- private readonly discoveredMatterDevices;
12
+ export declare class BleScanner extends BaseBleScanner {
23
13
  constructor(bleClient: ReactNativeBleClient);
24
- getDiscoveredDevice(address: string): DiscoveredBleDevice;
25
- /**
26
- * Registers a deferred promise for a specific queryId together with a timeout and return the promise.
27
- * The promise will be resolved when the timer runs out latest.
28
- */
29
- private registerWaiterPromise;
30
- /**
31
- * Remove a waiter promise for a specific queryId and stop the connected timer. If required also resolve the
32
- * promise.
33
- */
34
- private finishWaiter;
35
- cancelCommissionableDeviceDiscovery(identifier: CommissionableDeviceIdentifiers, resolvePromise?: boolean): void;
36
- private handleDiscoveredDevice;
37
- private findCommissionableQueryIdentifier;
38
- /**
39
- * Builds an identifier string for commissionable queries based on the given identifier object.
40
- * Some identifiers are identical to the official DNS-SD identifiers, others are custom.
41
- */
42
- private buildCommissionableQueryIdentifier;
43
- private getCommissionableDevices;
44
- findOperationalDevice(): Promise<undefined>;
45
- getDiscoveredOperationalDevice(): undefined;
46
- findCommissionableDevices(identifier: CommissionableDeviceIdentifiers, timeout?: Duration, ignoreExistingRecords?: boolean): Promise<CommissionableDevice[]>;
47
- findCommissionableDevicesContinuously(identifier: CommissionableDeviceIdentifiers, callback: (device: CommissionableDevice) => void, timeout?: Duration, cancelSignal?: Promise<void>): Promise<CommissionableDevice[]>;
48
- getDiscoveredCommissionableDevices(identifier: CommissionableDeviceIdentifiers): CommissionableDevice[];
49
- close(): Promise<void>;
14
+ getDiscoveredDevice(address: string): ReactNativeDiscoveredBleDevice;
50
15
  }
51
- export {};
52
16
  //# sourceMappingURL=BleScanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../../src/ble/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,WAAW,EAAiB,QAAQ,EAAkD,MAAM,UAAU,CAAC;AACvH,OAAO,EAAsB,oBAAoB,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/G,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG,oBAAoB,GAAG;IACnD,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IAgB1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAftC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAQ1B;IACJ,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0C;gBAErD,SAAS,EAAE,oBAAoB;IAMrD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAQhE;;;OAGG;YACW,qBAAqB;IAuBnC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB,mCAAmC,CAAC,UAAU,EAAE,+BAA+B,EAAE,cAAc,UAAO;IAOtG,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,iCAAiC;IAmCzC;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,wBAAwB;IA4B1B,qBAAqB,IAAI,OAAO,CAAC,SAAS,CAAC;IAKjD,8BAA8B,IAAI,SAAS;IAKrC,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,OAAO,WAAc,EACrB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqB5B,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,OAAO,CAAC,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAgDlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B,GAAG,oBAAoB,EAAE;IAIjG,KAAK;CAMd"}
1
+ {"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../../src/ble/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG;IACnF,UAAU,EAAE,wBAAwB,CAAC;CACxC,CAAC;AAEF,qBAAa,UAAW,SAAQ,cAAc;gBAC9B,SAAS,EAAE,oBAAoB;IAIlC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,8BAA8B;CAGhF"}
@@ -21,248 +21,18 @@ __export(BleScanner_exports, {
21
21
  BleScanner: () => BleScanner
22
22
  });
23
23
  module.exports = __toCommonJS(BleScanner_exports);
24
- var import_general = require("#general");
25
24
  var import_protocol = require("#protocol");
26
- var import_types = require("#types");
27
25
  /**
28
26
  * @license
29
27
  * Copyright 2022-2026 Matter.js Authors
30
28
  * SPDX-License-Identifier: Apache-2.0
31
29
  */
32
- const logger = import_general.Logger.get("BleScanner");
33
- class BleScanner {
30
+ class BleScanner extends import_protocol.BleScanner {
34
31
  constructor(bleClient) {
35
- this.bleClient = bleClient;
36
- this.bleClient.setDiscoveryCallback(
37
- (address, manufacturerData) => this.handleDiscoveredDevice(address, manufacturerData)
38
- );
32
+ super(bleClient);
39
33
  }
40
- get type() {
41
- return import_general.ChannelType.BLE;
42
- }
43
- recordWaiters = /* @__PURE__ */ new Map();
44
- discoveredMatterDevices = /* @__PURE__ */ new Map();
45
34
  getDiscoveredDevice(address) {
46
- const device = this.discoveredMatterDevices.get(address);
47
- if (device === void 0) {
48
- throw new import_protocol.BleError(`No device found for address ${address}`);
49
- }
50
- return device;
51
- }
52
- /**
53
- * Registers a deferred promise for a specific queryId together with a timeout and return the promise.
54
- * The promise will be resolved when the timer runs out latest.
55
- */
56
- async registerWaiterPromise(queryId, timeout, resolveOnUpdatedRecords = true, cancelResolver) {
57
- const { promise, resolver } = (0, import_general.createPromise)();
58
- let timer;
59
- if (timeout) {
60
- timer = import_general.Time.getTimer("BLE query timeout", timeout, () => {
61
- cancelResolver?.();
62
- this.finishWaiter(queryId, true);
63
- }).start();
64
- }
65
- this.recordWaiters.set(queryId, { resolver, timer, resolveOnUpdatedRecords, cancelResolver });
66
- logger.debug(
67
- `Registered waiter for query ${queryId} with timeout ${timeout === void 0 ? "(none)" : import_general.Duration.format(timeout)}${resolveOnUpdatedRecords ? "" : " (not resolving on updated records)"}`
68
- );
69
- await promise;
70
- }
71
- /**
72
- * Remove a waiter promise for a specific queryId and stop the connected timer. If required also resolve the
73
- * promise.
74
- */
75
- finishWaiter(queryId, resolvePromise, isUpdatedRecord = false) {
76
- const waiter = this.recordWaiters.get(queryId);
77
- if (waiter === void 0) return;
78
- const { timer, resolver, resolveOnUpdatedRecords } = waiter;
79
- if (isUpdatedRecord && !resolveOnUpdatedRecords) return;
80
- logger.debug(`Finishing waiter for query ${queryId}, resolving: ${resolvePromise}`);
81
- timer?.stop();
82
- if (resolvePromise) {
83
- resolver();
84
- }
85
- this.recordWaiters.delete(queryId);
86
- }
87
- cancelCommissionableDeviceDiscovery(identifier, resolvePromise = true) {
88
- const queryKey = this.buildCommissionableQueryIdentifier(identifier);
89
- const { cancelResolver } = this.recordWaiters.get(queryKey) ?? {};
90
- cancelResolver?.();
91
- this.finishWaiter(queryKey, resolvePromise);
92
- }
93
- handleDiscoveredDevice(peripheral, manufacturerServiceData) {
94
- logger.debug(
95
- `Discovered device ${peripheral.id} "${peripheral.localName}" ${manufacturerServiceData === void 0 ? void 0 : import_general.Bytes.toHex(manufacturerServiceData)}`
96
- );
97
- try {
98
- const { discriminator, vendorId, productId, hasAdditionalAdvertisementData } = import_protocol.BtpCodec.decodeBleAdvertisementServiceData(manufacturerServiceData);
99
- const commissionableDevice = {
100
- deviceIdentifier: peripheral.id,
101
- D: discriminator,
102
- SD: discriminator >> 8 & 15,
103
- VP: `${vendorId}+${productId}`,
104
- CM: 1,
105
- // Can be no other mode,
106
- addresses: [{ type: "ble", peripheralAddress: peripheral.id }]
107
- };
108
- logger.debug(`Discovered device ${peripheral.id} data: ${JSON.stringify(commissionableDevice)}`);
109
- const deviceExisting = this.discoveredMatterDevices.has(peripheral.id);
110
- this.discoveredMatterDevices.set(peripheral.id, {
111
- deviceData: commissionableDevice,
112
- peripheral,
113
- hasAdditionalAdvertisementData
114
- });
115
- const queryKey = this.findCommissionableQueryIdentifier(commissionableDevice);
116
- if (queryKey !== void 0) {
117
- this.finishWaiter(queryKey, true, deviceExisting);
118
- }
119
- } catch (error) {
120
- logger.debug(`Seems not to be a valid Matter device: Failed to decode device data: ${error}`);
121
- }
122
- }
123
- findCommissionableQueryIdentifier(record) {
124
- const longDiscriminatorQueryId = this.buildCommissionableQueryIdentifier({ longDiscriminator: record.D });
125
- if (this.recordWaiters.has(longDiscriminatorQueryId)) {
126
- return longDiscriminatorQueryId;
127
- }
128
- const shortDiscriminatorQueryId = this.buildCommissionableQueryIdentifier({ shortDiscriminator: record.SD });
129
- if (this.recordWaiters.has(shortDiscriminatorQueryId)) {
130
- return shortDiscriminatorQueryId;
131
- }
132
- if (record.VP !== void 0) {
133
- const vendorIdQueryId = this.buildCommissionableQueryIdentifier({
134
- vendorId: (0, import_types.VendorId)(parseInt(record.VP.split("+")[0]))
135
- });
136
- if (this.recordWaiters.has(vendorIdQueryId)) {
137
- return vendorIdQueryId;
138
- }
139
- if (record.VP.includes("+")) {
140
- const productIdQueryId = this.buildCommissionableQueryIdentifier({
141
- vendorId: (0, import_types.VendorId)(parseInt(record.VP.split("+")[1]))
142
- });
143
- if (this.recordWaiters.has(productIdQueryId)) {
144
- return productIdQueryId;
145
- }
146
- }
147
- }
148
- if (this.recordWaiters.has("*")) {
149
- return "*";
150
- }
151
- return void 0;
152
- }
153
- /**
154
- * Builds an identifier string for commissionable queries based on the given identifier object.
155
- * Some identifiers are identical to the official DNS-SD identifiers, others are custom.
156
- */
157
- buildCommissionableQueryIdentifier(identifier) {
158
- if ("longDiscriminator" in identifier) {
159
- return `D:${identifier.longDiscriminator}`;
160
- } else if ("shortDiscriminator" in identifier) {
161
- return `SD:${identifier.shortDiscriminator}`;
162
- } else if ("vendorId" in identifier) {
163
- return `V:${identifier.vendorId}`;
164
- } else if ("productId" in identifier) {
165
- return `P:${identifier.productId}`;
166
- } else return "*";
167
- }
168
- getCommissionableDevices(identifier) {
169
- const storedRecords = Array.from(this.discoveredMatterDevices.values());
170
- const foundRecords = new Array();
171
- if ("longDiscriminator" in identifier) {
172
- foundRecords.push(...storedRecords.filter(({ deviceData: { D } }) => D === identifier.longDiscriminator));
173
- } else if ("shortDiscriminator" in identifier) {
174
- foundRecords.push(
175
- ...storedRecords.filter(({ deviceData: { SD } }) => SD === identifier.shortDiscriminator)
176
- );
177
- } else if ("vendorId" in identifier) {
178
- foundRecords.push(
179
- ...storedRecords.filter(
180
- ({ deviceData: { VP } }) => VP === `${identifier.vendorId}` || VP?.startsWith(`${identifier.vendorId}+`)
181
- )
182
- );
183
- } else if ("productId" in identifier) {
184
- foundRecords.push(
185
- ...storedRecords.filter(({ deviceData: { VP } }) => VP?.endsWith(`+${identifier.productId}`))
186
- );
187
- } else {
188
- foundRecords.push(...storedRecords.filter(({ deviceData: { CM } }) => CM === 1 || CM === 2));
189
- }
190
- return foundRecords;
191
- }
192
- async findOperationalDevice() {
193
- logger.info(`skip BLE scan because scanning for operational devices is not supported`);
194
- return void 0;
195
- }
196
- getDiscoveredOperationalDevice() {
197
- logger.info(`skip BLE scan because scanning for operational devices is not supported`);
198
- return void 0;
199
- }
200
- async findCommissionableDevices(identifier, timeout = (0, import_general.Seconds)(10), ignoreExistingRecords = false) {
201
- let storedRecords = this.getCommissionableDevices(identifier);
202
- if (ignoreExistingRecords) {
203
- for (const record of storedRecords) {
204
- this.discoveredMatterDevices.delete(record.peripheral.id);
205
- }
206
- storedRecords = [];
207
- }
208
- if (storedRecords.length === 0) {
209
- const queryKey = this.buildCommissionableQueryIdentifier(identifier);
210
- await this.bleClient.startScanning();
211
- await this.registerWaiterPromise(queryKey, timeout);
212
- storedRecords = this.getCommissionableDevices(identifier);
213
- await this.bleClient.stopScanning();
214
- }
215
- return storedRecords.map(({ deviceData }) => deviceData);
216
- }
217
- async findCommissionableDevicesContinuously(identifier, callback, timeout, cancelSignal) {
218
- const discoveredDevices = /* @__PURE__ */ new Set();
219
- const discoveryEndTime = timeout ? import_general.Time.nowMs + timeout : void 0;
220
- const queryKey = this.buildCommissionableQueryIdentifier(identifier);
221
- await this.bleClient.startScanning();
222
- let queryResolver;
223
- if (cancelSignal === void 0) {
224
- const { promise, resolver } = (0, import_general.createPromise)();
225
- cancelSignal = promise;
226
- queryResolver = resolver;
227
- }
228
- let canceled = false;
229
- cancelSignal?.then(
230
- () => {
231
- canceled = true;
232
- this.finishWaiter(queryKey, true);
233
- },
234
- (cause) => {
235
- logger.error("Unexpected error canceling commissioning", cause);
236
- }
237
- );
238
- while (!canceled) {
239
- this.getCommissionableDevices(identifier).forEach(({ deviceData }) => {
240
- const { deviceIdentifier } = deviceData;
241
- if (!discoveredDevices.has(deviceIdentifier)) {
242
- discoveredDevices.add(deviceIdentifier);
243
- callback(deviceData);
244
- }
245
- });
246
- let remainingTime;
247
- if (discoveryEndTime !== void 0) {
248
- remainingTime = import_general.Millis.ceil((0, import_general.Timespan)(import_general.Time.nowMs, discoveryEndTime).duration);
249
- if (remainingTime <= 0) {
250
- break;
251
- }
252
- }
253
- await this.registerWaiterPromise(queryKey, remainingTime, false, queryResolver);
254
- }
255
- await this.bleClient.stopScanning();
256
- return this.getCommissionableDevices(identifier).map(({ deviceData }) => deviceData);
257
- }
258
- getDiscoveredCommissionableDevices(identifier) {
259
- return this.getCommissionableDevices(identifier).map(({ deviceData }) => deviceData);
260
- }
261
- async close() {
262
- await this.bleClient.stopScanning();
263
- [...this.recordWaiters.keys()].forEach(
264
- (queryId) => this.finishWaiter(queryId, !!this.recordWaiters.get(queryId)?.timer)
265
- );
35
+ return super.getDiscoveredDevice(address);
266
36
  }
267
37
  }
268
38
  //# sourceMappingURL=BleScanner.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ble/BleScanner.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA4G;AAC5G,sBAAmG;AACnG,mBAAyB;AARzB;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,SAAS,sBAAO,IAAI,YAAY;AAY/B,MAAM,WAA8B;AAAA,EAgBvC,YAA6B,WAAiC;AAAjC;AACzB,SAAK,UAAU;AAAA,MAAqB,CAAC,SAAS,qBAC1C,KAAK,uBAAuB,SAAS,gBAAgB;AAAA,IACzD;AAAA,EACJ;AAAA,EAnBA,IAAI,OAAO;AACP,WAAO,2BAAY;AAAA,EACvB;AAAA,EAEiB,gBAAgB,oBAAI,IAQnC;AAAA,EACe,0BAA0B,oBAAI,IAAiC;AAAA,EAQzE,oBAAoB,SAAsC;AAC7D,UAAM,SAAS,KAAK,wBAAwB,IAAI,OAAO;AACvD,QAAI,WAAW,QAAW;AACtB,YAAM,IAAI,yBAAS,+BAA+B,OAAO,EAAE;AAAA,IAC/D;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAc,sBACV,SACA,SACA,0BAA0B,MAC1B,gBACF;AACE,UAAM,EAAE,SAAS,SAAS,QAAI,8BAAoB;AAClD,QAAI;AACJ,QAAI,SAAS;AACT,cAAQ,oBAAK,SAAS,qBAAqB,SAAS,MAAM;AACtD,yBAAiB;AACjB,aAAK,aAAa,SAAS,IAAI;AAAA,MACnC,CAAC,EAAE,MAAM;AAAA,IACb;AACA,SAAK,cAAc,IAAI,SAAS,EAAE,UAAU,OAAO,yBAAyB,eAAe,CAAC;AAC5F,WAAO;AAAA,MACH,+BAA+B,OAAO,iBAAiB,YAAY,SAAY,WAAW,wBAAS,OAAO,OAAO,CAAC,GAC9G,0BAA0B,KAAK,qCACnC;AAAA,IACJ;AACA,UAAM;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,aAAa,SAAiB,gBAAyB,kBAAkB,OAAO;AACpF,UAAM,SAAS,KAAK,cAAc,IAAI,OAAO;AAC7C,QAAI,WAAW,OAAW;AAC1B,UAAM,EAAE,OAAO,UAAU,wBAAwB,IAAI;AACrD,QAAI,mBAAmB,CAAC,wBAAyB;AACjD,WAAO,MAAM,8BAA8B,OAAO,gBAAgB,cAAc,EAAE;AAClF,WAAO,KAAK;AACZ,QAAI,gBAAgB;AAChB,eAAS;AAAA,IACb;AACA,SAAK,cAAc,OAAO,OAAO;AAAA,EACrC;AAAA,EAEA,oCAAoC,YAA6C,iBAAiB,MAAM;AACpG,UAAM,WAAW,KAAK,mCAAmC,UAAU;AACnE,UAAM,EAAE,eAAe,IAAI,KAAK,cAAc,IAAI,QAAQ,KAAK,CAAC;AAChE,qBAAiB;AACjB,SAAK,aAAa,UAAU,cAAc;AAAA,EAC9C;AAAA,EAEQ,uBAAuB,YAAoB,yBAAgC;AAC/E,WAAO;AAAA,MACH,qBAAqB,WAAW,EAAE,KAAK,WAAW,SAAS,KAAK,4BAA4B,SAAY,SAAY,qBAAM,MAAM,uBAAuB,CAAC;AAAA,IAC5J;AAEA,QAAI;AACA,YAAM,EAAE,eAAe,UAAU,WAAW,+BAA+B,IACvE,yBAAS,kCAAkC,uBAAuB;AAEtE,YAAM,uBAAiD;AAAA,QACnD,kBAAkB,WAAW;AAAA,QAC7B,GAAG;AAAA,QACH,IAAK,iBAAiB,IAAK;AAAA,QAC3B,IAAI,GAAG,QAAQ,IAAI,SAAS;AAAA,QAC5B,IAAI;AAAA;AAAA,QACJ,WAAW,CAAC,EAAE,MAAM,OAAO,mBAAmB,WAAW,GAAG,CAAC;AAAA,MACjE;AACA,aAAO,MAAM,qBAAqB,WAAW,EAAE,UAAU,KAAK,UAAU,oBAAoB,CAAC,EAAE;AAE/F,YAAM,iBAAiB,KAAK,wBAAwB,IAAI,WAAW,EAAE;AAErE,WAAK,wBAAwB,IAAI,WAAW,IAAI;AAAA,QAC5C,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,MACJ,CAAC;AAED,YAAM,WAAW,KAAK,kCAAkC,oBAAoB;AAC5E,UAAI,aAAa,QAAW;AACxB,aAAK,aAAa,UAAU,MAAM,cAAc;AAAA,MACpD;AAAA,IACJ,SAAS,OAAO;AACZ,aAAO,MAAM,wEAAwE,KAAK,EAAE;AAAA,IAChG;AAAA,EACJ;AAAA,EAEQ,kCAAkC,QAAkC;AACxE,UAAM,2BAA2B,KAAK,mCAAmC,EAAE,mBAAmB,OAAO,EAAE,CAAC;AACxG,QAAI,KAAK,cAAc,IAAI,wBAAwB,GAAG;AAClD,aAAO;AAAA,IACX;AAEA,UAAM,4BAA4B,KAAK,mCAAmC,EAAE,oBAAoB,OAAO,GAAG,CAAC;AAC3G,QAAI,KAAK,cAAc,IAAI,yBAAyB,GAAG;AACnD,aAAO;AAAA,IACX;AAEA,QAAI,OAAO,OAAO,QAAW;AACzB,YAAM,kBAAkB,KAAK,mCAAmC;AAAA,QAC5D,cAAU,uBAAS,SAAS,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAAA,MACxD,CAAC;AACD,UAAI,KAAK,cAAc,IAAI,eAAe,GAAG;AACzC,eAAO;AAAA,MACX;AACA,UAAI,OAAO,GAAG,SAAS,GAAG,GAAG;AACzB,cAAM,mBAAmB,KAAK,mCAAmC;AAAA,UAC7D,cAAU,uBAAS,SAAS,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAAA,QACxD,CAAC;AACD,YAAI,KAAK,cAAc,IAAI,gBAAgB,GAAG;AAC1C,iBAAO;AAAA,QACX;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,KAAK,cAAc,IAAI,GAAG,GAAG;AAC7B,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,mCAAmC,YAA6C;AACpF,QAAI,uBAAuB,YAAY;AACnC,aAAO,KAAK,WAAW,iBAAiB;AAAA,IAC5C,WAAW,wBAAwB,YAAY;AAC3C,aAAO,MAAM,WAAW,kBAAkB;AAAA,IAC9C,WAAW,cAAc,YAAY;AACjC,aAAO,KAAK,WAAW,QAAQ;AAAA,IACnC,WAAW,eAAe,YAAY;AAElC,aAAO,KAAK,WAAW,SAAS;AAAA,IACpC,MAAO,QAAO;AAAA,EAClB;AAAA,EAEQ,yBAAyB,YAA6C;AAC1E,UAAM,gBAAgB,MAAM,KAAK,KAAK,wBAAwB,OAAO,CAAC;AAEtE,UAAM,eAAe,IAAI,MAA2B;AACpD,QAAI,uBAAuB,YAAY;AACnC,mBAAa,KAAK,GAAG,cAAc,OAAO,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,MAAM,WAAW,iBAAiB,CAAC;AAAA,IAC5G,WAAW,wBAAwB,YAAY;AAC3C,mBAAa;AAAA,QACT,GAAG,cAAc,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,WAAW,kBAAkB;AAAA,MAC5F;AAAA,IACJ,WAAW,cAAc,YAAY;AACjC,mBAAa;AAAA,QACT,GAAG,cAAc;AAAA,UACb,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAClB,OAAO,GAAG,WAAW,QAAQ,MAAM,IAAI,WAAW,GAAG,WAAW,QAAQ,GAAG;AAAA,QACnF;AAAA,MACJ;AAAA,IACJ,WAAW,eAAe,YAAY;AAClC,mBAAa;AAAA,QACT,GAAG,cAAc,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,IAAI,WAAW,SAAS,EAAE,CAAC;AAAA,MAChG;AAAA,IACJ,OAAO;AACH,mBAAa,KAAK,GAAG,cAAc,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,KAAK,OAAO,CAAC,CAAC;AAAA,IAC/F;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,wBAA4C;AAC9C,WAAO,KAAK,yEAAyE;AACrF,WAAO;AAAA,EACX;AAAA,EAEA,iCAA4C;AACxC,WAAO,KAAK,yEAAyE;AACrF,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,0BACF,YACA,cAAU,wBAAQ,EAAE,GACpB,wBAAwB,OACO;AAC/B,QAAI,gBAAgB,KAAK,yBAAyB,UAAU;AAC5D,QAAI,uBAAuB;AAEvB,iBAAW,UAAU,eAAe;AAChC,aAAK,wBAAwB,OAAO,OAAO,WAAW,EAAE;AAAA,MAC5D;AACA,sBAAgB,CAAC;AAAA,IACrB;AACA,QAAI,cAAc,WAAW,GAAG;AAC5B,YAAM,WAAW,KAAK,mCAAmC,UAAU;AAEnE,YAAM,KAAK,UAAU,cAAc;AACnC,YAAM,KAAK,sBAAsB,UAAU,OAAO;AAElD,sBAAgB,KAAK,yBAAyB,UAAU;AACxD,YAAM,KAAK,UAAU,aAAa;AAAA,IACtC;AACA,WAAO,cAAc,IAAI,CAAC,EAAE,WAAW,MAAM,UAAU;AAAA,EAC3D;AAAA,EAEA,MAAM,sCACF,YACA,UACA,SACA,cAC+B;AAC/B,UAAM,oBAAoB,oBAAI,IAAY;AAE1C,UAAM,mBAAmB,UAAU,oBAAK,QAAQ,UAAU;AAC1D,UAAM,WAAW,KAAK,mCAAmC,UAAU;AACnE,UAAM,KAAK,UAAU,cAAc;AAEnC,QAAI;AACJ,QAAI,iBAAiB,QAAW;AAC5B,YAAM,EAAE,SAAS,SAAS,QAAI,8BAAoB;AAClD,qBAAe;AACf,sBAAgB;AAAA,IACpB;AAEA,QAAI,WAAW;AACf,kBAAc;AAAA,MACV,MAAM;AACF,mBAAW;AACX,aAAK,aAAa,UAAU,IAAI;AAAA,MACpC;AAAA,MACA,WAAS;AACL,eAAO,MAAM,4CAA4C,KAAK;AAAA,MAClE;AAAA,IACJ;AAEA,WAAO,CAAC,UAAU;AACd,WAAK,yBAAyB,UAAU,EAAE,QAAQ,CAAC,EAAE,WAAW,MAAM;AAClE,cAAM,EAAE,iBAAiB,IAAI;AAC7B,YAAI,CAAC,kBAAkB,IAAI,gBAAgB,GAAG;AAC1C,4BAAkB,IAAI,gBAAgB;AACtC,mBAAS,UAAU;AAAA,QACvB;AAAA,MACJ,CAAC;AAED,UAAI;AACJ,UAAI,qBAAqB,QAAW;AAChC,wBAAgB,sBAAO,SAAK,yBAAS,oBAAK,OAAO,gBAAgB,EAAE,QAAQ;AAC3E,YAAI,iBAAiB,GAAG;AACpB;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,KAAK,sBAAsB,UAAU,eAAe,OAAO,aAAa;AAAA,IAClF;AACA,UAAM,KAAK,UAAU,aAAa;AAClC,WAAO,KAAK,yBAAyB,UAAU,EAAE,IAAI,CAAC,EAAE,WAAW,MAAM,UAAU;AAAA,EACvF;AAAA,EAEA,mCAAmC,YAAqE;AACpG,WAAO,KAAK,yBAAyB,UAAU,EAAE,IAAI,CAAC,EAAE,WAAW,MAAM,UAAU;AAAA,EACvF;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,KAAK,UAAU,aAAa;AAClC,KAAC,GAAG,KAAK,cAAc,KAAK,CAAC,EAAE;AAAA,MAAQ,aACnC,KAAK,aAAa,SAAS,CAAC,CAAC,KAAK,cAAc,IAAI,OAAO,GAAG,KAAK;AAAA,IACvE;AAAA,EACJ;AACJ;",
5
- "names": []
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAAkE;AANlE;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,mBAAmB,gBAAAA,WAAe;AAAA,EAC3C,YAAY,WAAiC;AACzC,UAAM,SAAS;AAAA,EACnB;AAAA,EAES,oBAAoB,SAAiD;AAC1E,WAAO,MAAM,oBAAoB,OAAO;AAAA,EAC5C;AACJ;",
5
+ "names": ["BaseBleScanner"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeBleChannel.d.ts","sourceRoot":"","sources":["../../../src/ble/ReactNativeBleChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EACL,OAAO,EACP,WAAW,EACX,uBAAuB,EAIvB,aAAa,EAGhB,MAAM,UAAU,CAAC;AAClB,OAAO,EASH,GAAG,EACH,UAAU,EAIV,iBAAiB,EACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEH,cAAc,EACd,MAAM,EAGT,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,8BAA+B,YAAW,uBAAuB;;gBAK9D,GAAG,EAAE,GAAG;IAId,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IA8FlE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,uBAAuB,CAAC,QAAQ;IAO3F,KAAK;IAMX,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,KAAK,CAAC;IA4GpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WA5GlB,MAAM,CACf,UAAU,EAAE,MAAM,EAClB,wBAAwB,EAAE,cAAc,EACxC,4BAA4B,EAAE,cAAc,EAC5C,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,EACtE,mCAAmC,CAAC,EAAE,KAAK,GAC5C,OAAO,CAAC,qBAAqB,CAAC;IAiGjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,sBAAsB,CAAe;gBAGxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,iBAAiB;IAWlD;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,KAAK;IAYtB,IAAI,IAAI,WAEP;IAEK,KAAK;CAMd"}
1
+ {"version":3,"file":"ReactNativeBleChannel.d.ts","sourceRoot":"","sources":["../../../src/ble/ReactNativeBleChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EACL,OAAO,EACP,WAAW,EACX,uBAAuB,EAIvB,aAAa,EAGhB,MAAM,UAAU,CAAC;AAClB,OAAO,EASH,GAAG,EACH,UAAU,EAIV,iBAAiB,EACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEH,cAAc,EACd,MAAM,EAGT,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,8BAA+B,YAAW,uBAAuB;;gBAK9D,GAAG,EAAE,GAAG;IAId,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IA+FlE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,uBAAuB,CAAC,QAAQ;IAO3F,KAAK;IAMX,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,KAAK,CAAC;IA4GpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WA5GlB,MAAM,CACf,UAAU,EAAE,MAAM,EAClB,wBAAwB,EAAE,cAAc,EACxC,4BAA4B,EAAE,cAAc,EAC5C,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,EACtE,mCAAmC,CAAC,EAAE,KAAK,GAC5C,OAAO,CAAC,qBAAqB,CAAC;IAiGjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,sBAAsB,CAAe;gBAGxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,iBAAiB;IAWlD;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,KAAK;IAYtB,IAAI,IAAI,WAEP;IAEK,KAAK;CAMd"}
@@ -45,9 +45,8 @@ class ReactNativeBleCentralInterface {
45
45
  if (this.#onMatterMessageListener === void 0) {
46
46
  throw new import_general.InternalError(`Network Interface was not added to the system yet.`);
47
47
  }
48
- const { peripheral, hasAdditionalAdvertisementData } = this.#ble.scanner.getDiscoveredDevice(
49
- address.peripheralAddress
50
- );
48
+ const { peripheral: blePeripheral, hasAdditionalAdvertisementData } = this.#ble.scanner.getDiscoveredDevice(address.peripheralAddress);
49
+ const peripheral = blePeripheral.device;
51
50
  if (this.#openChannels.has(address)) {
52
51
  throw new import_protocol.BleError(
53
52
  `Peripheral ${address.peripheralAddress} is already connected. Only one connection supported right now.`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ble/ReactNativeBleChannel.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ReactNativeBleError"]
6
6
  }
@@ -4,12 +4,17 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Bytes, MatterError } from "#general";
7
+ import { BlePeripheral } from "#protocol";
7
8
  import { Device } from "react-native-ble-plx";
9
+ export interface ReactNativeBlePeripheral extends BlePeripheral {
10
+ readonly device: Device;
11
+ }
8
12
  export declare class BluetoothUnauthorizedError extends MatterError {
9
13
  }
10
14
  export declare class BluetoothUnsupportedError extends MatterError {
11
15
  }
12
16
  export declare class ReactNativeBleClient {
17
+ #private;
13
18
  private readonly bleManager;
14
19
  private readonly discoveredPeripherals;
15
20
  private shouldScan;
@@ -17,7 +22,7 @@ export declare class ReactNativeBleClient {
17
22
  private bleState;
18
23
  private deviceDiscoveredCallback;
19
24
  constructor();
20
- setDiscoveryCallback(callback: (peripheral: Device, manufacturerData: Bytes) => void): void;
25
+ setDiscoveryCallback(callback: (peripheral: BlePeripheral, manufacturerData: Bytes) => void): void;
21
26
  startScanning(): Promise<void>;
22
27
  stopScanning(): Promise<void>;
23
28
  private handleDiscoveredDevice;
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeBleClient.d.ts","sourceRoot":"","sources":["../../../src/ble/ReactNativeBleClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAsB,WAAW,EAAE,MAAM,UAAU,CAAC;AAElE,OAAO,EAA+D,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI3G,qBAAa,0BAA2B,SAAQ,WAAW;CAAG;AAC9D,qBAAa,yBAA0B,SAAQ,WAAW;CAAG;AAE7D,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuE;IAC7G,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,wBAAwB,CAAsE;;IAqC/F,oBAAoB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,KAAK,IAAI;IAO9E,aAAa;IAqCb,YAAY;IAOzB,OAAO,CAAC,sBAAsB;CA8BjC"}
1
+ {"version":3,"file":"ReactNativeBleClient.d.ts","sourceRoot":"","sources":["../../../src/ble/ReactNativeBleClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAsB,WAAW,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAA2B,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAA+D,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE3G,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAID,qBAAa,0BAA2B,SAAQ,WAAW;CAAG;AAC9D,qBAAa,yBAA0B,SAAQ,WAAW;CAAG;AAE7D,qBAAa,oBAAoB;;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuE;IAC7G,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,wBAAwB,CAA6E;;IAqCtG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,KAAK,IAAI;IAOrF,aAAa;IAqCb,YAAY;IAOzB,OAAO,CAAC,sBAAsB;CAkCjC"}
@@ -79,7 +79,7 @@ class ReactNativeBleClient {
79
79
  setDiscoveryCallback(callback) {
80
80
  this.deviceDiscoveredCallback = callback;
81
81
  for (const { peripheral, matterServiceData } of this.discoveredPeripherals.values()) {
82
- this.deviceDiscoveredCallback(peripheral, matterServiceData);
82
+ this.deviceDiscoveredCallback(this.#asBlePeripheral(peripheral), matterServiceData);
83
83
  }
84
84
  }
85
85
  async startScanning() {
@@ -147,7 +147,10 @@ class ReactNativeBleClient {
147
147
  peripheral,
148
148
  matterServiceData
149
149
  });
150
- this.deviceDiscoveredCallback?.(peripheral, matterServiceData);
150
+ this.deviceDiscoveredCallback?.(this.#asBlePeripheral(peripheral), matterServiceData);
151
+ }
152
+ #asBlePeripheral(device) {
153
+ return { device, address: device.id };
151
154
  }
152
155
  }
153
156
  //# sourceMappingURL=ReactNativeBleClient.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ble/ReactNativeBleClient.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["BluetoothState", "error"]
6
6
  }
@@ -3,50 +3,14 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ChannelType, Duration } from "#general";
7
- import { CommissionableDevice, CommissionableDeviceIdentifiers, Scanner } from "#protocol";
8
- import { Device } from "react-native-ble-plx";
9
- import { ReactNativeBleClient } from "./ReactNativeBleClient.js";
10
- export type DiscoveredBleDevice = {
11
- deviceData: CommissionableDeviceData;
12
- peripheral: Device;
13
- hasAdditionalAdvertisementData: boolean;
6
+ import { BleScanner as BaseBleScanner, DiscoveredBleDevice } from "#protocol";
7
+ import { ReactNativeBleClient, ReactNativeBlePeripheral } from "./ReactNativeBleClient.js";
8
+ export type { DiscoveredBleDevice } from "#protocol";
9
+ export type ReactNativeDiscoveredBleDevice = Omit<DiscoveredBleDevice, "peripheral"> & {
10
+ peripheral: ReactNativeBlePeripheral;
14
11
  };
15
- type CommissionableDeviceData = CommissionableDevice & {
16
- SD: number;
17
- };
18
- export declare class BleScanner implements Scanner {
19
- private readonly bleClient;
20
- get type(): ChannelType;
21
- private readonly recordWaiters;
22
- private readonly discoveredMatterDevices;
12
+ export declare class BleScanner extends BaseBleScanner {
23
13
  constructor(bleClient: ReactNativeBleClient);
24
- getDiscoveredDevice(address: string): DiscoveredBleDevice;
25
- /**
26
- * Registers a deferred promise for a specific queryId together with a timeout and return the promise.
27
- * The promise will be resolved when the timer runs out latest.
28
- */
29
- private registerWaiterPromise;
30
- /**
31
- * Remove a waiter promise for a specific queryId and stop the connected timer. If required also resolve the
32
- * promise.
33
- */
34
- private finishWaiter;
35
- cancelCommissionableDeviceDiscovery(identifier: CommissionableDeviceIdentifiers, resolvePromise?: boolean): void;
36
- private handleDiscoveredDevice;
37
- private findCommissionableQueryIdentifier;
38
- /**
39
- * Builds an identifier string for commissionable queries based on the given identifier object.
40
- * Some identifiers are identical to the official DNS-SD identifiers, others are custom.
41
- */
42
- private buildCommissionableQueryIdentifier;
43
- private getCommissionableDevices;
44
- findOperationalDevice(): Promise<undefined>;
45
- getDiscoveredOperationalDevice(): undefined;
46
- findCommissionableDevices(identifier: CommissionableDeviceIdentifiers, timeout?: Duration, ignoreExistingRecords?: boolean): Promise<CommissionableDevice[]>;
47
- findCommissionableDevicesContinuously(identifier: CommissionableDeviceIdentifiers, callback: (device: CommissionableDevice) => void, timeout?: Duration, cancelSignal?: Promise<void>): Promise<CommissionableDevice[]>;
48
- getDiscoveredCommissionableDevices(identifier: CommissionableDeviceIdentifiers): CommissionableDevice[];
49
- close(): Promise<void>;
14
+ getDiscoveredDevice(address: string): ReactNativeDiscoveredBleDevice;
50
15
  }
51
- export {};
52
16
  //# sourceMappingURL=BleScanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../../src/ble/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,WAAW,EAAiB,QAAQ,EAAkD,MAAM,UAAU,CAAC;AACvH,OAAO,EAAsB,oBAAoB,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/G,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG,oBAAoB,GAAG;IACnD,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IAgB1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAftC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAQ1B;IACJ,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0C;gBAErD,SAAS,EAAE,oBAAoB;IAMrD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAQhE;;;OAGG;YACW,qBAAqB;IAuBnC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB,mCAAmC,CAAC,UAAU,EAAE,+BAA+B,EAAE,cAAc,UAAO;IAOtG,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,iCAAiC;IAmCzC;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,wBAAwB;IA4B1B,qBAAqB,IAAI,OAAO,CAAC,SAAS,CAAC;IAKjD,8BAA8B,IAAI,SAAS;IAKrC,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,OAAO,WAAc,EACrB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqB5B,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,OAAO,CAAC,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAgDlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B,GAAG,oBAAoB,EAAE;IAIjG,KAAK;CAMd"}
1
+ {"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../../src/ble/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG;IACnF,UAAU,EAAE,wBAAwB,CAAC;CACxC,CAAC;AAEF,qBAAa,UAAW,SAAQ,cAAc;gBAC9B,SAAS,EAAE,oBAAoB;IAIlC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,8BAA8B;CAGhF"}