@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.
- package/lib/cjs/src/api/index.d.ts +1 -0
- package/lib/cjs/src/api/index.d.ts.map +1 -1
- package/lib/cjs/src/api/index.js +4 -1
- package/lib/cjs/src/api/index.js.map +1 -1
- package/lib/cjs/src/api/utils/Base64String.d.ts +3 -0
- package/lib/cjs/src/api/utils/Base64String.d.ts.map +1 -0
- package/lib/cjs/src/api/utils/Base64String.js +33 -0
- package/lib/cjs/src/api/utils/Base64String.js.map +1 -0
- package/lib/cjs/src/internal/usb/model/Errors.d.ts +0 -5
- package/lib/cjs/src/internal/usb/model/Errors.d.ts.map +1 -1
- package/lib/cjs/src/internal/usb/model/Errors.js +1 -10
- package/lib/cjs/src/internal/usb/model/Errors.js.map +1 -1
- package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts +1 -3
- package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +1 -1
- package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.js +1 -2
- package/lib/cjs/src/internal/usb/service/UsbHidDeviceConnectionFactory.js.map +1 -1
- package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.d.ts +2 -7
- package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.d.ts.map +1 -1
- package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.js +3 -33
- package/lib/cjs/src/internal/usb/transport/UsbHidDeviceConnection.js.map +1 -1
- package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.d.ts +4 -2
- package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.d.ts.map +1 -1
- package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.js +53 -46
- package/lib/cjs/src/internal/usb/transport/WebUsbHidTransport.js.map +1 -1
- package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/esm/src/api/index.d.ts +1 -0
- package/lib/esm/src/api/index.d.ts.map +1 -1
- package/lib/esm/src/api/index.js +1 -0
- package/lib/esm/src/api/index.js.map +1 -1
- package/lib/esm/src/api/utils/Base64String.d.ts +3 -0
- package/lib/esm/src/api/utils/Base64String.d.ts.map +1 -0
- package/lib/esm/src/api/utils/Base64String.js +29 -0
- package/lib/esm/src/api/utils/Base64String.js.map +1 -0
- package/lib/esm/src/internal/usb/model/Errors.d.ts +0 -5
- package/lib/esm/src/internal/usb/model/Errors.d.ts.map +1 -1
- package/lib/esm/src/internal/usb/model/Errors.js +0 -8
- package/lib/esm/src/internal/usb/model/Errors.js.map +1 -1
- package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts +1 -3
- package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +1 -1
- package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.js +1 -2
- package/lib/esm/src/internal/usb/service/UsbHidDeviceConnectionFactory.js.map +1 -1
- package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.d.ts +2 -7
- package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.d.ts.map +1 -1
- package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.js +4 -34
- package/lib/esm/src/internal/usb/transport/UsbHidDeviceConnection.js.map +1 -1
- package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.d.ts +4 -2
- package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.d.ts.map +1 -1
- package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.js +56 -49
- package/lib/esm/src/internal/usb/transport/WebUsbHidTransport.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- 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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"}
|
package/lib/esm/src/api/index.js
CHANGED
@@ -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 @@
|
|
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
|
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
|
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,
|
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,
|
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,
|
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,
|
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
|
-
|
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
|
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;
|
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 {
|
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
|
-
|
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.
|
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
|
-
|
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":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAU,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"UsbHidDeviceConnection.js","sourceRoot":"","sources":["../../../../../../src/internal/usb/transport/UsbHidDeviceConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAU,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;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,KAAK,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,OAAO,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,OAAO,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,YAAY,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,IAAI,CAAC,GAAG,CAAC,CAAC;4BACjC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBAC/B,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,IAAI,CAAC,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,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,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,KAAK,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,uBAAuB,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjIY,sBAAsB;IAa9B,WAAA,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAA;;GAbzC,sBAAsB,CAiIlC"}
|
@@ -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,
|
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.
|
42
|
-
hidApi.
|
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
|
-
|
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
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
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
|
-
|
310
|
+
handleDeviceConnectionEvent(event) {
|
311
311
|
if (!this.isHIDConnectionEvent(event)) {
|
312
312
|
this._logger.error("Invalid event", { data: { event } });
|
313
313
|
return;
|
314
314
|
}
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
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
|
-
|
322
|
-
|
323
|
-
|
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
|
-
|
326
|
-
}
|
333
|
+
});
|
327
334
|
}
|
328
335
|
}
|
329
336
|
};
|