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

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 (51) hide show
  1. package/lib/cjs/src/api/index.d.ts +1 -0
  2. package/lib/cjs/src/api/index.d.ts.map +1 -1
  3. package/lib/cjs/src/api/index.js +4 -1
  4. package/lib/cjs/src/api/index.js.map +1 -1
  5. package/lib/cjs/src/api/utils/Base64String.d.ts +3 -0
  6. package/lib/cjs/src/api/utils/Base64String.d.ts.map +1 -0
  7. package/lib/cjs/src/api/utils/Base64String.js +33 -0
  8. package/lib/cjs/src/api/utils/Base64String.js.map +1 -0
  9. package/lib/cjs/src/internal/usb/model/Errors.d.ts +0 -5
  10. package/lib/cjs/src/internal/usb/model/Errors.d.ts.map +1 -1
  11. package/lib/cjs/src/internal/usb/model/Errors.js +1 -10
  12. package/lib/cjs/src/internal/usb/model/Errors.js.map +1 -1
  13. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts +1 -3
  14. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +1 -1
  15. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.js +1 -2
  16. package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.js.map +1 -1
  17. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.d.ts +2 -7
  18. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.d.ts.map +1 -1
  19. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.js +3 -33
  20. package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.js.map +1 -1
  21. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.d.ts +4 -2
  22. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.d.ts.map +1 -1
  23. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.js +53 -46
  24. package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.js.map +1 -1
  25. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  26. package/lib/esm/src/api/index.d.ts +1 -0
  27. package/lib/esm/src/api/index.d.ts.map +1 -1
  28. package/lib/esm/src/api/index.js +1 -0
  29. package/lib/esm/src/api/index.js.map +1 -1
  30. package/lib/esm/src/api/utils/Base64String.d.ts +3 -0
  31. package/lib/esm/src/api/utils/Base64String.d.ts.map +1 -0
  32. package/lib/esm/src/api/utils/Base64String.js +29 -0
  33. package/lib/esm/src/api/utils/Base64String.js.map +1 -0
  34. package/lib/esm/src/internal/usb/model/Errors.d.ts +0 -5
  35. package/lib/esm/src/internal/usb/model/Errors.d.ts.map +1 -1
  36. package/lib/esm/src/internal/usb/model/Errors.js +0 -8
  37. package/lib/esm/src/internal/usb/model/Errors.js.map +1 -1
  38. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts +1 -3
  39. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +1 -1
  40. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.js +1 -2
  41. package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.js.map +1 -1
  42. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.d.ts +2 -7
  43. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.d.ts.map +1 -1
  44. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.js +4 -34
  45. package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.js.map +1 -1
  46. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.d.ts +4 -2
  47. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.d.ts.map +1 -1
  48. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.js +56 -49
  49. package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.js.map +1 -1
  50. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  51. package/package.json +1 -1
@@ -45,5 +45,6 @@ export { type StateMachineTypes } from "./device-action/xstate-utils/StateMachin
45
45
  export { type DeviceActionStateMachine, XStateDeviceAction, } from "./device-action/xstate-utils/XStateDeviceAction";
46
46
  export { type DeviceSessionState, DeviceSessionStateType, } from "./device-session/DeviceSessionState";
47
47
  export { type SdkError } from "./Error";
48
+ export { base64StringToBuffer, isBase64String } from "./utils/Base64String";
48
49
  export { bufferToHexaString, hexaStringToBuffer, isHexaString, } from "./utils/HexaString";
49
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,6 @@ export { OpenAppDeviceAction } from "./device-action/os/OpenAppDeviceAction/Open
36
36
  export { SendCommandInAppDeviceAction } from "./device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction";
37
37
  export { XStateDeviceAction, } from "./device-action/xstate-utils/XStateDeviceAction";
38
38
  export { DeviceSessionStateType, } from "./device-session/DeviceSessionState";
39
+ export { base64StringToBuffer, isBase64String } from "./utils/Base64String";
39
40
  export { bufferToHexaString, hexaStringToBuffer, isHexaString, } from "./utils/HexaString";
40
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,uBAAuB,GAExB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAEL,uBAAuB,GAExB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,mBAAmB,GAEpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,eAAe,GAGhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAoB,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,OAAO,EAEL,kBAAkB,GACnB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAQhH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAQ1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAQ3F,OAAO,EAAE,gCAAgC,EAAE,MAAM,6EAA6E,CAAC;AAQ/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AASpG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AAQ/H,OAAO,EAEL,kBAAkB,GACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAEL,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,uBAAuB,GAExB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAEL,uBAAuB,GAExB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,mBAAmB,GAEpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,eAAe,GAGhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAoB,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,OAAO,EAEL,kBAAkB,GACnB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAQhH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAQ1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAQ3F,OAAO,EAAE,gCAAgC,EAAE,MAAM,6EAA6E,CAAC;AAQ/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AASpG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AAQ/H,OAAO,EAEL,kBAAkB,GACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAEL,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function isBase64String(value: string): boolean;
2
+ export declare function base64StringToBuffer(value: string): Uint8Array | null;
3
+ //# sourceMappingURL=Base64String.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base64String.d.ts","sourceRoot":"","sources":["../../../../../src/api/utils/Base64String.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAmBrE"}
@@ -0,0 +1,29 @@
1
+ export function isBase64String(value) {
2
+ // Valid base64 characters are [A-Za-z0-9+/]
3
+ // They are always grouped by 4 characters.
4
+ // Optional padding at the end with one or two '='.
5
+ // see section 4 of: https://www.rfc-editor.org/rfc/rfc4648.txt
6
+ return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value);
7
+ }
8
+ export function base64StringToBuffer(value) {
9
+ if (value.length === 0) {
10
+ return new Uint8Array();
11
+ }
12
+ if (!isBase64String(value)) {
13
+ return null;
14
+ }
15
+ try {
16
+ // Use the browser implementation of atob
17
+ const base64Decoded = atob(value);
18
+ const buffer = new Uint8Array(base64Decoded.length);
19
+ for (let i = 0; i < base64Decoded.length; i++) {
20
+ buffer[i] = base64Decoded.charCodeAt(i);
21
+ }
22
+ return buffer;
23
+ }
24
+ catch (_error) {
25
+ // Use the implementation of Buffer for environments such as node
26
+ return Uint8Array.from(Buffer.from(value, "base64"));
27
+ }
28
+ }
29
+ //# sourceMappingURL=Base64String.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base64String.js","sourceRoot":"","sources":["../../../../../src/api/utils/Base64String.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,4CAA4C;IAC5C,2CAA2C;IAC3C,mDAAmD;IACnD,+DAA+D;IAC/D,OAAO,kEAAkE,CAAC,IAAI,CAC5E,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,UAAU,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,yCAAyC;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,MAAe,EAAE,CAAC;QACzB,iEAAiE;QACjE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -46,10 +46,5 @@ 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
- }
54
49
  export {};
55
50
  //# 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;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IAEzC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO;IADlC,SAAkB,IAAI,wBAAwB;gBACzB,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"}
@@ -74,12 +74,4 @@ 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
- }
85
77
  //# 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;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"}
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"}
@@ -11,8 +11,6 @@ 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, params: {
15
- onConnectionTerminated: () => void;
16
- }, channel?: Maybe<Uint8Array>): UsbHidDeviceConnection;
14
+ create(device: HIDDevice, channel?: Maybe<Uint8Array>): UsbHidDeviceConnection;
17
15
  }
18
16
  //# 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,MAAM,EAAE;QAAE,sBAAsB,EAAE,MAAM,IAAI,CAAA;KAAE,EAC9C,OAAO,oBAEN,GACA,sBAAsB;CAe1B"}
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"}
@@ -28,7 +28,7 @@ let UsbHidDeviceConnectionFactory = class UsbHidDeviceConnectionFactory {
28
28
  this.apduReceiverFactory = apduReceiverFactory;
29
29
  this.loggerFactory = loggerFactory;
30
30
  }
31
- create(device, params, channel = Maybe.of(FramerUtils.numberToByteArray(this.randomChannel, CHANNEL_LENGTH))) {
31
+ create(device, channel = Maybe.of(FramerUtils.numberToByteArray(this.randomChannel, CHANNEL_LENGTH))) {
32
32
  return new UsbHidDeviceConnection({
33
33
  device,
34
34
  apduSender: this.apduSenderFactory({
@@ -37,7 +37,6 @@ let UsbHidDeviceConnectionFactory = class UsbHidDeviceConnectionFactory {
37
37
  padding: true,
38
38
  }),
39
39
  apduReceiver: this.apduReceiverFactory({ channel }),
40
- onConnectionTerminated: params.onConnectionTerminated,
41
40
  }, this.loggerFactory);
42
41
  }
43
42
  };
@@ -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,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"}
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"}
@@ -9,7 +9,6 @@ type UsbHidDeviceConnectionConstructorArgs = {
9
9
  device: HIDDevice;
10
10
  apduSender: ApduSenderService;
11
11
  apduReceiver: ApduReceiverService;
12
- onConnectionTerminated: () => void;
13
12
  };
14
13
  export declare class UsbHidDeviceConnection implements DeviceConnection {
15
14
  private _device;
@@ -18,16 +17,12 @@ export declare class UsbHidDeviceConnection implements DeviceConnection {
18
17
  private _sendApduSubject;
19
18
  private readonly _logger;
20
19
  private _settleReconnectionPromise;
21
- private _onConnectionTerminated;
22
- private _terminated;
23
- constructor({ device, apduSender, apduReceiver, onConnectionTerminated, }: UsbHidDeviceConnectionConstructorArgs, loggerServiceFactory: (tag: string) => LoggerPublisherService);
20
+ constructor({ device, apduSender, apduReceiver }: UsbHidDeviceConnectionConstructorArgs, loggerServiceFactory: (tag: string) => LoggerPublisherService);
24
21
  get device(): HIDDevice;
25
22
  set device(device: HIDDevice);
26
23
  sendApdu(apdu: Uint8Array, triggersDisconnection?: boolean): Promise<Either<SdkError, ApduResponse>>;
27
24
  private receiveHidInputReport;
28
- private waitForReconnection;
29
- private lostConnectionTimeout;
30
- lostConnection(): void;
25
+ private setupWaitForReconnection;
31
26
  private reconnected;
32
27
  disconnect(): void;
33
28
  }
@@ -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;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"}
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"}
@@ -15,8 +15,7 @@ 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 { RECONNECT_DEVICE_TIMEOUT } from "../../usb/data/UsbHidConfig";
19
- import { HidSendReportError, ReconnectionFailedError, } from "../../usb/model/Errors";
18
+ import { ReconnectionFailedError } from "../../usb/model/Errors";
20
19
  let UsbHidDeviceConnection = class UsbHidDeviceConnection {
21
20
  _device;
22
21
  _apduSender;
@@ -24,12 +23,9 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
24
23
  _sendApduSubject;
25
24
  _logger;
26
25
  _settleReconnectionPromise = Maybe.zero();
27
- _onConnectionTerminated;
28
- _terminated = false;
29
- constructor({ device, apduSender, apduReceiver, onConnectionTerminated, }, loggerServiceFactory) {
26
+ constructor({ device, apduSender, apduReceiver }, loggerServiceFactory) {
30
27
  this._apduSender = apduSender;
31
28
  this._apduReceiver = apduReceiver;
32
- this._onConnectionTerminated = onConnectionTerminated;
33
29
  this._sendApduSubject = new Subject();
34
30
  this._logger = loggerServiceFactory("UsbHidDeviceConnection");
35
31
  this._device = device;
@@ -41,10 +37,6 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
41
37
  set device(device) {
42
38
  this._device = device;
43
39
  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
- }
48
40
  this._settleReconnectionPromise.ifJust(() => {
49
41
  this.reconnected();
50
42
  });
@@ -59,7 +51,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
59
51
  this._sendApduSubject.subscribe({
60
52
  next: async (r) => {
61
53
  if (triggersDisconnection && CommandUtils.isSuccessResponse(r)) {
62
- const reconnectionRes = await this.waitForReconnection();
54
+ const reconnectionRes = await this.setupWaitForReconnection();
63
55
  reconnectionRes.caseOf({
64
56
  Left: (err) => resolve(Left(err)),
65
57
  Right: () => resolve(Right(r)),
@@ -74,14 +66,6 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
74
66
  },
75
67
  });
76
68
  });
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
- }
85
69
  const frames = this._apduSender.getFrames(apdu);
86
70
  for (const frame of frames) {
87
71
  this._logger.debug("Sending Frame", {
@@ -92,7 +76,6 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
92
76
  }
93
77
  catch (error) {
94
78
  this._logger.error("Error sending frame", { data: { error } });
95
- return Promise.resolve(Left(new HidSendReportError(error)));
96
79
  }
97
80
  }
98
81
  return resultPromise;
@@ -119,7 +102,7 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
119
102
  },
120
103
  });
121
104
  }
122
- waitForReconnection() {
105
+ setupWaitForReconnection() {
123
106
  return new Promise((resolve) => {
124
107
  this._settleReconnectionPromise = Maybe.of({
125
108
  resolve: () => resolve(Right(undefined)),
@@ -127,14 +110,6 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
127
110
  });
128
111
  });
129
112
  }
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
- }
138
113
  reconnected() {
139
114
  this._settleReconnectionPromise.ifJust((promise) => {
140
115
  promise.resolve();
@@ -142,11 +117,6 @@ let UsbHidDeviceConnection = class UsbHidDeviceConnection {
142
117
  });
143
118
  }
144
119
  disconnect() {
145
- this._logger.debug("Disconnect");
146
- this._terminated = true;
147
- if (this.lostConnectionTimeout)
148
- clearTimeout(this.lostConnectionTimeout);
149
- this._onConnectionTerminated();
150
120
  this._settleReconnectionPromise.ifJust((promise) => {
151
121
  promise.reject(new ReconnectionFailedError());
152
122
  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,10 +12,12 @@ import { DisconnectHandler, UsbHidTransport } from "./UsbHidTransport";
12
12
  export declare class WebUsbHidTransport implements UsbHidTransport {
13
13
  private deviceModelDataSource;
14
14
  private _internalDevicesById;
15
+ private _disconnectionHandlersByHidId;
15
16
  private _deviceConnectionByHidId;
16
17
  private _connectionListenersAbortController;
17
18
  private _logger;
18
19
  private _usbHidDeviceConnectionFactory;
20
+ private _deviceDisconnectionTimerSubscription;
19
21
  constructor(deviceModelDataSource: DeviceModelDataSource, loggerServiceFactory: (tag: string) => LoggerPublisherService, usbHidDeviceConnectionFactory: UsbHidDeviceConnectionFactory);
20
22
  /**
21
23
  * Get the WebHID API if supported or error
@@ -68,9 +70,8 @@ export declare class WebUsbHidTransport implements UsbHidTransport {
68
70
  * The USB/HID product id is represented by only the 2nd byte
69
71
  */
70
72
  private getHidUsbProductId;
71
- private deleteInternalDevice;
72
73
  /**
73
- * Disconnect from a HID USB device
74
+ * Disconnect from a HID USB device and delete its handlers
74
75
  */
75
76
  disconnect(params: {
76
77
  connectedDevice: InternalConnectedDevice;
@@ -81,6 +82,7 @@ export declare class WebUsbHidTransport implements UsbHidTransport {
81
82
  * @private
82
83
  */
83
84
  private isHIDConnectionEvent;
85
+ private _handleDisconnection;
84
86
  /**
85
87
  * Handle the disconnection event of a HID device
86
88
  * @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,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"}
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"}
@@ -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, Right } from "purify-ts";
16
- import { from, switchMap } from "rxjs";
15
+ import { EitherAsync, Left, Maybe, Right } from "purify-ts";
16
+ import { from, switchMap, timer } 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 } from "../../usb/data/UsbHidConfig";
20
+ import { LEDGER_VENDOR_ID, RECONNECT_DEVICE_TIMEOUT, } 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,20 +26,23 @@ let WebUsbHidTransport = class WebUsbHidTransport {
26
26
  deviceModelDataSource;
27
27
  // Maps uncoupled DiscoveredDevice and WebHID's HIDDevice WebHID
28
28
  _internalDevicesById;
29
+ _disconnectionHandlersByHidId;
29
30
  _deviceConnectionByHidId;
30
31
  _connectionListenersAbortController;
31
32
  _logger;
32
33
  _usbHidDeviceConnectionFactory;
34
+ _deviceDisconnectionTimerSubscription = Maybe.zero();
33
35
  constructor(deviceModelDataSource, loggerServiceFactory, usbHidDeviceConnectionFactory) {
34
36
  this.deviceModelDataSource = deviceModelDataSource;
35
37
  this._internalDevicesById = new Map();
38
+ this._disconnectionHandlersByHidId = new Map();
36
39
  this._deviceConnectionByHidId = new Map();
37
40
  this._connectionListenersAbortController = new AbortController();
38
41
  this._logger = loggerServiceFactory("WebUsbHidTransport");
39
42
  this._usbHidDeviceConnectionFactory = usbHidDeviceConnectionFactory;
40
43
  this.hidApi.map((hidApi) => {
41
- hidApi.addEventListener("disconnect", (event) => this.handleDeviceDisconnectionEvent(event));
42
- hidApi.addEventListener("connect", (event) => this.handleDeviceConnectionEvent(event));
44
+ hidApi.ondisconnect = (event) => this.handleDeviceDisconnectionEvent(event);
45
+ hidApi.onconnect = (event) => this.handleDeviceConnectionEvent(event);
43
46
  });
44
47
  }
45
48
  /**
@@ -221,12 +224,7 @@ let WebUsbHidTransport = class WebUsbHidTransport {
221
224
  }
222
225
  }
223
226
  const { discoveredDevice: { deviceModel }, } = internalDevice;
224
- const deviceConnection = this._usbHidDeviceConnectionFactory.create(internalDevice.hidDevice, {
225
- onConnectionTerminated: () => {
226
- onDisconnect(deviceId);
227
- this.deleteInternalDevice({ internalDevice });
228
- },
229
- });
227
+ const deviceConnection = this._usbHidDeviceConnectionFactory.create(internalDevice.hidDevice);
230
228
  this._deviceConnectionByHidId.set(this.getHidUsbProductId(internalDevice.hidDevice.productId), deviceConnection);
231
229
  const connectedDevice = new InternalConnectedDevice({
232
230
  sendApdu: (apdu, triggersDisconnection) => deviceConnection.sendApdu(apdu, triggersDisconnection),
@@ -234,6 +232,9 @@ let WebUsbHidTransport = class WebUsbHidTransport {
234
232
  id: deviceId,
235
233
  type: "USB",
236
234
  });
235
+ this._disconnectionHandlersByHidId.set(this.getHidUsbProductId(internalDevice.hidDevice.productId), () => {
236
+ this.disconnect({ connectedDevice }).then(() => onDisconnect(deviceId));
237
+ });
237
238
  return Right(connectedDevice);
238
239
  }
239
240
  /**
@@ -242,24 +243,8 @@ let WebUsbHidTransport = class WebUsbHidTransport {
242
243
  getHidUsbProductId(productId) {
243
244
  return productId >> 8;
244
245
  }
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
- }
261
246
  /**
262
- * Disconnect from a HID USB device
247
+ * Disconnect from a HID USB device and delete its handlers
263
248
  */
264
249
  async disconnect(params) {
265
250
  this._logger.debug("disconnect", { data: { connectedDevice: params } });
@@ -270,9 +255,17 @@ let WebUsbHidTransport = class WebUsbHidTransport {
270
255
  }
271
256
  const deviceConnection = this._deviceConnectionByHidId.get(this.getHidUsbProductId(internalDevice.hidDevice.productId));
272
257
  deviceConnection?.disconnect();
273
- return this.deleteInternalDevice({
274
- internalDevice,
275
- });
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
+ }
276
269
  }
277
270
  /**
278
271
  * Type guard to check if the event is a HID connection event
@@ -286,6 +279,11 @@ let WebUsbHidTransport = class WebUsbHidTransport {
286
279
  "productId" in event.device &&
287
280
  typeof event.device.productId === "number");
288
281
  }
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
+ }
289
287
  /**
290
288
  * Handle the disconnection event of a HID device
291
289
  * @param event
@@ -295,35 +293,44 @@ let WebUsbHidTransport = class WebUsbHidTransport {
295
293
  this._logger.error("Invalid event", { data: { event } });
296
294
  return;
297
295
  }
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
- }
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
+ });
305
305
  }
306
306
  /**
307
307
  * Handle the connection event of a HID device
308
308
  * @param event
309
309
  */
310
- async handleDeviceConnectionEvent(event) {
310
+ handleDeviceConnectionEvent(event) {
311
311
  if (!this.isHIDConnectionEvent(event)) {
312
312
  this._logger.error("Invalid event", { data: { event } });
313
313
  return;
314
314
  }
315
- const deviceConnection = this._deviceConnectionByHidId.get(this.getHidUsbProductId(event.device.productId));
316
- if (deviceConnection) {
317
- try {
318
- deviceConnection.device = event.device;
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)));
319
320
  await event.device.open();
320
- }
321
- catch (error) {
322
- this._logger.error("Error while reconnecting to device", {
323
- data: { event, error },
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 },
324
332
  });
325
- deviceConnection.disconnect();
326
- }
333
+ });
327
334
  }
328
335
  }
329
336
  };