Skip to content

Commit 3f8e77a

Browse files
committed
Strongly-type USB speed
1 parent baa70e1 commit 3f8e77a

4 files changed

Lines changed: 10 additions & 8 deletions

File tree

header.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export type USBSpeed = 'low' | 'full' | 'high' | 'super' | 'superPlus';

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"napi": {
6666
"binaryName": "usb",
6767
"packageName": "@node-usb/usb",
68+
"dtsHeaderFile": "./header.d.ts",
6869
"targets": [
6970
"x86_64-pc-windows-msvc",
7071
"x86_64-apple-darwin",

src/webusb_device.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ pub struct UsbDevice {
171171
pub bus: String,
172172
#[napi(writable = false)]
173173
pub address: u8,
174-
#[napi(writable = false)]
174+
#[napi(writable = false, ts_type = "USBSpeed")]
175175
pub speed: Option<String>,
176176
}
177177

@@ -200,11 +200,11 @@ impl UsbDevice {
200200
address: device_info.device_address(),
201201
speed: match device_info.speed() {
202202
Some(speed) => match speed {
203-
nusb::Speed::Low => Some("Low".to_string()),
204-
nusb::Speed::Full => Some("Full".to_string()),
205-
nusb::Speed::High => Some("High".to_string()),
206-
nusb::Speed::Super => Some("Super".to_string()),
207-
nusb::Speed::SuperPlus => Some("SuperPlus".to_string()),
203+
nusb::Speed::Low => Some("low".to_string()),
204+
nusb::Speed::Full => Some("full".to_string()),
205+
nusb::Speed::High => Some("high".to_string()),
206+
nusb::Speed::Super => Some("super".to_string()),
207+
nusb::Speed::SuperPlus => Some("superPlus".to_string()),
208208
_ => None,
209209
},
210210
None => None,

tsc/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { nativeGetDeviceList, nativeFindByIds, nativeFindBySerialNumber, UsbDevice, Emitter } from '../index.js'
1+
import { nativeGetDeviceList, nativeFindByIds, nativeFindBySerialNumber, UsbDevice, Emitter, USBSpeed } from '../index.js'
22

33
const DEFAULT_TIMEOUT = 1000;
44

@@ -19,7 +19,7 @@ interface WebUSBDevice extends USBDevice {
1919
/**
2020
* The USB speed of the device (e.g. `Low`, `Full`, `High`, `Super`, `SuperPlus` or `undefined` if unknown)
2121
*/
22-
speed?: string;
22+
speed?: USBSpeed;
2323

2424
/**
2525
* Detaches the kernel driver from the specified interface number (Linux only)

0 commit comments

Comments
 (0)