@ledgerhq/device-management-kit 0.0.0-develop-20241001001206 → 0.0.0-develop-20241004001112

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.
Files changed (35) hide show
  1. package/lib/cjs/src/internal/usb/model/Errors.d.ts +5 -0
  2. package/lib/cjs/src/internal/usb/model/Errors.d.ts.map +1 -1
  3. package/lib/cjs/src/internal/usb/model/Errors.js +10 -1
  4. package/lib/cjs/src/internal/usb/model/Errors.js.map +1 -1
  5. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts +3 -1
  6. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +1 -1
  7. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.js +2 -1
  8. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.js.map +1 -1
  9. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.d.ts +7 -2
  10. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.d.ts.map +1 -1
  11. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.js +33 -3
  12. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.js.map +1 -1
  13. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.d.ts +2 -4
  14. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.d.ts.map +1 -1
  15. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.js +46 -53
  16. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.js.map +1 -1
  17. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  18. package/lib/esm/src/internal/usb/model/Errors.d.ts +5 -0
  19. package/lib/esm/src/internal/usb/model/Errors.d.ts.map +1 -1
  20. package/lib/esm/src/internal/usb/model/Errors.js +8 -0
  21. package/lib/esm/src/internal/usb/model/Errors.js.map +1 -1
  22. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts +3 -1
  23. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +1 -1
  24. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.js +2 -1
  25. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.js.map +1 -1
  26. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.d.ts +7 -2
  27. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.d.ts.map +1 -1
  28. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.js +34 -4
  29. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.js.map +1 -1
  30. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.d.ts +2 -4
  31. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.d.ts.map +1 -1
  32. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.js +49 -56
  33. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.js.map +1 -1
  34. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  35. package/package.json +2 -2
@@ -46,5 +46,10 @@ export declare class ReconnectionFailedError extends GeneralSdkError {
46
46
  readonly _tag = "ReconnectionFailedError";
47
47
  constructor(err?: unknown);
48
48
  }
49
+ export declare class HidSendReportError extends GeneralSdkError {
50
+ readonly err?: unknown;
51
+ readonly _tag = "HidSendReportError";
52
+ constructor(err?: unknown);
53
+ }
49
54
  export {};
50
55
  //# sourceMappingURL=Errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/model/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAC/B,gCAAgC,GAChC,uBAAuB,CAAC;AAE5B,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AAEvE,cAAM,eAAgB,YAAW,QAAQ;IACvC,IAAI,SAAqB;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;gBACZ,GAAG,CAAC,EAAE,OAAO;CAO1B;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAE/C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,8BAA8B;gBAC/B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IAE9C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,6BAA6B;gBAC9B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,sBAAuB,SAAQ,eAAe;IAE7C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,4BAA4B;gBAC7B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IAEzC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,wBAAwB;gBACzB,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,gCAAiC,SAAQ,eAAe;IAEvD,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,sCAAsC;gBACvC,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAE/C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,8BAA8B;gBAC/B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAEtC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,qBAAqB;gBACtB,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IAE9C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,6BAA6B;gBAC9B,GAAG,CAAC,EAAE,OAAO;CAGnC"}
1
+ {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/model/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAC/B,gCAAgC,GAChC,uBAAuB,CAAC;AAE5B,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AAEvE,cAAM,eAAgB,YAAW,QAAQ;IACvC,IAAI,SAAqB;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;gBACZ,GAAG,CAAC,EAAE,OAAO;CAO1B;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAE/C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,8BAA8B;gBAC/B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IAE9C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,6BAA6B;gBAC9B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,sBAAuB,SAAQ,eAAe;IAE7C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,4BAA4B;gBAC7B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IAEzC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,wBAAwB;gBACzB,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,gCAAiC,SAAQ,eAAe;IAEvD,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,sCAAsC;gBACvC,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAE/C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,8BAA8B;gBAC/B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAEtC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,qBAAqB;gBACtB,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IAE9C,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,6BAA6B;gBAC9B,GAAG,CAAC,EAAE,OAAO;CAGnC;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IAEzC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,wBAAwB;gBACzB,GAAG,CAAC,EAAE,OAAO;CAGnC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReconnectionFailedError = exports.DisconnectError = exports.SendApduConcurrencyError = exports.UsbHidTransportNotSupportedError = exports.UnknownDeviceError = exports.OpeningConnectionError = exports.NoAccessibleDeviceError = exports.DeviceNotRecognizedError = void 0;
3
+ exports.HidSendReportError = exports.ReconnectionFailedError = exports.DisconnectError = exports.SendApduConcurrencyError = exports.UsbHidTransportNotSupportedError = exports.UnknownDeviceError = exports.OpeningConnectionError = exports.NoAccessibleDeviceError = exports.DeviceNotRecognizedError = void 0;
4
4
  class GeneralSdkError {
5
5
  _tag = "GeneralSdkError";
6
6
  originalError;
@@ -85,4 +85,13 @@ class ReconnectionFailedError extends GeneralSdkError {
85
85
  }
86
86
  }
87
87
  exports.ReconnectionFailedError = ReconnectionFailedError;
88
+ class HidSendReportError extends GeneralSdkError {
89
+ err;
90
+ _tag = "HidSendReportError";
91
+ constructor(err) {
92
+ super(err);
93
+ this.err = err;
94
+ }
95
+ }
96
+ exports.HidSendReportError = HidSendReportError;
88
97
  //# sourceMappingURL=Errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/model/Errors.ts"],"names":[],"mappings":";;;AAQA,MAAM,eAAe;IACnB,IAAI,GAAG,iBAAiB,CAAC;IACzB,aAAa,CAAW;IACxB,YAAY,GAAa;QACvB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF;AAED,MAAa,wBAAyB,SAAQ,eAAe;IAEtC;IADH,IAAI,GAAG,0BAA0B,CAAC;IACpD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,4DAKC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IAErC;IADH,IAAI,GAAG,yBAAyB,CAAC;IACnD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,0DAKC;AAED,MAAa,sBAAuB,SAAQ,eAAe;IAEpC;IADH,IAAI,GAAG,wBAAwB,CAAC;IAClD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,wDAKC;AAED,MAAa,kBAAmB,SAAQ,eAAe;IAEhC;IADH,IAAI,GAAG,oBAAoB,CAAC;IAC9C,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,gDAKC;AAED,MAAa,gCAAiC,SAAQ,eAAe;IAE9C;IADH,IAAI,GAAG,kCAAkC,CAAC;IAC5D,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,4EAKC;AAED,MAAa,wBAAyB,SAAQ,eAAe;IAEtC;IADH,IAAI,GAAG,0BAA0B,CAAC;IACpD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,4DAKC;AAED,MAAa,eAAgB,SAAQ,eAAe;IAE7B;IADH,IAAI,GAAG,iBAAiB,CAAC;IAC3C,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IAErC;IADH,IAAI,GAAG,yBAAyB,CAAC;IACnD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,0DAKC"}
1
+ {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/model/Errors.ts"],"names":[],"mappings":";;;AAQA,MAAM,eAAe;IACnB,IAAI,GAAG,iBAAiB,CAAC;IACzB,aAAa,CAAW;IACxB,YAAY,GAAa;QACvB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF;AAED,MAAa,wBAAyB,SAAQ,eAAe;IAEtC;IADH,IAAI,GAAG,0BAA0B,CAAC;IACpD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,4DAKC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IAErC;IADH,IAAI,GAAG,yBAAyB,CAAC;IACnD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,0DAKC;AAED,MAAa,sBAAuB,SAAQ,eAAe;IAEpC;IADH,IAAI,GAAG,wBAAwB,CAAC;IAClD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,wDAKC;AAED,MAAa,kBAAmB,SAAQ,eAAe;IAEhC;IADH,IAAI,GAAG,oBAAoB,CAAC;IAC9C,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,gDAKC;AAED,MAAa,gCAAiC,SAAQ,eAAe;IAE9C;IADH,IAAI,GAAG,kCAAkC,CAAC;IAC5D,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,4EAKC;AAED,MAAa,wBAAyB,SAAQ,eAAe;IAEtC;IADH,IAAI,GAAG,0BAA0B,CAAC;IACpD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,4DAKC;AAED,MAAa,eAAgB,SAAQ,eAAe;IAE7B;IADH,IAAI,GAAG,iBAAiB,CAAC;IAC3C,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IAErC;IADH,IAAI,GAAG,yBAAyB,CAAC;IACnD,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,0DAKC;AAED,MAAa,kBAAmB,SAAQ,eAAe;IAEhC;IADH,IAAI,GAAG,oBAAoB,CAAC;IAC9C,YAAqB,GAAa;QAChC,KAAK,CAAC,GAAG,CAAC,CAAC;QADQ,QAAG,GAAH,GAAG,CAAU;IAElC,CAAC;CACF;AALD,gDAKC"}
@@ -11,6 +11,8 @@ export declare class UsbHidDeviceConnectionFactory {
11
11
  private readonly loggerFactory;
12
12
  randomChannel: number;
13
13
  constructor(apduSenderFactory: (args: DefaultApduSenderServiceConstructorArgs) => ApduSenderService, apduReceiverFactory: (args: DefaultApduReceiverConstructorArgs) => ApduReceiverService, loggerFactory: (name: string) => LoggerPublisherService);
14
- create(device: HIDDevice, channel?: Maybe<Uint8Array>): UsbHidDeviceConnection;
14
+ create(device: HIDDevice, params: {
15
+ onConnectionTerminated: () => void;
16
+ }, channel?: Maybe<Uint8Array>): UsbHidDeviceConnection;
15
17
  }
16
18
  //# sourceMappingURL=UsbHidDeviceConnectionFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UsbHidDeviceConnectionFactory.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/service/UsbHidDeviceConnectionFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,kCAAkC,EAAE,MAAM,6DAA6D,CAAC;AACjH,OAAO,EAAE,uCAAuC,EAAE,MAAM,2DAA2D,CAAC;AAGpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAEnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,qBACa,6BAA6B;IAKtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAIpC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAZhC,aAAa,SAAsC;gBAIhC,iBAAiB,EAAE,CAClC,IAAI,EAAE,uCAAuC,KAC1C,iBAAiB,EAEL,mBAAmB,EAAE,CACpC,IAAI,EAAE,kCAAkC,KACrC,mBAAmB,EAEP,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,sBAAsB;IAGnE,MAAM,CACX,MAAM,EAAE,SAAS,EACjB,OAAO,oBAEN,GACA,sBAAsB;CAc1B"}
1
+ {"version":3,"file":"UsbHidDeviceConnectionFactory.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/service/UsbHidDeviceConnectionFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,kCAAkC,EAAE,MAAM,6DAA6D,CAAC;AACjH,OAAO,EAAE,uCAAuC,EAAE,MAAM,2DAA2D,CAAC;AAGpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAEnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,qBACa,6BAA6B;IAKtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAIpC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAZhC,aAAa,SAAsC;gBAIhC,iBAAiB,EAAE,CAClC,IAAI,EAAE,uCAAuC,KAC1C,iBAAiB,EAEL,mBAAmB,EAAE,CACpC,IAAI,EAAE,kCAAkC,KACrC,mBAAmB,EAEP,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,sBAAsB;IAGnE,MAAM,CACX,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE;QAAE,sBAAsB,EAAE,MAAM,IAAI,CAAA;KAAE,EAC9C,OAAO,oBAEN,GACA,sBAAsB;CAe1B"}
@@ -31,7 +31,7 @@ let UsbHidDeviceConnectionFactory = class UsbHidDeviceConnectionFactory {
31
31
  this.apduReceiverFactory = apduReceiverFactory;
32
32
  this.loggerFactory = loggerFactory;
33
33
  }
34
- create(device, channel = purify_ts_1.Maybe.of(FramerUtils_1.FramerUtils.numberToByteArray(this.randomChannel, FramerConst_1.CHANNEL_LENGTH))) {
34
+ create(device, params, channel = purify_ts_1.Maybe.of(FramerUtils_1.FramerUtils.numberToByteArray(this.randomChannel, FramerConst_1.CHANNEL_LENGTH))) {
35
35
  return new UsbHidDeviceConnection_1.UsbHidDeviceConnection({
36
36
  device,
37
37
  apduSender: this.apduSenderFactory({
@@ -40,6 +40,7 @@ let UsbHidDeviceConnectionFactory = class UsbHidDeviceConnectionFactory {
40
40
  padding: true,
41
41
  }),
42
42
  apduReceiver: this.apduReceiverFactory({ channel }),
43
+ onConnectionTerminated: params.onConnectionTerminated,
43
44
  }, this.loggerFactory);
44
45
  }
45
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UsbHidDeviceConnectionFactory.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/service/UsbHidDeviceConnectionFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA+C;AAC/C,yCAAkC;AAElC,2EAA2E;AAC3E,uFAAoF;AAKpF,4EAAyE;AACzE,2EAAwE;AAExE,kEAA6D;AAC7D,2FAAwF;AAGjF,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAKrB;IAIA;IAIA;IAZnB,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IAEnD,YAEmB,iBAEK,EAEL,mBAEO,EAEP,aAAuD;QARvD,sBAAiB,GAAjB,iBAAiB,CAEZ;QAEL,wBAAmB,GAAnB,mBAAmB,CAEZ;QAEP,kBAAa,GAAb,aAAa,CAA0C;IACvE,CAAC;IAEG,MAAM,CACX,MAAiB,EACjB,OAAO,GAAG,iBAAK,CAAC,EAAE,CAChB,yBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,4BAAc,CAAC,CAClE;QAED,OAAO,IAAI,+CAAsB,CAC/B;YACE,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBACjC,SAAS,EAAE,yBAAU;gBACrB,OAAO;gBACP,OAAO,EAAE,IAAI;aACd,CAAC;YACF,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;SACpD,EACD,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;CACF,CAAA;AAnCY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,sBAAU,GAAE;IAKR,WAAA,IAAA,kBAAM,EAAC,uCAAkB,CAAC,wBAAwB,CAAC,CAAA;IAInD,WAAA,IAAA,kBAAM,EAAC,uCAAkB,CAAC,0BAA0B,CAAC,CAAA;IAIrD,WAAA,IAAA,kBAAM,EAAC,yBAAW,CAAC,6BAA6B,CAAC,CAAA;;GAZzC,6BAA6B,CAmCzC"}
1
+ {"version":3,"file":"UsbHidDeviceConnectionFactory.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/service/UsbHidDeviceConnectionFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA+C;AAC/C,yCAAkC;AAElC,2EAA2E;AAC3E,uFAAoF;AAKpF,4EAAyE;AACzE,2EAAwE;AAExE,kEAA6D;AAC7D,2FAAwF;AAGjF,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAKrB;IAIA;IAIA;IAZnB,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IAEnD,YAEmB,iBAEK,EAEL,mBAEO,EAEP,aAAuD;QARvD,sBAAiB,GAAjB,iBAAiB,CAEZ;QAEL,wBAAmB,GAAnB,mBAAmB,CAEZ;QAEP,kBAAa,GAAb,aAAa,CAA0C;IACvE,CAAC;IAEG,MAAM,CACX,MAAiB,EACjB,MAA8C,EAC9C,OAAO,GAAG,iBAAK,CAAC,EAAE,CAChB,yBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,4BAAc,CAAC,CAClE;QAED,OAAO,IAAI,+CAAsB,CAC/B;YACE,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBACjC,SAAS,EAAE,yBAAU;gBACrB,OAAO;gBACP,OAAO,EAAE,IAAI;aACd,CAAC;YACF,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;YACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;SACtD,EACD,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;CACF,CAAA;AArCY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,sBAAU,GAAE;IAKR,WAAA,IAAA,kBAAM,EAAC,uCAAkB,CAAC,wBAAwB,CAAC,CAAA;IAInD,WAAA,IAAA,kBAAM,EAAC,uCAAkB,CAAC,0BAA0B,CAAC,CAAA;IAIrD,WAAA,IAAA,kBAAM,EAAC,yBAAW,CAAC,6BAA6B,CAAC,CAAA;;GAZzC,6BAA6B,CAqCzC"}
@@ -9,6 +9,7 @@ type UsbHidDeviceConnectionConstructorArgs = {
9
9
  device: HIDDevice;
10
10
  apduSender: ApduSenderService;
11
11
  apduReceiver: ApduReceiverService;
12
+ onConnectionTerminated: () => void;
12
13
  };
13
14
  export declare class UsbHidDeviceConnection implements DeviceConnection {
14
15
  private _device;
@@ -17,12 +18,16 @@ export declare class UsbHidDeviceConnection implements DeviceConnection {
17
18
  private _sendApduSubject;
18
19
  private readonly _logger;
19
20
  private _settleReconnectionPromise;
20
- constructor({ device, apduSender, apduReceiver }: UsbHidDeviceConnectionConstructorArgs, loggerServiceFactory: (tag: string) => LoggerPublisherService);
21
+ private _onConnectionTerminated;
22
+ private _terminated;
23
+ constructor({ device, apduSender, apduReceiver, onConnectionTerminated, }: UsbHidDeviceConnectionConstructorArgs, loggerServiceFactory: (tag: string) => LoggerPublisherService);
21
24
  get device(): HIDDevice;
22
25
  set device(device: HIDDevice);
23
26
  sendApdu(apdu: Uint8Array, triggersDisconnection?: boolean): Promise<Either<SdkError, ApduResponse>>;
24
27
  private receiveHidInputReport;
25
- private setupWaitForReconnection;
28
+ private waitForReconnection;
29
+ private lostConnectionTimeout;
30
+ lostConnection(): void;
26
31
  private reconnected;
27
32
  disconnect(): void;
28
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UsbHidDeviceConnection.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/UsbHidDeviceConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAsB,MAAM,WAAW,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAGxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,KAAK,qCAAqC,GAAG;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,YAAY,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAEF,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,0BAA0B,CAGhB;gBAGhB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,qCAAqC,EAE3E,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAU/D,IAAW,MAAM,IAIS,SAAS,CAFlC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,SAAS,EAOlC;IAEK,QAAQ,CACZ,IAAI,EAAE,UAAU,EAChB,qBAAqB,CAAC,EAAE,OAAO,GAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IA4C1C,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,WAAW;IAOZ,UAAU;CAMlB"}
1
+ {"version":3,"file":"UsbHidDeviceConnection.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/UsbHidDeviceConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAsB,MAAM,WAAW,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAOxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,KAAK,qCAAqC,GAAG;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,YAAY,EAAE,mBAAmB,CAAC;IAClC,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAEF,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,0BAA0B,CAGhB;IAClB,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,WAAW,CAAS;gBAG1B,EACE,MAAM,EACN,UAAU,EACV,YAAY,EACZ,sBAAsB,GACvB,EAAE,qCAAqC,EAExC,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAW/D,IAAW,MAAM,IAIS,SAAS,CAFlC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,SAAS,EAalC;IAEK,QAAQ,CACZ,IAAI,EAAE,UAAU,EAChB,qBAAqB,CAAC,EAAE,OAAO,GAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAsD1C,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB,CAA+B;IACrD,cAAc;IAQrB,OAAO,CAAC,WAAW;IAOZ,UAAU;CAUlB"}
@@ -18,6 +18,7 @@ const purify_ts_1 = require("purify-ts");
18
18
  const rxjs_1 = require("rxjs");
19
19
  const CommandUtils_1 = require("../../../api/command/utils/CommandUtils");
20
20
  const loggerTypes_1 = require("../../logger-publisher/di/loggerTypes");
21
+ const UsbHidConfig_1 = require("../../usb/data/UsbHidConfig");
21
22
  const Errors_1 = require("../../usb/model/Errors");
22
23
  let UsbHidDeviceConnection = class UsbHidDeviceConnection {
23
24
  _device;
@@ -26,9 +27,12 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
26
27
  _sendApduSubject;
27
28
  _logger;
28
29
  _settleReconnectionPromise = purify_ts_1.Maybe.zero();
29
- constructor({ device, apduSender, apduReceiver }, loggerServiceFactory) {
30
+ _onConnectionTerminated;
31
+ _terminated = false;
32
+ constructor({ device, apduSender, apduReceiver, onConnectionTerminated, }, loggerServiceFactory) {
30
33
  this._apduSender = apduSender;
31
34
  this._apduReceiver = apduReceiver;
35
+ this._onConnectionTerminated = onConnectionTerminated;
32
36
  this._sendApduSubject = new rxjs_1.Subject();
33
37
  this._logger = loggerServiceFactory("UsbHidDeviceConnection");
34
38
  this._device = device;
@@ -40,6 +44,10 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
40
44
  set device(device) {
41
45
  this._device = device;
42
46
  this._device.oninputreport = (event) => this.receiveHidInputReport(event);
47
+ if (this.lostConnectionTimeout) {
48
+ this._logger.debug("Device reconnected, clearing lost connection timeout");
49
+ clearTimeout(this.lostConnectionTimeout);
50
+ }
43
51
  this._settleReconnectionPromise.ifJust(() => {
44
52
  this.reconnected();
45
53
  });
@@ -54,7 +62,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
54
62
  this._sendApduSubject.subscribe({
55
63
  next: async (r) => {
56
64
  if (triggersDisconnection && CommandUtils_1.CommandUtils.isSuccessResponse(r)) {
57
- const reconnectionRes = await this.setupWaitForReconnection();
65
+ const reconnectionRes = await this.waitForReconnection();
58
66
  reconnectionRes.caseOf({
59
67
  Left: (err) => resolve((0, purify_ts_1.Left)(err)),
60
68
  Right: () => resolve((0, purify_ts_1.Right)(r)),
@@ -69,6 +77,14 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
69
77
  },
70
78
  });
71
79
  });
80
+ while (!this.device.opened && !this._terminated) {
81
+ this._logger.debug("Waiting for device to be opened");
82
+ await new Promise((resolve) => setTimeout(resolve, 100));
83
+ }
84
+ if (this._terminated) {
85
+ this._logger.debug("Connection terminated, failing sendApdu");
86
+ return Promise.resolve((0, purify_ts_1.Left)(new Errors_1.ReconnectionFailedError()));
87
+ }
72
88
  const frames = this._apduSender.getFrames(apdu);
73
89
  for (const frame of frames) {
74
90
  this._logger.debug("Sending Frame", {
@@ -79,6 +95,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
79
95
  }
80
96
  catch (error) {
81
97
  this._logger.error("Error sending frame", { data: { error } });
98
+ return Promise.resolve((0, purify_ts_1.Left)(new Errors_1.HidSendReportError(error)));
82
99
  }
83
100
  }
84
101
  return resultPromise;
@@ -105,7 +122,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
105
122
  },
106
123
  });
107
124
  }
108
- setupWaitForReconnection() {
125
+ waitForReconnection() {
109
126
  return new Promise((resolve) => {
110
127
  this._settleReconnectionPromise = purify_ts_1.Maybe.of({
111
128
  resolve: () => resolve((0, purify_ts_1.Right)(undefined)),
@@ -113,6 +130,14 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
113
130
  });
114
131
  });
115
132
  }
133
+ lostConnectionTimeout = null;
134
+ lostConnection() {
135
+ this._logger.debug("Lost connection");
136
+ this.lostConnectionTimeout = setTimeout(() => {
137
+ this._logger.debug("Lost connection timeout");
138
+ this.disconnect();
139
+ }, UsbHidConfig_1.RECONNECT_DEVICE_TIMEOUT);
140
+ }
116
141
  reconnected() {
117
142
  this._settleReconnectionPromise.ifJust((promise) => {
118
143
  promise.resolve();
@@ -120,6 +145,11 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
120
145
  });
121
146
  }
122
147
  disconnect() {
148
+ this._logger.debug("Disconnect");
149
+ this._terminated = true;
150
+ if (this.lostConnectionTimeout)
151
+ clearTimeout(this.lostConnectionTimeout);
152
+ this._onConnectionTerminated();
123
153
  this._settleReconnectionPromise.ifJust((promise) => {
124
154
  promise.reject(new Errors_1.ReconnectionFailedError());
125
155
  this._settleReconnectionPromise = purify_ts_1.Maybe.zero();
@@ -1 +1 @@
1
- {"version":3,"file":"UsbHidDeviceConnection.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/UsbHidDeviceConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAmC;AACnC,yCAAuD;AACvD,+BAA+B;AAE/B,kEAA+D;AAK/D,2EAAwE;AAExE,uDAAqE;AAUrE,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IACzB,OAAO,CAAY;IACV,WAAW,CAAoB;IAC/B,aAAa,CAAsB;IAC5C,gBAAgB,CAAwB;IAC/B,OAAO,CAAyB;IACzC,0BAA0B,GAG7B,iBAAK,CAAC,IAAI,EAAE,CAAC;IAElB,YACE,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAyC,EAE3E,oBAA6D;QAE7D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,cAAO,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM,CAAC,MAAiB;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,IAAgB,EAChB,qBAA+B;QAE/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,cAAO,EAAE,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;YACjC,IAAI,EAAE,EAAE,IAAI,EAAE;YACd,GAAG,EAAE,aAAa;SACnB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,OAAO,CAC/B,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBAC9B,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;oBAChB,IAAI,qBAAqB,IAAI,2BAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;wBAC9D,eAAe,CAAC,MAAM,CAAC;4BACrB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,CAAC;4BACjC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAA,iBAAK,EAAC,CAAC,CAAC,CAAC;yBAC/B,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAA,iBAAK,EAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,CAAC,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE;gBAClC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE;aACpC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,qBAAqB,CAAC,KAA0B;QACtD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACnC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACrB,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtD,QAAQ,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,CAAC,iBAAiB,EAAE,EAAE;gBAC3B,iBAAiB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;oBACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE;wBAC3C,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;qBACjC,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB;QAC9B,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,EAAE;YACrD,IAAI,CAAC,0BAA0B,GAAG,iBAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAA,iBAAK,EAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,KAAK,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,0BAA0B,GAAG,iBAAK,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,OAAO,CAAC,MAAM,CAAC,IAAI,gCAAuB,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,0BAA0B,GAAG,iBAAK,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjIY,wDAAsB;iCAAtB,sBAAsB;IAa9B,WAAA,IAAA,kBAAM,EAAC,yBAAW,CAAC,6BAA6B,CAAC,CAAA;;GAbzC,sBAAsB,CAiIlC"}
1
+ {"version":3,"file":"UsbHidDeviceConnection.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/UsbHidDeviceConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAmC;AACnC,yCAAuD;AACvD,+BAA+B;AAE/B,kEAA+D;AAK/D,2EAAwE;AAExE,kEAA2E;AAC3E,uDAGoC;AAWpC,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IACzB,OAAO,CAAY;IACV,WAAW,CAAoB;IAC/B,aAAa,CAAsB;IAC5C,gBAAgB,CAAwB;IAC/B,OAAO,CAAyB;IACzC,0BAA0B,GAG7B,iBAAK,CAAC,IAAI,EAAE,CAAC;IACV,uBAAuB,CAAa;IACpC,WAAW,GAAG,KAAK,CAAC;IAE5B,YACE,EACE,MAAM,EACN,UAAU,EACV,YAAY,EACZ,sBAAsB,GACgB,EAExC,oBAA6D;QAE7D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,cAAO,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,MAAM,CAAC,MAAiB;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,sDAAsD,CACvD,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,IAAgB,EAChB,qBAA+B;QAE/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,cAAO,EAAE,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;YACjC,IAAI,EAAE,EAAE,IAAI,EAAE;YACd,GAAG,EAAE,aAAa;SACnB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,OAAO,CAC/B,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBAC9B,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;oBAChB,IAAI,qBAAqB,IAAI,2BAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACzD,eAAe,CAAC,MAAM,CAAC;4BACrB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,CAAC;4BACjC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAA,iBAAK,EAAC,CAAC,CAAC,CAAC;yBAC/B,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAA,iBAAK,EAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC,CAAC,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACtD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,IAAI,gCAAuB,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE;gBAClC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE;aACpC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,IAAI,2BAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,qBAAqB,CAAC,KAA0B;QACtD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACnC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACrB,GAAG,EAAE,eAAe;SACrB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtD,QAAQ,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,CAAC,iBAAiB,EAAE,EAAE;gBAC3B,iBAAiB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;oBACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE;wBAC3C,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;qBACjC,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,EAAE;YACrD,IAAI,CAAC,0BAA0B,GAAG,iBAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAA,iBAAK,EAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,KAAK,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,GAA0B,IAAI,CAAC;IACrD,cAAc;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,EAAE,uCAAwB,CAAC,CAAC;IAC/B,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,0BAA0B,GAAG,iBAAK,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,qBAAqB;YAAE,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,OAAO,CAAC,MAAM,CAAC,IAAI,gCAAuB,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,0BAA0B,GAAG,iBAAK,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtKY,wDAAsB;iCAAtB,sBAAsB;IAoB9B,WAAA,IAAA,kBAAM,EAAC,yBAAW,CAAC,6BAA6B,CAAC,CAAA;;GApBzC,sBAAsB,CAsKlC"}
@@ -12,12 +12,10 @@ import { DisconnectHandler, UsbHidTransport } from "./UsbHidTransport";
12
12
  export declare class WebUsbHidTransport implements UsbHidTransport {
13
13
  private deviceModelDataSource;
14
14
  private _internalDevicesById;
15
- private _disconnectionHandlersByHidId;
16
15
  private _deviceConnectionByHidId;
17
16
  private _connectionListenersAbortController;
18
17
  private _logger;
19
18
  private _usbHidDeviceConnectionFactory;
20
- private _deviceDisconnectionTimerSubscription;
21
19
  constructor(deviceModelDataSource: DeviceModelDataSource, loggerServiceFactory: (tag: string) => LoggerPublisherService, usbHidDeviceConnectionFactory: UsbHidDeviceConnectionFactory);
22
20
  /**
23
21
  * Get the WebHID API if supported or error
@@ -70,8 +68,9 @@ export declare class WebUsbHidTransport implements UsbHidTransport {
70
68
  * The USB/HID product id is represented by only the 2nd byte
71
69
  */
72
70
  private getHidUsbProductId;
71
+ private deleteInternalDevice;
73
72
  /**
74
- * Disconnect from a HID USB device and delete its handlers
73
+ * Disconnect from a HID USB device
75
74
  */
76
75
  disconnect(params: {
77
76
  connectedDevice: InternalConnectedDevice;
@@ -82,7 +81,6 @@ export declare class WebUsbHidTransport implements UsbHidTransport {
82
81
  * @private
83
82
  */
84
83
  private isHIDConnectionEvent;
85
- private _handleDisconnection;
86
84
  /**
87
85
  * Handle the disconnection event of a HID device
88
86
  * @param event
@@ -1 +1 @@
1
- {"version":3,"file":"WebUsbHidTransport.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/WebUsbHidTransport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAmC,MAAM,WAAW,CAAC;AACpE,OAAO,EAAQ,UAAU,EAAkC,MAAM,MAAM,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAG/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAMxG,OAAO,EACL,YAAY,EAQb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AAGpG,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASvE,qBACa,kBAAmB,YAAW,eAAe;IAatD,OAAO,CAAC,qBAAqB;IAX/B,OAAO,CAAC,oBAAoB,CAAsC;IAClE,OAAO,CAAC,6BAA6B,CAA0B;IAC/D,OAAO,CAAC,wBAAwB,CAAsC;IACtE,OAAO,CAAC,mCAAmC,CAAkB;IAC7D,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,8BAA8B,CAAgC;IACtE,OAAO,CAAC,qCAAqC,CAC9B;gBAIL,qBAAqB,EAAE,qBAAqB,EAEpD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,EAE7D,6BAA6B,EAAE,6BAA6B;IAgB9D;;;OAGG;IACH,OAAO,KAAK,MAAM,GAMjB;IAED,WAAW;IAWX;;;;;;OAMG;YAEW,kBAAkB;IA8ChC;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,IAAI,UAAU,CAAC,wBAAwB,CAAC;IAiExD,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAsBxC,OAAO,CAAC,+BAA+B;IAKvC;;OAEG;IACG,OAAO,CAAC,EACZ,QAAQ,EACR,YAAY,GACb,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;QACnB,YAAY,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAoD1D;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE;QACvB,eAAe,EAAE,uBAAuB,CAAC;KAC1C,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAiCnC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAY5B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAoBtC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;CAgCpC"}
1
+ {"version":3,"file":"WebUsbHidTransport.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/WebUsbHidTransport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAA4B,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAQ,UAAU,EAAa,MAAM,MAAM,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAG/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAGxG,OAAO,EACL,YAAY,EAQb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AAGpG,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASvE,qBACa,kBAAmB,YAAW,eAAe;IAUtD,OAAO,CAAC,qBAAqB;IAR/B,OAAO,CAAC,oBAAoB,CAAsC;IAClE,OAAO,CAAC,wBAAwB,CAAsC;IACtE,OAAO,CAAC,mCAAmC,CAAkB;IAC7D,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,8BAA8B,CAAgC;gBAI5D,qBAAqB,EAAE,qBAAqB,EAEpD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,EAE7D,6BAA6B,EAAE,6BAA6B;IAkB9D;;;OAGG;IACH,OAAO,KAAK,MAAM,GAMjB;IAED,WAAW;IAWX;;;;;;OAMG;YAEW,kBAAkB;IA8ChC;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,IAAI,UAAU,CAAC,wBAAwB,CAAC;IAiExD,eAAe,IAAI,IAAI;IAMvB;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAsBxC,OAAO,CAAC,+BAA+B;IAKvC;;OAEG;IACG,OAAO,CAAC,EACZ,QAAQ,EACR,YAAY,GACb,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;QACnB,YAAY,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAoD1D;;OAEG;IACH,OAAO,CAAC,kBAAkB;YAIZ,oBAAoB;IAqBlC;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE;QACvB,eAAe,EAAE,uBAAuB,CAAC;KAC1C,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAwBnC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAetC;;;OAGG;YACW,2BAA2B;CAsB1C"}
@@ -52,23 +52,20 @@ let WebUsbHidTransport = class WebUsbHidTransport {
52
52
  deviceModelDataSource;
53
53
  // Maps uncoupled DiscoveredDevice and WebHID's HIDDevice WebHID
54
54
  _internalDevicesById;
55
- _disconnectionHandlersByHidId;
56
55
  _deviceConnectionByHidId;
57
56
  _connectionListenersAbortController;
58
57
  _logger;
59
58
  _usbHidDeviceConnectionFactory;
60
- _deviceDisconnectionTimerSubscription = purify_ts_1.Maybe.zero();
61
59
  constructor(deviceModelDataSource, loggerServiceFactory, usbHidDeviceConnectionFactory) {
62
60
  this.deviceModelDataSource = deviceModelDataSource;
63
61
  this._internalDevicesById = new Map();
64
- this._disconnectionHandlersByHidId = new Map();
65
62
  this._deviceConnectionByHidId = new Map();
66
63
  this._connectionListenersAbortController = new AbortController();
67
64
  this._logger = loggerServiceFactory("WebUsbHidTransport");
68
65
  this._usbHidDeviceConnectionFactory = usbHidDeviceConnectionFactory;
69
66
  this.hidApi.map((hidApi) => {
70
- hidApi.ondisconnect = (event) => this.handleDeviceDisconnectionEvent(event);
71
- hidApi.onconnect = (event) => this.handleDeviceConnectionEvent(event);
67
+ hidApi.addEventListener("disconnect", (event) => this.handleDeviceDisconnectionEvent(event));
68
+ hidApi.addEventListener("connect", (event) => this.handleDeviceConnectionEvent(event));
72
69
  });
73
70
  }
74
71
  /**
@@ -250,7 +247,12 @@ let WebUsbHidTransport = class WebUsbHidTransport {
250
247
  }
251
248
  }
252
249
  const { discoveredDevice: { deviceModel }, } = internalDevice;
253
- const deviceConnection = this._usbHidDeviceConnectionFactory.create(internalDevice.hidDevice);
250
+ const deviceConnection = this._usbHidDeviceConnectionFactory.create(internalDevice.hidDevice, {
251
+ onConnectionTerminated: () => {
252
+ onDisconnect(deviceId);
253
+ this.deleteInternalDevice({ internalDevice });
254
+ },
255
+ });
254
256
  this._deviceConnectionByHidId.set(this.getHidUsbProductId(internalDevice.hidDevice.productId), deviceConnection);
255
257
  const connectedDevice = new InternalConnectedDevice_1.InternalConnectedDevice({
256
258
  sendApdu: (apdu, triggersDisconnection) => deviceConnection.sendApdu(apdu, triggersDisconnection),
@@ -258,9 +260,6 @@ let WebUsbHidTransport = class WebUsbHidTransport {
258
260
  id: deviceId,
259
261
  type: "USB",
260
262
  });
261
- this._disconnectionHandlersByHidId.set(this.getHidUsbProductId(internalDevice.hidDevice.productId), () => {
262
- this.disconnect({ connectedDevice }).then(() => onDisconnect(deviceId));
263
- });
264
263
  return (0, purify_ts_1.Right)(connectedDevice);
265
264
  }
266
265
  /**
@@ -269,8 +268,24 @@ let WebUsbHidTransport = class WebUsbHidTransport {
269
268
  getHidUsbProductId(productId) {
270
269
  return productId >> 8;
271
270
  }
271
+ async deleteInternalDevice(params) {
272
+ this._logger.debug("_internalDisconnect", {
273
+ data: { connectedDevice: params },
274
+ });
275
+ const { internalDevice } = params;
276
+ try {
277
+ const usbProductId = this.getHidUsbProductId(internalDevice.hidDevice.productId);
278
+ this._internalDevicesById.delete(internalDevice.id);
279
+ this._deviceConnectionByHidId.delete(usbProductId);
280
+ await internalDevice.hidDevice.close();
281
+ return (0, purify_ts_1.Right)(void 0);
282
+ }
283
+ catch (error) {
284
+ return (0, purify_ts_1.Left)(new Errors_1.DisconnectError(error));
285
+ }
286
+ }
272
287
  /**
273
- * Disconnect from a HID USB device and delete its handlers
288
+ * Disconnect from a HID USB device
274
289
  */
275
290
  async disconnect(params) {
276
291
  this._logger.debug("disconnect", { data: { connectedDevice: params } });
@@ -281,17 +296,9 @@ let WebUsbHidTransport = class WebUsbHidTransport {
281
296
  }
282
297
  const deviceConnection = this._deviceConnectionByHidId.get(this.getHidUsbProductId(internalDevice.hidDevice.productId));
283
298
  deviceConnection?.disconnect();
284
- try {
285
- const usbProductId = this.getHidUsbProductId(internalDevice.hidDevice.productId);
286
- this._internalDevicesById.delete(internalDevice.id);
287
- this._disconnectionHandlersByHidId.delete(usbProductId);
288
- this._deviceConnectionByHidId.delete(usbProductId);
289
- await internalDevice.hidDevice.close();
290
- return (0, purify_ts_1.Right)(void 0);
291
- }
292
- catch (error) {
293
- return (0, purify_ts_1.Left)(new Errors_1.DisconnectError(error));
294
- }
299
+ return this.deleteInternalDevice({
300
+ internalDevice,
301
+ });
295
302
  }
296
303
  /**
297
304
  * Type guard to check if the event is a HID connection event
@@ -305,11 +312,6 @@ let WebUsbHidTransport = class WebUsbHidTransport {
305
312
  "productId" in event.device &&
306
313
  typeof event.device.productId === "number");
307
314
  }
308
- _handleDisconnection(device, callback) {
309
- const usbProductId = this.getHidUsbProductId(device.productId);
310
- const maybeDisconnectHandler = purify_ts_1.Maybe.fromNullable(this._disconnectionHandlersByHidId.get(usbProductId));
311
- maybeDisconnectHandler.map(callback);
312
- }
313
315
  /**
314
316
  * Handle the disconnection event of a HID device
315
317
  * @param event
@@ -319,44 +321,35 @@ let WebUsbHidTransport = class WebUsbHidTransport {
319
321
  this._logger.error("Invalid event", { data: { event } });
320
322
  return;
321
323
  }
322
- this._handleDisconnection(event.device, (handler) => {
323
- // We start a timer to disconnect the device if the device has a disconnect handler (ie is already connected)
324
- this._logger.debug(`Start delay of ${UsbHidConfig_1.RECONNECT_DEVICE_TIMEOUT}ms`);
325
- this._deviceDisconnectionTimerSubscription = purify_ts_1.Maybe.of((0, rxjs_1.timer)(UsbHidConfig_1.RECONNECT_DEVICE_TIMEOUT).subscribe(() => {
326
- this._logger.debug("Disconnecting device");
327
- handler();
328
- this._deviceDisconnectionTimerSubscription = purify_ts_1.Maybe.zero();
329
- }));
330
- });
324
+ if (event.device.opened)
325
+ event.device.close();
326
+ const usbProductId = this.getHidUsbProductId(event.device.productId);
327
+ const deviceConnection = this._deviceConnectionByHidId.get(usbProductId);
328
+ if (deviceConnection) {
329
+ deviceConnection.lostConnection();
330
+ }
331
331
  }
332
332
  /**
333
333
  * Handle the connection event of a HID device
334
334
  * @param event
335
335
  */
336
- handleDeviceConnectionEvent(event) {
336
+ async handleDeviceConnectionEvent(event) {
337
337
  if (!this.isHIDConnectionEvent(event)) {
338
338
  this._logger.error("Invalid event", { data: { event } });
339
339
  return;
340
340
  }
341
- // If a disconnection blocking timer is running, we stop it and reconnect
342
- try {
343
- this._deviceDisconnectionTimerSubscription.map(async (timerSub) => {
344
- timerSub.unsubscribe();
345
- const maybeDeviceConnection = purify_ts_1.Maybe.fromNullable(this._deviceConnectionByHidId.get(this.getHidUsbProductId(event.device.productId)));
341
+ const deviceConnection = this._deviceConnectionByHidId.get(this.getHidUsbProductId(event.device.productId));
342
+ if (deviceConnection) {
343
+ try {
344
+ deviceConnection.device = event.device;
346
345
  await event.device.open();
347
- maybeDeviceConnection.map((dConnection) => (dConnection.device = event.device));
348
- });
349
- }
350
- catch (error) {
351
- this._logger.error("Error while reconnecting to device", {
352
- data: { event, error },
353
- });
354
- this._handleDisconnection(event.device, (disconnectHandler) => {
355
- disconnectHandler();
356
- this._logger.debug("Disconnecting device", {
357
- data: { device: event.device },
346
+ }
347
+ catch (error) {
348
+ this._logger.error("Error while reconnecting to device", {
349
+ data: { event, error },
358
350
  });
359
- });
351
+ deviceConnection.disconnect();
352
+ }
360
353
  }
361
354
  }
362
355
  };
@@ -1 +1 @@
1
- {"version":3,"file":"WebUsbHidTransport.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/WebUsbHidTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebUsbHidTransport.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/WebUsbHidTransport.ts"],"names":[],"mappings":"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"}