@myshkouski/web-serial-polyfill 2.0.2 → 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/dist/serial.d.ts CHANGED
@@ -37,6 +37,11 @@ export declare class SerialPort {
37
37
  * @return {WritableStream} the current writable stream
38
38
  */
39
39
  get writable(): WritableStream<Uint8Array> | null;
40
+ /**
41
+ * Release transfer and control interfaces.
42
+ * Used before closing device.
43
+ */
44
+ private releaseInterfaces_;
40
45
  /**
41
46
  * a function that opens the device and claims all interfaces needed to
42
47
  * control and communicate to and from the serial device
package/dist/serial.js CHANGED
@@ -232,6 +232,18 @@ export class SerialPort {
232
232
  }
233
233
  return this.writable_;
234
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
+ }
235
247
  /**
236
248
  * a function that opens the device and claims all interfaces needed to
237
249
  * control and communicate to and from the serial device
@@ -256,6 +268,7 @@ export class SerialPort {
256
268
  }
257
269
  catch (error) {
258
270
  if (this.device_.opened) {
271
+ await this.releaseInterfaces_();
259
272
  await this.device_.close();
260
273
  }
261
274
  throw new Error('Error setting up device: ' + error.toString());
@@ -280,9 +293,7 @@ export class SerialPort {
280
293
  this.writable_ = null;
281
294
  if (this.device_.opened) {
282
295
  await this.setSignals({ dataTerminalReady: false, requestToSend: false });
283
- if (this.transferInterface_.claimed) {
284
- await this.device_.releaseInterface(this.transferInterface_.interfaceNumber);
285
- }
296
+ await this.releaseInterfaces_();
286
297
  await this.device_.close();
287
298
  }
288
299
  }
@@ -518,6 +529,13 @@ export class Serial extends BaseSerial {
518
529
  return new SerialPort(device, options);
519
530
  }
520
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
+ */
521
539
  function toArrayBuffer(buffer) {
522
540
  if (buffer instanceof ArrayBuffer) {
523
541
  // Return buffer when it's already an ArrayBuffer
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@myshkouski/web-serial-polyfill",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
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",
package/serial.ts CHANGED
@@ -132,15 +132,15 @@ class UsbEndpointUnderlyingSource implements UnderlyingByteSource {
132
132
 
133
133
  try {
134
134
  const result = await this.device_.transferIn(
135
- this.endpoint_.endpointNumber, chunkSize);
135
+ this.endpoint_.endpointNumber, chunkSize);
136
136
  if (result.status != 'ok') {
137
137
  controller.error(`USB error: ${result.status}`);
138
138
  this.onError_();
139
139
  }
140
140
  if (result.data?.buffer) {
141
141
  const chunk = new Uint8Array(
142
- toArrayBuffer(result.data.buffer), result.data.byteOffset,
143
- result.data.byteLength);
142
+ toArrayBuffer(result.data.buffer), result.data.byteOffset,
143
+ result.data.byteLength);
144
144
  controller.enqueue(chunk);
145
145
  }
146
146
  } catch (error) {
@@ -277,6 +277,22 @@ export class SerialPort {
277
277
  return this.writable_;
278
278
  }
279
279
 
280
+ /**
281
+ * Release transfer and control interfaces.
282
+ * Used before closing device.
283
+ */
284
+ private async releaseInterfaces_(): Promise<void> {
285
+ if (this.transferInterface_.claimed) {
286
+ await this.device_.releaseInterface(
287
+ this.transferInterface_.interfaceNumber
288
+ );
289
+ }
290
+ if (this.controlInterface_.claimed) {
291
+ await this.device_.releaseInterface(
292
+ this.controlInterface_.interfaceNumber);
293
+ }
294
+ }
295
+
280
296
  /**
281
297
  * a function that opens the device and claims all interfaces needed to
282
298
  * control and communicate to and from the serial device
@@ -304,6 +320,7 @@ export class SerialPort {
304
320
  await this.setSignals({dataTerminalReady: true});
305
321
  } catch (error) {
306
322
  if (this.device_.opened) {
323
+ await this.releaseInterfaces_();
307
324
  await this.device_.close();
308
325
  }
309
326
  throw new Error('Error setting up device: ' + error.toString());
@@ -329,9 +346,7 @@ export class SerialPort {
329
346
  this.writable_ = null;
330
347
  if (this.device_.opened) {
331
348
  await this.setSignals({dataTerminalReady: false, requestToSend: false});
332
- if (this.transferInterface_.claimed) {
333
- await this.device_.releaseInterface(this.transferInterface_.interfaceNumber);
334
- }
349
+ await this.releaseInterfaces_();
335
350
  await this.device_.close();
336
351
  }
337
352
  }
@@ -602,12 +617,19 @@ export class Serial extends BaseSerial<SerialPort> {
602
617
  }
603
618
  }
604
619
 
620
+ /**
621
+ * Converts ArrayBufferLike to ArrayBuffer.
622
+ *
623
+ * @param {buffer} buffer
624
+ * @return {ArrayBuffer} original ArrayBuffer
625
+ * or new ArrayBuffer with contents of SharedArrayBuffer
626
+ */
605
627
  function toArrayBuffer(buffer: ArrayBufferLike) {
606
628
  if (buffer instanceof ArrayBuffer) {
607
629
  // Return buffer when it's already an ArrayBuffer
608
- return buffer
630
+ return buffer;
609
631
  }
610
-
632
+
611
633
  // Create a new ArrayBuffer with the same byte length
612
634
  const arrayBuffer = new ArrayBuffer(buffer.byteLength);
613
635