Socket
Socket
Sign inDemoInstall

@ledgerhq/hw-transport

Package Overview
Dependencies
Maintainers
7
Versions
366
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ledgerhq/hw-transport - npm Package Compare versions

Comparing version 2.2.0-beta.9d29a5c6 to 2.2.0

88

lib/Transport.js

@@ -8,2 +8,6 @@ "use strict";

var _promise = require("babel-runtime/core-js/promise");
var _promise2 = _interopRequireDefault(_promise);
var _toConsumableArray2 = require("babel-runtime/helpers/toConsumableArray");

@@ -179,2 +183,7 @@

/**
* Statically check if a transport is supported on the user's platform/browser.
*/
/**
* List once all available descriptors. For a better granularity, checkout `listen()`.

@@ -301,51 +310,42 @@ * @return a promise of descriptors

/**
* create() allows to open the first descriptor available or throw if there is none.
* **DEPRECATED**: use `list()` or `listen()` and `open()` instead.
* create() allows to open the first descriptor available or
* throw if there is none or if timeout is reached.
* This is a light helper, alternative to using listen() and open() (that you may need for any more advanced usecase)
* @example
TransportFoo.create().then(transport => ...)
*/
value: function () {
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(timeout) {
var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var descriptors, transport;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
console.warn(this.name + ".create is deprecated. Please use .list()/.listen() and .open() instead");
_context2.next = 3;
return this.list();
value: function create() {
var _this2 = this;
case 3:
descriptors = _context2.sent;
var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5000;
if (!(descriptors.length === 0)) {
_context2.next = 6;
break;
}
throw new TransportError("No device found", "NoDeviceFound");
case 6:
_context2.next = 8;
return this.open(descriptors[0], timeout);
case 8:
transport = _context2.sent;
transport.setDebugMode(debug);
return _context2.abrupt("return", transport);
case 11:
case "end":
return _context2.stop();
if (arguments.length > 1) {
console.warn(this.name + ".create: second parameter 'debugMode' has been dropped. instead, please use transport.setDebugMode(debug)");
}
return new _promise2.default(function (resolve, reject) {
var found = false;
var timeoutId = setTimeout(function () {
sub.unsubscribe();
reject(new TransportError("Transport timeout", "timeout"));
}, timeout);
var sub = _this2.listen({
next: function next(e) {
found = true;
sub.unsubscribe();
clearTimeout(timeoutId);
_this2.open(e.descriptor, timeout).then(resolve, reject);
},
error: function error(e) {
clearTimeout(timeoutId);
reject(e);
},
complete: function complete() {
clearTimeout(timeoutId);
if (!found) {
reject(new TransportError("No device found", "NoDeviceFound"));
}
}
}, _callee2, this);
}));
function create(_x7) {
return _ref2.apply(this, arguments);
}
return create;
}()
});
});
}
}]);

@@ -352,0 +352,0 @@ return Transport;

{
"name": "@ledgerhq/hw-transport",
"version": "2.2.0-beta.9d29a5c6",
"version": "2.2.0",
"description": "Ledger Hardware Wallet common interface of the communication layer",

@@ -5,0 +5,0 @@ "keywords": [

@@ -96,2 +96,7 @@ //@flow

/**
* Statically check if a transport is supported on the user's platform/browser.
*/
static +isSupported: () => Promise<boolean>;
/**
* List once all available descriptors. For a better granularity, checkout `listen()`.

@@ -231,21 +236,41 @@ * @return a promise of descriptors

/**
* create() allows to open the first descriptor available or throw if there is none.
* **DEPRECATED**: use `list()` or `listen()` and `open()` instead.
* create() allows to open the first descriptor available or
* throw if there is none or if timeout is reached.
* This is a light helper, alternative to using listen() and open() (that you may need for any more advanced usecase)
* @example
TransportFoo.create().then(transport => ...)
*/
static async create(
timeout?: number,
debug?: boolean = false
): Promise<Transport<Descriptor>> {
console.warn(
this.name +
".create is deprecated. Please use .list()/.listen() and .open() instead"
);
const descriptors = await this.list();
if (descriptors.length === 0) {
throw new TransportError("No device found", "NoDeviceFound");
static create(timeout?: number = 5000): Promise<Transport<Descriptor>> {
if (arguments.length > 1) {
console.warn(
this.name +
".create: second parameter 'debugMode' has been dropped. instead, please use transport.setDebugMode(debug)"
);
}
const transport = await this.open(descriptors[0], timeout);
transport.setDebugMode(debug);
return transport;
return new Promise((resolve, reject) => {
let found = false;
const timeoutId = setTimeout(() => {
sub.unsubscribe();
reject(new TransportError("Transport timeout", "timeout"));
}, timeout);
const sub = this.listen({
next: e => {
found = true;
sub.unsubscribe();
clearTimeout(timeoutId);
this.open(e.descriptor, timeout).then(resolve, reject);
},
error: e => {
clearTimeout(timeoutId);
reject(e);
},
complete: () => {
clearTimeout(timeoutId);
if (!found) {
reject(new TransportError("No device found", "NoDeviceFound"));
}
}
});
});
}
}

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