@stoprocent/bleno 0.11.1 → 0.11.3

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.
@@ -1,5 +1,6 @@
1
1
  const { EventEmitter } = require('events');
2
2
  const Smp = require('./smp');
3
+ const Mgmt = require('./mgmt');
3
4
 
4
5
  class AclStream extends EventEmitter {
5
6
  constructor (hci, handle, localAddressType, localAddress, remoteAddressType, remoteAddress) {
@@ -8,7 +9,8 @@ class AclStream extends EventEmitter {
8
9
  this._handle = handle;
9
10
  this.encypted = false;
10
11
 
11
- this._smp = new Smp(this, localAddressType, localAddress, remoteAddressType, remoteAddress);
12
+ const mgmt = new Mgmt(hci.BluetoothHciSocket);
13
+ this._smp = new Smp(this, mgmt, localAddressType, localAddress, remoteAddressType, remoteAddress);
12
14
  }
13
15
 
14
16
  close () {
@@ -80,6 +80,8 @@ class Hci extends EventEmitter {
80
80
  options = options || {};
81
81
 
82
82
  const BluetoothHciSocket = loadDriver(options.hciDriver || 'default');
83
+ this.BluetoothHciSocket = BluetoothHciSocket;
84
+
83
85
  this._socket = new BluetoothHciSocket();
84
86
 
85
87
  this._manufacturer = null;
@@ -1,14 +1,12 @@
1
1
  const debug = require('debug')('mgmt');
2
2
 
3
- const BluetoothHciSocket = require('@stoprocent/bluetooth-hci-socket');
4
-
5
3
  const LTK_INFO_SIZE = 36;
6
4
 
7
5
  const MGMT_OP_LOAD_LONG_TERM_KEYS = 0x0013;
8
6
 
9
7
  class Mgmt {
10
- constructor () {
11
- this._socket = new BluetoothHciSocket();
8
+ constructor (socketClass) {
9
+ this._socket = new socketClass();
12
10
  this._ltkInfos = [];
13
11
 
14
12
  this._socket.on('data', this.onSocketData.bind(this));
@@ -1,6 +1,5 @@
1
1
  const { EventEmitter } = require('events');
2
2
  const crypto = require('./crypto');
3
- const Mgmt = require('./mgmt');
4
3
 
5
4
  const SMP_CID = 0x0006;
6
5
 
@@ -15,11 +14,12 @@ const SMP_MASTER_IDENT = 0x07;
15
14
  const SMP_UNSPECIFIED = 0x08;
16
15
 
17
16
  class Smp extends EventEmitter {
18
- constructor (aclStream, localAddressType, localAddress, remoteAddressType, remoteAddress) {
17
+
18
+ constructor (aclStream, mgmt, localAddressType, localAddress, remoteAddressType, remoteAddress) {
19
19
  super();
20
20
 
21
21
  this._aclStream = aclStream;
22
- this._mgmt = new Mgmt();
22
+ this._mgmt = mgmt;
23
23
 
24
24
  this._iat = Buffer.from([(remoteAddressType === 'random') ? 0x01 : 0x00]);
25
25
  this._ia = Buffer.from(remoteAddress.split(':').reverse().join(''), 'hex');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoprocent/bleno",
3
- "version": "0.11.1",
3
+ "version": "0.11.3",
4
4
  "description": "A Node.js module for implementing BLE (Bluetooth Low Energy) peripherals",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -69,7 +69,7 @@
69
69
  "node-gyp-build": "^4.8.4"
70
70
  },
71
71
  "optionalDependencies": {
72
- "@stoprocent/bluetooth-hci-socket": "^2.2.0"
72
+ "@stoprocent/bluetooth-hci-socket": "^2.2.1"
73
73
  },
74
74
  "publishConfig": {
75
75
  "access": "public"