Socket
Socket
Sign inDemoInstall

noble

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

noble - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2

src/CBCentralManager+Concrete.h

95

index.js
var events = require('events');
var util = require('util');
var bindings = require('./build/Release/binding.node');
var Noble = bindings.Noble;
var NobleBindings = bindings.Noble;
inherits(Noble, events.EventEmitter);
inherits(NobleBindings, events.EventEmitter);
module.exports = new Noble();
// extend prototype
function inherits(target, source) {
for (var k in source.prototype)
for (var k in source.prototype) {
target.prototype[k] = source.prototype[k];
}
}
function Noble() {
this._bindings = new NobleBindings();
this._peripherals = {};
var self = this;
this._bindings.on('stateChange', function(state) {
self.emit('stateChange', state);
});
this._bindings.on('scanStart', function(state) {
self.emit('scanStart');
});
this._bindings.on('scanStop', function(state) {
self.emit('scanStop');
});
this._bindings.on('peripheralDiscover', function(uuid, localName, services, rssi) {
var peripheral = self._peripherals[uuid] = new NoblePeripheral(uuid, localName, services, rssi);
self.emit('peripheralDiscover', peripheral);
});
this._bindings.on('peripheralConnect', function(uuid) {
var peripheral = self._peripherals[uuid];
self.emit('peripheralConnect', peripheral);
peripheral.emit('connect');
});
this._bindings.on('peripheralConnectFailure', function(uuid, reason) {
var peripheral = self._peripherals[uuid];
self.emit('peripheralConnectFailure', peripheral, reason);
peripheral.emit('connectFailure', reason);
});
this._bindings.on('peripheralDisonnect', function(uuid) {
var peripheral = self._peripherals[uuid];
self.emit('peripheralDisconnect', peripheral);
peripheral.emit('disconnect');
});
}
util.inherits(Noble, events.EventEmitter);
Noble.prototype.startScanning = function(serviceUUIDs, allowDuplicates) {
this._bindings.startScanning(serviceUUIDs, allowDuplicates);
};
Noble.prototype.stopScanning = function(serviceUUIDs, allowDuplicates) {
this._bindings.stopScanning();
};
Noble.prototype.connectPeripheral = function(uuid) {
this._bindings.connectPeripheral(uuid);
};
Noble.prototype.disconnectPeripheral = function(uuid) {
this._bindings.disconnectPeripheral(uuid);
};
var noble = new Noble();
module.exports = noble;
function NoblePeripheral(uuid, localName, services, rssi) {
this.uuid = uuid;
this.localName = localName;
this.services = services;
this.rssi = rssi;
}
util.inherits(NoblePeripheral, events.EventEmitter);
NoblePeripheral.prototype.connect = function() {
noble.connectPeripheral(this.uuid);
};
NoblePeripheral.prototype.disconnect = function() {
noble.disconnectPeripheral(this.uuid);
};

2

package.json

@@ -5,3 +5,3 @@ {

"description": "A node.js BLE (Bluetooth low energy) library.",
"version": "0.0.1",
"version": "0.0.2",
"repository": {

@@ -8,0 +8,0 @@ "type": "git",

@@ -21,5 +21,14 @@ noble

Start scanning:
noble.startScanning(); // any service UUID, no duplicates
noble.startScanning();
noble.startScanning([], true); // any service UUID, allow duplicates
var serviceUUIDs = ["<service UUID 1>", ...]; // default: [] => all
var allowDuplicates = <false|true>; // default: false
noble.startScanning(serviceUUIDs, allowDuplicates); // particular UUID's
Stop scanning:

@@ -29,2 +38,10 @@

Peripheral connect:
peripheral.connect();
Peripheral disconnect or cancel pending connection:
peripheral.disconnect();
__Events__

@@ -49,2 +66,3 @@

peripheral = {
uuid: "<uuid>",
localName: "<name>",

@@ -55,4 +73,23 @@ services: ["<service UUID>", ...],

noble.on('peripheralDiscovered', callback(peripheral));
noble.on('peripheralDiscover', callback(peripheral));
Peripheral connected:
noble.on('peripheralConnect', callback(peripheral));
peripheral.on('connect', callback);
Peripheral connect failure:
noble.on('peripheralConnectFailure', callback(peripheral, reason));
peripheral.on('connectFailure', callback(reason));
Peripheral disconnected:
noble.on('peripheralDisonnect', callback(peripheral));
peripheral.on('disconnect', callback);
Roadmap (TODO)

@@ -63,12 +100,11 @@ --------------

* ~~Adapter state (unknown | reseting | unsupported | unauthorized | off | on)~~
* Scan
* ~~Scan~~
* ~~startScanning~~
* service UUID's
* allow duplicates
* ~~service UUID's~~
* ~~allow duplicates~~
* ~~stopScanning~~
* Peripheral (local name, service UUID's, RSSI)
* Peripheral (uuid, local name, service UUID's, RSSI)
* ~~discovered~~
* connect
* cancel
* disconnect
* ~~connect~~
* ~~disconnect/cancel connect~~
* discover services

@@ -75,0 +111,0 @@ * read

@@ -22,10 +22,42 @@ var noble = require('./index');

noble.on('peripheralDiscovered', function(peripheral) {
console.log('on -> peripheralDiscovered: ');
noble.on('peripheralDiscover', function(peripheral) {
console.log('on -> peripheralDiscover: ');
console.log(peripheral);
noble.stopScanning();
peripheral.on('connect', function() {
console.log('on -> peripheral connect');
this.disconnect();
});
peripheral.on('connectFailure', function(reason) {
console.log('on -> peripheral connect failure');
console.log(reason);
});
peripheral.on('disconnect', function() {
console.log('on -> peripheral diconnect');
});
peripheral.connect();
});
noble.on('peripheralConnect', function(peripheral) {
console.log('on -> peripheralConnect: ');
console.log(peripheral);
});
noble.on('peripheralConnectFailure', function(peripheral, reason) {
console.log('on -> peripheralConnectFailure: ');
console.log(peripheral);
console.log(reason);
});
noble.on('peripheralDisconnect', function(peripheral) {
console.log('on -> peripheralDisonnect: ');
console.log(peripheral);
});
noble.startScanning();

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc