@matter/react-native 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e
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/package.json +4 -4
- package/dist/cjs/ble/BleScanner.d.ts +0 -16
- package/dist/cjs/ble/BleScanner.d.ts.map +0 -1
- package/dist/cjs/ble/BleScanner.js +0 -38
- package/dist/cjs/ble/BleScanner.js.map +0 -6
- package/dist/cjs/ble/ReactNativeBle.d.ts +0 -16
- package/dist/cjs/ble/ReactNativeBle.d.ts.map +0 -1
- package/dist/cjs/ble/ReactNativeBle.js +0 -58
- package/dist/cjs/ble/ReactNativeBle.js.map +0 -6
- package/dist/cjs/ble/ReactNativeBleChannel.d.ts +0 -36
- package/dist/cjs/ble/ReactNativeBleChannel.d.ts.map +0 -1
- package/dist/cjs/ble/ReactNativeBleChannel.js +0 -329
- package/dist/cjs/ble/ReactNativeBleChannel.js.map +0 -6
- package/dist/cjs/ble/ReactNativeBleClient.d.ts +0 -30
- package/dist/cjs/ble/ReactNativeBleClient.d.ts.map +0 -1
- package/dist/cjs/ble/ReactNativeBleClient.js +0 -156
- package/dist/cjs/ble/ReactNativeBleClient.js.map +0 -6
- package/dist/cjs/ble/index.d.ts +0 -10
- package/dist/cjs/ble/index.d.ts.map +0 -1
- package/dist/cjs/ble/index.js +0 -27
- package/dist/cjs/ble/index.js.map +0 -6
- package/dist/cjs/crypto/ReactNativeCrypto.d.ts +0 -14
- package/dist/cjs/crypto/ReactNativeCrypto.d.ts.map +0 -1
- package/dist/cjs/crypto/ReactNativeCrypto.js +0 -57
- package/dist/cjs/crypto/ReactNativeCrypto.js.map +0 -6
- package/dist/cjs/crypto/index.d.ts +0 -7
- package/dist/cjs/crypto/index.d.ts.map +0 -1
- package/dist/cjs/crypto/index.js +0 -24
- package/dist/cjs/crypto/index.js.map +0 -6
- package/dist/cjs/environment/ReactNativeEnvironment.d.ts +0 -16
- package/dist/cjs/environment/ReactNativeEnvironment.d.ts.map +0 -1
- package/dist/cjs/environment/ReactNativeEnvironment.js +0 -64
- package/dist/cjs/environment/ReactNativeEnvironment.js.map +0 -6
- package/dist/cjs/environment/index.d.ts +0 -8
- package/dist/cjs/environment/index.d.ts.map +0 -1
- package/dist/cjs/environment/index.js +0 -25
- package/dist/cjs/environment/index.js.map +0 -6
- package/dist/cjs/environment/register.d.ts +0 -7
- package/dist/cjs/environment/register.d.ts.map +0 -1
- package/dist/cjs/environment/register.js +0 -14
- package/dist/cjs/environment/register.js.map +0 -6
- package/dist/cjs/index.d.ts +0 -11
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -28
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/net/NetworkReactNative.d.ts +0 -22
- package/dist/cjs/net/NetworkReactNative.d.ts.map +0 -1
- package/dist/cjs/net/NetworkReactNative.js +0 -179
- package/dist/cjs/net/NetworkReactNative.js.map +0 -6
- package/dist/cjs/net/TcpConnectionReactNative.d.ts +0 -26
- package/dist/cjs/net/TcpConnectionReactNative.d.ts.map +0 -1
- package/dist/cjs/net/TcpConnectionReactNative.js +0 -148
- package/dist/cjs/net/TcpConnectionReactNative.js.map +0 -6
- package/dist/cjs/net/TcpListenerReactNative.d.ts +0 -19
- package/dist/cjs/net/TcpListenerReactNative.d.ts.map +0 -1
- package/dist/cjs/net/TcpListenerReactNative.js +0 -102
- package/dist/cjs/net/TcpListenerReactNative.js.map +0 -6
- package/dist/cjs/net/UdpSocketReactNative.d.ts +0 -40
- package/dist/cjs/net/UdpSocketReactNative.d.ts.map +0 -1
- package/dist/cjs/net/UdpSocketReactNative.js +0 -194
- package/dist/cjs/net/UdpSocketReactNative.js.map +0 -6
- package/dist/cjs/net/index.d.ts +0 -10
- package/dist/cjs/net/index.d.ts.map +0 -1
- package/dist/cjs/net/index.js +0 -39
- package/dist/cjs/net/index.js.map +0 -6
- package/dist/cjs/net/react-native-tcp-socket.d.js +0 -2
- package/dist/cjs/net/react-native-tcp-socket.d.js.map +0 -6
- package/dist/cjs/net/react-native-tcp-socket.d.ts +0 -71
- package/dist/cjs/package.json +0 -6
- package/dist/cjs/storage/ReactNativeWebStorageDriver.d.ts +0 -23
- package/dist/cjs/storage/ReactNativeWebStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/ReactNativeWebStorageDriver.js +0 -42
- package/dist/cjs/storage/ReactNativeWebStorageDriver.js.map +0 -6
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.d.ts +0 -22
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.d.ts.map +0 -1
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.js +0 -108
- package/dist/cjs/storage/ReactNativeWebStorageDriverV2.js.map +0 -6
- package/dist/cjs/storage/index.d.ts +0 -18
- package/dist/cjs/storage/index.d.ts.map +0 -1
- package/dist/cjs/storage/index.js +0 -37
- package/dist/cjs/storage/index.js.map +0 -6
- package/dist/esm/ble/BleScanner.js +0 -18
- package/dist/esm/ble/BleScanner.js.map +0 -6
- package/dist/esm/ble/ReactNativeBle.js +0 -38
- package/dist/esm/ble/ReactNativeBle.js.map +0 -6
- package/dist/esm/ble/ReactNativeBleChannel.js +0 -321
- package/dist/esm/ble/ReactNativeBleChannel.js.map +0 -6
- package/dist/esm/ble/ReactNativeBleClient.js +0 -136
- package/dist/esm/ble/ReactNativeBleClient.js.map +0 -6
- package/dist/esm/ble/index.js +0 -10
- package/dist/esm/ble/index.js.map +0 -6
- package/dist/esm/crypto/ReactNativeCrypto.js +0 -27
- package/dist/esm/crypto/ReactNativeCrypto.js.map +0 -6
- package/dist/esm/crypto/index.js +0 -7
- package/dist/esm/crypto/index.js.map +0 -6
- package/dist/esm/environment/ReactNativeEnvironment.js +0 -44
- package/dist/esm/environment/ReactNativeEnvironment.js.map +0 -6
- package/dist/esm/environment/index.js +0 -8
- package/dist/esm/environment/index.js.map +0 -6
- package/dist/esm/environment/register.js +0 -13
- package/dist/esm/environment/register.js.map +0 -6
- package/dist/esm/index.js +0 -11
- package/dist/esm/index.js.map +0 -6
- package/dist/esm/net/NetworkReactNative.js +0 -158
- package/dist/esm/net/NetworkReactNative.js.map +0 -6
- package/dist/esm/net/TcpConnectionReactNative.js +0 -135
- package/dist/esm/net/TcpConnectionReactNative.js.map +0 -6
- package/dist/esm/net/TcpListenerReactNative.js +0 -88
- package/dist/esm/net/TcpListenerReactNative.js.map +0 -6
- package/dist/esm/net/UdpSocketReactNative.js +0 -174
- package/dist/esm/net/UdpSocketReactNative.js.map +0 -6
- package/dist/esm/net/index.js +0 -18
- package/dist/esm/net/index.js.map +0 -6
- package/dist/esm/net/react-native-tcp-socket.d.js +0 -1
- package/dist/esm/net/react-native-tcp-socket.d.js.map +0 -6
- package/dist/esm/net/react-native-tcp-socket.d.ts +0 -71
- package/dist/esm/package.json +0 -6
- package/dist/esm/storage/ReactNativeWebStorageDriver.js +0 -22
- package/dist/esm/storage/ReactNativeWebStorageDriver.js.map +0 -6
- package/dist/esm/storage/ReactNativeWebStorageDriverV2.js +0 -78
- package/dist/esm/storage/ReactNativeWebStorageDriverV2.js.map +0 -6
- package/dist/esm/storage/index.js +0 -16
- package/dist/esm/storage/index.js.map +0 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/react-native",
|
|
3
|
-
"version": "0.17.0-alpha.0-
|
|
3
|
+
"version": "0.17.0-alpha.0-20260508-29ff5ae9e",
|
|
4
4
|
"description": "Experimental React Native support for matter.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@craftzdog/react-native-buffer": "6.1.1",
|
|
35
|
-
"@matter/general": "0.17.0-alpha.0-
|
|
36
|
-
"@matter/nodejs": "0.17.0-alpha.0-
|
|
37
|
-
"@matter/protocol": "0.17.0-alpha.0-
|
|
35
|
+
"@matter/general": "0.17.0-alpha.0-20260508-29ff5ae9e",
|
|
36
|
+
"@matter/nodejs": "0.17.0-alpha.0-20260508-29ff5ae9e",
|
|
37
|
+
"@matter/protocol": "0.17.0-alpha.0-20260508-29ff5ae9e",
|
|
38
38
|
"@react-native-async-storage/async-storage": "^3.0.2",
|
|
39
39
|
"@react-native-community/netinfo": "^12.0.1",
|
|
40
40
|
"@types/node": "^25.6.0",
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { BleScanner as BaseBleScanner, DiscoveredBleDevice } from "@matter/protocol";
|
|
7
|
-
import { ReactNativeBleClient, ReactNativeBlePeripheral } from "./ReactNativeBleClient.js";
|
|
8
|
-
export type { DiscoveredBleDevice } from "@matter/protocol";
|
|
9
|
-
export type ReactNativeDiscoveredBleDevice = Omit<DiscoveredBleDevice, "peripheral"> & {
|
|
10
|
-
peripheral: ReactNativeBlePeripheral;
|
|
11
|
-
};
|
|
12
|
-
export declare class BleScanner extends BaseBleScanner {
|
|
13
|
-
constructor(bleClient: ReactNativeBleClient);
|
|
14
|
-
getDiscoveredDevice(address: string): ReactNativeDiscoveredBleDevice;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=BleScanner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,kBAAkB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG;IACnF,UAAU,EAAE,wBAAwB,CAAC;CACxC,CAAC;AAEF,qBAAa,UAAW,SAAQ,cAAc;IAC1C,YAAY,SAAS,EAAE,oBAAoB,EAE1C;IAEQ,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,8BAA8B,CAE5E;CACJ"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var BleScanner_exports = {};
|
|
20
|
-
__export(BleScanner_exports, {
|
|
21
|
-
BleScanner: () => BleScanner
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(BleScanner_exports);
|
|
24
|
-
var import_protocol = require("@matter/protocol");
|
|
25
|
-
/**
|
|
26
|
-
* @license
|
|
27
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
28
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
-
*/
|
|
30
|
-
class BleScanner extends import_protocol.BleScanner {
|
|
31
|
-
constructor(bleClient) {
|
|
32
|
-
super(bleClient);
|
|
33
|
-
}
|
|
34
|
-
getDiscoveredDevice(address) {
|
|
35
|
-
return super.getDiscoveredDevice(address);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=BleScanner.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/ble/BleScanner.ts"],
|
|
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
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { ChannelType, Transport } from "@matter/general";
|
|
7
|
-
import { Ble, BlePeripheralInterface, Scanner } from "@matter/protocol";
|
|
8
|
-
export declare class ReactNativeBle extends Ble {
|
|
9
|
-
private bleCentral;
|
|
10
|
-
constructor();
|
|
11
|
-
get centralInterface(): Transport;
|
|
12
|
-
get scanner(): Scanner;
|
|
13
|
-
get peripheralInterface(): BlePeripheralInterface;
|
|
14
|
-
supports(type: ChannelType): type is ChannelType.BLE;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=ReactNativeBle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeBle.d.ts","sourceRoot":"","sources":["../../../src/ble/ReactNativeBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAuB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKxE,qBAAa,cAAe,SAAQ,GAAG;IACnC,OAAO,CAAC,UAAU,CAAmC;IAErD,cAEC;IAED,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;IAED,IAAI,mBAAmB,IAAI,sBAAsB,CAEhD;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,2BAEzB;CACJ"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var ReactNativeBle_exports = {};
|
|
20
|
-
__export(ReactNativeBle_exports, {
|
|
21
|
-
ReactNativeBle: () => ReactNativeBle
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(ReactNativeBle_exports);
|
|
24
|
-
var import_general = require("@matter/general");
|
|
25
|
-
var import_protocol = require("@matter/protocol");
|
|
26
|
-
var import_BleScanner = require("./BleScanner.js");
|
|
27
|
-
var import_ReactNativeBleChannel = require("./ReactNativeBleChannel.js");
|
|
28
|
-
var import_ReactNativeBleClient = require("./ReactNativeBleClient.js");
|
|
29
|
-
/**
|
|
30
|
-
* @license
|
|
31
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
32
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
33
|
-
*/
|
|
34
|
-
class ReactNativeBle extends import_protocol.Ble {
|
|
35
|
-
bleCentral;
|
|
36
|
-
constructor() {
|
|
37
|
-
super();
|
|
38
|
-
}
|
|
39
|
-
get centralInterface() {
|
|
40
|
-
if (this.bleCentral === void 0) {
|
|
41
|
-
this.bleCentral = new import_ReactNativeBleClient.ReactNativeBleClient();
|
|
42
|
-
}
|
|
43
|
-
return new import_ReactNativeBleChannel.ReactNativeBleCentralInterface(this);
|
|
44
|
-
}
|
|
45
|
-
get scanner() {
|
|
46
|
-
if (this.bleCentral === void 0) {
|
|
47
|
-
this.bleCentral = new import_ReactNativeBleClient.ReactNativeBleClient();
|
|
48
|
-
}
|
|
49
|
-
return new import_BleScanner.BleScanner(this.bleCentral);
|
|
50
|
-
}
|
|
51
|
-
get peripheralInterface() {
|
|
52
|
-
throw new import_general.ImplementationError("React Native can only act as a central device, not a peripheral.");
|
|
53
|
-
}
|
|
54
|
-
supports(type) {
|
|
55
|
-
return type === import_general.ChannelType.BLE;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=ReactNativeBle.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/ble/ReactNativeBle.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA4D;AAC5D,sBAAqD;AACrD,wBAA2B;AAC3B,mCAA+C;AAC/C,kCAAqC;AAVrC;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,uBAAuB,oBAAI;AAAA,EAC5B;AAAA,EAER,cAAc;AACV,UAAM;AAAA,EACV;AAAA,EAEA,IAAI,mBAA8B;AAC9B,QAAI,KAAK,eAAe,QAAW;AAC/B,WAAK,aAAa,IAAI,iDAAqB;AAAA,IAC/C;AACA,WAAO,IAAI,4DAA+B,IAAI;AAAA,EAClD;AAAA,EAEA,IAAI,UAAmB;AACnB,QAAI,KAAK,eAAe,QAAW;AAC/B,WAAK,aAAa,IAAI,iDAAqB;AAAA,IAC/C;AACA,WAAO,IAAI,6BAAW,KAAK,UAAU;AAAA,EACzC;AAAA,EAEA,IAAI,sBAA8C;AAC9C,UAAM,IAAI,mCAAoB,kEAAkE;AAAA,EACpG;AAAA,EAEA,SAAS,MAAmB;AACxB,WAAO,SAAS,2BAAY;AAAA,EAChC;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { Bytes, Channel, ChannelType, ServerAddress, Transport } from "@matter/general";
|
|
7
|
-
import { Ble, BleChannel, BtpSessionHandler } from "@matter/protocol";
|
|
8
|
-
import { Characteristic, Device } from "react-native-ble-plx";
|
|
9
|
-
export declare class ReactNativeBleCentralInterface implements Transport {
|
|
10
|
-
#private;
|
|
11
|
-
constructor(ble: Ble);
|
|
12
|
-
openChannel(address: ServerAddress): Promise<Channel<Bytes>>;
|
|
13
|
-
onData(listener: (socket: Channel<Bytes>, data: Bytes) => void): Transport.Listener;
|
|
14
|
-
close(): Promise<void>;
|
|
15
|
-
supports(type: ChannelType): type is ChannelType.BLE;
|
|
16
|
-
}
|
|
17
|
-
export declare class ReactNativeBleChannel extends BleChannel<Bytes> {
|
|
18
|
-
#private;
|
|
19
|
-
private readonly peripheral;
|
|
20
|
-
private readonly btpSession;
|
|
21
|
-
static create(peripheral: Device, characteristicC1ForWrite: Characteristic, characteristicC2ForSubscribe: Characteristic, onMatterMessageListener: (socket: Channel<Bytes>, data: Bytes) => void, _additionalCommissioningRelatedData?: Bytes): Promise<ReactNativeBleChannel>;
|
|
22
|
-
private connected;
|
|
23
|
-
private disconnectSubscription;
|
|
24
|
-
constructor(peripheral: Device, btpSession: BtpSessionHandler);
|
|
25
|
-
/**
|
|
26
|
-
* Send a Matter message to the connected device - need to do BTP assembly first.
|
|
27
|
-
*
|
|
28
|
-
* @param data
|
|
29
|
-
*/
|
|
30
|
-
send(data: Bytes): Promise<void>;
|
|
31
|
-
get name(): string;
|
|
32
|
-
onClose(listener: () => void): Transport.Listener;
|
|
33
|
-
[Symbol.asyncIterator](): AsyncIterator<Bytes>;
|
|
34
|
-
close(): Promise<void>;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=ReactNativeBleChannel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,EAIX,aAAa,EAEb,SAAS,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,GAAG,EAAE,UAAU,EAAoC,iBAAiB,EAAa,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAEH,cAAc,EACd,MAAM,EAGT,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,8BAA+B,YAAW,SAAS;;IAK5D,YAAY,GAAG,EAAE,GAAG,EAEnB;IAEK,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAuGjE;IAED,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,SAAS,CAAC,QAAQ,CAKlF;IAEK,KAAK,kBAMV;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,2BAEzB;CACJ;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,KAAK,CAAC;;IAiIpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAjI/B,OAAa,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,CAgHhC;IAED,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,sBAAsB,CAAe;IAM7C,YACqB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,iBAAiB,EAkBjD;IAED;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,KAAK,iBASrB;IAGD,IAAI,IAAI,WAEP;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAOhD;IAED,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAc7C;IAoBK,KAAK,kBAOV;CACJ"}
|
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var ReactNativeBleChannel_exports = {};
|
|
20
|
-
__export(ReactNativeBleChannel_exports, {
|
|
21
|
-
ReactNativeBleCentralInterface: () => ReactNativeBleCentralInterface,
|
|
22
|
-
ReactNativeBleChannel: () => ReactNativeBleChannel
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(ReactNativeBleChannel_exports);
|
|
25
|
-
var import_general = require("@matter/general");
|
|
26
|
-
var import_protocol = require("@matter/protocol");
|
|
27
|
-
var import_react_native_ble_plx = require("react-native-ble-plx");
|
|
28
|
-
/**
|
|
29
|
-
* @license
|
|
30
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
31
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
32
|
-
*/
|
|
33
|
-
const logger = import_general.Logger.get("BleChannel");
|
|
34
|
-
class ReactNativeBleCentralInterface {
|
|
35
|
-
#ble;
|
|
36
|
-
#openChannels = /* @__PURE__ */ new Map();
|
|
37
|
-
#onMatterMessageListener;
|
|
38
|
-
constructor(ble) {
|
|
39
|
-
this.#ble = ble;
|
|
40
|
-
}
|
|
41
|
-
async openChannel(address) {
|
|
42
|
-
if (!import_general.ServerAddress.isBle(address)) {
|
|
43
|
-
throw new import_general.InternalError(`Unsupported address type for BLE channel.`);
|
|
44
|
-
}
|
|
45
|
-
if (this.#onMatterMessageListener === void 0) {
|
|
46
|
-
throw new import_general.InternalError(`Network Interface was not added to the system yet.`);
|
|
47
|
-
}
|
|
48
|
-
const { peripheral: blePeripheral, hasAdditionalAdvertisementData } = this.#ble.scanner.getDiscoveredDevice(address.peripheralAddress);
|
|
49
|
-
const peripheral = blePeripheral.device;
|
|
50
|
-
if (this.#openChannels.has(address.peripheralAddress)) {
|
|
51
|
-
throw new import_protocol.BleError(
|
|
52
|
-
`Peripheral ${address.peripheralAddress} is already connected. Only one connection supported right now.`
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
logger.debug(`Connect to Peripheral now`);
|
|
56
|
-
let device;
|
|
57
|
-
try {
|
|
58
|
-
device = await peripheral.connect();
|
|
59
|
-
await device.requestMTU(import_protocol.MatterBle.MAXIMUM_BTP_MTU);
|
|
60
|
-
} catch (error) {
|
|
61
|
-
if (error instanceof import_react_native_ble_plx.BleError && error.errorCode === import_react_native_ble_plx.BleErrorCode.DeviceAlreadyConnected) {
|
|
62
|
-
device = peripheral;
|
|
63
|
-
} else {
|
|
64
|
-
throw new import_protocol.BleError(`Error connecting to peripheral: ${error.message}`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
logger.debug(`Peripheral connected successfully, MTU = ${device.mtu}`);
|
|
68
|
-
device = await device.discoverAllServicesAndCharacteristics();
|
|
69
|
-
const services = await device.services();
|
|
70
|
-
for (const service of services) {
|
|
71
|
-
logger.debug(`found service: ${service.uuid}`);
|
|
72
|
-
if (!import_protocol.MatterBle.isServiceUuid(service.uuid)) continue;
|
|
73
|
-
const characteristics = await device.characteristicsForService(service.uuid);
|
|
74
|
-
let characteristicC1ForWrite;
|
|
75
|
-
let characteristicC2ForSubscribe;
|
|
76
|
-
let additionalCommissioningRelatedData;
|
|
77
|
-
for (const characteristic of characteristics) {
|
|
78
|
-
logger.debug("found characteristic:", characteristic.uuid);
|
|
79
|
-
switch (characteristic.uuid.toUpperCase()) {
|
|
80
|
-
case import_protocol.MatterBle.C1_CHARACTERISTIC_UUID:
|
|
81
|
-
logger.debug("found C1 characteristic");
|
|
82
|
-
characteristicC1ForWrite = characteristic;
|
|
83
|
-
break;
|
|
84
|
-
case import_protocol.MatterBle.C2_CHARACTERISTIC_UUID:
|
|
85
|
-
logger.debug("found C2 characteristic");
|
|
86
|
-
characteristicC2ForSubscribe = characteristic;
|
|
87
|
-
break;
|
|
88
|
-
case import_protocol.MatterBle.C3_CHARACTERISTIC_UUID:
|
|
89
|
-
logger.debug("found C3 characteristic");
|
|
90
|
-
if (hasAdditionalAdvertisementData) {
|
|
91
|
-
logger.debug("reading additional commissioning related data");
|
|
92
|
-
const characteristicWithValue = await service.readCharacteristic(characteristic.uuid);
|
|
93
|
-
if (characteristicWithValue.value !== null) {
|
|
94
|
-
additionalCommissioningRelatedData = import_general.Bytes.fromBase64(characteristicWithValue.value);
|
|
95
|
-
} else {
|
|
96
|
-
logger.debug("no value in characteristic C3");
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (!characteristicC1ForWrite || !characteristicC2ForSubscribe) {
|
|
102
|
-
logger.debug("missing characteristics");
|
|
103
|
-
continue;
|
|
104
|
-
}
|
|
105
|
-
this.#openChannels.set(address.peripheralAddress, device);
|
|
106
|
-
const disconnectSub = device.onDisconnected(() => {
|
|
107
|
-
this.#openChannels.delete(address.peripheralAddress);
|
|
108
|
-
disconnectSub.remove();
|
|
109
|
-
});
|
|
110
|
-
try {
|
|
111
|
-
return await ReactNativeBleChannel.create(
|
|
112
|
-
device,
|
|
113
|
-
characteristicC1ForWrite,
|
|
114
|
-
characteristicC2ForSubscribe,
|
|
115
|
-
this.#onMatterMessageListener,
|
|
116
|
-
additionalCommissioningRelatedData
|
|
117
|
-
);
|
|
118
|
-
} catch (error) {
|
|
119
|
-
this.#openChannels.delete(address.peripheralAddress);
|
|
120
|
-
disconnectSub.remove();
|
|
121
|
-
throw error;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
throw new import_protocol.BleError(`No Matter service found on peripheral ${device.id}`);
|
|
125
|
-
}
|
|
126
|
-
onData(listener) {
|
|
127
|
-
this.#onMatterMessageListener = listener;
|
|
128
|
-
return {
|
|
129
|
-
close: async () => await this.close()
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
async close() {
|
|
133
|
-
const peripherals = [...this.#openChannels.values()];
|
|
134
|
-
this.#openChannels.clear();
|
|
135
|
-
for (const peripheral of peripherals) {
|
|
136
|
-
await peripheral.cancelConnection();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
supports(type) {
|
|
140
|
-
return type === import_general.ChannelType.BLE;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
class ReactNativeBleChannel extends import_protocol.BleChannel {
|
|
144
|
-
constructor(peripheral, btpSession) {
|
|
145
|
-
super();
|
|
146
|
-
this.peripheral = peripheral;
|
|
147
|
-
this.btpSession = btpSession;
|
|
148
|
-
this.disconnectSubscription = peripheral.onDisconnected((error) => {
|
|
149
|
-
logger.debug(`Disconnected from peripheral ${peripheral.id}: ${error}`);
|
|
150
|
-
this.connected = false;
|
|
151
|
-
this.disconnectSubscription.remove();
|
|
152
|
-
this.#terminateIterator();
|
|
153
|
-
for (const listener of this.#closeListeners) {
|
|
154
|
-
listener();
|
|
155
|
-
}
|
|
156
|
-
this.btpSession.close().catch((error2) => {
|
|
157
|
-
logger.debug(`Error closing BTP session on disconnect`, error2);
|
|
158
|
-
});
|
|
159
|
-
this.emitClosed();
|
|
160
|
-
});
|
|
161
|
-
this.btpSession.closed.on(() => this.emitClosed());
|
|
162
|
-
}
|
|
163
|
-
peripheral;
|
|
164
|
-
btpSession;
|
|
165
|
-
static async create(peripheral, characteristicC1ForWrite, characteristicC2ForSubscribe, onMatterMessageListener, _additionalCommissioningRelatedData) {
|
|
166
|
-
let mtu = peripheral.mtu ?? 0;
|
|
167
|
-
if (mtu > import_protocol.MatterBle.MAXIMUM_BTP_MTU) {
|
|
168
|
-
mtu = import_protocol.MatterBle.MAXIMUM_BTP_MTU;
|
|
169
|
-
}
|
|
170
|
-
logger.debug(`Using MTU=${mtu} (Peripheral MTU=${peripheral.mtu})`);
|
|
171
|
-
const btpHandshakeRequest = import_protocol.BtpCodec.encodeBtpHandshakeRequest({
|
|
172
|
-
versions: import_protocol.MatterBle.BTP_SUPPORTED_VERSIONS,
|
|
173
|
-
attMtu: mtu,
|
|
174
|
-
clientWindowSize: import_protocol.MatterBle.BTP_MAXIMUM_WINDOW_SIZE
|
|
175
|
-
});
|
|
176
|
-
logger.debug(`sending BTP handshake request: ${import_general.Diagnostic.json(btpHandshakeRequest)}`);
|
|
177
|
-
characteristicC1ForWrite = await characteristicC1ForWrite.writeWithResponse(
|
|
178
|
-
import_general.Bytes.toBase64(btpHandshakeRequest)
|
|
179
|
-
);
|
|
180
|
-
const btpHandshakeTimeout = import_general.Time.getTimer("BLE handshake timeout", import_protocol.MatterBle.BTP_CONN_RSP_TIMEOUT, () => {
|
|
181
|
-
characteristicSubscribe.remove();
|
|
182
|
-
peripheral.cancelConnection().catch((error) => logger.debug("Error cancelling connection on handshake timeout", error));
|
|
183
|
-
logger.debug("Handshake Response not received. Disconnected from peripheral");
|
|
184
|
-
rejecter(new import_protocol.BleError("Handshake Response not received"));
|
|
185
|
-
}).start();
|
|
186
|
-
logger.debug("subscribing to C2 characteristic");
|
|
187
|
-
const { promise: handshakeResponseReceivedPromise, resolver, rejecter } = (0, import_general.createPromise)();
|
|
188
|
-
let handshakeReceived = false;
|
|
189
|
-
let btpSession = void 0;
|
|
190
|
-
const characteristicSubscribe = characteristicC2ForSubscribe.monitor((error, characteristic) => {
|
|
191
|
-
if (error !== null || characteristic === null) {
|
|
192
|
-
if (error instanceof import_react_native_ble_plx.BleError && error.errorCode === 2) {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
if (!handshakeReceived) {
|
|
196
|
-
btpHandshakeTimeout.stop();
|
|
197
|
-
rejecter(new import_protocol.BleError(`BLE error during handshake: ${error?.message ?? "unknown"}`));
|
|
198
|
-
}
|
|
199
|
-
logger.debug("Error while monitoring C2 characteristic.", error?.message);
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
const characteristicData = characteristic.value;
|
|
203
|
-
if (characteristicData === null) {
|
|
204
|
-
logger.debug("C2 characteristic value is null");
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
const data = import_general.Bytes.fromBase64(characteristicData);
|
|
208
|
-
logger.debug(`received data on C2: ${import_general.Bytes.toHex(data)}`);
|
|
209
|
-
if (!handshakeReceived) {
|
|
210
|
-
const _data = import_general.Bytes.of(data);
|
|
211
|
-
if (_data[0] === 101 && _data[1] === 108 && _data.length === 6) {
|
|
212
|
-
logger.info(`Received Matter handshake response: ${import_general.Bytes.toHex(_data)}.`);
|
|
213
|
-
btpHandshakeTimeout.stop();
|
|
214
|
-
handshakeReceived = true;
|
|
215
|
-
resolver(_data);
|
|
216
|
-
}
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
if (btpSession) {
|
|
220
|
-
btpSession.handleIncomingBleData(data).catch((error2) => {
|
|
221
|
-
logger.info("Error handling incoming BLE data", error2);
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
const handshakeResponse = await handshakeResponseReceivedPromise;
|
|
226
|
-
try {
|
|
227
|
-
btpSession = await import_protocol.BtpSessionHandler.createAsCentral(
|
|
228
|
-
handshakeResponse,
|
|
229
|
-
// callback to write data to characteristic C1
|
|
230
|
-
async (data) => {
|
|
231
|
-
characteristicC1ForWrite = await characteristicC1ForWrite.writeWithResponse(import_general.Bytes.toBase64(data));
|
|
232
|
-
},
|
|
233
|
-
// callback to disconnect the BLE connection
|
|
234
|
-
async () => {
|
|
235
|
-
characteristicSubscribe.remove();
|
|
236
|
-
if (await peripheral.isConnected()) {
|
|
237
|
-
await peripheral.cancelConnection();
|
|
238
|
-
}
|
|
239
|
-
logger.debug("disconnected from peripheral");
|
|
240
|
-
},
|
|
241
|
-
// callback to forward decoded and de-assembled Matter messages
|
|
242
|
-
async (data) => {
|
|
243
|
-
if (onMatterMessageListener === void 0) {
|
|
244
|
-
throw new import_general.InternalError(`No listener registered for Matter messages`);
|
|
245
|
-
}
|
|
246
|
-
bleChannel.#pushMessage(data);
|
|
247
|
-
onMatterMessageListener(bleChannel, data);
|
|
248
|
-
}
|
|
249
|
-
);
|
|
250
|
-
const bleChannel = new ReactNativeBleChannel(peripheral, btpSession);
|
|
251
|
-
return bleChannel;
|
|
252
|
-
} catch (error) {
|
|
253
|
-
characteristicSubscribe.remove();
|
|
254
|
-
btpHandshakeTimeout.stop();
|
|
255
|
-
throw error;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
connected = true;
|
|
259
|
-
disconnectSubscription;
|
|
260
|
-
#closeListeners = /* @__PURE__ */ new Set();
|
|
261
|
-
#iteratorQueue = new Array();
|
|
262
|
-
#iteratorWaiter;
|
|
263
|
-
#iteratorDone = false;
|
|
264
|
-
/**
|
|
265
|
-
* Send a Matter message to the connected device - need to do BTP assembly first.
|
|
266
|
-
*
|
|
267
|
-
* @param data
|
|
268
|
-
*/
|
|
269
|
-
async send(data) {
|
|
270
|
-
if (!this.connected) {
|
|
271
|
-
logger.debug("Cannot send data because not connected to peripheral.");
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
if (this.btpSession === void 0) {
|
|
275
|
-
throw new import_protocol.BtpFlowError(`Cannot send data, no BTP session initialized`);
|
|
276
|
-
}
|
|
277
|
-
await this.btpSession.sendMatterMessage(data);
|
|
278
|
-
}
|
|
279
|
-
// Channel<Bytes>
|
|
280
|
-
get name() {
|
|
281
|
-
return `ble://${this.peripheral.id}`;
|
|
282
|
-
}
|
|
283
|
-
onClose(listener) {
|
|
284
|
-
this.#closeListeners.add(listener);
|
|
285
|
-
return {
|
|
286
|
-
close: async () => {
|
|
287
|
-
this.#closeListeners.delete(listener);
|
|
288
|
-
}
|
|
289
|
-
};
|
|
290
|
-
}
|
|
291
|
-
[Symbol.asyncIterator]() {
|
|
292
|
-
return {
|
|
293
|
-
next: () => {
|
|
294
|
-
if (this.#iteratorQueue.length > 0) {
|
|
295
|
-
return Promise.resolve({ value: this.#iteratorQueue.shift(), done: false });
|
|
296
|
-
}
|
|
297
|
-
if (this.#iteratorDone || !this.connected) {
|
|
298
|
-
return Promise.resolve({ value: void 0, done: true });
|
|
299
|
-
}
|
|
300
|
-
return new Promise((resolve) => {
|
|
301
|
-
this.#iteratorWaiter = resolve;
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
|
-
#pushMessage(message) {
|
|
307
|
-
if (this.#iteratorWaiter) {
|
|
308
|
-
const resolve = this.#iteratorWaiter;
|
|
309
|
-
this.#iteratorWaiter = void 0;
|
|
310
|
-
resolve({ value: message, done: false });
|
|
311
|
-
} else if (!this.#iteratorDone) {
|
|
312
|
-
this.#iteratorQueue.push(message);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
#terminateIterator() {
|
|
316
|
-
if (!this.#iteratorDone) {
|
|
317
|
-
this.#iteratorDone = true;
|
|
318
|
-
this.#iteratorWaiter?.({ value: void 0, done: true });
|
|
319
|
-
this.#iteratorWaiter = void 0;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
async close() {
|
|
323
|
-
this.#terminateIterator();
|
|
324
|
-
this.disconnectSubscription.remove();
|
|
325
|
-
await this.btpSession.close();
|
|
326
|
-
this.emitClosed();
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
//# sourceMappingURL=ReactNativeBleChannel.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/ble/ReactNativeBleChannel.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["ReactNativeBleError", "error"]
|
|
6
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { Bytes, MatterError } from "@matter/general";
|
|
7
|
-
import { BlePeripheral } from "@matter/protocol";
|
|
8
|
-
import { Device } from "react-native-ble-plx";
|
|
9
|
-
export interface ReactNativeBlePeripheral extends BlePeripheral {
|
|
10
|
-
readonly device: Device;
|
|
11
|
-
}
|
|
12
|
-
export declare class BluetoothUnauthorizedError extends MatterError {
|
|
13
|
-
}
|
|
14
|
-
export declare class BluetoothUnsupportedError extends MatterError {
|
|
15
|
-
}
|
|
16
|
-
export declare class ReactNativeBleClient {
|
|
17
|
-
#private;
|
|
18
|
-
private readonly bleManager;
|
|
19
|
-
private readonly discoveredPeripherals;
|
|
20
|
-
private shouldScan;
|
|
21
|
-
private isScanning;
|
|
22
|
-
private bleState;
|
|
23
|
-
private deviceDiscoveredCallback;
|
|
24
|
-
constructor();
|
|
25
|
-
setDiscoveryCallback(callback: (peripheral: BlePeripheral, manufacturerData: Bytes) => void): void;
|
|
26
|
-
startScanning(): Promise<void>;
|
|
27
|
-
stopScanning(): Promise<void>;
|
|
28
|
-
private handleDiscoveredDevice;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=ReactNativeBleClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAa,MAAM,kBAAkB,CAAC;AAC5D,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;IAE7G,cAiCC;IAEM,oBAAoB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,KAAK,IAAI,QAKjG;IAEY,aAAa,kBAmCzB;IAEY,YAAY,kBAKxB;IAED,OAAO,CAAC,sBAAsB;CAmCjC"}
|