@myshkouski/web-serial-polyfill 2.0.1 → 2.0.3

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/README.md CHANGED
@@ -1,18 +1,18 @@
1
- # Serial API Polyfill
2
-
3
- An implementation of the [Web Serial API](https://wicg.github.io/serial) on top
4
- of the [WebUSB API](https://wicg.github.io/webusb) for use with USB-to-serial
5
- adapters. Use of this library is limited to hardware and platforms where the
6
- device is accessible via the WebUSB API because it has not been claimed by a
7
- built-in device driver. This project was used to prototype the design of
8
- the Web Serial API and remains useful for platforms (such as Android) which
9
- support the WebUSB API but do not support the Web Serial API.
10
-
11
- This is also available as an npm package
12
- [here](https://www.npmjs.com/package/web-serial-polyfill) for convenience.
13
-
14
- A demo of this library is provided as part of the
15
- [serial terminal demo](https://github.com/GoogleChromeLabs/serial-terminal)
16
- and can be activated by clicking the
17
- "[Switch to API polyfill](https://googlechromelabs.github.io/serial-terminal/?polyfill)"
18
- link.
1
+ # Serial API Polyfill
2
+
3
+ An implementation of the [Web Serial API](https://wicg.github.io/serial) on top
4
+ of the [WebUSB API](https://wicg.github.io/webusb) for use with USB-to-serial
5
+ adapters. Use of this library is limited to hardware and platforms where the
6
+ device is accessible via the WebUSB API because it has not been claimed by a
7
+ built-in device driver. This project was used to prototype the design of
8
+ the Web Serial API and remains useful for platforms (such as Android) which
9
+ support the WebUSB API but do not support the Web Serial API.
10
+
11
+ This is also available as an npm package
12
+ [here](https://www.npmjs.com/package/web-serial-polyfill) for convenience.
13
+
14
+ A demo of this library is provided as part of the
15
+ [serial terminal demo](https://github.com/GoogleChromeLabs/serial-terminal)
16
+ and can be activated by clicking the
17
+ "[Switch to API polyfill](https://googlechromelabs.github.io/serial-terminal/?polyfill)"
18
+ link.
package/dist/serial.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- /// <reference types="w3c-web-usb" />
2
- /// <reference types="web" />
3
- /// <reference types="w3c-web-serial" />
4
1
  export declare enum SerialPolyfillProtocol {
5
2
  UsbCdcAcm = 0
6
3
  }
@@ -40,6 +37,11 @@ export declare class SerialPort {
40
37
  * @return {WritableStream} the current writable stream
41
38
  */
42
39
  get writable(): WritableStream<Uint8Array> | null;
40
+ /**
41
+ * Release transfer and control interfaces.
42
+ * Used before closing device.
43
+ */
44
+ private releaseInterfaces_;
43
45
  /**
44
46
  * a function that opens the device and claims all interfaces needed to
45
47
  * control and communicate to and from the serial device
package/dist/serial.js CHANGED
@@ -79,6 +79,10 @@ function findEndpoint(iface, direction) {
79
79
  * [1]: https://streams.spec.whatwg.org/#underlying-source-api
80
80
  */
81
81
  class UsbEndpointUnderlyingSource {
82
+ device_;
83
+ endpoint_;
84
+ onError_;
85
+ type;
82
86
  /**
83
87
  * Constructs a new UnderlyingSource that will pull data from the specified
84
88
  * endpoint on the given USB device.
@@ -99,7 +103,6 @@ class UsbEndpointUnderlyingSource {
99
103
  * @param {ReadableByteStreamController} controller
100
104
  */
101
105
  async pull(controller) {
102
- var _a;
103
106
  let chunkSize;
104
107
  if (controller.desiredSize) {
105
108
  const d = controller.desiredSize / this.endpoint_.packetSize;
@@ -114,8 +117,8 @@ class UsbEndpointUnderlyingSource {
114
117
  controller.error(`USB error: ${result.status}`);
115
118
  this.onError_();
116
119
  }
117
- if ((_a = result.data) === null || _a === void 0 ? void 0 : _a.buffer) {
118
- const chunk = new Uint8Array(result.data.buffer, result.data.byteOffset, result.data.byteLength);
120
+ if (result.data?.buffer) {
121
+ const chunk = new Uint8Array(toArrayBuffer(result.data.buffer), result.data.byteOffset, result.data.byteLength);
119
122
  controller.enqueue(chunk);
120
123
  }
121
124
  }
@@ -132,6 +135,9 @@ class UsbEndpointUnderlyingSource {
132
135
  * [2]: https://streams.spec.whatwg.org/#underlying-sink-api
133
136
  */
134
137
  class UsbEndpointUnderlyingSink {
138
+ device_;
139
+ endpoint_;
140
+ onError_;
135
141
  /**
136
142
  * Constructs a new UnderlyingSink that will write data to the specified
137
143
  * endpoint on the given USB device.
@@ -167,6 +173,16 @@ class UsbEndpointUnderlyingSink {
167
173
  }
168
174
  /** a class used to control serial devices over WebUSB */
169
175
  export class SerialPort {
176
+ polyfillOptions_;
177
+ device_;
178
+ controlInterface_;
179
+ transferInterface_;
180
+ inEndpoint_;
181
+ outEndpoint_;
182
+ serialOptions_;
183
+ readable_;
184
+ writable_;
185
+ outputSignals_;
170
186
  /**
171
187
  * constructor taking a WebUSB device that creates a SerialPort instance.
172
188
  * @param {USBDevice} device A device acquired from the WebUSB API
@@ -174,7 +190,7 @@ export class SerialPort {
174
190
  * configure the polyfill.
175
191
  */
176
192
  constructor(device, polyfillOptions) {
177
- this.polyfillOptions_ = Object.assign(Object.assign({}, kDefaultPolyfillOptions), polyfillOptions);
193
+ this.polyfillOptions_ = { ...kDefaultPolyfillOptions, ...polyfillOptions };
178
194
  this.outputSignals_ = {
179
195
  dataTerminalReady: false,
180
196
  requestToSend: false,
@@ -192,12 +208,11 @@ export class SerialPort {
192
208
  * @return {ReadableStream} the current readable stream
193
209
  */
194
210
  get readable() {
195
- var _a;
196
211
  if (!this.readable_ && this.device_.opened) {
197
212
  this.readable_ = new ReadableStream(new UsbEndpointUnderlyingSource(this.device_, this.inEndpoint_, () => {
198
213
  this.readable_ = null;
199
214
  }), {
200
- highWaterMark: (_a = this.serialOptions_.bufferSize) !== null && _a !== void 0 ? _a : kDefaultBufferSize,
215
+ highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,
201
216
  });
202
217
  }
203
218
  return this.readable_;
@@ -208,16 +223,27 @@ export class SerialPort {
208
223
  * @return {WritableStream} the current writable stream
209
224
  */
210
225
  get writable() {
211
- var _a;
212
226
  if (!this.writable_ && this.device_.opened) {
213
227
  this.writable_ = new WritableStream(new UsbEndpointUnderlyingSink(this.device_, this.outEndpoint_, () => {
214
228
  this.writable_ = null;
215
229
  }), new ByteLengthQueuingStrategy({
216
- highWaterMark: (_a = this.serialOptions_.bufferSize) !== null && _a !== void 0 ? _a : kDefaultBufferSize,
230
+ highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,
217
231
  }));
218
232
  }
219
233
  return this.writable_;
220
234
  }
235
+ /**
236
+ * Release transfer and control interfaces.
237
+ * Used before closing device.
238
+ */
239
+ 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
+ }
246
+ }
221
247
  /**
222
248
  * a function that opens the device and claims all interfaces needed to
223
249
  * control and communicate to and from the serial device
@@ -242,6 +268,7 @@ export class SerialPort {
242
268
  }
243
269
  catch (error) {
244
270
  if (this.device_.opened) {
271
+ await this.releaseInterfaces_();
245
272
  await this.device_.close();
246
273
  }
247
274
  throw new Error('Error setting up device: ' + error.toString());
@@ -266,9 +293,7 @@ export class SerialPort {
266
293
  this.writable_ = null;
267
294
  if (this.device_.opened) {
268
295
  await this.setSignals({ dataTerminalReady: false, requestToSend: false });
269
- if (this.transferInterface_.claimed) {
270
- await this.device_.releaseInterface(this.transferInterface_.interfaceNumber);
271
- }
296
+ await this.releaseInterfaces_();
272
297
  await this.device_.close();
273
298
  }
274
299
  }
@@ -298,7 +323,7 @@ export class SerialPort {
298
323
  * set
299
324
  */
300
325
  reconfigure(options) {
301
- this.serialOptions_ = Object.assign(Object.assign({}, this.serialOptions_), options);
326
+ this.serialOptions_ = { ...this.serialOptions_, ...options };
302
327
  this.validateOptions();
303
328
  return this.setLineCoding();
304
329
  }
@@ -309,7 +334,7 @@ export class SerialPort {
309
334
  * has been changed.
310
335
  */
311
336
  async setSignals(signals) {
312
- this.outputSignals_ = Object.assign(Object.assign({}, this.outputSignals_), signals);
337
+ this.outputSignals_ = { ...this.outputSignals_, ...signals };
313
338
  if (signals.dataTerminalReady !== undefined ||
314
339
  signals.requestToSend !== undefined) {
315
340
  // The Set_Control_Line_State command expects a bitmap containing the
@@ -408,14 +433,13 @@ export class SerialPort {
408
433
  * @return {Promise} a promise that will resolve when the options are set
409
434
  */
410
435
  async setLineCoding() {
411
- var _a, _b, _c;
412
436
  // Ref: USB CDC specification version 1.1 §6.2.12.
413
437
  const buffer = new ArrayBuffer(7);
414
438
  const view = new DataView(buffer);
415
439
  view.setUint32(0, this.serialOptions_.baudRate, true);
416
- view.setUint8(4, kStopBitsIndexMapping.indexOf((_a = this.serialOptions_.stopBits) !== null && _a !== void 0 ? _a : kDefaultStopBits));
417
- view.setUint8(5, kParityIndexMapping.indexOf((_b = this.serialOptions_.parity) !== null && _b !== void 0 ? _b : kDefaultParity));
418
- view.setUint8(6, (_c = this.serialOptions_.dataBits) !== null && _c !== void 0 ? _c : kDefaultDataBits);
440
+ view.setUint8(4, kStopBitsIndexMapping.indexOf(this.serialOptions_.stopBits ?? kDefaultStopBits));
441
+ view.setUint8(5, kParityIndexMapping.indexOf(this.serialOptions_.parity ?? kDefaultParity));
442
+ view.setUint8(6, this.serialOptions_.dataBits ?? kDefaultDataBits);
419
443
  const result = await this.device_.controlTransferOut({
420
444
  'requestType': 'class',
421
445
  'recipient': 'interface',
@@ -430,6 +454,7 @@ export class SerialPort {
430
454
  }
431
455
  /** generic implementation of navigator.serial object */
432
456
  export class BaseSerial {
457
+ usb;
433
458
  /**
434
459
  * @param {USB} usb Instance of navigator.usb object
435
460
  */
@@ -444,7 +469,7 @@ export class BaseSerial {
444
469
  * @return {Promise<SerialPort>}
445
470
  */
446
471
  async requestPort(options, polyfillOptions) {
447
- polyfillOptions = Object.assign(Object.assign({}, kDefaultPolyfillOptions), polyfillOptions);
472
+ polyfillOptions = { ...kDefaultPolyfillOptions, ...polyfillOptions };
448
473
  const usbFilters = [];
449
474
  if (options && options.filters) {
450
475
  for (const filter of options.filters) {
@@ -478,7 +503,7 @@ export class BaseSerial {
478
503
  * ports.
479
504
  */
480
505
  async getPorts(polyfillOptions) {
481
- polyfillOptions = Object.assign(Object.assign({}, kDefaultPolyfillOptions), polyfillOptions);
506
+ polyfillOptions = { ...kDefaultPolyfillOptions, ...polyfillOptions };
482
507
  const devices = await this.usb.getDevices();
483
508
  const ports = [];
484
509
  devices.forEach((device) => {
@@ -504,4 +529,25 @@ export class Serial extends BaseSerial {
504
529
  return new SerialPort(device, options);
505
530
  }
506
531
  }
532
+ /**
533
+ * Converts ArrayBufferLike to ArrayBuffer.
534
+ *
535
+ * @param {buffer} buffer
536
+ * @return {ArrayBuffer} original ArrayBuffer
537
+ * or new ArrayBuffer with contents of SharedArrayBuffer
538
+ */
539
+ function toArrayBuffer(buffer) {
540
+ if (buffer instanceof ArrayBuffer) {
541
+ // Return buffer when it's already an ArrayBuffer
542
+ return buffer;
543
+ }
544
+ // Create a new ArrayBuffer with the same byte length
545
+ const arrayBuffer = new ArrayBuffer(buffer.byteLength);
546
+ // Create views for both buffers
547
+ const sharedArrayBufferView = new Uint8Array(buffer);
548
+ const arrayBufferView = new Uint8Array(arrayBuffer);
549
+ // Copy the contents
550
+ arrayBufferView.set(sharedArrayBufferView);
551
+ return arrayBuffer;
552
+ }
507
553
  //# sourceMappingURL=serial.js.map
@@ -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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,YAAY,CAAC;AAEb,MAAM,CAAN,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,6EAAS,CAAA;AACX,CAAC,EAFW,sBAAsB,KAAtB,sBAAsB,QAEjC;AAQD,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAElD,MAAM,mBAAmB,GACrB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5B,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAE1C,MAAM,uBAAuB,GAAG;IAC9B,QAAQ,EAAE,sBAAsB,CAAC,SAAS;IAC1C,wBAAwB,EAAE,CAAC;IAC3B,yBAAyB,EAAE,EAAE;CAC9B,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,MAAiB,EAAE,SAAiB;IACzD,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAmB,EAAE,SAAuB;IAEhE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAC3C,IAAI,QAAQ,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC,eAAe,oBAAoB;QACtD,GAAG,SAAS,YAAY,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,2BAA2B;IACvB,OAAO,CAAY;IACnB,SAAS,CAAc;IACvB,QAAQ,CAAa;IAE7B,IAAI,CAAU;IAEd;;;;;;;OAOG;IACH,YAAY,MAAiB,EAAE,QAAqB,EAAE,OAAmB;QACvE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,UAAwC;QACjD,IAAI,SAAS,CAAC;QACd,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7D,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CACxC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,UAAU,CACxB,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EACzD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5B,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,yBAAyB;IACrB,OAAO,CAAY;IACnB,SAAS,CAAc;IACvB,QAAQ,CAAa;IAE7B;;;;;;;OAOG;IACH,YAAY,MAAiB,EAAE,QAAqB,EAAE,OAAmB;QACvE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CACP,KAA8B,EAC9B,UAA2C;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GACR,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAED,yDAAyD;AACzD,MAAM,OAAO,UAAU;IACb,gBAAgB,CAAwB;IACxC,OAAO,CAAY;IACnB,iBAAiB,CAAe;IAChC,kBAAkB,CAAe;IACjC,WAAW,CAAc;IACzB,YAAY,CAAc;IAE1B,cAAc,CAAgB;IAC9B,SAAS,CAAoC;IAC7C,SAAS,CAAoC;IAC7C,cAAc,CAAsB;IAE5C;;;;;OAKG;IACH,YACI,MAAiB,EACjB,eAAuC;QACzC,IAAI,CAAC,gBAAgB,GAAG,EAAC,GAAG,uBAAuB,EAAE,GAAG,eAAe,EAAC,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG;YACpB,iBAAiB,EAAE,KAAK;YACxB,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAClC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,CAAC,wBAAkC,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,aAAa,CACnC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,CAAC,yBAAmC,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAC/B,IAAI,2BAA2B,CAC3B,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,EACN;gBACE,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,kBAAkB;aACpE,CAAC,CAAC;QACT,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAC/B,IAAI,yBAAyB,CACzB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;gBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,EACN,IAAI,yBAAyB,CAAC;gBAC5B,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,kBAAkB;aACpE,CAAC,CAAC,CAAC;QACV,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB;QAC9B,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAC1C,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAC,OAAsB;QACtC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC7B,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,EAAC,iBAAiB,EAAE,IAAI,EAAC,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,CAAC,EAAC,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAClC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SACrC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,OAAsB;QACvC,IAAI,CAAC,cAAc,GAAG,EAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CAAC,OAA4B;QAClD,IAAI,CAAC,cAAc,GAAG,EAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;YACvC,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACxC,qEAAqE;YACrE,mEAAmE;YACnE,EAAE;YACF,kDAAkD;YAClD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/D,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACpC,aAAa,EAAE,OAAO;gBACtB,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,oBAAoB;gBAC/B,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,eAAe;aAChD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,wEAAwE;YACxE,qEAAqE;YACrE,wBAAwB;YACxB,EAAE;YACF,kDAAkD;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAE1D,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACpC,aAAa,EAAE,OAAO;gBACtB,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,eAAe;aAChD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,QAAgB;QACtC,OAAO,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,QAA4B;QAClD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,QAA4B;QAClD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACK,aAAa,CAAC,MAA8B;QAClD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa;QACzB,kDAAkD;QAClD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CACT,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAC5B,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CACT,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YACnD,aAAa,EAAE,OAAO;YACtB,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,eAAe;SAChD,EAAE,MAAM,CAAC,CAAC;QACX,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,4BAA4B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF;AAED,wDAAwD;AACxD,MAAM,OAAgB,UAAU;IAKT;IAJrB;;OAEG;IACH,YACqB,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;IACzB,CAAC;IAKL;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACb,OAAkC,EAClC,eAAuC;QACzC,eAAe,GAAG,EAAC,GAAG,uBAAuB,EAAE,GAAG,eAAe,EAAC,CAAC;QAEnE,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAoB;oBACjC,SAAS,EAAE,eAAe,CAAC,wBAAwB;iBACpD,CAAC;gBACF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACrC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC1C,CAAC;gBACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACtC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;gBAC5C,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC;gBACd,SAAS,EAAE,eAAe,CAAC,wBAAwB;aACpD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,eAAuC;QACpD,eAAe,GAAG,EAAC,GAAG,uBAAuB,EAAE,GAAG,eAAe,EAAC,CAAC;QAEnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;gBACtD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,0BAA0B;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,MAAO,SAAQ,UAAsB;IAChD;;;;OAIG;IACO,UAAU,CAAC,MAAiB,EAClC,OAA+B;QACjC,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,MAAuB;IAC5C,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;QAClC,iDAAiD;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEvD,gCAAgC;IAChC,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAEpD,oBAAoB;IACpB,eAAe,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAE3C,OAAO,WAAW,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,29 +1,29 @@
1
- {
2
- "name": "@myshkouski/web-serial-polyfill",
3
- "version": "2.0.1",
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
- "type": "module",
6
- "main": "./dist/serial.js",
7
- "types": "./dist/serial.d.ts",
8
- "scripts": {
9
- "lint": "eslint serial.ts",
10
- "build": "tsc -d",
11
- "prepublish": "tsc -d"
12
- },
13
- "repository": {
14
- "type": "git",
15
- "url": "https://github.com/google/web-serial-polyfill.git"
16
- },
17
- "author": "James C Hollyer",
18
- "license": "Apache",
19
- "devDependencies": {
20
- "@types/w3c-web-serial": "^1.0.3",
21
- "@types/w3c-web-usb": "^1.0.6",
22
- "@types/web": "^0.0.71",
23
- "@typescript-eslint/eslint-plugin": "^5.33.0",
24
- "@typescript-eslint/parser": "^5.33.0",
25
- "eslint": "^8.21.0",
26
- "eslint-config-google": "^0.14.0",
27
- "typescript": "^4.7.4"
28
- }
29
- }
1
+ {
2
+ "name": "@myshkouski/web-serial-polyfill",
3
+ "version": "2.0.3",
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
+ "type": "module",
6
+ "main": "./dist/serial.js",
7
+ "types": "./dist/serial.d.ts",
8
+ "scripts": {
9
+ "lint": "eslint serial.ts",
10
+ "build": "tsc -d",
11
+ "prepublish": "tsc -d"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/myshkouski/web-serial-polyfill.git"
16
+ },
17
+ "author": "James C Hollyer",
18
+ "license": "Apache",
19
+ "devDependencies": {
20
+ "@types/w3c-web-serial": "^1.0.8",
21
+ "@types/w3c-web-usb": "^1.0.10",
22
+ "@types/web": "^0.0.243",
23
+ "@typescript-eslint/eslint-plugin": "^5.33.0",
24
+ "@typescript-eslint/parser": "^5.33.0",
25
+ "eslint": "^8.21.0",
26
+ "eslint-config-google": "^0.14.0",
27
+ "typescript": "^5.8.3"
28
+ }
29
+ }