add type definitions for @ledgerhq/hw-transport-webusb (#38795)

This commit is contained in:
Josh
2019-10-02 11:47:08 -07:00
committed by Ryan Cavanaugh
parent 11c26c1ace
commit 71c47eedaf
4 changed files with 67 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
// Type definitions for @ledgerhq/hw-transport-webusb 4.70
// Project: https://github.com/LedgerHQ/ledgerjs/tree/master/packages/hw-transport-webusb, https://github.com/ledgerhq/ledgerjs
// Definitions by: Joshua <https://github.com/questofiranon>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
/// <reference types="node" />
import Transport, { DescriptorEvent, Observer, Subscription } from '@ledgerhq/hw-transport';
declare class TransportWebUSB extends Transport {
constructor(device: string);
static listen(observer: Observer<DescriptorEvent<string>>): Subscription;
static request(): Promise<TransportWebUSB>;
static openConnection(): Promise<TransportWebUSB>;
static open(device: string): Promise<TransportWebUSB>;
}
export default TransportWebUSB;
@@ -0,0 +1,23 @@
import TransportWebUSB from '@ledgerhq/hw-transport-webusb';
// $ExpectType Promise<boolean>
TransportWebUSB.isSupported();
// $ExpectType Promise<ReadonlyArray<string>>
TransportWebUSB.list();
// $ExpectType Promise<TransportWebUSB>
TransportWebUSB.request();
// $ExpectType Promise<TransportWebUSB>
TransportWebUSB.open('test');
// $ExpectType Promise<TransportWebUSB>
TransportWebUSB.openConnection();
const test = TransportWebUSB.open('test').then(transport => {
// $ExpectType void
transport.setScrambleKey('BTC');
// $ExpectType Promise<Buffer>
transport.exchange(Buffer.from('test', 'hex'));
// $ExpectType Promise<void>
transport.close();
});
@@ -0,0 +1,20 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true,
"paths": {
"@ledgerhq/hw-transport": ["ledgerhq__hw-transport"],
"@ledgerhq/hw-transport-webusb": ["ledgerhq__hw-transport-webusb"]
}
},
"files": ["index.d.ts", "ledgerhq__hw-transport-webusb-tests.ts"]
}
@@ -0,0 +1,3 @@
{
"extends": "dtslint/dt.json"
}