@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"}
@@ -74,4 +74,12 @@ export class ReconnectionFailedError extends GeneralSdkError {
74
74
  this.err = err;
75
75
  }
76
76
  }
77
+ export class HidSendReportError extends GeneralSdkError {
78
+ err;
79
+ _tag = "HidSendReportError";
80
+ constructor(err) {
81
+ super(err);
82
+ this.err = err;
83
+ }
84
+ }
77
85
  //# 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,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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"}
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,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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;AAED,MAAM,OAAO,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"}
@@ -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"}
@@ -28,7 +28,7 @@ let UsbHidDeviceConnectionFactory = class UsbHidDeviceConnectionFactory {
28
28
  this.apduReceiverFactory = apduReceiverFactory;
29
29
  this.loggerFactory = loggerFactory;
30
30
  }
31
- create(device, channel = Maybe.of(FramerUtils.numberToByteArray(this.randomChannel, CHANNEL_LENGTH))) {
31
+ create(device, params, channel = Maybe.of(FramerUtils.numberToByteArray(this.randomChannel, CHANNEL_LENGTH))) {
32
32
  return new UsbHidDeviceConnection({
33
33
  device,
34
34
  apduSender: this.apduSenderFactory({
@@ -37,6 +37,7 @@ let UsbHidDeviceConnectionFactory = class UsbHidDeviceConnectionFactory {
37
37
  padding: true,
38
38
  }),
39
39
  apduReceiver: this.apduReceiverFactory({ channel }),
40
+ onConnectionTerminated: params.onConnectionTerminated,
40
41
  }, this.loggerFactory);
41
42
  }
42
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UsbHidDeviceConnectionFactory.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/service/UsbHidDeviceConnectionFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;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,KAAK,CAAC,EAAE,CAChB,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAClE;QAED,OAAO,IAAI,sBAAsB,CAC/B;YACE,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBACjC,SAAS,EAAE,UAAU;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,6BAA6B;IADzC,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;IAInD,WAAA,MAAM,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAA;IAIrD,WAAA,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAA;;GAZzC,6BAA6B,CAmCzC"}
1
+ {"version":3,"file":"UsbHidDeviceConnectionFactory.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/service/UsbHidDeviceConnectionFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;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,KAAK,CAAC,EAAE,CAChB,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAClE;QAED,OAAO,IAAI,sBAAsB,CAC/B;YACE,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBACjC,SAAS,EAAE,UAAU;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,6BAA6B;IADzC,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;IAInD,WAAA,MAAM,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAA;IAIrD,WAAA,MAAM,CAAC,WAAW,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"}
@@ -15,7 +15,8 @@ import { Left, Maybe, Right } from "purify-ts";
15
15
  import { Subject } from "rxjs";
16
16
  import { CommandUtils } from "../../../api/command/utils/CommandUtils";
17
17
  import { loggerTypes } from "../../logger-publisher/di/loggerTypes";
18
- import { ReconnectionFailedError } from "../../usb/model/Errors";
18
+ import { RECONNECT_DEVICE_TIMEOUT } from "../../usb/data/UsbHidConfig";
19
+ import { HidSendReportError, ReconnectionFailedError, } from "../../usb/model/Errors";
19
20
  let UsbHidDeviceConnection = class UsbHidDeviceConnection {
20
21
  _device;
21
22
  _apduSender;
@@ -23,9 +24,12 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
23
24
  _sendApduSubject;
24
25
  _logger;
25
26
  _settleReconnectionPromise = Maybe.zero();
26
- constructor({ device, apduSender, apduReceiver }, loggerServiceFactory) {
27
+ _onConnectionTerminated;
28
+ _terminated = false;
29
+ constructor({ device, apduSender, apduReceiver, onConnectionTerminated, }, loggerServiceFactory) {
27
30
  this._apduSender = apduSender;
28
31
  this._apduReceiver = apduReceiver;
32
+ this._onConnectionTerminated = onConnectionTerminated;
29
33
  this._sendApduSubject = new Subject();
30
34
  this._logger = loggerServiceFactory("UsbHidDeviceConnection");
31
35
  this._device = device;
@@ -37,6 +41,10 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
37
41
  set device(device) {
38
42
  this._device = device;
39
43
  this._device.oninputreport = (event) => this.receiveHidInputReport(event);
44
+ if (this.lostConnectionTimeout) {
45
+ this._logger.debug("Device reconnected, clearing lost connection timeout");
46
+ clearTimeout(this.lostConnectionTimeout);
47
+ }
40
48
  this._settleReconnectionPromise.ifJust(() => {
41
49
  this.reconnected();
42
50
  });
@@ -51,7 +59,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
51
59
  this._sendApduSubject.subscribe({
52
60
  next: async (r) => {
53
61
  if (triggersDisconnection && CommandUtils.isSuccessResponse(r)) {
54
- const reconnectionRes = await this.setupWaitForReconnection();
62
+ const reconnectionRes = await this.waitForReconnection();
55
63
  reconnectionRes.caseOf({
56
64
  Left: (err) => resolve(Left(err)),
57
65
  Right: () => resolve(Right(r)),
@@ -66,6 +74,14 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
66
74
  },
67
75
  });
68
76
  });
77
+ while (!this.device.opened && !this._terminated) {
78
+ this._logger.debug("Waiting for device to be opened");
79
+ await new Promise((resolve) => setTimeout(resolve, 100));
80
+ }
81
+ if (this._terminated) {
82
+ this._logger.debug("Connection terminated, failing sendApdu");
83
+ return Promise.resolve(Left(new ReconnectionFailedError()));
84
+ }
69
85
  const frames = this._apduSender.getFrames(apdu);
70
86
  for (const frame of frames) {
71
87
  this._logger.debug("Sending Frame", {
@@ -76,6 +92,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
76
92
  }
77
93
  catch (error) {
78
94
  this._logger.error("Error sending frame", { data: { error } });
95
+ return Promise.resolve(Left(new HidSendReportError(error)));
79
96
  }
80
97
  }
81
98
  return resultPromise;
@@ -102,7 +119,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
102
119
  },
103
120
  });
104
121
  }
105
- setupWaitForReconnection() {
122
+ waitForReconnection() {
106
123
  return new Promise((resolve) => {
107
124
  this._settleReconnectionPromise = Maybe.of({
108
125
  resolve: () => resolve(Right(undefined)),
@@ -110,6 +127,14 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
110
127
  });
111
128
  });
112
129
  }
130
+ lostConnectionTimeout = null;
131
+ lostConnection() {
132
+ this._logger.debug("Lost connection");
133
+ this.lostConnectionTimeout = setTimeout(() => {
134
+ this._logger.debug("Lost connection timeout");
135
+ this.disconnect();
136
+ }, RECONNECT_DEVICE_TIMEOUT);
137
+ }
113
138
  reconnected() {
114
139
  this._settleReconnectionPromise.ifJust((promise) => {
115
140
  promise.resolve();
@@ -117,6 +142,11 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
117
142
  });
118
143
  }
119
144
  disconnect() {
145
+ this._logger.debug("Disconnect");
146
+ this._terminated = true;
147
+ if (this.lostConnectionTimeout)
148
+ clearTimeout(this.lostConnectionTimeout);
149
+ this._onConnectionTerminated();
120
150
  this._settleReconnectionPromise.ifJust((promise) => {
121
151
  promise.reject(new ReconnectionFailedError());
122
152
  this._settleReconnectionPromise = Maybe.zero();
@@ -1 +1 @@
1
- {"version":3,"file":"UsbHidDeviceConnection.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/UsbHidDeviceConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsbHidDeviceConnection.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/UsbHidDeviceConnection.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -12,12 +12,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  };
13
13
  import * as Sentry from "@sentry/minimal";
14
14
  import { inject, injectable } from "inversify";
15
- import { EitherAsync, Left, Maybe, Right } from "purify-ts";
16
- import { from, switchMap, timer } from "rxjs";
15
+ import { EitherAsync, Left, Right } from "purify-ts";
16
+ import { from, switchMap } from "rxjs";
17
17
  import { v4 as uuid } from "uuid";
18
18
  import { deviceModelTypes } from "../../device-model/di/deviceModelTypes";
19
19
  import { loggerTypes } from "../../logger-publisher/di/loggerTypes";
20
- import { LEDGER_VENDOR_ID, RECONNECT_DEVICE_TIMEOUT, } from "../../usb/data/UsbHidConfig";
20
+ import { LEDGER_VENDOR_ID } from "../../usb/data/UsbHidConfig";
21
21
  import { usbDiTypes } from "../../usb/di/usbDiTypes";
22
22
  import { DeviceNotRecognizedError, DisconnectError, NoAccessibleDeviceError, OpeningConnectionError, UnknownDeviceError, UsbHidTransportNotSupportedError, } from "../../usb/model/Errors";
23
23
  import { InternalConnectedDevice } from "../../usb/model/InternalConnectedDevice";
@@ -26,23 +26,20 @@ let WebUsbHidTransport = class WebUsbHidTransport {
26
26
  deviceModelDataSource;
27
27
  // Maps uncoupled DiscoveredDevice and WebHID's HIDDevice WebHID
28
28
  _internalDevicesById;
29
- _disconnectionHandlersByHidId;
30
29
  _deviceConnectionByHidId;
31
30
  _connectionListenersAbortController;
32
31
  _logger;
33
32
  _usbHidDeviceConnectionFactory;
34
- _deviceDisconnectionTimerSubscription = Maybe.zero();
35
33
  constructor(deviceModelDataSource, loggerServiceFactory, usbHidDeviceConnectionFactory) {
36
34
  this.deviceModelDataSource = deviceModelDataSource;
37
35
  this._internalDevicesById = new Map();
38
- this._disconnectionHandlersByHidId = new Map();
39
36
  this._deviceConnectionByHidId = new Map();
40
37
  this._connectionListenersAbortController = new AbortController();
41
38
  this._logger = loggerServiceFactory("WebUsbHidTransport");
42
39
  this._usbHidDeviceConnectionFactory = usbHidDeviceConnectionFactory;
43
40
  this.hidApi.map((hidApi) => {
44
- hidApi.ondisconnect = (event) => this.handleDeviceDisconnectionEvent(event);
45
- hidApi.onconnect = (event) => this.handleDeviceConnectionEvent(event);
41
+ hidApi.addEventListener("disconnect", (event) => this.handleDeviceDisconnectionEvent(event));
42
+ hidApi.addEventListener("connect", (event) => this.handleDeviceConnectionEvent(event));
46
43
  });
47
44
  }
48
45
  /**
@@ -224,7 +221,12 @@ let WebUsbHidTransport = class WebUsbHidTransport {
224
221
  }
225
222
  }
226
223
  const { discoveredDevice: { deviceModel }, } = internalDevice;
227
- const deviceConnection = this._usbHidDeviceConnectionFactory.create(internalDevice.hidDevice);
224
+ const deviceConnection = this._usbHidDeviceConnectionFactory.create(internalDevice.hidDevice, {
225
+ onConnectionTerminated: () => {
226
+ onDisconnect(deviceId);
227
+ this.deleteInternalDevice({ internalDevice });
228
+ },
229
+ });
228
230
  this._deviceConnectionByHidId.set(this.getHidUsbProductId(internalDevice.hidDevice.productId), deviceConnection);
229
231
  const connectedDevice = new InternalConnectedDevice({
230
232
  sendApdu: (apdu, triggersDisconnection) => deviceConnection.sendApdu(apdu, triggersDisconnection),
@@ -232,9 +234,6 @@ let WebUsbHidTransport = class WebUsbHidTransport {
232
234
  id: deviceId,
233
235
  type: "USB",
234
236
  });
235
- this._disconnectionHandlersByHidId.set(this.getHidUsbProductId(internalDevice.hidDevice.productId), () => {
236
- this.disconnect({ connectedDevice }).then(() => onDisconnect(deviceId));
237
- });
238
237
  return Right(connectedDevice);
239
238
  }
240
239
  /**
@@ -243,8 +242,24 @@ let WebUsbHidTransport = class WebUsbHidTransport {
243
242
  getHidUsbProductId(productId) {
244
243
  return productId >> 8;
245
244
  }
245
+ async deleteInternalDevice(params) {
246
+ this._logger.debug("_internalDisconnect", {
247
+ data: { connectedDevice: params },
248
+ });
249
+ const { internalDevice } = params;
250
+ try {
251
+ const usbProductId = this.getHidUsbProductId(internalDevice.hidDevice.productId);
252
+ this._internalDevicesById.delete(internalDevice.id);
253
+ this._deviceConnectionByHidId.delete(usbProductId);
254
+ await internalDevice.hidDevice.close();
255
+ return Right(void 0);
256
+ }
257
+ catch (error) {
258
+ return Left(new DisconnectError(error));
259
+ }
260
+ }
246
261
  /**
247
- * Disconnect from a HID USB device and delete its handlers
262
+ * Disconnect from a HID USB device
248
263
  */
249
264
  async disconnect(params) {
250
265
  this._logger.debug("disconnect", { data: { connectedDevice: params } });
@@ -255,17 +270,9 @@ let WebUsbHidTransport = class WebUsbHidTransport {
255
270
  }
256
271
  const deviceConnection = this._deviceConnectionByHidId.get(this.getHidUsbProductId(internalDevice.hidDevice.productId));
257
272
  deviceConnection?.disconnect();
258
- try {
259
- const usbProductId = this.getHidUsbProductId(internalDevice.hidDevice.productId);
260
- this._internalDevicesById.delete(internalDevice.id);
261
- this._disconnectionHandlersByHidId.delete(usbProductId);
262
- this._deviceConnectionByHidId.delete(usbProductId);
263
- await internalDevice.hidDevice.close();
264
- return Right(void 0);
265
- }
266
- catch (error) {
267
- return Left(new DisconnectError(error));
268
- }
273
+ return this.deleteInternalDevice({
274
+ internalDevice,
275
+ });
269
276
  }
270
277
  /**
271
278
  * Type guard to check if the event is a HID connection event
@@ -279,11 +286,6 @@ let WebUsbHidTransport = class WebUsbHidTransport {
279
286
  "productId" in event.device &&
280
287
  typeof event.device.productId === "number");
281
288
  }
282
- _handleDisconnection(device, callback) {
283
- const usbProductId = this.getHidUsbProductId(device.productId);
284
- const maybeDisconnectHandler = Maybe.fromNullable(this._disconnectionHandlersByHidId.get(usbProductId));
285
- maybeDisconnectHandler.map(callback);
286
- }
287
289
  /**
288
290
  * Handle the disconnection event of a HID device
289
291
  * @param event
@@ -293,44 +295,35 @@ let WebUsbHidTransport = class WebUsbHidTransport {
293
295
  this._logger.error("Invalid event", { data: { event } });
294
296
  return;
295
297
  }
296
- this._handleDisconnection(event.device, (handler) => {
297
- // We start a timer to disconnect the device if the device has a disconnect handler (ie is already connected)
298
- this._logger.debug(`Start delay of ${RECONNECT_DEVICE_TIMEOUT}ms`);
299
- this._deviceDisconnectionTimerSubscription = Maybe.of(timer(RECONNECT_DEVICE_TIMEOUT).subscribe(() => {
300
- this._logger.debug("Disconnecting device");
301
- handler();
302
- this._deviceDisconnectionTimerSubscription = Maybe.zero();
303
- }));
304
- });
298
+ if (event.device.opened)
299
+ event.device.close();
300
+ const usbProductId = this.getHidUsbProductId(event.device.productId);
301
+ const deviceConnection = this._deviceConnectionByHidId.get(usbProductId);
302
+ if (deviceConnection) {
303
+ deviceConnection.lostConnection();
304
+ }
305
305
  }
306
306
  /**
307
307
  * Handle the connection event of a HID device
308
308
  * @param event
309
309
  */
310
- handleDeviceConnectionEvent(event) {
310
+ async handleDeviceConnectionEvent(event) {
311
311
  if (!this.isHIDConnectionEvent(event)) {
312
312
  this._logger.error("Invalid event", { data: { event } });
313
313
  return;
314
314
  }
315
- // If a disconnection blocking timer is running, we stop it and reconnect
316
- try {
317
- this._deviceDisconnectionTimerSubscription.map(async (timerSub) => {
318
- timerSub.unsubscribe();
319
- const maybeDeviceConnection = Maybe.fromNullable(this._deviceConnectionByHidId.get(this.getHidUsbProductId(event.device.productId)));
315
+ const deviceConnection = this._deviceConnectionByHidId.get(this.getHidUsbProductId(event.device.productId));
316
+ if (deviceConnection) {
317
+ try {
318
+ deviceConnection.device = event.device;
320
319
  await event.device.open();
321
- maybeDeviceConnection.map((dConnection) => (dConnection.device = event.device));
322
- });
323
- }
324
- catch (error) {
325
- this._logger.error("Error while reconnecting to device", {
326
- data: { event, error },
327
- });
328
- this._handleDisconnection(event.device, (disconnectHandler) => {
329
- disconnectHandler();
330
- this._logger.debug("Disconnecting device", {
331
- data: { device: event.device },
320
+ }
321
+ catch (error) {
322
+ this._logger.error("Error while reconnecting to device", {
323
+ data: { event, error },
332
324
  });
333
- });
325
+ deviceConnection.disconnect();
326
+ }
334
327
  }
335
328
  }
336
329
  };
@@ -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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"}