@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.
Files changed (123) hide show
  1. package/package.json +4 -4
  2. package/dist/cjs/ble/BleScanner.d.ts +0 -16
  3. package/dist/cjs/ble/BleScanner.d.ts.map +0 -1
  4. package/dist/cjs/ble/BleScanner.js +0 -38
  5. package/dist/cjs/ble/BleScanner.js.map +0 -6
  6. package/dist/cjs/ble/ReactNativeBle.d.ts +0 -16
  7. package/dist/cjs/ble/ReactNativeBle.d.ts.map +0 -1
  8. package/dist/cjs/ble/ReactNativeBle.js +0 -58
  9. package/dist/cjs/ble/ReactNativeBle.js.map +0 -6
  10. package/dist/cjs/ble/ReactNativeBleChannel.d.ts +0 -36
  11. package/dist/cjs/ble/ReactNativeBleChannel.d.ts.map +0 -1
  12. package/dist/cjs/ble/ReactNativeBleChannel.js +0 -329
  13. package/dist/cjs/ble/ReactNativeBleChannel.js.map +0 -6
  14. package/dist/cjs/ble/ReactNativeBleClient.d.ts +0 -30
  15. package/dist/cjs/ble/ReactNativeBleClient.d.ts.map +0 -1
  16. package/dist/cjs/ble/ReactNativeBleClient.js +0 -156
  17. package/dist/cjs/ble/ReactNativeBleClient.js.map +0 -6
  18. package/dist/cjs/ble/index.d.ts +0 -10
  19. package/dist/cjs/ble/index.d.ts.map +0 -1
  20. package/dist/cjs/ble/index.js +0 -27
  21. package/dist/cjs/ble/index.js.map +0 -6
  22. package/dist/cjs/crypto/ReactNativeCrypto.d.ts +0 -14
  23. package/dist/cjs/crypto/ReactNativeCrypto.d.ts.map +0 -1
  24. package/dist/cjs/crypto/ReactNativeCrypto.js +0 -57
  25. package/dist/cjs/crypto/ReactNativeCrypto.js.map +0 -6
  26. package/dist/cjs/crypto/index.d.ts +0 -7
  27. package/dist/cjs/crypto/index.d.ts.map +0 -1
  28. package/dist/cjs/crypto/index.js +0 -24
  29. package/dist/cjs/crypto/index.js.map +0 -6
  30. package/dist/cjs/environment/ReactNativeEnvironment.d.ts +0 -16
  31. package/dist/cjs/environment/ReactNativeEnvironment.d.ts.map +0 -1
  32. package/dist/cjs/environment/ReactNativeEnvironment.js +0 -64
  33. package/dist/cjs/environment/ReactNativeEnvironment.js.map +0 -6
  34. package/dist/cjs/environment/index.d.ts +0 -8
  35. package/dist/cjs/environment/index.d.ts.map +0 -1
  36. package/dist/cjs/environment/index.js +0 -25
  37. package/dist/cjs/environment/index.js.map +0 -6
  38. package/dist/cjs/environment/register.d.ts +0 -7
  39. package/dist/cjs/environment/register.d.ts.map +0 -1
  40. package/dist/cjs/environment/register.js +0 -14
  41. package/dist/cjs/environment/register.js.map +0 -6
  42. package/dist/cjs/index.d.ts +0 -11
  43. package/dist/cjs/index.d.ts.map +0 -1
  44. package/dist/cjs/index.js +0 -28
  45. package/dist/cjs/index.js.map +0 -6
  46. package/dist/cjs/net/NetworkReactNative.d.ts +0 -22
  47. package/dist/cjs/net/NetworkReactNative.d.ts.map +0 -1
  48. package/dist/cjs/net/NetworkReactNative.js +0 -179
  49. package/dist/cjs/net/NetworkReactNative.js.map +0 -6
  50. package/dist/cjs/net/TcpConnectionReactNative.d.ts +0 -26
  51. package/dist/cjs/net/TcpConnectionReactNative.d.ts.map +0 -1
  52. package/dist/cjs/net/TcpConnectionReactNative.js +0 -148
  53. package/dist/cjs/net/TcpConnectionReactNative.js.map +0 -6
  54. package/dist/cjs/net/TcpListenerReactNative.d.ts +0 -19
  55. package/dist/cjs/net/TcpListenerReactNative.d.ts.map +0 -1
  56. package/dist/cjs/net/TcpListenerReactNative.js +0 -102
  57. package/dist/cjs/net/TcpListenerReactNative.js.map +0 -6
  58. package/dist/cjs/net/UdpSocketReactNative.d.ts +0 -40
  59. package/dist/cjs/net/UdpSocketReactNative.d.ts.map +0 -1
  60. package/dist/cjs/net/UdpSocketReactNative.js +0 -194
  61. package/dist/cjs/net/UdpSocketReactNative.js.map +0 -6
  62. package/dist/cjs/net/index.d.ts +0 -10
  63. package/dist/cjs/net/index.d.ts.map +0 -1
  64. package/dist/cjs/net/index.js +0 -39
  65. package/dist/cjs/net/index.js.map +0 -6
  66. package/dist/cjs/net/react-native-tcp-socket.d.js +0 -2
  67. package/dist/cjs/net/react-native-tcp-socket.d.js.map +0 -6
  68. package/dist/cjs/net/react-native-tcp-socket.d.ts +0 -71
  69. package/dist/cjs/package.json +0 -6
  70. package/dist/cjs/storage/ReactNativeWebStorageDriver.d.ts +0 -23
  71. package/dist/cjs/storage/ReactNativeWebStorageDriver.d.ts.map +0 -1
  72. package/dist/cjs/storage/ReactNativeWebStorageDriver.js +0 -42
  73. package/dist/cjs/storage/ReactNativeWebStorageDriver.js.map +0 -6
  74. package/dist/cjs/storage/ReactNativeWebStorageDriverV2.d.ts +0 -22
  75. package/dist/cjs/storage/ReactNativeWebStorageDriverV2.d.ts.map +0 -1
  76. package/dist/cjs/storage/ReactNativeWebStorageDriverV2.js +0 -108
  77. package/dist/cjs/storage/ReactNativeWebStorageDriverV2.js.map +0 -6
  78. package/dist/cjs/storage/index.d.ts +0 -18
  79. package/dist/cjs/storage/index.d.ts.map +0 -1
  80. package/dist/cjs/storage/index.js +0 -37
  81. package/dist/cjs/storage/index.js.map +0 -6
  82. package/dist/esm/ble/BleScanner.js +0 -18
  83. package/dist/esm/ble/BleScanner.js.map +0 -6
  84. package/dist/esm/ble/ReactNativeBle.js +0 -38
  85. package/dist/esm/ble/ReactNativeBle.js.map +0 -6
  86. package/dist/esm/ble/ReactNativeBleChannel.js +0 -321
  87. package/dist/esm/ble/ReactNativeBleChannel.js.map +0 -6
  88. package/dist/esm/ble/ReactNativeBleClient.js +0 -136
  89. package/dist/esm/ble/ReactNativeBleClient.js.map +0 -6
  90. package/dist/esm/ble/index.js +0 -10
  91. package/dist/esm/ble/index.js.map +0 -6
  92. package/dist/esm/crypto/ReactNativeCrypto.js +0 -27
  93. package/dist/esm/crypto/ReactNativeCrypto.js.map +0 -6
  94. package/dist/esm/crypto/index.js +0 -7
  95. package/dist/esm/crypto/index.js.map +0 -6
  96. package/dist/esm/environment/ReactNativeEnvironment.js +0 -44
  97. package/dist/esm/environment/ReactNativeEnvironment.js.map +0 -6
  98. package/dist/esm/environment/index.js +0 -8
  99. package/dist/esm/environment/index.js.map +0 -6
  100. package/dist/esm/environment/register.js +0 -13
  101. package/dist/esm/environment/register.js.map +0 -6
  102. package/dist/esm/index.js +0 -11
  103. package/dist/esm/index.js.map +0 -6
  104. package/dist/esm/net/NetworkReactNative.js +0 -158
  105. package/dist/esm/net/NetworkReactNative.js.map +0 -6
  106. package/dist/esm/net/TcpConnectionReactNative.js +0 -135
  107. package/dist/esm/net/TcpConnectionReactNative.js.map +0 -6
  108. package/dist/esm/net/TcpListenerReactNative.js +0 -88
  109. package/dist/esm/net/TcpListenerReactNative.js.map +0 -6
  110. package/dist/esm/net/UdpSocketReactNative.js +0 -174
  111. package/dist/esm/net/UdpSocketReactNative.js.map +0 -6
  112. package/dist/esm/net/index.js +0 -18
  113. package/dist/esm/net/index.js.map +0 -6
  114. package/dist/esm/net/react-native-tcp-socket.d.js +0 -1
  115. package/dist/esm/net/react-native-tcp-socket.d.js.map +0 -6
  116. package/dist/esm/net/react-native-tcp-socket.d.ts +0 -71
  117. package/dist/esm/package.json +0 -6
  118. package/dist/esm/storage/ReactNativeWebStorageDriver.js +0 -22
  119. package/dist/esm/storage/ReactNativeWebStorageDriver.js.map +0 -6
  120. package/dist/esm/storage/ReactNativeWebStorageDriverV2.js +0 -78
  121. package/dist/esm/storage/ReactNativeWebStorageDriverV2.js.map +0 -6
  122. package/dist/esm/storage/index.js +0 -16
  123. 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-20260507-059f7763b",
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-20260507-059f7763b",
36
- "@matter/nodejs": "0.17.0-alpha.0-20260507-059f7763b",
37
- "@matter/protocol": "0.17.0-alpha.0-20260507-059f7763b",
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"}