@matter/nodejs-ble 0.12.0-alpha.0-20250103-ba0c01a01 → 0.12.0-alpha.0-20250108-7ae2a767d

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 (42) hide show
  1. package/dist/cjs/BleScanner.d.ts +2 -2
  2. package/dist/cjs/BleScanner.d.ts.map +1 -1
  3. package/dist/cjs/BleScanner.js +19 -13
  4. package/dist/cjs/BleScanner.js.map +1 -1
  5. package/dist/cjs/BlenoBleServer.d.ts.map +1 -1
  6. package/dist/cjs/BlenoBleServer.js +4 -4
  7. package/dist/cjs/BlenoBleServer.js.map +1 -1
  8. package/dist/cjs/NobleBleChannel.d.ts +3 -2
  9. package/dist/cjs/NobleBleChannel.d.ts.map +1 -1
  10. package/dist/cjs/NobleBleChannel.js +252 -101
  11. package/dist/cjs/NobleBleChannel.js.map +2 -2
  12. package/dist/cjs/NobleBleClient.d.ts.map +1 -1
  13. package/dist/cjs/NobleBleClient.js +15 -7
  14. package/dist/cjs/NobleBleClient.js.map +1 -1
  15. package/dist/cjs/NodeJsBle.d.ts +1 -2
  16. package/dist/cjs/NodeJsBle.d.ts.map +1 -1
  17. package/dist/cjs/NodeJsBle.js +30 -14
  18. package/dist/cjs/NodeJsBle.js.map +1 -1
  19. package/dist/esm/BleScanner.d.ts +2 -2
  20. package/dist/esm/BleScanner.d.ts.map +1 -1
  21. package/dist/esm/BleScanner.js +19 -13
  22. package/dist/esm/BleScanner.js.map +1 -1
  23. package/dist/esm/BlenoBleServer.d.ts.map +1 -1
  24. package/dist/esm/BlenoBleServer.js +4 -4
  25. package/dist/esm/BlenoBleServer.js.map +1 -1
  26. package/dist/esm/NobleBleChannel.d.ts +3 -2
  27. package/dist/esm/NobleBleChannel.d.ts.map +1 -1
  28. package/dist/esm/NobleBleChannel.js +253 -102
  29. package/dist/esm/NobleBleChannel.js.map +2 -2
  30. package/dist/esm/NobleBleClient.d.ts.map +1 -1
  31. package/dist/esm/NobleBleClient.js +15 -7
  32. package/dist/esm/NobleBleClient.js.map +1 -1
  33. package/dist/esm/NodeJsBle.d.ts +1 -2
  34. package/dist/esm/NodeJsBle.d.ts.map +1 -1
  35. package/dist/esm/NodeJsBle.js +30 -14
  36. package/dist/esm/NodeJsBle.js.map +1 -1
  37. package/package.json +5 -5
  38. package/src/BleScanner.ts +23 -13
  39. package/src/BlenoBleServer.ts +6 -4
  40. package/src/NobleBleChannel.ts +316 -126
  41. package/src/NobleBleClient.ts +17 -7
  42. package/src/NodeJsBle.ts +32 -14
package/src/NodeJsBle.ts CHANGED
@@ -18,38 +18,56 @@ export type BleOptions = {
18
18
  };
19
19
 
20
20
  export class NodeJsBle extends Ble {
21
- private blePeripheral: BlenoBleServer | undefined;
22
- private bleCentral: NobleBleClient | undefined;
21
+ #blePeripheralInstance?: BlenoBleServer;
22
+ #bleCentralInstance?: NobleBleClient;
23
+ #bleScanner?: BleScanner;
24
+ #bleBroadcaster?: BleBroadcaster;
25
+ #bleCentralInterface?: NobleBleCentralInterface;
26
+ #blePeripheralInterface?: BlePeripheralInterface;
23
27
 
24
28
  constructor(private readonly options?: BleOptions) {
25
29
  super();
26
30
  }
27
31
 
32
+ get #blePeripheralServer() {
33
+ if (this.#blePeripheralInstance === undefined) {
34
+ this.#blePeripheralInstance = new BlenoBleServer(this.options);
35
+ }
36
+ return this.#blePeripheralInstance;
37
+ }
38
+
39
+ get #bleCentralClient() {
40
+ if (this.#bleCentralInstance === undefined) {
41
+ this.#bleCentralInstance = new NobleBleClient(this.options);
42
+ }
43
+ return this.#bleCentralInstance;
44
+ }
45
+
28
46
  getBlePeripheralInterface(): TransportInterface {
29
- if (this.blePeripheral === undefined) {
30
- this.blePeripheral = new BlenoBleServer(this.options);
47
+ if (this.#blePeripheralInterface === undefined) {
48
+ this.#blePeripheralInterface = new BlePeripheralInterface(this.#blePeripheralServer);
31
49
  }
32
- return new BlePeripheralInterface(this.blePeripheral);
50
+ return this.#blePeripheralInterface;
33
51
  }
34
52
 
35
53
  getBleCentralInterface(): NetInterface {
36
- if (this.bleCentral === undefined) {
37
- this.bleCentral = new NobleBleClient(this.options);
54
+ if (this.#bleCentralInterface === undefined) {
55
+ this.#bleCentralInterface = new NobleBleCentralInterface(this.getBleScanner() as BleScanner);
38
56
  }
39
- return new NobleBleCentralInterface();
57
+ return this.#bleCentralInterface;
40
58
  }
41
59
 
42
60
  getBleBroadcaster(additionalAdvertisementData?: Uint8Array): InstanceBroadcaster {
43
- if (this.blePeripheral === undefined) {
44
- this.blePeripheral = new BlenoBleServer(this.options);
61
+ if (this.#bleBroadcaster === undefined) {
62
+ this.#bleBroadcaster = new BleBroadcaster(this.#blePeripheralServer, additionalAdvertisementData);
45
63
  }
46
- return new BleBroadcaster(this.blePeripheral, additionalAdvertisementData);
64
+ return this.#bleBroadcaster;
47
65
  }
48
66
 
49
67
  getBleScanner(): Scanner {
50
- if (this.bleCentral === undefined) {
51
- this.bleCentral = new NobleBleClient(this.options);
68
+ if (this.#bleScanner === undefined) {
69
+ this.#bleScanner = new BleScanner(this.#bleCentralClient);
52
70
  }
53
- return new BleScanner(this.bleCentral);
71
+ return this.#bleScanner;
54
72
  }
55
73
  }