@matter/react-native 0.16.0-alpha.0-20250912-0d12bf718 → 0.16.0-alpha.0-20250913-0bc2515df

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 (35) hide show
  1. package/dist/cjs/ble/{BleReactNative.d.ts → ReactNativeBle.d.ts} +2 -2
  2. package/dist/{esm/ble/BleReactNative.d.ts.map → cjs/ble/ReactNativeBle.d.ts.map} +1 -1
  3. package/dist/cjs/ble/{BleReactNative.js → ReactNativeBle.js} +7 -7
  4. package/dist/cjs/ble/{BleReactNative.js.map → ReactNativeBle.js.map} +2 -2
  5. package/dist/cjs/ble/ReactNativeBleChannel.d.ts +3 -3
  6. package/dist/cjs/ble/ReactNativeBleChannel.d.ts.map +1 -1
  7. package/dist/cjs/ble/ReactNativeBleChannel.js +13 -9
  8. package/dist/cjs/ble/ReactNativeBleChannel.js.map +1 -1
  9. package/dist/cjs/ble/index.d.ts +1 -1
  10. package/dist/cjs/ble/index.d.ts.map +1 -1
  11. package/dist/cjs/ble/index.js +1 -1
  12. package/dist/cjs/ble/index.js.map +1 -1
  13. package/dist/cjs/environment/ReactNativeEnvironment.d.ts.map +1 -1
  14. package/dist/cjs/environment/ReactNativeEnvironment.js +6 -0
  15. package/dist/cjs/environment/ReactNativeEnvironment.js.map +1 -1
  16. package/dist/esm/ble/{BleReactNative.d.ts → ReactNativeBle.d.ts} +2 -2
  17. package/dist/{cjs/ble/BleReactNative.d.ts.map → esm/ble/ReactNativeBle.d.ts.map} +1 -1
  18. package/dist/esm/ble/{BleReactNative.js → ReactNativeBle.js} +4 -4
  19. package/dist/esm/ble/ReactNativeBle.js.map +6 -0
  20. package/dist/esm/ble/ReactNativeBleChannel.d.ts +3 -3
  21. package/dist/esm/ble/ReactNativeBleChannel.d.ts.map +1 -1
  22. package/dist/esm/ble/ReactNativeBleChannel.js +13 -10
  23. package/dist/esm/ble/ReactNativeBleChannel.js.map +1 -1
  24. package/dist/esm/ble/index.d.ts +1 -1
  25. package/dist/esm/ble/index.d.ts.map +1 -1
  26. package/dist/esm/ble/index.js +1 -1
  27. package/dist/esm/environment/ReactNativeEnvironment.d.ts.map +1 -1
  28. package/dist/esm/environment/ReactNativeEnvironment.js +6 -0
  29. package/dist/esm/environment/ReactNativeEnvironment.js.map +1 -1
  30. package/package.json +5 -5
  31. package/src/ble/{BleReactNative.ts → ReactNativeBle.ts} +2 -2
  32. package/src/ble/ReactNativeBleChannel.ts +14 -9
  33. package/src/ble/index.ts +1 -1
  34. package/src/environment/ReactNativeEnvironment.ts +7 -0
  35. package/dist/esm/ble/BleReactNative.js.map +0 -6
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { ChannelType, NetInterface } from "#general";
7
7
  import { Ble, BlePeripheralInterface, Scanner } from "#protocol";
8
- export declare class BleReactNative extends Ble {
8
+ export declare class ReactNativeBle extends Ble {
9
9
  private bleCentral;
10
10
  constructor();
11
11
  get centralInterface(): NetInterface;
@@ -13,4 +13,4 @@ export declare class BleReactNative extends Ble {
13
13
  get peripheralInterface(): BlePeripheralInterface;
14
14
  supports(type: ChannelType): type is ChannelType.BLE;
15
15
  }
16
- //# sourceMappingURL=BleReactNative.d.ts.map
16
+ //# sourceMappingURL=ReactNativeBle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BleReactNative.d.ts","sourceRoot":"","sources":["../../../src/ble/BleReactNative.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAuB,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKjE,qBAAa,cAAe,SAAQ,GAAG;IACnC,OAAO,CAAC,UAAU,CAAmC;;IAMrD,IAAI,gBAAgB,IAAI,YAAY,CAKnC;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;IAED,IAAI,mBAAmB,IAAI,sBAAsB,CAEhD;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B"}
1
+ {"version":3,"file":"ReactNativeBle.d.ts","sourceRoot":"","sources":["../../../src/ble/ReactNativeBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAuB,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKjE,qBAAa,cAAe,SAAQ,GAAG;IACnC,OAAO,CAAC,UAAU,CAAmC;;IAMrD,IAAI,gBAAgB,IAAI,YAAY,CAKnC;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;IAED,IAAI,mBAAmB,IAAI,sBAAsB,CAEhD;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B"}
@@ -16,11 +16,11 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var BleReactNative_exports = {};
20
- __export(BleReactNative_exports, {
21
- BleReactNative: () => BleReactNative
19
+ var ReactNativeBle_exports = {};
20
+ __export(ReactNativeBle_exports, {
21
+ ReactNativeBle: () => ReactNativeBle
22
22
  });
23
- module.exports = __toCommonJS(BleReactNative_exports);
23
+ module.exports = __toCommonJS(ReactNativeBle_exports);
24
24
  var import_general = require("#general");
25
25
  var import_protocol = require("#protocol");
26
26
  var import_BleScanner = require("./BleScanner.js");
@@ -31,7 +31,7 @@ var import_ReactNativeBleClient = require("./ReactNativeBleClient.js");
31
31
  * Copyright 2022-2025 Matter.js Authors
32
32
  * SPDX-License-Identifier: Apache-2.0
33
33
  */
34
- class BleReactNative extends import_protocol.Ble {
34
+ class ReactNativeBle extends import_protocol.Ble {
35
35
  bleCentral;
36
36
  constructor() {
37
37
  super();
@@ -40,7 +40,7 @@ class BleReactNative extends import_protocol.Ble {
40
40
  if (this.bleCentral === void 0) {
41
41
  this.bleCentral = new import_ReactNativeBleClient.ReactNativeBleClient();
42
42
  }
43
- return new import_ReactNativeBleChannel.ReactNativeBleCentralInterface();
43
+ return new import_ReactNativeBleChannel.ReactNativeBleCentralInterface(this);
44
44
  }
45
45
  get scanner() {
46
46
  if (this.bleCentral === void 0) {
@@ -55,4 +55,4 @@ class BleReactNative extends import_protocol.Ble {
55
55
  return type === import_general.ChannelType.BLE;
56
56
  }
57
57
  }
58
- //# sourceMappingURL=BleReactNative.js.map
58
+ //# sourceMappingURL=ReactNativeBle.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/ble/BleReactNative.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA+D;AAC/D,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,mBAAiC;AACjC,QAAI,KAAK,eAAe,QAAW;AAC/B,WAAK,aAAa,IAAI,iDAAqB;AAAA,IAC/C;AACA,WAAO,IAAI,4DAA+B;AAAA,EAC9C;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;",
3
+ "sources": ["../../../src/ble/ReactNativeBle.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA+D;AAC/D,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,mBAAiC;AACjC,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
5
  "names": []
6
6
  }
@@ -4,11 +4,11 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Bytes, Channel, ChannelType, NetInterface, ServerAddress, TransportInterface } from "#general";
7
- import { BleChannel, BtpSessionHandler } from "#protocol";
7
+ import { Ble, BleChannel, BtpSessionHandler } from "#protocol";
8
8
  import { Characteristic, Device } from "react-native-ble-plx";
9
9
  export declare class ReactNativeBleCentralInterface implements NetInterface {
10
- private openChannels;
11
- private onMatterMessageListener;
10
+ #private;
11
+ constructor(ble: Ble);
12
12
  openChannel(address: ServerAddress): Promise<Channel<Bytes>>;
13
13
  onData(listener: (socket: Channel<Bytes>, data: Bytes) => void): TransportInterface.Listener;
14
14
  close(): Promise<void>;
@@ -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,EAIX,YAAY,EACZ,aAAa,EAEb,kBAAkB,EAErB,MAAM,UAAU,CAAC;AAClB,OAAO,EAUH,UAAU,EAIV,iBAAiB,EACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEH,cAAc,EACd,MAAM,EAGT,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,8BAA+B,YAAW,YAAY;IAC/D,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,uBAAuB,CAA8D;IAEvF,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,kBAAkB,CAAC,QAAQ;IAOtF,KAAK;IAMX,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,KAAK,CAAC;IAsHpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAtHlB,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;IA2GjC,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;CAKd"}
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,YAAY,EACZ,aAAa,EAEb,kBAAkB,EAErB,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,YAAY;;gBAKnD,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,kBAAkB,CAAC,QAAQ;IAOtF,KAAK;IAMX,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,KAAK,CAAC;IAsHpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAtHlB,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;IA2GjC,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;CAKd"}
@@ -32,19 +32,23 @@ var import_react_native_ble_plx = require("react-native-ble-plx");
32
32
  */
33
33
  const logger = import_general.Logger.get("BleChannel");
34
34
  class ReactNativeBleCentralInterface {
35
- openChannels = /* @__PURE__ */ new Map();
36
- onMatterMessageListener;
35
+ #ble;
36
+ #openChannels = /* @__PURE__ */ new Map();
37
+ #onMatterMessageListener;
38
+ constructor(ble) {
39
+ this.#ble = ble;
40
+ }
37
41
  async openChannel(address) {
38
42
  if (address.type !== "ble") {
39
43
  throw new import_general.InternalError(`Unsupported address type ${address.type}.`);
40
44
  }
41
- if (this.onMatterMessageListener === void 0) {
45
+ if (this.#onMatterMessageListener === void 0) {
42
46
  throw new import_general.InternalError(`Network Interface was not added to the system yet.`);
43
47
  }
44
- const { peripheral, hasAdditionalAdvertisementData } = import_protocol.Ble.get().scanner.getDiscoveredDevice(
48
+ const { peripheral, hasAdditionalAdvertisementData } = this.#ble.scanner.getDiscoveredDevice(
45
49
  address.peripheralAddress
46
50
  );
47
- if (this.openChannels.has(address)) {
51
+ if (this.#openChannels.has(address)) {
48
52
  throw new import_protocol.BleError(
49
53
  `Peripheral ${address.peripheralAddress} is already connected. Only one connection supported right now.`
50
54
  );
@@ -99,25 +103,25 @@ class ReactNativeBleCentralInterface {
99
103
  logger.debug("missing characteristics");
100
104
  continue;
101
105
  }
102
- this.openChannels.set(address, device);
106
+ this.#openChannels.set(address, device);
103
107
  return await ReactNativeBleChannel.create(
104
108
  device,
105
109
  characteristicC1ForWrite,
106
110
  characteristicC2ForSubscribe,
107
- this.onMatterMessageListener,
111
+ this.#onMatterMessageListener,
108
112
  additionalCommissioningRelatedData
109
113
  );
110
114
  }
111
115
  throw new import_protocol.BleError(`No Matter service found on peripheral ${device.id}`);
112
116
  }
113
117
  onData(listener) {
114
- this.onMatterMessageListener = listener;
118
+ this.#onMatterMessageListener = listener;
115
119
  return {
116
120
  close: async () => await this.close()
117
121
  };
118
122
  }
119
123
  async close() {
120
- for (const peripheral of this.openChannels.values()) {
124
+ for (const peripheral of this.#openChannels.values()) {
121
125
  await peripheral.cancelConnection();
122
126
  }
123
127
  }
@@ -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
  }
@@ -3,8 +3,8 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./BleReactNative.js";
7
6
  export * from "./BleScanner.js";
7
+ export * from "./ReactNativeBle.js";
8
8
  export * from "./ReactNativeBleChannel.js";
9
9
  export * from "./ReactNativeBleClient.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ble/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ble/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC"}
@@ -15,8 +15,8 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var ble_exports = {};
17
17
  module.exports = __toCommonJS(ble_exports);
18
- __reExport(ble_exports, require("./BleReactNative.js"), module.exports);
19
18
  __reExport(ble_exports, require("./BleScanner.js"), module.exports);
19
+ __reExport(ble_exports, require("./ReactNativeBle.js"), module.exports);
20
20
  __reExport(ble_exports, require("./ReactNativeBleChannel.js"), module.exports);
21
21
  __reExport(ble_exports, require("./ReactNativeBleClient.js"), module.exports);
22
22
  /**
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ble/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,gCANd;AAOA,wBAAc,4BAPd;AAQA,wBAAc,uCARd;AASA,wBAAc,sCATd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,4BANd;AAOA,wBAAc,gCAPd;AAQA,wBAAc,uCARd;AASA,wBAAc,sCATd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,UAAU,CAAC;AAIjF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBAQrC;AAuBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;EAMhD"}
1
+ {"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,UAAU,CAAC;AAKjF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBASrC;AA2BD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;EAMhD"}
@@ -22,7 +22,9 @@ __export(ReactNativeEnvironment_exports, {
22
22
  getDefaults: () => getDefaults
23
23
  });
24
24
  module.exports = __toCommonJS(ReactNativeEnvironment_exports);
25
+ var import_ReactNativeBle = require("#ble/ReactNativeBle.js");
25
26
  var import_general = require("#general");
27
+ var import_protocol = require("#protocol");
26
28
  var import_NetworkReactNative = require("../net/NetworkReactNative.js");
27
29
  var import_StorageBackendAsyncStorage = require("../storage/StorageBackendAsyncStorage.js");
28
30
  /**
@@ -35,6 +37,7 @@ function ReactNativeEnvironment() {
35
37
  loadVariables(env);
36
38
  configureStorage(env);
37
39
  configureNetwork(env);
40
+ configureBle(env);
38
41
  return env;
39
42
  }
40
43
  function loadVariables(env) {
@@ -51,6 +54,9 @@ function configureStorage(env) {
51
54
  function configureNetwork(env) {
52
55
  env.set(import_general.Network, new import_NetworkReactNative.NetworkReactNative());
53
56
  }
57
+ function configureBle(env) {
58
+ env.set(import_protocol.Ble, new import_ReactNativeBle.ReactNativeBle());
59
+ }
54
60
  function getDefaults(vars) {
55
61
  const envName = vars.get("environment", "default");
56
62
  return {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/ReactNativeEnvironment.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAsE;AACtE,gCAAmC;AACnC,wCAA2C;AAR3C;AAAA;AAAA;AAAA;AAAA;AAeO,SAAS,yBAAyB;AACrC,QAAM,MAAM,IAAI,2BAAY,SAAS;AAErC,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB,GAAG;AAEpB,SAAO;AACX;AAEA,SAAS,cAAc,KAAkB;AACrC,QAAM,OAAO,IAAI;AAGjB,OAAK,eAAe,YAAY,IAAI,CAAC;AACzC;AAEA,SAAS,iBAAiB,KAAkB;AACxC,QAAM,UAAU,IAAI,IAAI,6BAAc;AAEtC,MAAI,KAAK,IAAI,MAAM;AACf,YAAQ,WAAW;AAAA,EACvB,CAAC;AAED,UAAQ,UAAU,eAAa,IAAI,6DAA2B,SAAS;AAC3E;AAEA,SAAS,iBAAiB,KAAkB;AACxC,MAAI,IAAI,wBAAS,IAAI,6CAAmB,CAAC;AAC7C;AAEO,SAAS,YAAY,MAAuB;AAC/C,QAAM,UAAU,KAAK,IAAI,eAAe,SAAS;AAEjD,SAAO;AAAA,IACH,aAAa;AAAA,EACjB;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,4BAA+B;AAC/B,qBAAsE;AACtE,sBAAoB;AACpB,gCAAmC;AACnC,wCAA2C;AAV3C;AAAA;AAAA;AAAA;AAAA;AAiBO,SAAS,yBAAyB;AACrC,QAAM,MAAM,IAAI,2BAAY,SAAS;AAErC,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB,GAAG;AACpB,eAAa,GAAG;AAEhB,SAAO;AACX;AAEA,SAAS,cAAc,KAAkB;AACrC,QAAM,OAAO,IAAI;AAGjB,OAAK,eAAe,YAAY,IAAI,CAAC;AACzC;AAEA,SAAS,iBAAiB,KAAkB;AACxC,QAAM,UAAU,IAAI,IAAI,6BAAc;AAEtC,MAAI,KAAK,IAAI,MAAM;AACf,YAAQ,WAAW;AAAA,EACvB,CAAC;AAED,UAAQ,UAAU,eAAa,IAAI,6DAA2B,SAAS;AAC3E;AAEA,SAAS,iBAAiB,KAAkB;AACxC,MAAI,IAAI,wBAAS,IAAI,6CAAmB,CAAC;AAC7C;AAEA,SAAS,aAAa,KAAkB;AACpC,MAAI,IAAI,qBAAK,IAAI,qCAAe,CAAC;AACrC;AAEO,SAAS,YAAY,MAAuB;AAC/C,QAAM,UAAU,KAAK,IAAI,eAAe,SAAS;AAEjD,SAAO;AAAA,IACH,aAAa;AAAA,EACjB;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { ChannelType, NetInterface } from "#general";
7
7
  import { Ble, BlePeripheralInterface, Scanner } from "#protocol";
8
- export declare class BleReactNative extends Ble {
8
+ export declare class ReactNativeBle extends Ble {
9
9
  private bleCentral;
10
10
  constructor();
11
11
  get centralInterface(): NetInterface;
@@ -13,4 +13,4 @@ export declare class BleReactNative extends Ble {
13
13
  get peripheralInterface(): BlePeripheralInterface;
14
14
  supports(type: ChannelType): type is ChannelType.BLE;
15
15
  }
16
- //# sourceMappingURL=BleReactNative.d.ts.map
16
+ //# sourceMappingURL=ReactNativeBle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BleReactNative.d.ts","sourceRoot":"","sources":["../../../src/ble/BleReactNative.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAuB,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKjE,qBAAa,cAAe,SAAQ,GAAG;IACnC,OAAO,CAAC,UAAU,CAAmC;;IAMrD,IAAI,gBAAgB,IAAI,YAAY,CAKnC;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;IAED,IAAI,mBAAmB,IAAI,sBAAsB,CAEhD;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B"}
1
+ {"version":3,"file":"ReactNativeBle.d.ts","sourceRoot":"","sources":["../../../src/ble/ReactNativeBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAuB,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKjE,qBAAa,cAAe,SAAQ,GAAG;IACnC,OAAO,CAAC,UAAU,CAAmC;;IAMrD,IAAI,gBAAgB,IAAI,YAAY,CAKnC;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;IAED,IAAI,mBAAmB,IAAI,sBAAsB,CAEhD;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B"}
@@ -8,7 +8,7 @@ import { Ble } from "#protocol";
8
8
  import { BleScanner } from "./BleScanner.js";
9
9
  import { ReactNativeBleCentralInterface } from "./ReactNativeBleChannel.js";
10
10
  import { ReactNativeBleClient } from "./ReactNativeBleClient.js";
11
- class BleReactNative extends Ble {
11
+ class ReactNativeBle extends Ble {
12
12
  bleCentral;
13
13
  constructor() {
14
14
  super();
@@ -17,7 +17,7 @@ class BleReactNative extends Ble {
17
17
  if (this.bleCentral === void 0) {
18
18
  this.bleCentral = new ReactNativeBleClient();
19
19
  }
20
- return new ReactNativeBleCentralInterface();
20
+ return new ReactNativeBleCentralInterface(this);
21
21
  }
22
22
  get scanner() {
23
23
  if (this.bleCentral === void 0) {
@@ -33,6 +33,6 @@ class BleReactNative extends Ble {
33
33
  }
34
34
  }
35
35
  export {
36
- BleReactNative
36
+ ReactNativeBle
37
37
  };
38
- //# sourceMappingURL=BleReactNative.js.map
38
+ //# sourceMappingURL=ReactNativeBle.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ble/ReactNativeBle.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,2BAAyC;AAC/D,SAAS,WAA4C;AACrD,SAAS,kBAAkB;AAC3B,SAAS,sCAAsC;AAC/C,SAAS,4BAA4B;AAE9B,MAAM,uBAAuB,IAAI;AAAA,EAC5B;AAAA,EAER,cAAc;AACV,UAAM;AAAA,EACV;AAAA,EAEA,IAAI,mBAAiC;AACjC,QAAI,KAAK,eAAe,QAAW;AAC/B,WAAK,aAAa,IAAI,qBAAqB;AAAA,IAC/C;AACA,WAAO,IAAI,+BAA+B,IAAI;AAAA,EAClD;AAAA,EAEA,IAAI,UAAmB;AACnB,QAAI,KAAK,eAAe,QAAW;AAC/B,WAAK,aAAa,IAAI,qBAAqB;AAAA,IAC/C;AACA,WAAO,IAAI,WAAW,KAAK,UAAU;AAAA,EACzC;AAAA,EAEA,IAAI,sBAA8C;AAC9C,UAAM,IAAI,oBAAoB,kEAAkE;AAAA,EACpG;AAAA,EAEA,SAAS,MAAmB;AACxB,WAAO,SAAS,YAAY;AAAA,EAChC;AACJ;",
5
+ "names": []
6
+ }
@@ -4,11 +4,11 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Bytes, Channel, ChannelType, NetInterface, ServerAddress, TransportInterface } from "#general";
7
- import { BleChannel, BtpSessionHandler } from "#protocol";
7
+ import { Ble, BleChannel, BtpSessionHandler } from "#protocol";
8
8
  import { Characteristic, Device } from "react-native-ble-plx";
9
9
  export declare class ReactNativeBleCentralInterface implements NetInterface {
10
- private openChannels;
11
- private onMatterMessageListener;
10
+ #private;
11
+ constructor(ble: Ble);
12
12
  openChannel(address: ServerAddress): Promise<Channel<Bytes>>;
13
13
  onData(listener: (socket: Channel<Bytes>, data: Bytes) => void): TransportInterface.Listener;
14
14
  close(): Promise<void>;
@@ -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,EAIX,YAAY,EACZ,aAAa,EAEb,kBAAkB,EAErB,MAAM,UAAU,CAAC;AAClB,OAAO,EAUH,UAAU,EAIV,iBAAiB,EACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEH,cAAc,EACd,MAAM,EAGT,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,8BAA+B,YAAW,YAAY;IAC/D,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,uBAAuB,CAA8D;IAEvF,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,kBAAkB,CAAC,QAAQ;IAOtF,KAAK;IAMX,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,KAAK,CAAC;IAsHpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAtHlB,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;IA2GjC,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;CAKd"}
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,YAAY,EACZ,aAAa,EAEb,kBAAkB,EAErB,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,YAAY;;gBAKnD,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,kBAAkB,CAAC,QAAQ;IAOtF,KAAK;IAMX,QAAQ,CAAC,IAAI,EAAE,WAAW;CAG7B;AAED,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,KAAK,CAAC;IAsHpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAtHlB,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;IA2GjC,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;CAKd"}
@@ -21,7 +21,6 @@ import {
21
21
  BTP_CONN_RSP_TIMEOUT,
22
22
  BTP_MAXIMUM_WINDOW_SIZE,
23
23
  BTP_SUPPORTED_VERSIONS,
24
- Ble,
25
24
  BleChannel,
26
25
  BleError,
27
26
  BtpCodec,
@@ -34,19 +33,23 @@ import {
34
33
  } from "react-native-ble-plx";
35
34
  const logger = Logger.get("BleChannel");
36
35
  class ReactNativeBleCentralInterface {
37
- openChannels = /* @__PURE__ */ new Map();
38
- onMatterMessageListener;
36
+ #ble;
37
+ #openChannels = /* @__PURE__ */ new Map();
38
+ #onMatterMessageListener;
39
+ constructor(ble) {
40
+ this.#ble = ble;
41
+ }
39
42
  async openChannel(address) {
40
43
  if (address.type !== "ble") {
41
44
  throw new InternalError(`Unsupported address type ${address.type}.`);
42
45
  }
43
- if (this.onMatterMessageListener === void 0) {
46
+ if (this.#onMatterMessageListener === void 0) {
44
47
  throw new InternalError(`Network Interface was not added to the system yet.`);
45
48
  }
46
- const { peripheral, hasAdditionalAdvertisementData } = Ble.get().scanner.getDiscoveredDevice(
49
+ const { peripheral, hasAdditionalAdvertisementData } = this.#ble.scanner.getDiscoveredDevice(
47
50
  address.peripheralAddress
48
51
  );
49
- if (this.openChannels.has(address)) {
52
+ if (this.#openChannels.has(address)) {
50
53
  throw new BleError(
51
54
  `Peripheral ${address.peripheralAddress} is already connected. Only one connection supported right now.`
52
55
  );
@@ -101,25 +104,25 @@ class ReactNativeBleCentralInterface {
101
104
  logger.debug("missing characteristics");
102
105
  continue;
103
106
  }
104
- this.openChannels.set(address, device);
107
+ this.#openChannels.set(address, device);
105
108
  return await ReactNativeBleChannel.create(
106
109
  device,
107
110
  characteristicC1ForWrite,
108
111
  characteristicC2ForSubscribe,
109
- this.onMatterMessageListener,
112
+ this.#onMatterMessageListener,
110
113
  additionalCommissioningRelatedData
111
114
  );
112
115
  }
113
116
  throw new BleError(`No Matter service found on peripheral ${device.id}`);
114
117
  }
115
118
  onData(listener) {
116
- this.onMatterMessageListener = listener;
119
+ this.#onMatterMessageListener = listener;
117
120
  return {
118
121
  close: async () => await this.close()
119
122
  };
120
123
  }
121
124
  async close() {
122
- for (const peripheral of this.openChannels.values()) {
125
+ for (const peripheral of this.#openChannels.values()) {
123
126
  await peripheral.cancelConnection();
124
127
  }
125
128
  }
@@ -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": []
6
6
  }
@@ -3,8 +3,8 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./BleReactNative.js";
7
6
  export * from "./BleScanner.js";
7
+ export * from "./ReactNativeBle.js";
8
8
  export * from "./ReactNativeBleChannel.js";
9
9
  export * from "./ReactNativeBleClient.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ble/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ble/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC"}
@@ -3,8 +3,8 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./BleReactNative.js";
7
6
  export * from "./BleScanner.js";
7
+ export * from "./ReactNativeBle.js";
8
8
  export * from "./ReactNativeBleChannel.js";
9
9
  export * from "./ReactNativeBleClient.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,UAAU,CAAC;AAIjF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBAQrC;AAuBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;EAMhD"}
1
+ {"version":3,"file":"ReactNativeEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/ReactNativeEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,UAAU,CAAC;AAKjF;;;;GAIG;AACH,wBAAgB,sBAAsB,gBASrC;AA2BD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;EAMhD"}
@@ -3,7 +3,9 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { ReactNativeBle } from "#ble/ReactNativeBle.js";
6
7
  import { Environment, Network, StorageService } from "#general";
8
+ import { Ble } from "#protocol";
7
9
  import { NetworkReactNative } from "../net/NetworkReactNative.js";
8
10
  import { StorageBackendAsyncStorage } from "../storage/StorageBackendAsyncStorage.js";
9
11
  function ReactNativeEnvironment() {
@@ -11,6 +13,7 @@ function ReactNativeEnvironment() {
11
13
  loadVariables(env);
12
14
  configureStorage(env);
13
15
  configureNetwork(env);
16
+ configureBle(env);
14
17
  return env;
15
18
  }
16
19
  function loadVariables(env) {
@@ -27,6 +30,9 @@ function configureStorage(env) {
27
30
  function configureNetwork(env) {
28
31
  env.set(Network, new NetworkReactNative());
29
32
  }
33
+ function configureBle(env) {
34
+ env.set(Ble, new ReactNativeBle());
35
+ }
30
36
  function getDefaults(vars) {
31
37
  const envName = vars.get("environment", "default");
32
38
  return {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/ReactNativeEnvironment.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,SAAS,sBAAuC;AACtE,SAAS,0BAA0B;AACnC,SAAS,kCAAkC;AAOpC,SAAS,yBAAyB;AACrC,QAAM,MAAM,IAAI,YAAY,SAAS;AAErC,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB,GAAG;AAEpB,SAAO;AACX;AAEA,SAAS,cAAc,KAAkB;AACrC,QAAM,OAAO,IAAI;AAGjB,OAAK,eAAe,YAAY,IAAI,CAAC;AACzC;AAEA,SAAS,iBAAiB,KAAkB;AACxC,QAAM,UAAU,IAAI,IAAI,cAAc;AAEtC,MAAI,KAAK,IAAI,MAAM;AACf,YAAQ,WAAW;AAAA,EACvB,CAAC;AAED,UAAQ,UAAU,eAAa,IAAI,2BAA2B,SAAS;AAC3E;AAEA,SAAS,iBAAiB,KAAkB;AACxC,MAAI,IAAI,SAAS,IAAI,mBAAmB,CAAC;AAC7C;AAEO,SAAS,YAAY,MAAuB;AAC/C,QAAM,UAAU,KAAK,IAAI,eAAe,SAAS;AAEjD,SAAO;AAAA,IACH,aAAa;AAAA,EACjB;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,aAAa,SAAS,sBAAuC;AACtE,SAAS,WAAW;AACpB,SAAS,0BAA0B;AACnC,SAAS,kCAAkC;AAOpC,SAAS,yBAAyB;AACrC,QAAM,MAAM,IAAI,YAAY,SAAS;AAErC,gBAAc,GAAG;AACjB,mBAAiB,GAAG;AACpB,mBAAiB,GAAG;AACpB,eAAa,GAAG;AAEhB,SAAO;AACX;AAEA,SAAS,cAAc,KAAkB;AACrC,QAAM,OAAO,IAAI;AAGjB,OAAK,eAAe,YAAY,IAAI,CAAC;AACzC;AAEA,SAAS,iBAAiB,KAAkB;AACxC,QAAM,UAAU,IAAI,IAAI,cAAc;AAEtC,MAAI,KAAK,IAAI,MAAM;AACf,YAAQ,WAAW;AAAA,EACvB,CAAC;AAED,UAAQ,UAAU,eAAa,IAAI,2BAA2B,SAAS;AAC3E;AAEA,SAAS,iBAAiB,KAAkB;AACxC,MAAI,IAAI,SAAS,IAAI,mBAAmB,CAAC;AAC7C;AAEA,SAAS,aAAa,KAAkB;AACpC,MAAI,IAAI,KAAK,IAAI,eAAe,CAAC;AACrC;AAEO,SAAS,YAAY,MAAuB;AAC/C,QAAM,UAAU,KAAK,IAAI,eAAe,SAAS;AAEjD,SAAO;AAAA,IACH,aAAa;AAAA,EACjB;AACJ;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/react-native",
3
- "version": "0.16.0-alpha.0-20250912-0d12bf718",
3
+ "version": "0.16.0-alpha.0-20250913-0bc2515df",
4
4
  "description": "Experimental React Native support for matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,9 +36,9 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@craftzdog/react-native-buffer": "6.1.0",
39
- "@matter/general": "0.16.0-alpha.0-20250912-0d12bf718",
40
- "@matter/nodejs": "0.16.0-alpha.0-20250912-0d12bf718",
41
- "@matter/protocol": "0.16.0-alpha.0-20250912-0d12bf718",
39
+ "@matter/general": "0.16.0-alpha.0-20250913-0bc2515df",
40
+ "@matter/nodejs": "0.16.0-alpha.0-20250913-0bc2515df",
41
+ "@matter/protocol": "0.16.0-alpha.0-20250913-0bc2515df",
42
42
  "@react-native-async-storage/async-storage": "^2.2.0",
43
43
  "@react-native-community/netinfo": "^11.4.1",
44
44
  "@types/node": "^24.3.1",
@@ -48,7 +48,7 @@
48
48
  "react-native-udp": "^4.1.7"
49
49
  },
50
50
  "devDependencies": {
51
- "@matter/tools": "0.16.0-alpha.0-20250912-0d12bf718"
51
+ "@matter/tools": "0.16.0-alpha.0-20250913-0bc2515df"
52
52
  },
53
53
  "overrides": {
54
54
  "brorand": "npm:@matter.js/brorand@1.1.0"
@@ -10,7 +10,7 @@ import { BleScanner } from "./BleScanner.js";
10
10
  import { ReactNativeBleCentralInterface } from "./ReactNativeBleChannel.js";
11
11
  import { ReactNativeBleClient } from "./ReactNativeBleClient.js";
12
12
 
13
- export class BleReactNative extends Ble {
13
+ export class ReactNativeBle extends Ble {
14
14
  private bleCentral: ReactNativeBleClient | undefined;
15
15
 
16
16
  constructor() {
@@ -21,7 +21,7 @@ export class BleReactNative extends Ble {
21
21
  if (this.bleCentral === undefined) {
22
22
  this.bleCentral = new ReactNativeBleClient();
23
23
  }
24
- return new ReactNativeBleCentralInterface();
24
+ return new ReactNativeBleCentralInterface(this);
25
25
  }
26
26
 
27
27
  get scanner(): Scanner {
@@ -45,22 +45,27 @@ import { BleScanner } from "./BleScanner.js";
45
45
  const logger = Logger.get("BleChannel");
46
46
 
47
47
  export class ReactNativeBleCentralInterface implements NetInterface {
48
- private openChannels: Map<ServerAddress, Device> = new Map();
49
- private onMatterMessageListener: ((socket: Channel<Bytes>, data: Bytes) => void) | undefined;
48
+ #ble: Ble;
49
+ #openChannels: Map<ServerAddress, Device> = new Map();
50
+ #onMatterMessageListener: ((socket: Channel<Bytes>, data: Bytes) => void) | undefined;
51
+
52
+ constructor(ble: Ble) {
53
+ this.#ble = ble;
54
+ }
50
55
 
51
56
  async openChannel(address: ServerAddress): Promise<Channel<Bytes>> {
52
57
  if (address.type !== "ble") {
53
58
  throw new InternalError(`Unsupported address type ${address.type}.`);
54
59
  }
55
- if (this.onMatterMessageListener === undefined) {
60
+ if (this.#onMatterMessageListener === undefined) {
56
61
  throw new InternalError(`Network Interface was not added to the system yet.`);
57
62
  }
58
63
 
59
64
  // Get the peripheral by address and connect to it.
60
- const { peripheral, hasAdditionalAdvertisementData } = (Ble.get().scanner as BleScanner).getDiscoveredDevice(
65
+ const { peripheral, hasAdditionalAdvertisementData } = (this.#ble.scanner as BleScanner).getDiscoveredDevice(
61
66
  address.peripheralAddress,
62
67
  );
63
- if (this.openChannels.has(address)) {
68
+ if (this.#openChannels.has(address)) {
64
69
  throw new BleError(
65
70
  `Peripheral ${address.peripheralAddress} is already connected. Only one connection supported right now.`,
66
71
  );
@@ -129,12 +134,12 @@ export class ReactNativeBleCentralInterface implements NetInterface {
129
134
  continue;
130
135
  }
131
136
 
132
- this.openChannels.set(address, device);
137
+ this.#openChannels.set(address, device);
133
138
  return await ReactNativeBleChannel.create(
134
139
  device,
135
140
  characteristicC1ForWrite,
136
141
  characteristicC2ForSubscribe,
137
- this.onMatterMessageListener,
142
+ this.#onMatterMessageListener,
138
143
  additionalCommissioningRelatedData,
139
144
  );
140
145
  }
@@ -143,14 +148,14 @@ export class ReactNativeBleCentralInterface implements NetInterface {
143
148
  }
144
149
 
145
150
  onData(listener: (socket: Channel<Bytes>, data: Bytes) => void): TransportInterface.Listener {
146
- this.onMatterMessageListener = listener;
151
+ this.#onMatterMessageListener = listener;
147
152
  return {
148
153
  close: async () => await this.close(),
149
154
  };
150
155
  }
151
156
 
152
157
  async close() {
153
- for (const peripheral of this.openChannels.values()) {
158
+ for (const peripheral of this.#openChannels.values()) {
154
159
  await peripheral.cancelConnection();
155
160
  }
156
161
  }
package/src/ble/index.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- export * from "./BleReactNative.js";
8
7
  export * from "./BleScanner.js";
8
+ export * from "./ReactNativeBle.js";
9
9
  export * from "./ReactNativeBleChannel.js";
10
10
  export * from "./ReactNativeBleClient.js";
@@ -4,7 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { ReactNativeBle } from "#ble/ReactNativeBle.js";
7
8
  import { Environment, Network, StorageService, VariableService } from "#general";
9
+ import { Ble } from "#protocol";
8
10
  import { NetworkReactNative } from "../net/NetworkReactNative.js";
9
11
  import { StorageBackendAsyncStorage } from "../storage/StorageBackendAsyncStorage.js";
10
12
 
@@ -19,6 +21,7 @@ export function ReactNativeEnvironment() {
19
21
  loadVariables(env);
20
22
  configureStorage(env);
21
23
  configureNetwork(env);
24
+ configureBle(env);
22
25
 
23
26
  return env;
24
27
  }
@@ -44,6 +47,10 @@ function configureNetwork(env: Environment) {
44
47
  env.set(Network, new NetworkReactNative());
45
48
  }
46
49
 
50
+ function configureBle(env: Environment) {
51
+ env.set(Ble, new ReactNativeBle());
52
+ }
53
+
47
54
  export function getDefaults(vars: VariableService) {
48
55
  const envName = vars.get("environment", "default");
49
56
 
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/ble/BleReactNative.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,2BAAyC;AAC/D,SAAS,WAA4C;AACrD,SAAS,kBAAkB;AAC3B,SAAS,sCAAsC;AAC/C,SAAS,4BAA4B;AAE9B,MAAM,uBAAuB,IAAI;AAAA,EAC5B;AAAA,EAER,cAAc;AACV,UAAM;AAAA,EACV;AAAA,EAEA,IAAI,mBAAiC;AACjC,QAAI,KAAK,eAAe,QAAW;AAC/B,WAAK,aAAa,IAAI,qBAAqB;AAAA,IAC/C;AACA,WAAO,IAAI,+BAA+B;AAAA,EAC9C;AAAA,EAEA,IAAI,UAAmB;AACnB,QAAI,KAAK,eAAe,QAAW;AAC/B,WAAK,aAAa,IAAI,qBAAqB;AAAA,IAC/C;AACA,WAAO,IAAI,WAAW,KAAK,UAAU;AAAA,EACzC;AAAA,EAEA,IAAI,sBAA8C;AAC9C,UAAM,IAAI,oBAAoB,kEAAkE;AAAA,EACpG;AAAA,EAEA,SAAS,MAAmB;AACxB,WAAO,SAAS,YAAY;AAAA,EAChC;AACJ;",
5
- "names": []
6
- }