@myshkouski/web-serial-polyfill 2.2.0 → 2.3.0

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.
package/dist/serial.d.ts CHANGED
@@ -6,8 +6,9 @@ export interface SerialPolyfillOptions {
6
6
  usbControlInterfaceClass?: number;
7
7
  usbTransferInterfaceClass?: number;
8
8
  }
9
+ export type BaseSerialPort = Omit<SerialPort, "getSignals" | "onconnect" | "ondisconnect" | keyof EventTarget>;
9
10
  /** a class used to control serial devices over WebUSB */
10
- export declare class SerialPort {
11
+ declare class SerialPortPolyfill implements BaseSerialPort {
11
12
  private polyfillOptions_;
12
13
  private device_;
13
14
  private controlInterface_;
@@ -25,6 +26,14 @@ export declare class SerialPort {
25
26
  * configure the polyfill.
26
27
  */
27
28
  constructor(device: USBDevice, polyfillOptions?: SerialPolyfillOptions);
29
+ /**
30
+ * Getter for checking whether device is connected.
31
+ * Since there is no equivalent getter on USBDevice instance,
32
+ * this getter returns "true" when device is opened, not connected.
33
+ *
34
+ * @returns {boolean} "true" when the underlying USB device is opened.
35
+ */
36
+ get connected(): boolean;
28
37
  /**
29
38
  * Getter for the readable attribute. Constructs a new ReadableStream as
30
39
  * necessary.
@@ -120,8 +129,9 @@ export declare class SerialPort {
120
129
  */
121
130
  private setLineCoding;
122
131
  }
132
+ export { SerialPortPolyfill as SerialPort };
123
133
  /** generic implementation of navigator.serial object */
124
- export declare abstract class BaseSerial<T extends SerialPort> {
134
+ export declare abstract class BaseSerial<T extends BaseSerialPort> {
125
135
  protected readonly usb: USB;
126
136
  /**
127
137
  * @param {USB} usb Instance of navigator.usb object
@@ -133,7 +143,7 @@ export declare abstract class BaseSerial<T extends SerialPort> {
133
143
  *
134
144
  * @param {SerialPortRequestOptions} options
135
145
  * @param {SerialPolyfillOptions} polyfillOptions
136
- * @return {Promise<SerialPort>}
146
+ * @return {Promise<T>}
137
147
  */
138
148
  requestPort(options?: SerialPortRequestOptions, polyfillOptions?: SerialPolyfillOptions): Promise<T>;
139
149
  /**
@@ -141,17 +151,17 @@ export declare abstract class BaseSerial<T extends SerialPort> {
141
151
  *
142
152
  * @param {SerialPolyfillOptions} polyfillOptions Polyfill configuration that
143
153
  * should be applied to these ports.
144
- * @return {Promise<SerialPort[]>} a promise that is resolved with a list of
154
+ * @return {Promise<T[]>} a promise that is resolved with a list of
145
155
  * ports.
146
156
  */
147
157
  getPorts(polyfillOptions?: SerialPolyfillOptions): Promise<T[]>;
148
158
  }
149
159
  /** default implementation of the global navigator.serial object */
150
- export declare class Serial extends BaseSerial<SerialPort> {
160
+ export declare class Serial extends BaseSerial<SerialPortPolyfill> {
151
161
  /**
152
162
  * @param {USBDevice} device
153
163
  * @param {SerialPolyfillOptions} options
154
- * @return {SerialPort} Default serial port implementation
164
+ * @return {SerialPortPolyfill} Default serial port implementation
155
165
  */
156
- protected createPort(device: USBDevice, options?: SerialPolyfillOptions): SerialPort;
166
+ protected createPort(device: USBDevice, options?: SerialPolyfillOptions): SerialPortPolyfill;
157
167
  }
package/dist/serial.js CHANGED
@@ -82,7 +82,6 @@ class UsbEndpointUnderlyingSource {
82
82
  device_;
83
83
  endpoint_;
84
84
  onError_;
85
- type;
86
85
  /**
87
86
  * Constructs a new UnderlyingSource that will pull data from the specified
88
87
  * endpoint on the given USB device.
@@ -92,7 +91,6 @@ class UsbEndpointUnderlyingSource {
92
91
  * @param {function} onError function to be called on error
93
92
  */
94
93
  constructor(device, endpoint, onError) {
95
- this.type = 'bytes';
96
94
  this.device_ = device;
97
95
  this.endpoint_ = endpoint;
98
96
  this.onError_ = onError;
@@ -123,7 +121,7 @@ class UsbEndpointUnderlyingSource {
123
121
  }
124
122
  }
125
123
  catch (error) {
126
- controller.error(error.toString());
124
+ controller.error(error);
127
125
  this.onError_();
128
126
  }
129
127
  }
@@ -159,29 +157,30 @@ class UsbEndpointUnderlyingSink {
159
157
  */
160
158
  async write(chunk, controller) {
161
159
  try {
162
- const result = await this.device_.transferOut(this.endpoint_.endpointNumber, chunk);
160
+ const result = await this.device_.transferOut(this.endpoint_.endpointNumber, new Uint8Array(chunk));
163
161
  if (result.status != 'ok') {
164
162
  controller.error(result.status);
165
163
  this.onError_();
166
164
  }
167
165
  }
168
166
  catch (error) {
169
- controller.error(error.toString());
167
+ controller.error(error);
170
168
  this.onError_();
171
169
  }
172
170
  }
173
171
  }
174
172
  /** a class used to control serial devices over WebUSB */
175
- export class SerialPort {
173
+ class SerialPortPolyfill {
176
174
  polyfillOptions_;
177
175
  device_;
178
176
  controlInterface_;
179
177
  transferInterface_;
180
178
  inEndpoint_;
181
179
  outEndpoint_;
180
+ // @ts-expect-error TODO
182
181
  serialOptions_;
183
- readable_;
184
- writable_;
182
+ readable_ = null;
183
+ writable_ = null;
185
184
  outputSignals_;
186
185
  /**
187
186
  * constructor taking a WebUSB device that creates a SerialPort instance.
@@ -202,6 +201,16 @@ export class SerialPort {
202
201
  this.inEndpoint_ = findEndpoint(this.transferInterface_, 'in');
203
202
  this.outEndpoint_ = findEndpoint(this.transferInterface_, 'out');
204
203
  }
204
+ /**
205
+ * Getter for checking whether device is connected.
206
+ * Since there is no equivalent getter on USBDevice instance,
207
+ * this getter returns "true" when device is opened, not connected.
208
+ *
209
+ * @returns {boolean} "true" when the underlying USB device is opened.
210
+ */
211
+ get connected() {
212
+ return this.device_.opened;
213
+ }
205
214
  /**
206
215
  * Getter for the readable attribute. Constructs a new ReadableStream as
207
216
  * necessary.
@@ -212,7 +221,7 @@ export class SerialPort {
212
221
  this.readable_ = new ReadableStream(new UsbEndpointUnderlyingSource(this.device_, this.inEndpoint_, () => {
213
222
  this.readable_ = null;
214
223
  }), {
215
- highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,
224
+ highWaterMark: this.serialOptions_?.bufferSize ?? kDefaultBufferSize,
216
225
  });
217
226
  }
218
227
  return this.readable_;
@@ -227,7 +236,7 @@ export class SerialPort {
227
236
  this.writable_ = new WritableStream(new UsbEndpointUnderlyingSink(this.device_, this.outEndpoint_, () => {
228
237
  this.writable_ = null;
229
238
  }), new ByteLengthQueuingStrategy({
230
- highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,
239
+ highWaterMark: this.serialOptions_?.bufferSize ?? kDefaultBufferSize,
231
240
  }));
232
241
  }
233
242
  return this.writable_;
@@ -237,12 +246,8 @@ export class SerialPort {
237
246
  * Used before closing device.
238
247
  */
239
248
  async releaseInterfaces_() {
240
- if (this.transferInterface_.claimed) {
241
- await this.device_.releaseInterface(this.transferInterface_.interfaceNumber);
242
- }
243
- if (this.controlInterface_.claimed) {
244
- await this.device_.releaseInterface(this.controlInterface_.interfaceNumber);
245
- }
249
+ await this.device_.releaseInterface(this.transferInterface_.interfaceNumber);
250
+ await this.device_.releaseInterface(this.controlInterface_.interfaceNumber);
246
251
  }
247
252
  /**
248
253
  * a function that opens the device and claims all interfaces needed to
@@ -271,7 +276,7 @@ export class SerialPort {
271
276
  await this.releaseInterfaces_();
272
277
  await this.device_.close();
273
278
  }
274
- throw new Error('Error setting up device: ' + error.toString());
279
+ throw new Error('Error setting up device', { cause: error });
275
280
  }
276
281
  }
277
282
  /**
@@ -452,6 +457,7 @@ export class SerialPort {
452
457
  }
453
458
  }
454
459
  }
460
+ export { SerialPortPolyfill as SerialPort };
455
461
  /** generic implementation of navigator.serial object */
456
462
  export class BaseSerial {
457
463
  usb;
@@ -466,7 +472,7 @@ export class BaseSerial {
466
472
  *
467
473
  * @param {SerialPortRequestOptions} options
468
474
  * @param {SerialPolyfillOptions} polyfillOptions
469
- * @return {Promise<SerialPort>}
475
+ * @return {Promise<T>}
470
476
  */
471
477
  async requestPort(options, polyfillOptions) {
472
478
  polyfillOptions = { ...kDefaultPolyfillOptions, ...polyfillOptions };
@@ -499,7 +505,7 @@ export class BaseSerial {
499
505
  *
500
506
  * @param {SerialPolyfillOptions} polyfillOptions Polyfill configuration that
501
507
  * should be applied to these ports.
502
- * @return {Promise<SerialPort[]>} a promise that is resolved with a list of
508
+ * @return {Promise<T[]>} a promise that is resolved with a list of
503
509
  * ports.
504
510
  */
505
511
  async getPorts(polyfillOptions) {
@@ -523,10 +529,10 @@ export class Serial extends BaseSerial {
523
529
  /**
524
530
  * @param {USBDevice} device
525
531
  * @param {SerialPolyfillOptions} options
526
- * @return {SerialPort} Default serial port implementation
532
+ * @return {SerialPortPolyfill} Default serial port implementation
527
533
  */
528
534
  createPort(device, options) {
529
- return new SerialPort(device, options);
535
+ return new SerialPortPolyfill(device, options);
530
536
  }
531
537
  }
532
538
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"serial.js","sourceRoot":"","sources":["../serial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serial.js","sourceRoot":"","sources":["../serial.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "@myshkouski/web-serial-polyfill",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "An implementation of the [Serial API](https://wicg.github.io/serial) on top of the [WebUSB API](https://wicg.github.io/webusb) for use with USB-to-serial adapters. Use of this library is limited to hardware and platforms where the device is accessible via the WebUSB API because it has not been claimed by a built-in device driver. This project will be used to prototype the design of the Serial API.",
5
5
  "type": "module",
6
6
  "main": "./dist/serial.js",
7
7
  "types": "./dist/serial.d.ts",
8
8
  "scripts": {
9
9
  "lint": "eslint serial.ts",
10
- "build": "tsc -d",
11
- "prepublish": "tsc -d"
10
+ "prepack": "tsc -d"
12
11
  },
13
12
  "repository": {
14
13
  "type": "git",
@@ -21,7 +20,6 @@
21
20
  "@types/w3c-web-usb": "^1.0.14"
22
21
  },
23
22
  "devDependencies": {
24
- "@types/web": "^0.0.356",
25
23
  "@typescript-eslint/eslint-plugin": "^5.62.0",
26
24
  "@typescript-eslint/parser": "^5.62.0",
27
25
  "eslint": "^8.57.1",
package/serial.ts CHANGED
@@ -94,13 +94,11 @@ function findEndpoint(iface: USBInterface, direction: USBDirection):
94
94
  *
95
95
  * [1]: https://streams.spec.whatwg.org/#underlying-source-api
96
96
  */
97
- class UsbEndpointUnderlyingSource implements UnderlyingByteSource {
97
+ class UsbEndpointUnderlyingSource implements UnderlyingDefaultSource {
98
98
  private device_: USBDevice;
99
99
  private endpoint_: USBEndpoint;
100
100
  private onError_: () => void;
101
101
 
102
- type: 'bytes';
103
-
104
102
  /**
105
103
  * Constructs a new UnderlyingSource that will pull data from the specified
106
104
  * endpoint on the given USB device.
@@ -110,7 +108,6 @@ class UsbEndpointUnderlyingSource implements UnderlyingByteSource {
110
108
  * @param {function} onError function to be called on error
111
109
  */
112
110
  constructor(device: USBDevice, endpoint: USBEndpoint, onError: () => void) {
113
- this.type = 'bytes';
114
111
  this.device_ = device;
115
112
  this.endpoint_ = endpoint;
116
113
  this.onError_ = onError;
@@ -121,7 +118,7 @@ class UsbEndpointUnderlyingSource implements UnderlyingByteSource {
121
118
  *
122
119
  * @param {ReadableByteStreamController} controller
123
120
  */
124
- async pull(controller: ReadableByteStreamController): Promise<void> {
121
+ async pull(controller: ReadableStreamDefaultController<Uint8Array<ArrayBufferLike>>): Promise<void> {
125
122
  let chunkSize;
126
123
  if (controller.desiredSize) {
127
124
  const d = controller.desiredSize / this.endpoint_.packetSize;
@@ -209,9 +206,10 @@ class SerialPortPolyfill implements BaseSerialPort {
209
206
  private inEndpoint_: USBEndpoint;
210
207
  private outEndpoint_: USBEndpoint;
211
208
 
209
+ // @ts-expect-error TODO
212
210
  private serialOptions_: SerialOptions;
213
- private readable_: ReadableStream<Uint8Array> | null;
214
- private writable_: WritableStream<Uint8Array> | null;
211
+ private readable_: ReadableStream<Uint8Array> | null = null;
212
+ private writable_: WritableStream<Uint8Array> | null = null;
215
213
  private outputSignals_: SerialOutputSignals;
216
214
 
217
215
  /**
@@ -265,9 +263,10 @@ class SerialPortPolyfill implements BaseSerialPort {
265
263
  this.readable_ = null;
266
264
  }),
267
265
  {
268
- highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,
266
+ highWaterMark: this.serialOptions_?.bufferSize ?? kDefaultBufferSize,
269
267
  });
270
268
  }
269
+
271
270
  return this.readable_;
272
271
  }
273
272
 
@@ -284,9 +283,11 @@ class SerialPortPolyfill implements BaseSerialPort {
284
283
  this.writable_ = null;
285
284
  }),
286
285
  new ByteLengthQueuingStrategy({
287
- highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,
286
+ highWaterMark: this.serialOptions_?.bufferSize ?? kDefaultBufferSize,
288
287
  }));
288
+
289
289
  }
290
+
290
291
  return this.writable_;
291
292
  }
292
293