@ledgerhq/device-management-kit 0.0.0-webhid-20250124164153 → 0.0.0-wip-20250214170223

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 (479) hide show
  1. package/README.md +27 -31
  2. package/lib/cjs/package.json +7 -6
  3. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  5. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +1 -1
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  9. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  10. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  11. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
  12. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  13. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  14. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  15. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  16. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  17. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  18. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
  19. package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
  20. package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
  21. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  22. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  23. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  24. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  25. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  26. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  27. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  28. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  29. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  30. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  31. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  32. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  33. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  34. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  35. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  36. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  37. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  38. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  39. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  40. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  41. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  42. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  43. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  44. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  45. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  46. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  47. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  48. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
  49. package/lib/cjs/src/api/index.js +1 -1
  50. package/lib/cjs/src/api/index.js.map +3 -3
  51. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  52. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  53. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  54. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  55. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  56. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  57. package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
  58. package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
  59. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  60. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  61. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  62. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  63. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  64. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  65. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  66. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  67. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  68. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  69. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  70. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  71. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  72. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  73. package/lib/cjs/src/api/types.js.map +1 -1
  74. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  75. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  76. package/lib/cjs/src/di.js +1 -1
  77. package/lib/cjs/src/di.js.map +3 -3
  78. package/lib/cjs/src/di.stub.js +1 -1
  79. package/lib/cjs/src/di.stub.js.map +2 -2
  80. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  81. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  82. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  83. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  84. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  85. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  86. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  87. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  88. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  89. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  90. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  91. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  92. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  93. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  94. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  95. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  96. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  97. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  98. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  99. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  100. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  101. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  102. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  103. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  104. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  105. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  106. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  107. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  108. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  109. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  110. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  111. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  112. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  113. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  114. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  115. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  116. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  117. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  118. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  119. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  120. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  121. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  122. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  123. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  124. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  125. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  126. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  127. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  128. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  129. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  130. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  131. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  132. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  133. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  134. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  135. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  136. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  137. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  138. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  139. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  140. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  141. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  142. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  143. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  144. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  145. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  146. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  147. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  148. package/lib/cjs/src/internal/manager-api/model/Errors.js +1 -1
  149. package/lib/cjs/src/internal/manager-api/model/Errors.js.map +3 -3
  150. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  151. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  152. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  153. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  154. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  155. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
  156. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  157. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  158. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  159. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  160. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  161. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  162. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  163. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  164. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  165. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  166. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  167. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  168. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  169. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  170. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  171. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  172. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  173. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  174. package/lib/cjs/src/internal/{manager-api → secure-channel}/model/Params.js.map +1 -1
  175. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  176. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  177. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  178. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  179. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  180. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  181. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  182. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  183. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  184. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  185. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  186. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  187. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  188. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  189. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  190. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  191. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  192. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  193. package/lib/esm/package.json +7 -6
  194. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  195. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  196. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  197. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +2 -2
  198. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  199. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  200. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  201. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  202. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  203. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  204. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  205. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  206. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  207. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  208. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  209. package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
  210. package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
  211. package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
  212. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  213. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  214. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  215. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  216. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  217. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  218. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  219. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  220. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  221. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  222. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  223. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  224. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  225. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  226. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  227. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  228. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  229. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  230. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  231. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  232. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  233. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  234. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  235. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  236. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
  237. package/lib/esm/src/api/index.js +1 -1
  238. package/lib/esm/src/api/index.js.map +3 -3
  239. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  240. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  241. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  242. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  243. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  244. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  245. package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
  246. package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
  247. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  248. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  249. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  250. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  251. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  252. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  253. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  254. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  255. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  256. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  257. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  258. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  259. package/lib/esm/src/di.js +1 -1
  260. package/lib/esm/src/di.js.map +3 -3
  261. package/lib/esm/src/di.stub.js +1 -1
  262. package/lib/esm/src/di.stub.js.map +2 -2
  263. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  264. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  265. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  266. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  267. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  268. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  269. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  270. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  271. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  272. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  273. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  274. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  275. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  276. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  277. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  278. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  279. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  280. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  281. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  282. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  283. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  284. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  285. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  286. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  287. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  288. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  289. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  290. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  291. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  292. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  293. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  294. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  295. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  296. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  297. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  298. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  299. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  300. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  301. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  302. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  303. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  304. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  305. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  306. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  307. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  308. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  309. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  310. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  311. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  312. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  313. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  314. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  315. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  316. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  317. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  318. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  319. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  320. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  321. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  322. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  323. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  324. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  325. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  326. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  327. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  328. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  329. package/lib/esm/src/internal/manager-api/model/Errors.js +1 -1
  330. package/lib/esm/src/internal/manager-api/model/Errors.js.map +3 -3
  331. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  332. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  333. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  334. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
  335. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  336. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  337. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  338. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  339. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  340. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  341. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  342. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  343. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  344. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  345. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  346. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  347. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  348. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  349. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  350. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  351. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  352. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  353. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  354. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  355. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  356. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  357. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  358. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  359. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  360. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  361. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  362. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  363. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  364. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  365. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  366. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  367. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  368. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  369. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  370. package/lib/types/src/api/DeviceManagementKit.d.ts +1 -1
  371. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  372. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  373. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  374. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  375. package/lib/types/src/api/command/utils/CommandUtils.d.ts +1 -0
  376. package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
  377. package/lib/types/src/api/device-action/DeviceAction.d.ts +5 -0
  378. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  379. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  380. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  381. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  382. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  383. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  384. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  385. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  386. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  387. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  388. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  389. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  390. package/lib/types/src/api/index.d.ts +3 -0
  391. package/lib/types/src/api/index.d.ts.map +1 -1
  392. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +1 -1
  393. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -1
  394. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
  395. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
  396. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +1 -1
  397. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -1
  398. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +60 -0
  399. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
  400. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
  401. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  402. package/lib/types/src/api/transport/model/Errors.d.ts +15 -0
  403. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  404. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
  405. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  406. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +7 -7
  407. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  408. package/lib/types/src/api/types.d.ts +1 -0
  409. package/lib/types/src/api/types.d.ts.map +1 -1
  410. package/lib/types/src/di.d.ts.map +1 -1
  411. package/lib/types/src/di.stub.d.ts +1 -1
  412. package/lib/types/src/di.stub.d.ts.map +1 -1
  413. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  414. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  415. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  416. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  417. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +10 -5
  418. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  419. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -1
  420. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  421. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +4 -2
  422. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  423. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -1
  424. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  425. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -1
  426. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  427. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +5 -5
  428. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -1
  429. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +2 -11
  430. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  431. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +2 -46
  432. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  433. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +3 -9
  434. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  435. package/lib/types/src/internal/manager-api/model/Const.d.ts +0 -1
  436. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  437. package/lib/types/src/internal/manager-api/model/Errors.d.ts +0 -6
  438. package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
  439. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +4 -0
  440. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  441. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  442. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  443. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  444. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  445. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  446. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  447. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  448. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  449. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  450. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  451. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  452. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  453. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  454. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  455. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  456. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  457. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  458. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +8 -0
  459. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  460. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  461. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +20 -0
  462. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  463. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  464. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  465. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +20 -0
  466. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  467. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
  468. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  469. package/lib/types/src/internal/transport/service/TransportService.d.ts +2 -0
  470. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  471. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +7 -6
  472. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  473. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  474. package/package.json +8 -7
  475. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +0 -1
  476. /package/lib/cjs/src/internal/{manager-api → secure-channel}/model/Params.js +0 -0
  477. /package/lib/esm/src/{internal/manager-api/model/Params.js.map → api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map} +0 -0
  478. /package/lib/esm/src/internal/{manager-api → secure-channel}/model/Params.js +0 -0
  479. /package/lib/types/src/internal/{manager-api → secure-channel}/model/Params.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- import{Subject as u}from"rxjs";import{deviceModelStubBuilder as A}from"../../../api/device-model/model/DeviceModel.stub";import{DefaultTransportService as x}from"../../transport/service/DefaultTransportService";import{ListenToKnownDevicesUseCase as d}from"./ListenToKnownDevicesUseCase";jest.mock("@internal/transport/service/DefaultTransportService");let c;function m(e){return{listenToKnownDevices:jest.fn(),connect:jest.fn(),disconnect:jest.fn(),startDiscovering:jest.fn(),stopDiscovering:jest.fn(),getIdentifier:jest.fn(),isSupported:jest.fn(),...e}}const l=A();function s(e){return{id:e,model:l.id,name:l.productName}}function v(){const e=new u,t=new u,r=m({listenToKnownDevices:()=>e.asObservable()}),o=m({listenToKnownDevices:()=>t.asObservable()});return{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:t,transportA:r,transportB:o}}function i(e){return{id:e,deviceModel:l,transport:"mock"}}describe("ListenToKnownDevicesUseCase",()=>{beforeEach(()=>{jest.clearAllMocks(),c=new x}),describe("when no transports are available",()=>{it("should return no discovered devices",e=>{jest.spyOn(c,"getAllTransports").mockReturnValue([]);const t=new d(c),r=[];t.execute().subscribe({next:o=>{r.push(o)},complete:()=>{try{expect(r).toEqual([[]]),e()}catch(o){e(o)}},error:o=>{e(o)}})})}),describe("when one transport is available",()=>{it("should return discovered devices from one transport",()=>{const{transportA:e,transportAKnownDevicesSubject:t}=v();jest.spyOn(c,"getAllTransports").mockReturnValue([e]);const r=[];new d(c).execute().subscribe(o=>{r.push(o)}),t.next([i("transportA-device1")]),expect(r[0]).toEqual([{id:"transportA-device1",deviceModel:s("transportA-device1"),transport:"mock"}]),t.next([i("transportA-device1"),i("transportA-device2")]),expect(r[1]).toEqual([{id:"transportA-device1",deviceModel:s("transportA-device1"),transport:"mock"},{id:"transportA-device2",deviceModel:s("transportA-device2"),transport:"mock"}]),t.next([i("transportA-device2")]),expect(r[2]).toEqual([{id:"transportA-device2",deviceModel:s("transportA-device2"),transport:"mock"}]),t.next([]),expect(r[3]).toEqual([])})}),describe("when multiple transports are available",()=>{it("should return discovered devices from one of the transports as soon as it emits",()=>{const{transportAKnownDevicesSubject:e,transportA:t,transportB:r}=v();jest.spyOn(c,"getAllTransports").mockReturnValue([t,r]);const o=[],n=jest.fn(),a=jest.fn();new d(c).execute().subscribe({next:p=>{o.push(p)},error:n,complete:a}),e.next([i("transportA-device1")]),expect(o[0]).toEqual([{id:"transportA-device1",deviceModel:s("transportA-device1"),transport:"mock"}]),e.complete(),expect(n).not.toHaveBeenCalled(),expect(a).not.toHaveBeenCalled()}),it("should combine discovered devices from multiple transports",()=>{const{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:t,transportA:r,transportB:o}=v(),n=[];jest.spyOn(c,"getAllTransports").mockReturnValue([r,o]);const a=jest.fn(),p=jest.fn();new d(c).execute().subscribe({next:D=>{n.push(D)},error:a,complete:p}),e.next([i("transportA-device1")]),expect(n[0]).toEqual([{id:"transportA-device1",deviceModel:s("transportA-device1"),transport:"mock"}]),t.next([i("transportB-device1")]),expect(n[1]).toEqual([{id:"transportA-device1",deviceModel:s("transportA-device1"),transport:"mock"},{id:"transportB-device1",deviceModel:s("transportB-device1"),transport:"mock"}]),t.next([i("transportB-device1"),i("transportB-device2")]),expect(n[2]).toEqual([{id:"transportA-device1",deviceModel:s("transportA-device1"),transport:"mock"},{id:"transportB-device1",deviceModel:s("transportB-device1"),transport:"mock"},{id:"transportB-device2",deviceModel:s("transportB-device2"),transport:"mock"}]),e.next([]),expect(n[3]).toEqual([{id:"transportB-device1",deviceModel:s("transportB-device1"),transport:"mock"},{id:"transportB-device2",deviceModel:s("transportB-device2"),transport:"mock"}]),e.complete(),expect(a).not.toHaveBeenCalled(),expect(p).not.toHaveBeenCalled(),t.next([]),expect(n[4]).toEqual([]),t.complete(),expect(a).not.toHaveBeenCalled(),expect(p).toHaveBeenCalled()})})});
1
+ import{Subject as u}from"rxjs";import{DeviceModel as b}from"../../../api/device/DeviceModel";import{deviceModelStubBuilder as A}from"../../../api/device-model/model/DeviceModel.stub";import{DefaultTransportService as x}from"../../transport/service/DefaultTransportService";import{ListenToKnownDevicesUseCase as d}from"./ListenToKnownDevicesUseCase";vi.mock("@internal/transport/service/DefaultTransportService");let s;function m(e){return{listenToKnownDevices:vi.fn(),connect:vi.fn(),disconnect:vi.fn(),startDiscovering:vi.fn(),stopDiscovering:vi.fn(),getIdentifier:vi.fn(),isSupported:vi.fn(),...e}}const l=A();function n(e){return new b({id:e,model:l.id,name:l.productName})}function p(){const e=new u,t=new u,o=m({listenToKnownDevices:()=>e.asObservable()}),a=m({listenToKnownDevices:()=>t.asObservable()});return{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:t,transportA:o,transportB:a}}function c(e){return{id:e,deviceModel:l,transport:"mock"}}describe("ListenToKnownDevicesUseCase",()=>{beforeEach(()=>{vi.clearAllMocks(),s=new x}),describe("when no transports are available",()=>{it("should return no discovered devices",()=>new Promise((e,t)=>{vi.spyOn(s,"getAllTransports").mockReturnValue([]);const o=new d(s),a=[];o.execute().subscribe({next:r=>{a.push(r)},complete:()=>{try{expect(a).toEqual([[]]),e()}catch(r){t(r)}},error:r=>{t(r)}})}))}),describe("when one transport is available",()=>{it("should return discovered devices from one transport",()=>{const{transportA:e,transportAKnownDevicesSubject:t}=p();vi.spyOn(s,"getAllTransports").mockReturnValue([e]);const o=[];new d(s).execute().subscribe(a=>{o.push(a)}),t.next([c("transportA-device1")]),expect(o[0]).toEqual([{id:"transportA-device1",available:!0,deviceModel:n("transportA-device1"),name:"Ledger Nano X",transport:"mock"}]),t.next([c("transportA-device1"),c("transportA-device2")]),expect(o[1]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",available:!0,name:"Ledger Nano X"},{id:"transportA-device2",deviceModel:n("transportA-device2"),transport:"mock",available:!0,name:"Ledger Nano X"}]),t.next([c("transportA-device2")]),expect(o[2]).toEqual([{id:"transportA-device2",deviceModel:n("transportA-device2"),transport:"mock",available:!0,name:"Ledger Nano X"}]),t.next([]),expect(o[3]).toEqual([])})}),describe("when multiple transports are available",()=>{it("should return discovered devices from one of the transports as soon as it emits",()=>{const{transportAKnownDevicesSubject:e,transportA:t,transportB:o}=p();vi.spyOn(s,"getAllTransports").mockReturnValue([t,o]);const a=[],r=vi.fn(),i=vi.fn();new d(s).execute().subscribe({next:v=>{a.push(v)},error:r,complete:i}),e.next([c("transportA-device1")]),expect(a[0]).toEqual([{id:"transportA-device1",available:!0,deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X"}]),e.complete(),expect(r).not.toHaveBeenCalled(),expect(i).not.toHaveBeenCalled()}),it("should combine discovered devices from multiple transports",()=>{const{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:t,transportA:o,transportB:a}=p(),r=[];vi.spyOn(s,"getAllTransports").mockReturnValue([o,a]);const i=vi.fn(),v=vi.fn();new d(s).execute().subscribe({next:D=>{r.push(D)},error:i,complete:v}),e.next([c("transportA-device1")]),expect(r[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",available:!0,name:"Ledger Nano X"}]),t.next([c("transportB-device1")]),expect(r[1]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",available:!0,name:"Ledger Nano X"},{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",available:!0,name:"Ledger Nano X"}]),t.next([c("transportB-device1"),c("transportB-device2")]),expect(r[2]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",available:!0,name:"Ledger Nano X"},{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",available:!0,name:"Ledger Nano X"},{id:"transportB-device2",deviceModel:n("transportB-device2"),transport:"mock",available:!0,name:"Ledger Nano X"}]),e.next([]),expect(r[3]).toEqual([{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",available:!0,name:"Ledger Nano X"},{id:"transportB-device2",deviceModel:n("transportB-device2"),transport:"mock",available:!0,name:"Ledger Nano X"}]),e.complete(),expect(i).not.toHaveBeenCalled(),expect(v).not.toHaveBeenCalled(),t.next([]),expect(r[4]).toEqual([]),t.complete(),expect(i).not.toHaveBeenCalled(),expect(v).toHaveBeenCalled()})})});
2
2
  //# sourceMappingURL=ListenToKnownDevicesUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.ts"],
4
- "sourcesContent": ["import { Subject } from \"rxjs\";\n\nimport { type DeviceId, type DeviceModel } from \"@api/device/DeviceModel\";\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { type DiscoveredDevice, type Transport } from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ListenToKnownDevicesUseCase } from \"./ListenToKnownDevicesUseCase\";\n\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transportService: TransportService;\nfunction makeMockTransport(props: Partial<Transport>): Transport {\n return {\n listenToKnownDevices: jest.fn(),\n connect: jest.fn(),\n disconnect: jest.fn(),\n startDiscovering: jest.fn(),\n stopDiscovering: jest.fn(),\n getIdentifier: jest.fn(),\n isSupported: jest.fn(),\n ...props,\n };\n}\n\nconst mockInternalDeviceModel = deviceModelStubBuilder();\nfunction makeMockDeviceModel(id: DeviceId): DeviceModel {\n return {\n id,\n model: mockInternalDeviceModel.id,\n name: mockInternalDeviceModel.productName,\n };\n}\n\nfunction setup2MockTransports() {\n const transportAKnownDevicesSubject = new Subject<\n TransportDiscoveredDevice[]\n >();\n const transportBKnownDevicesSubject = new Subject<\n TransportDiscoveredDevice[]\n >();\n const transportA = makeMockTransport({\n listenToKnownDevices: () => transportAKnownDevicesSubject.asObservable(),\n });\n const transportB = makeMockTransport({\n listenToKnownDevices: () => transportBKnownDevicesSubject.asObservable(),\n });\n return {\n transportAKnownDevicesSubject,\n transportBKnownDevicesSubject,\n transportA,\n transportB,\n };\n}\n\nfunction makeMockTransportDiscoveredDevice(\n id: string,\n): TransportDiscoveredDevice {\n return {\n id,\n deviceModel: mockInternalDeviceModel,\n transport: \"mock\",\n };\n}\n\ndescribe(\"ListenToKnownDevicesUseCase\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n describe(\"when no transports are available\", () => {\n it(\"should return no discovered devices\", (done) => {\n jest.spyOn(transportService, \"getAllTransports\").mockReturnValue([]);\n\n const useCase = new ListenToKnownDevicesUseCase(transportService);\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n useCase.execute().subscribe({\n next: (devices) => {\n observedDiscoveredDevices.push(devices);\n },\n complete: () => {\n try {\n expect(observedDiscoveredDevices).toEqual([[]]);\n done();\n } catch (error) {\n done(error);\n }\n },\n error: (error) => {\n done(error);\n },\n });\n });\n });\n\n describe(\"when one transport is available\", () => {\n it(\"should return discovered devices from one transport\", () => {\n const { transportA, transportAKnownDevicesSubject } =\n setup2MockTransports();\n\n jest\n .spyOn(transportService, \"getAllTransports\")\n .mockReturnValue([transportA]);\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n new ListenToKnownDevicesUseCase(transportService)\n .execute()\n .subscribe((devices) => {\n observedDiscoveredDevices.push(devices);\n });\n\n // When transportA emits 1 known device\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[0]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n },\n ]);\n\n // When transportA emits 2 known devices\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n makeMockTransportDiscoveredDevice(\"transportA-device2\"),\n ]);\n\n expect(observedDiscoveredDevices[1]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n },\n {\n id: \"transportA-device2\",\n deviceModel: makeMockDeviceModel(\"transportA-device2\"),\n transport: \"mock\",\n },\n ]);\n\n // When transportA emits 1 known device (device1 disconnects)\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device2\"),\n ]);\n\n expect(observedDiscoveredDevices[2]).toEqual([\n {\n id: \"transportA-device2\",\n deviceModel: makeMockDeviceModel(\"transportA-device2\"),\n transport: \"mock\",\n },\n ]);\n\n // When transportA emits 0 known devices (device2 disconnects)\n transportAKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[3]).toEqual([]);\n });\n });\n\n describe(\"when multiple transports are available\", () => {\n it(\"should return discovered devices from one of the transports as soon as it emits\", () => {\n const { transportAKnownDevicesSubject, transportA, transportB } =\n setup2MockTransports();\n\n jest\n .spyOn(transportService, \"getAllTransports\")\n .mockReturnValue([transportA, transportB]);\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n\n const onError = jest.fn();\n const onComplete = jest.fn();\n\n new ListenToKnownDevicesUseCase(transportService).execute().subscribe({\n next: (devices) => {\n observedDiscoveredDevices.push(devices);\n },\n error: onError,\n complete: onComplete,\n });\n\n // When transportA emits 1 known device\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[0]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n },\n ]);\n\n // When transport A listen observable completes\n transportAKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).not.toHaveBeenCalled(); // Should not complete yet because transportB has not completed\n });\n\n it(\"should combine discovered devices from multiple transports\", () => {\n const {\n transportAKnownDevicesSubject,\n transportBKnownDevicesSubject,\n transportA,\n transportB,\n } = setup2MockTransports();\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n\n jest\n .spyOn(transportService, \"getAllTransports\")\n .mockReturnValue([transportA, transportB]);\n\n const onError = jest.fn();\n const onComplete = jest.fn();\n new ListenToKnownDevicesUseCase(transportService).execute().subscribe({\n next: (devices) => {\n observedDiscoveredDevices.push(devices);\n },\n error: onError,\n complete: onComplete,\n });\n\n // When transportA emits 1 known device\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[0]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n },\n ]);\n\n // When transportB emits 1 known device\n transportBKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportB-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[1]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n },\n ]);\n\n // When transportB emits 2 known devices\n transportBKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportB-device1\"),\n makeMockTransportDiscoveredDevice(\"transportB-device2\"),\n ]);\n\n expect(observedDiscoveredDevices[2]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n },\n ]);\n\n // When transportA emits 0 known devices\n transportAKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[3]).toEqual([\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n },\n ]);\n\n // When transport A listen observable completes\n transportAKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).not.toHaveBeenCalled(); // Should not complete yet because transportB has not completed\n\n // When transport B emits 0 known devices\n transportBKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[4]).toEqual([]);\n\n // When transport B listen observable completes\n transportBKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).toHaveBeenCalled(); // Should complete now because all transports have completed\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["Subject", "deviceModelStubBuilder", "DefaultTransportService", "ListenToKnownDevicesUseCase", "transportService", "makeMockTransport", "props", "mockInternalDeviceModel", "makeMockDeviceModel", "id", "setup2MockTransports", "transportAKnownDevicesSubject", "transportBKnownDevicesSubject", "transportA", "transportB", "makeMockTransportDiscoveredDevice", "done", "useCase", "observedDiscoveredDevices", "devices", "error", "onError", "onComplete"]
4
+ "sourcesContent": ["import { Subject } from \"rxjs\";\n\nimport { type DeviceId, DeviceModel } from \"@api/device/DeviceModel\";\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { type DiscoveredDevice, type Transport } from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ListenToKnownDevicesUseCase } from \"./ListenToKnownDevicesUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transportService: TransportService;\nfunction makeMockTransport(props: Partial<Transport>): Transport {\n return {\n listenToKnownDevices: vi.fn(),\n connect: vi.fn(),\n disconnect: vi.fn(),\n startDiscovering: vi.fn(),\n stopDiscovering: vi.fn(),\n getIdentifier: vi.fn(),\n isSupported: vi.fn(),\n ...props,\n };\n}\n\nconst mockInternalDeviceModel = deviceModelStubBuilder();\nfunction makeMockDeviceModel(id: DeviceId): DeviceModel {\n return new DeviceModel({\n id,\n model: mockInternalDeviceModel.id,\n name: mockInternalDeviceModel.productName,\n });\n}\n\nfunction setup2MockTransports() {\n const transportAKnownDevicesSubject = new Subject<\n TransportDiscoveredDevice[]\n >();\n const transportBKnownDevicesSubject = new Subject<\n TransportDiscoveredDevice[]\n >();\n const transportA = makeMockTransport({\n listenToKnownDevices: () => transportAKnownDevicesSubject.asObservable(),\n });\n const transportB = makeMockTransport({\n listenToKnownDevices: () => transportBKnownDevicesSubject.asObservable(),\n });\n return {\n transportAKnownDevicesSubject,\n transportBKnownDevicesSubject,\n transportA,\n transportB,\n };\n}\n\nfunction makeMockTransportDiscoveredDevice(\n id: string,\n): TransportDiscoveredDevice {\n return {\n id,\n deviceModel: mockInternalDeviceModel,\n transport: \"mock\",\n };\n}\n\ndescribe(\"ListenToKnownDevicesUseCase\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n describe(\"when no transports are available\", () => {\n it(\"should return no discovered devices\", () =>\n new Promise<void>((resolve, reject) => {\n vi.spyOn(transportService, \"getAllTransports\").mockReturnValue([]);\n\n const useCase = new ListenToKnownDevicesUseCase(transportService);\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n useCase.execute().subscribe({\n next: (devices) => {\n observedDiscoveredDevices.push(devices);\n },\n complete: () => {\n try {\n expect(observedDiscoveredDevices).toEqual([[]]);\n resolve();\n } catch (error) {\n reject(error as Error);\n }\n },\n error: (error) => {\n reject(error);\n },\n });\n }));\n });\n\n describe(\"when one transport is available\", () => {\n it(\"should return discovered devices from one transport\", () => {\n const { transportA, transportAKnownDevicesSubject } =\n setup2MockTransports();\n\n vi.spyOn(transportService, \"getAllTransports\").mockReturnValue([\n transportA,\n ]);\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n new ListenToKnownDevicesUseCase(transportService)\n .execute()\n .subscribe((devices) => {\n observedDiscoveredDevices.push(devices);\n });\n\n // When transportA emits 1 known device\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[0]).toEqual([\n {\n id: \"transportA-device1\",\n available: true,\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n name: \"Ledger Nano X\",\n transport: \"mock\",\n },\n ]);\n\n // When transportA emits 2 known devices\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n makeMockTransportDiscoveredDevice(\"transportA-device2\"),\n ]);\n\n expect(observedDiscoveredDevices[1]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n {\n id: \"transportA-device2\",\n deviceModel: makeMockDeviceModel(\"transportA-device2\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n ]);\n\n // When transportA emits 1 known device (device1 disconnects)\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device2\"),\n ]);\n\n expect(observedDiscoveredDevices[2]).toEqual([\n {\n id: \"transportA-device2\",\n deviceModel: makeMockDeviceModel(\"transportA-device2\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n ]);\n\n // When transportA emits 0 known devices (device2 disconnects)\n transportAKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[3]).toEqual([]);\n });\n });\n\n describe(\"when multiple transports are available\", () => {\n it(\"should return discovered devices from one of the transports as soon as it emits\", () => {\n const { transportAKnownDevicesSubject, transportA, transportB } =\n setup2MockTransports();\n\n vi.spyOn(transportService, \"getAllTransports\").mockReturnValue([\n transportA,\n transportB,\n ]);\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n\n const onError = vi.fn();\n const onComplete = vi.fn();\n\n new ListenToKnownDevicesUseCase(transportService).execute().subscribe({\n next: (devices) => {\n observedDiscoveredDevices.push(devices);\n },\n error: onError,\n complete: onComplete,\n });\n\n // When transportA emits 1 known device\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[0]).toEqual([\n {\n id: \"transportA-device1\",\n available: true,\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n },\n ]);\n\n // When transport A listen observable completes\n transportAKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).not.toHaveBeenCalled(); // Should not complete yet because transportB has not completed\n });\n\n it(\"should combine discovered devices from multiple transports\", () => {\n const {\n transportAKnownDevicesSubject,\n transportBKnownDevicesSubject,\n transportA,\n transportB,\n } = setup2MockTransports();\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n\n vi.spyOn(transportService, \"getAllTransports\").mockReturnValue([\n transportA,\n transportB,\n ]);\n\n const onError = vi.fn();\n const onComplete = vi.fn();\n new ListenToKnownDevicesUseCase(transportService).execute().subscribe({\n next: (devices) => {\n observedDiscoveredDevices.push(devices);\n },\n error: onError,\n complete: onComplete,\n });\n\n // When transportA emits 1 known device\n transportAKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportA-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[0]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n ]);\n\n // When transportB emits 1 known device\n transportBKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportB-device1\"),\n ]);\n\n expect(observedDiscoveredDevices[1]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n ]);\n\n // When transportB emits 2 known devices\n transportBKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportB-device1\"),\n makeMockTransportDiscoveredDevice(\"transportB-device2\"),\n ]);\n\n expect(observedDiscoveredDevices[2]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n ]);\n\n // When transportA emits 0 known devices\n transportAKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[3]).toEqual([\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n available: true,\n name: \"Ledger Nano X\",\n },\n ]);\n\n // When transport A listen observable completes\n transportAKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).not.toHaveBeenCalled(); // Should not complete yet because transportB has not completed\n\n // When transport B emits 0 known devices\n transportBKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[4]).toEqual([]);\n\n // When transport B listen observable completes\n transportBKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).toHaveBeenCalled(); // Should complete now because all transports have completed\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Subject", "DeviceModel", "deviceModelStubBuilder", "DefaultTransportService", "ListenToKnownDevicesUseCase", "transportService", "makeMockTransport", "props", "mockInternalDeviceModel", "makeMockDeviceModel", "id", "setup2MockTransports", "transportAKnownDevicesSubject", "transportBKnownDevicesSubject", "transportA", "transportB", "makeMockTransportDiscoveredDevice", "resolve", "reject", "useCase", "observedDiscoveredDevices", "devices", "error", "onError", "onComplete"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var m=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var c=(i,r,o,t)=>{for(var e=t>1?void 0:t?d(r,o):r,p=i.length-1,n;p>=0;p--)(n=i[p])&&(e=(t?n(r,o,e):n(e))||e);return t&&e&&m(r,o,e),e},a=(i,r)=>(o,t)=>r(o,t,i);import{inject as D,injectable as f}from"inversify";import{map as v,mergeMap as l,of as T}from"rxjs";import{DeviceModel as u}from"../../../api/device/DeviceModel";import{TransportNotSupportedError as g}from"../../../api/transport/model/Errors";import{transportDiTypes as h}from"../../transport/di/transportDiTypes";let s=class{constructor(r){this._transportService=r}mapDiscoveredDevice(r){const o=new u({id:r.id,model:r.deviceModel.id,name:r.deviceModel.productName});return{id:r.id,deviceModel:o,transport:r.transport}}execute({transport:r}){if(!r){const t=this._transportService.getAllTransports();return T(...t).pipe(l(e=>e.startDiscovering().pipe(v(p=>this.mapDiscoveredDevice(p)))))}return this._transportService.getTransport(r).caseOf({Just:t=>t.startDiscovering().pipe(v(e=>this.mapDiscoveredDevice(e))),Nothing:()=>{throw new g(new Error("Unknown transport"))}})}};s=c([f(),a(0,D(h.TransportService))],s);export{s as StartDiscoveringUseCase};
1
+ var v=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var a=(i,r,o,t)=>{for(var e=t>1?void 0:t?d(r,o):r,n=i.length-1,s;n>=0;n--)(s=i[n])&&(e=(t?s(r,o,e):s(e))||e);return t&&e&&v(r,o,e),e},c=(i,r)=>(o,t)=>r(o,t,i);import{inject as D,injectable as l}from"inversify";import{map as m,mergeMap as f,of as u}from"rxjs";import{DeviceModel as T}from"../../../api/device/DeviceModel";import{TransportNotSupportedError as b}from"../../../api/transport/model/Errors";import{transportDiTypes as g}from"../../transport/di/transportDiTypes";let p=class{constructor(r){this._transportService=r}mapDiscoveredDevice(r){const o=new T({id:r.id,model:r.deviceModel.id,name:r.deviceModel.productName});return{id:r.id,deviceModel:o,transport:r.transport,name:r.name||o.name,available:r.available===void 0?!0:r.available}}execute({transport:r}){if(!r){const t=this._transportService.getAllTransports();return u(...t).pipe(f(e=>e.startDiscovering().pipe(m(n=>this.mapDiscoveredDevice(n)))))}return this._transportService.getTransport(r).caseOf({Just:t=>t.startDiscovering().pipe(m(e=>this.mapDiscoveredDevice(e))),Nothing:()=>{throw new b(new Error("Unknown transport"))}})}};p=a([l(),c(0,D(g.TransportService))],p);export{p as StartDiscoveringUseCase};
2
2
  //# sourceMappingURL=StartDiscoveringUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StartDiscoveringUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { map, mergeMap, Observable, of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type StartDiscoveringUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parralel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Starts discovering devices connected.\n *\n * For the WebHID implementation, this use-case needs to be called as a result of an user interaction (button \"click\" event for ex).\n */\n@injectable()\nexport class StartDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private readonly _transportService: TransportService,\n ) {}\n\n private mapDiscoveredDevice(\n device: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: device.id,\n model: device.deviceModel.id,\n name: device.deviceModel.productName,\n });\n return {\n id: device.id,\n deviceModel,\n transport: device.transport,\n };\n }\n\n execute({\n transport,\n }: StartDiscoveringUseCaseArgs): Observable<DiscoveredDevice> {\n if (!transport) {\n const transports = this._transportService.getAllTransports();\n return of(...transports).pipe(\n mergeMap((instance) =>\n instance\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device))),\n ),\n );\n }\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Just: (t) => {\n return t\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device)));\n },\n Nothing: () => {\n throw new TransportNotSupportedError(new Error(\"Unknown transport\"));\n },\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,OAAAC,EAAK,YAAAC,EAAsB,MAAAC,MAAU,OAE9C,OAAS,eAAAC,MAAmB,0BAE5B,OAAS,8BAAAC,MAAkC,8BAG3C,OAAS,oBAAAC,MAAwB,0CAiB1B,IAAMC,EAAN,KAA8B,CACnC,YAEmBC,EACjB,CADiB,uBAAAA,CAChB,CAEK,oBACNC,EACkB,CAClB,MAAMC,EAAc,IAAIC,EAAY,CAClC,GAAIF,EAAO,GACX,MAAOA,EAAO,YAAY,GAC1B,KAAMA,EAAO,YAAY,WAC3B,CAAC,EACD,MAAO,CACL,GAAIA,EAAO,GACX,YAAAC,EACA,UAAWD,EAAO,SACpB,CACF,CAEA,QAAQ,CACN,UAAAG,CACF,EAA8D,CAC5D,GAAI,CAACA,EAAW,CACd,MAAMC,EAAa,KAAK,kBAAkB,iBAAiB,EAC3D,OAAOC,EAAG,GAAGD,CAAU,EAAE,KACvBE,EAAUC,GACRA,EACG,iBAAiB,EACjB,KAAKC,EAAKR,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,CAC3D,CACF,CACF,CAIA,OAFiB,KAAK,kBAAkB,aAAaG,CAAS,EAE9C,OAAO,CACrB,KAAO,GACE,EACJ,iBAAiB,EACjB,KAAKK,EAAKR,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,EAE3D,QAAS,IAAM,CACb,MAAM,IAAIS,EAA2B,IAAI,MAAM,mBAAmB,CAAC,CACrE,CACF,CAAC,CACH,CACF,EAhDaX,EAANY,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAiB,gBAAgB,IAFhChB",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { map, mergeMap, Observable, of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type StartDiscoveringUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parralel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Starts discovering devices connected.\n *\n * For the WebHID implementation, this use-case needs to be called as a result of an user interaction (button \"click\" event for ex).\n */\n@injectable()\nexport class StartDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private readonly _transportService: TransportService,\n ) {}\n\n private mapDiscoveredDevice(\n device: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: device.id,\n model: device.deviceModel.id,\n name: device.deviceModel.productName,\n });\n return {\n id: device.id,\n deviceModel,\n transport: device.transport,\n name: device.name || deviceModel.name,\n available: device.available === undefined ? true : device.available,\n };\n }\n\n execute({\n transport,\n }: StartDiscoveringUseCaseArgs): Observable<DiscoveredDevice> {\n if (!transport) {\n const transports = this._transportService.getAllTransports();\n return of(...transports).pipe(\n mergeMap((instance) =>\n instance\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device))),\n ),\n );\n }\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Just: (t) => {\n return t\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device)));\n },\n Nothing: () => {\n throw new TransportNotSupportedError(new Error(\"Unknown transport\"));\n },\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,OAAAC,EAAK,YAAAC,EAAsB,MAAAC,MAAU,OAE9C,OAAS,eAAAC,MAAmB,0BAE5B,OAAS,8BAAAC,MAAkC,8BAG3C,OAAS,oBAAAC,MAAwB,0CAiB1B,IAAMC,EAAN,KAA8B,CACnC,YAEmBC,EACjB,CADiB,uBAAAA,CAChB,CAEK,oBACNC,EACkB,CAClB,MAAMC,EAAc,IAAIC,EAAY,CAClC,GAAIF,EAAO,GACX,MAAOA,EAAO,YAAY,GAC1B,KAAMA,EAAO,YAAY,WAC3B,CAAC,EACD,MAAO,CACL,GAAIA,EAAO,GACX,YAAAC,EACA,UAAWD,EAAO,UAClB,KAAMA,EAAO,MAAQC,EAAY,KACjC,UAAWD,EAAO,YAAc,OAAY,GAAOA,EAAO,SAC5D,CACF,CAEA,QAAQ,CACN,UAAAG,CACF,EAA8D,CAC5D,GAAI,CAACA,EAAW,CACd,MAAMC,EAAa,KAAK,kBAAkB,iBAAiB,EAC3D,OAAOC,EAAG,GAAGD,CAAU,EAAE,KACvBE,EAAUC,GACRA,EACG,iBAAiB,EACjB,KAAKC,EAAKR,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,CAC3D,CACF,CACF,CAIA,OAFiB,KAAK,kBAAkB,aAAaG,CAAS,EAE9C,OAAO,CACrB,KAAO,GACE,EACJ,iBAAiB,EACjB,KAAKK,EAAKR,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,EAE3D,QAAS,IAAM,CACb,MAAM,IAAIS,EAA2B,IAAI,MAAM,mBAAmB,CAAC,CACrE,CACF,CAAC,CACH,CACF,EAlDaX,EAANY,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAiB,gBAAgB,IAFhChB",
6
6
  "names": ["inject", "injectable", "map", "mergeMap", "of", "DeviceModel", "TransportNotSupportedError", "transportDiTypes", "StartDiscoveringUseCase", "_transportService", "device", "deviceModel", "DeviceModel", "transport", "transports", "of", "mergeMap", "instance", "map", "TransportNotSupportedError", "__decorateClass", "injectable", "__decorateParam", "inject", "transportDiTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Maybe as n}from"purify-ts";import{of as a}from"rxjs";import{DeviceModel as p}from"../../../api/device/DeviceModel";import{TransportMock as d}from"../../../api/transport/model/__mocks__/TransportMock";import{DefaultTransportService as v}from"../../transport/service/DefaultTransportService";import{StartDiscoveringUseCase as m}from"./StartDiscoveringUseCase";jest.mock("@internal/transport/service/DefaultTransportService");let r,t;describe("StartDiscoveringUseCase",()=>{const s={id:"internal-discovered-device-id",deviceModel:{id:"nanoSP",productName:"productName"},transport:"USB"};beforeEach(()=>{r=new d,t=new v}),afterEach(()=>{jest.restoreAllMocks()}),test("If connect use case encounter an error, return it",o=>{const i=jest.fn(()=>a(s));jest.spyOn(r,"startDiscovering").mockImplementation(i),jest.spyOn(t,"getTransport").mockReturnValue(n.of(r));const c=new m(t).execute({transport:"USB"});expect(i).toHaveBeenCalled(),c.subscribe({next:e=>{expect(e).toStrictEqual({id:"internal-discovered-device-id",transport:"USB",deviceModel:new p({id:"internal-discovered-device-id",model:"nanoSP",name:"productName"})}),o()},error:e=>{o(e)}})})});
1
+ import{Maybe as d}from"purify-ts";import{of as p}from"rxjs";import{DeviceModel as v}from"../../../api/device/DeviceModel";import{TransportMock as m}from"../../../api/transport/model/__mocks__/TransportMock";import{DefaultTransportService as l}from"../../transport/service/DefaultTransportService";import{StartDiscoveringUseCase as D}from"./StartDiscoveringUseCase";vi.mock("@internal/transport/service/DefaultTransportService");let r,o;describe("StartDiscoveringUseCase",()=>{const c={id:"internal-discovered-device-id",deviceModel:{id:"nanoSP",productName:"productName"},transport:"USB"};beforeEach(()=>{r=new m,o=new l}),afterEach(()=>{vi.restoreAllMocks()}),test("If connect use case encounter an error, return it",()=>new Promise((s,t)=>{const i=vi.fn(()=>p(c));vi.spyOn(r,"startDiscovering").mockImplementation(i),vi.spyOn(o,"getTransport").mockReturnValue(d.of(r));const n=new D(o).execute({transport:"USB"});expect(i).toHaveBeenCalled(),n.subscribe({next:e=>{try{expect(e).toStrictEqual({id:"internal-discovered-device-id",transport:"USB",available:!0,name:"productName",deviceModel:new v({id:"internal-discovered-device-id",model:"nanoSP",name:"productName"})}),s()}catch(a){t(a)}},error:e=>{t(e)}})}))});
2
2
  //# sourceMappingURL=StartDiscoveringUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StartDiscoveringUseCase.test.ts"],
4
- "sourcesContent": ["import { Maybe } from \"purify-ts\";\nimport { of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport {\n type DeviceModelId,\n type DiscoveredDevice,\n type Transport,\n} from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StartDiscoveringUseCase } from \"./StartDiscoveringUseCase\";\n\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transport: Transport;\nlet transportService: TransportService;\n\ndescribe(\"StartDiscoveringUseCase\", () => {\n const stubDiscoveredDevice: TransportDiscoveredDevice = {\n id: \"internal-discovered-device-id\",\n deviceModel: {\n id: \"nanoSP\" as DeviceModelId,\n productName: \"productName\",\n } as TransportDeviceModel,\n transport: \"USB\",\n };\n\n beforeEach(() => {\n transport = new TransportMock();\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", (done) => {\n const mockedStartDiscovering = jest.fn(() => {\n return of(stubDiscoveredDevice);\n });\n jest\n .spyOn(transport, \"startDiscovering\")\n .mockImplementation(mockedStartDiscovering);\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new StartDiscoveringUseCase(transportService);\n\n const discover = usecase.execute({ transport: \"USB\" });\n\n expect(mockedStartDiscovering).toHaveBeenCalled();\n discover.subscribe({\n next: (discoveredDevice) => {\n expect(discoveredDevice).toStrictEqual({\n id: \"internal-discovered-device-id\",\n transport: \"USB\",\n deviceModel: new DeviceModel({\n id: \"internal-discovered-device-id\",\n model: \"nanoSP\" as DeviceModelId,\n name: \"productName\",\n }),\n } as DiscoveredDevice);\n done();\n },\n error: (error) => {\n done(error);\n },\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,SAAAA,MAAa,YACtB,OAAS,MAAAC,MAAU,OAEnB,OAAS,eAAAC,MAAmB,0BAE5B,OAAS,iBAAAC,MAAqB,+CAO9B,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,2BAAAC,MAA+B,4BAExC,KAAK,KAAK,qDAAqD,EAE/D,IAAIC,EACAC,EAEJ,SAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAkD,CACtD,GAAI,gCACJ,YAAa,CACX,GAAI,SACJ,YAAa,aACf,EACA,UAAW,KACb,EAEA,WAAW,IAAM,CACfF,EAAY,IAAIH,EAEhBI,EAAmB,IAAIH,CACzB,CAAC,EAED,UAAU,IAAM,CACd,KAAK,gBAAgB,CACvB,CAAC,EAED,KAAK,oDAAsDK,GAAS,CAClE,MAAMC,EAAyB,KAAK,GAAG,IAC9BT,EAAGO,CAAoB,CAC/B,EACD,KACG,MAAMF,EAAW,kBAAkB,EACnC,mBAAmBI,CAAsB,EAE5C,KACG,MAAMH,EAAkB,cAAc,EACtC,gBAAgBP,EAAM,GAAGM,CAAS,CAAC,EAItC,MAAMK,EAFU,IAAIN,EAAwBE,CAAgB,EAEnC,QAAQ,CAAE,UAAW,KAAM,CAAC,EAErD,OAAOG,CAAsB,EAAE,iBAAiB,EAChDC,EAAS,UAAU,CACjB,KAAOC,GAAqB,CAC1B,OAAOA,CAAgB,EAAE,cAAc,CACrC,GAAI,gCACJ,UAAW,MACX,YAAa,IAAIV,EAAY,CAC3B,GAAI,gCACJ,MAAO,SACP,KAAM,aACR,CAAC,CACH,CAAqB,EACrBO,EAAK,CACP,EACA,MAAQI,GAAU,CAChBJ,EAAKI,CAAK,CACZ,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["Maybe", "of", "DeviceModel", "TransportMock", "DefaultTransportService", "StartDiscoveringUseCase", "transport", "transportService", "stubDiscoveredDevice", "done", "mockedStartDiscovering", "discover", "discoveredDevice", "error"]
4
+ "sourcesContent": ["import { Maybe } from \"purify-ts\";\nimport { of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport {\n type DeviceModelId,\n type DiscoveredDevice,\n type Transport,\n} from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StartDiscoveringUseCase } from \"./StartDiscoveringUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transport: Transport;\nlet transportService: TransportService;\n\ndescribe(\"StartDiscoveringUseCase\", () => {\n const stubDiscoveredDevice: TransportDiscoveredDevice = {\n id: \"internal-discovered-device-id\",\n deviceModel: {\n id: \"nanoSP\" as DeviceModelId,\n productName: \"productName\",\n } as TransportDeviceModel,\n transport: \"USB\",\n };\n\n beforeEach(() => {\n transport = new TransportMock();\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", () =>\n new Promise<void>((resolve, reject) => {\n const mockedStartDiscovering = vi.fn(() => {\n return of(stubDiscoveredDevice);\n });\n vi.spyOn(transport, \"startDiscovering\").mockImplementation(\n mockedStartDiscovering,\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new StartDiscoveringUseCase(transportService);\n\n const discover = usecase.execute({ transport: \"USB\" });\n\n expect(mockedStartDiscovering).toHaveBeenCalled();\n\n discover.subscribe({\n next: (discoveredDevice) => {\n try {\n expect(discoveredDevice).toStrictEqual({\n id: \"internal-discovered-device-id\",\n transport: \"USB\",\n available: true,\n name: \"productName\",\n deviceModel: new DeviceModel({\n id: \"internal-discovered-device-id\",\n model: \"nanoSP\" as DeviceModelId,\n name: \"productName\",\n }),\n } as DiscoveredDevice);\n resolve();\n } catch (error) {\n reject(error);\n }\n },\n error: (error) => {\n reject(error);\n },\n });\n }));\n});\n"],
5
+ "mappings": "AAAA,OAAS,SAAAA,MAAa,YACtB,OAAS,MAAAC,MAAU,OAEnB,OAAS,eAAAC,MAAmB,0BAE5B,OAAS,iBAAAC,MAAqB,+CAO9B,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,2BAAAC,MAA+B,4BAExC,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EAEJ,SAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAkD,CACtD,GAAI,gCACJ,YAAa,CACX,GAAI,SACJ,YAAa,aACf,EACA,UAAW,KACb,EAEA,WAAW,IAAM,CACfF,EAAY,IAAIH,EAEhBI,EAAmB,IAAIH,CACzB,CAAC,EAED,UAAU,IAAM,CACd,GAAG,gBAAgB,CACrB,CAAC,EAED,KAAK,oDAAqD,IACxD,IAAI,QAAc,CAACK,EAASC,IAAW,CACrC,MAAMC,EAAyB,GAAG,GAAG,IAC5BV,EAAGO,CAAoB,CAC/B,EACD,GAAG,MAAMF,EAAW,kBAAkB,EAAE,mBACtCK,CACF,EAEA,GAAG,MAAMJ,EAAkB,cAAc,EAAE,gBACzCP,EAAM,GAAGM,CAAS,CACpB,EAIA,MAAMM,EAFU,IAAIP,EAAwBE,CAAgB,EAEnC,QAAQ,CAAE,UAAW,KAAM,CAAC,EAErD,OAAOI,CAAsB,EAAE,iBAAiB,EAEhDC,EAAS,UAAU,CACjB,KAAOC,GAAqB,CAC1B,GAAI,CACF,OAAOA,CAAgB,EAAE,cAAc,CACrC,GAAI,gCACJ,UAAW,MACX,UAAW,GACX,KAAM,cACN,YAAa,IAAIX,EAAY,CAC3B,GAAI,gCACJ,MAAO,SACP,KAAM,aACR,CAAC,CACH,CAAqB,EACrBO,EAAQ,CACV,OAASK,EAAO,CACdJ,EAAOI,CAAK,CACd,CACF,EACA,MAAQA,GAAU,CAChBJ,EAAOI,CAAK,CACd,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC",
6
+ "names": ["Maybe", "of", "DeviceModel", "TransportMock", "DefaultTransportService", "StartDiscoveringUseCase", "transport", "transportService", "stubDiscoveredDevice", "resolve", "reject", "mockedStartDiscovering", "discover", "discoveredDevice", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{TransportMock as s}from"../../../api/transport/model/__mocks__/TransportMock";import{DefaultTransportService as n}from"../../transport/service/DefaultTransportService";import{StopDiscoveringUseCase as a}from"./StopDiscoveringUseCase";jest.mock("@internal/transport/service/DefaultTransportService");let e,r,t;describe("StopDiscoveringUseCase",()=>{beforeEach(()=>{e=new s,r=[e],t=new n(r)}),afterEach(()=>{jest.clearAllMocks()}),test("should call stop discovering",()=>{const o=jest.fn();jest.spyOn(e,"stopDiscovering").mockImplementation(o),jest.spyOn(t,"getAllTransports").mockReturnValue(r),new a(t).execute(),expect(o).toHaveBeenCalled()})});
1
+ import{TransportMock as s}from"../../../api/transport/model/__mocks__/TransportMock";import{DefaultTransportService as n}from"../../transport/service/DefaultTransportService";import{StopDiscoveringUseCase as a}from"./StopDiscoveringUseCase";vi.mock("@internal/transport/service/DefaultTransportService");let e,r,t;describe("StopDiscoveringUseCase",()=>{beforeEach(()=>{e=new s,r=[e],t=new n(r)}),afterEach(()=>{vi.clearAllMocks()}),test("should call stop discovering",()=>{const o=vi.fn();vi.spyOn(e,"stopDiscovering").mockImplementation(o),vi.spyOn(t,"getAllTransports").mockReturnValue(r),new a(t).execute(),expect(o).toHaveBeenCalled()})});
2
2
  //# sourceMappingURL=StopDiscoveringUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StopDiscoveringUseCase.test.ts"],
4
- "sourcesContent": ["import { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StopDiscoveringUseCase } from \"./StopDiscoveringUseCase\";\n\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[];\nlet transportService: TransportService;\n\ndescribe(\"StopDiscoveringUseCase\", () => {\n beforeEach(() => {\n transport = new TransportMock();\n transports = [transport];\n // @ts-expect-error mock\n transportService = new DefaultTransportService(transports);\n });\n\n afterEach(() => {\n jest.clearAllMocks();\n });\n\n test(\"should call stop discovering\", () => {\n const mockedStopDiscovering = jest.fn();\n jest\n .spyOn(transport, \"stopDiscovering\")\n .mockImplementation(mockedStopDiscovering);\n\n jest\n .spyOn(transportService, \"getAllTransports\")\n .mockReturnValue(transports);\n\n const usecase = new StopDiscoveringUseCase(transportService);\n\n usecase.execute();\n\n expect(mockedStopDiscovering).toHaveBeenCalled();\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,iBAAAA,MAAqB,+CAE9B,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,0BAAAC,MAA8B,2BAEvC,KAAK,KAAK,qDAAqD,EAG/D,IAAIC,EACAC,EACAC,EAEJ,SAAS,yBAA0B,IAAM,CACvC,WAAW,IAAM,CACfF,EAAY,IAAIH,EAChBI,EAAa,CAACD,CAAS,EAEvBE,EAAmB,IAAIJ,EAAwBG,CAAU,CAC3D,CAAC,EAED,UAAU,IAAM,CACd,KAAK,cAAc,CACrB,CAAC,EAED,KAAK,+BAAgC,IAAM,CACzC,MAAME,EAAwB,KAAK,GAAG,EACtC,KACG,MAAMH,EAAW,iBAAiB,EAClC,mBAAmBG,CAAqB,EAE3C,KACG,MAAMD,EAAkB,kBAAkB,EAC1C,gBAAgBD,CAAU,EAEb,IAAIF,EAAuBG,CAAgB,EAEnD,QAAQ,EAEhB,OAAOC,CAAqB,EAAE,iBAAiB,CACjD,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StopDiscoveringUseCase } from \"./StopDiscoveringUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[];\nlet transportService: TransportService;\n\ndescribe(\"StopDiscoveringUseCase\", () => {\n beforeEach(() => {\n transport = new TransportMock();\n transports = [transport];\n // @ts-expect-error mock\n transportService = new DefaultTransportService(transports);\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n test(\"should call stop discovering\", () => {\n const mockedStopDiscovering = vi.fn();\n vi.spyOn(transport, \"stopDiscovering\").mockImplementation(\n mockedStopDiscovering,\n );\n\n vi.spyOn(transportService, \"getAllTransports\").mockReturnValue(transports);\n\n const usecase = new StopDiscoveringUseCase(transportService);\n\n usecase.execute();\n\n expect(mockedStopDiscovering).toHaveBeenCalled();\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,iBAAAA,MAAqB,+CAE9B,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,0BAAAC,MAA8B,2BAEvC,GAAG,KAAK,qDAAqD,EAG7D,IAAIC,EACAC,EACAC,EAEJ,SAAS,yBAA0B,IAAM,CACvC,WAAW,IAAM,CACfF,EAAY,IAAIH,EAChBI,EAAa,CAACD,CAAS,EAEvBE,EAAmB,IAAIJ,EAAwBG,CAAU,CAC3D,CAAC,EAED,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,KAAK,+BAAgC,IAAM,CACzC,MAAME,EAAwB,GAAG,GAAG,EACpC,GAAG,MAAMH,EAAW,iBAAiB,EAAE,mBACrCG,CACF,EAEA,GAAG,MAAMD,EAAkB,kBAAkB,EAAE,gBAAgBD,CAAU,EAEzD,IAAIF,EAAuBG,CAAgB,EAEnD,QAAQ,EAEhB,OAAOC,CAAqB,EAAE,iBAAiB,CACjD,CAAC,CACH,CAAC",
6
6
  "names": ["TransportMock", "DefaultTransportService", "StopDiscoveringUseCase", "transport", "transports", "transportService", "mockedStopDiscovering"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class r{subscribers=[];_log=jest.fn();info=jest.fn();warn=jest.fn();debug=jest.fn();error=jest.fn()}export{r as DefaultLoggerPublisherServiceStub};
1
+ class r{subscribers=[];_log=vi.fn();info=vi.fn();warn=vi.fn();debug=vi.fn();error=vi.fn()}export{r as DefaultLoggerPublisherServiceStub};
2
2
  //# sourceMappingURL=DefaultLoggerPublisherService.stub.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.ts"],
4
- "sourcesContent": ["import type { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport type { LoggerSubscriberService } from \"@api/logger-subscriber/service/LoggerSubscriberService\";\n\nexport class DefaultLoggerPublisherServiceStub\n implements LoggerPublisherService\n{\n subscribers: LoggerSubscriberService[] = [];\n\n _log = jest.fn();\n info = jest.fn();\n warn = jest.fn();\n debug = jest.fn();\n error = jest.fn();\n}\n"],
5
- "mappings": "AAGO,MAAMA,CAEb,CACE,YAAyC,CAAC,EAE1C,KAAO,KAAK,GAAG,EACf,KAAO,KAAK,GAAG,EACf,KAAO,KAAK,GAAG,EACf,MAAQ,KAAK,GAAG,EAChB,MAAQ,KAAK,GAAG,CAClB",
4
+ "sourcesContent": ["import type { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport type { LoggerSubscriberService } from \"@api/logger-subscriber/service/LoggerSubscriberService\";\n\nexport class DefaultLoggerPublisherServiceStub\n implements LoggerPublisherService\n{\n subscribers: LoggerSubscriberService[] = [];\n\n _log = vi.fn();\n info = vi.fn();\n warn = vi.fn();\n debug = vi.fn();\n error = vi.fn();\n}\n"],
5
+ "mappings": "AAGO,MAAMA,CAEb,CACE,YAAyC,CAAC,EAE1C,KAAO,GAAG,GAAG,EACb,KAAO,GAAG,GAAG,EACb,KAAO,GAAG,GAAG,EACb,MAAQ,GAAG,GAAG,EACd,MAAQ,GAAG,GAAG,CAChB",
6
6
  "names": ["DefaultLoggerPublisherServiceStub"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{LogLevel as l}from"../../../api/logger-subscriber/model/LogLevel";import{ConsoleLogger as c}from"../../../api/logger-subscriber/service/ConsoleLogger";import{DefaultLoggerPublisherService as a}from"./DefaultLoggerPublisherService";jest.mock("@api/logger-subscriber/service/ConsoleLogger");jest.useFakeTimers().setSystemTime(new Date("2024-01-01"));let t,n;const e="message",i="logger-tag",o={data:{key:"value"}},r={tag:i,timestamp:Date.now(),...o};describe("LoggerPublisherService",()=>{beforeEach(()=>{jest.clearAllMocks(),n=new c,t=new a([n],i)}),it("should call subscriber.log with the correct log object",()=>{t.info(e,o),expect(n.log).toHaveBeenCalledWith(l.Info,e,r)}),it("should call subscriber.log with the correct log object when a tag is provided",()=>{const s="new-tag";t.info(e,{...o,tag:s}),expect(n.log).toHaveBeenCalledWith(l.Info,e,{...r,tag:s})}),it("should call subscriber.log with the correct log object when a timestamp is provided",()=>{t.info(e,{...o,timestamp:1}),expect(n.log).toHaveBeenCalledWith(l.Info,e,{...r,timestamp:1})}),it("should call _log with the correct LogLevel",()=>{const s=jest.spyOn(t,"_log").mockImplementation(jest.fn());t.info(e,o),expect(s).toHaveBeenCalledWith(l.Info,e,o)}),it("should have the correct LogLevel",()=>{const s=jest.spyOn(t,"_log").mockImplementation(jest.fn());t.debug(e,o),expect(s).toHaveBeenCalledWith(l.Debug,e,o)}),it("should have the correct LogLevel",()=>{const s=jest.spyOn(t,"_log").mockImplementation(jest.fn());t.warn(e,o),expect(s).toHaveBeenCalledWith(l.Warning,e,o)}),it("should have the correct LogLevel",()=>{const s=jest.spyOn(t,"_log").mockImplementation(jest.fn());t.error(e,o),expect(s).toHaveBeenCalledWith(l.Error,e,o)})});
1
+ import{LogLevel as l}from"../../../api/logger-subscriber/model/LogLevel";import{ConsoleLogger as c}from"../../../api/logger-subscriber/service/ConsoleLogger";import{DefaultLoggerPublisherService as a}from"./DefaultLoggerPublisherService";vi.mock("@api/logger-subscriber/service/ConsoleLogger");vi.useFakeTimers().setSystemTime(new Date("2024-01-01"));let o,s;const e="message",n="logger-tag",t={data:{key:"value"}},r={tag:n,timestamp:Date.now(),...t};describe("LoggerPublisherService",()=>{beforeEach(()=>{vi.clearAllMocks(),s=new c,o=new a([s],n)}),it("should call subscriber.log with the correct log object",()=>{o.info(e,t),expect(s.log).toHaveBeenCalledWith(l.Info,e,r)}),it("should call subscriber.log with the correct log object when a tag is provided",()=>{const i="new-tag";o.info(e,{...t,tag:i}),expect(s.log).toHaveBeenCalledWith(l.Info,e,{...r,tag:i})}),it("should call subscriber.log with the correct log object when a timestamp is provided",()=>{o.info(e,{...t,timestamp:1}),expect(s.log).toHaveBeenCalledWith(l.Info,e,{...r,timestamp:1})}),it("should call _log with the correct LogLevel",()=>{const i=vi.spyOn(o,"_log").mockImplementation(vi.fn());o.info(e,t),expect(i).toHaveBeenCalledWith(l.Info,e,t)}),it("should have the correct LogLevel",()=>{const i=vi.spyOn(o,"_log").mockImplementation(vi.fn());o.debug(e,t),expect(i).toHaveBeenCalledWith(l.Debug,e,t)}),it("should have the correct LogLevel",()=>{const i=vi.spyOn(o,"_log").mockImplementation(vi.fn());o.warn(e,t),expect(i).toHaveBeenCalledWith(l.Warning,e,t)}),it("should have the correct LogLevel",()=>{const i=vi.spyOn(o,"_log").mockImplementation(vi.fn());o.error(e,t),expect(i).toHaveBeenCalledWith(l.Error,e,t)})});
2
2
  //# sourceMappingURL=DefaultLoggerPublisherService.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.ts"],
4
- "sourcesContent": ["import { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nimport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\n\nimport { DefaultLoggerPublisherService } from \"./DefaultLoggerPublisherService\";\n\njest.mock(\"@api/logger-subscriber/service/ConsoleLogger\");\njest.useFakeTimers().setSystemTime(new Date(\"2024-01-01\"));\n\nlet service: DefaultLoggerPublisherService;\nlet subscriber: jest.Mocked<ConsoleLogger>;\nconst message = \"message\";\nconst tag = \"logger-tag\";\nconst options = { data: { key: \"value\" } };\nconst generatedOptions = { tag, timestamp: Date.now(), ...options };\n\ndescribe(\"LoggerPublisherService\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n subscriber = new ConsoleLogger() as jest.Mocked<ConsoleLogger>;\n service = new DefaultLoggerPublisherService([subscriber], tag);\n });\n\n it(\"should call subscriber.log with the correct log object\", () => {\n service.info(message, options);\n expect(subscriber.log).toHaveBeenCalledWith(\n LogLevel.Info,\n message,\n generatedOptions,\n );\n });\n\n it(\"should call subscriber.log with the correct log object when a tag is provided\", () => {\n const newTag = \"new-tag\";\n service.info(message, { ...options, tag: newTag });\n expect(subscriber.log).toHaveBeenCalledWith(LogLevel.Info, message, {\n ...generatedOptions,\n tag: newTag,\n });\n });\n\n it(\"should call subscriber.log with the correct log object when a timestamp is provided\", () => {\n const newTimestamp = 1;\n service.info(message, { ...options, timestamp: newTimestamp });\n expect(subscriber.log).toHaveBeenCalledWith(LogLevel.Info, message, {\n ...generatedOptions,\n timestamp: newTimestamp,\n });\n });\n\n it(\"should call _log with the correct LogLevel\", () => {\n const spy = jest.spyOn(service, \"_log\").mockImplementation(jest.fn());\n\n service.info(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Info, message, options);\n });\n\n it(\"should have the correct LogLevel\", () => {\n const spy = jest.spyOn(service, \"_log\").mockImplementation(jest.fn());\n\n service.debug(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Debug, message, options);\n });\n\n it(\"should have the correct LogLevel\", () => {\n const spy = jest.spyOn(service, \"_log\").mockImplementation(jest.fn());\n\n service.warn(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Warning, message, options);\n });\n\n it(\"should have the correct LogLevel\", () => {\n const spy = jest.spyOn(service, \"_log\").mockImplementation(jest.fn());\n\n service.error(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Error, message, options);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,YAAAA,MAAgB,wCACzB,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,iCAAAC,MAAqC,kCAE9C,KAAK,KAAK,8CAA8C,EACxD,KAAK,cAAc,EAAE,cAAc,IAAI,KAAK,YAAY,CAAC,EAEzD,IAAIC,EACAC,EACJ,MAAMC,EAAU,UACVC,EAAM,aACNC,EAAU,CAAE,KAAM,CAAE,IAAK,OAAQ,CAAE,EACnCC,EAAmB,CAAE,IAAAF,EAAK,UAAW,KAAK,IAAI,EAAG,GAAGC,CAAQ,EAElE,SAAS,yBAA0B,IAAM,CACvC,WAAW,IAAM,CACf,KAAK,cAAc,EACnBH,EAAa,IAAIH,EACjBE,EAAU,IAAID,EAA8B,CAACE,CAAU,EAAGE,CAAG,CAC/D,CAAC,EAED,GAAG,yDAA0D,IAAM,CACjEH,EAAQ,KAAKE,EAASE,CAAO,EAC7B,OAAOH,EAAW,GAAG,EAAE,qBACrBJ,EAAS,KACTK,EACAG,CACF,CACF,CAAC,EAED,GAAG,gFAAiF,IAAM,CACxF,MAAMC,EAAS,UACfN,EAAQ,KAAKE,EAAS,CAAE,GAAGE,EAAS,IAAKE,CAAO,CAAC,EACjD,OAAOL,EAAW,GAAG,EAAE,qBAAqBJ,EAAS,KAAMK,EAAS,CAClE,GAAGG,EACH,IAAKC,CACP,CAAC,CACH,CAAC,EAED,GAAG,sFAAuF,IAAM,CAE9FN,EAAQ,KAAKE,EAAS,CAAE,GAAGE,EAAS,UAAW,CAAa,CAAC,EAC7D,OAAOH,EAAW,GAAG,EAAE,qBAAqBJ,EAAS,KAAMK,EAAS,CAClE,GAAGG,EACH,UAAW,CACb,CAAC,CACH,CAAC,EAED,GAAG,6CAA8C,IAAM,CACrD,MAAME,EAAM,KAAK,MAAMP,EAAS,MAAM,EAAE,mBAAmB,KAAK,GAAG,CAAC,EAEpEA,EAAQ,KAAKE,EAASE,CAAO,EAC7B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,KAAMK,EAASE,CAAO,CAClE,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,MAAMG,EAAM,KAAK,MAAMP,EAAS,MAAM,EAAE,mBAAmB,KAAK,GAAG,CAAC,EAEpEA,EAAQ,MAAME,EAASE,CAAO,EAC9B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,MAAOK,EAASE,CAAO,CACnE,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,MAAMG,EAAM,KAAK,MAAMP,EAAS,MAAM,EAAE,mBAAmB,KAAK,GAAG,CAAC,EAEpEA,EAAQ,KAAKE,EAASE,CAAO,EAC7B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,QAASK,EAASE,CAAO,CACrE,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,MAAMG,EAAM,KAAK,MAAMP,EAAS,MAAM,EAAE,mBAAmB,KAAK,GAAG,CAAC,EAEpEA,EAAQ,MAAME,EAASE,CAAO,EAC9B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,MAAOK,EAASE,CAAO,CACnE,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type Mocked } from \"vitest\";\n\nimport { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nimport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\n\nimport { DefaultLoggerPublisherService } from \"./DefaultLoggerPublisherService\";\n\nvi.mock(\"@api/logger-subscriber/service/ConsoleLogger\");\nvi.useFakeTimers().setSystemTime(new Date(\"2024-01-01\"));\n\nlet service: DefaultLoggerPublisherService;\nlet subscriber: Mocked<ConsoleLogger>;\nconst message = \"message\";\nconst tag = \"logger-tag\";\nconst options = { data: { key: \"value\" } };\nconst generatedOptions = { tag, timestamp: Date.now(), ...options };\n\ndescribe(\"LoggerPublisherService\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n subscriber = new ConsoleLogger() as Mocked<ConsoleLogger>;\n service = new DefaultLoggerPublisherService([subscriber], tag);\n });\n\n it(\"should call subscriber.log with the correct log object\", () => {\n service.info(message, options);\n expect(subscriber.log).toHaveBeenCalledWith(\n LogLevel.Info,\n message,\n generatedOptions,\n );\n });\n\n it(\"should call subscriber.log with the correct log object when a tag is provided\", () => {\n const newTag = \"new-tag\";\n service.info(message, { ...options, tag: newTag });\n expect(subscriber.log).toHaveBeenCalledWith(LogLevel.Info, message, {\n ...generatedOptions,\n tag: newTag,\n });\n });\n\n it(\"should call subscriber.log with the correct log object when a timestamp is provided\", () => {\n const newTimestamp = 1;\n service.info(message, { ...options, timestamp: newTimestamp });\n expect(subscriber.log).toHaveBeenCalledWith(LogLevel.Info, message, {\n ...generatedOptions,\n timestamp: newTimestamp,\n });\n });\n\n it(\"should call _log with the correct LogLevel\", () => {\n const spy = vi.spyOn(service, \"_log\").mockImplementation(vi.fn());\n\n service.info(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Info, message, options);\n });\n\n it(\"should have the correct LogLevel\", () => {\n const spy = vi.spyOn(service, \"_log\").mockImplementation(vi.fn());\n\n service.debug(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Debug, message, options);\n });\n\n it(\"should have the correct LogLevel\", () => {\n const spy = vi.spyOn(service, \"_log\").mockImplementation(vi.fn());\n\n service.warn(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Warning, message, options);\n });\n\n it(\"should have the correct LogLevel\", () => {\n const spy = vi.spyOn(service, \"_log\").mockImplementation(vi.fn());\n\n service.error(message, options);\n expect(spy).toHaveBeenCalledWith(LogLevel.Error, message, options);\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,YAAAA,MAAgB,wCACzB,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,iCAAAC,MAAqC,kCAE9C,GAAG,KAAK,8CAA8C,EACtD,GAAG,cAAc,EAAE,cAAc,IAAI,KAAK,YAAY,CAAC,EAEvD,IAAIC,EACAC,EACJ,MAAMC,EAAU,UACVC,EAAM,aACNC,EAAU,CAAE,KAAM,CAAE,IAAK,OAAQ,CAAE,EACnCC,EAAmB,CAAE,IAAAF,EAAK,UAAW,KAAK,IAAI,EAAG,GAAGC,CAAQ,EAElE,SAAS,yBAA0B,IAAM,CACvC,WAAW,IAAM,CACf,GAAG,cAAc,EACjBH,EAAa,IAAIH,EACjBE,EAAU,IAAID,EAA8B,CAACE,CAAU,EAAGE,CAAG,CAC/D,CAAC,EAED,GAAG,yDAA0D,IAAM,CACjEH,EAAQ,KAAKE,EAASE,CAAO,EAC7B,OAAOH,EAAW,GAAG,EAAE,qBACrBJ,EAAS,KACTK,EACAG,CACF,CACF,CAAC,EAED,GAAG,gFAAiF,IAAM,CACxF,MAAMC,EAAS,UACfN,EAAQ,KAAKE,EAAS,CAAE,GAAGE,EAAS,IAAKE,CAAO,CAAC,EACjD,OAAOL,EAAW,GAAG,EAAE,qBAAqBJ,EAAS,KAAMK,EAAS,CAClE,GAAGG,EACH,IAAKC,CACP,CAAC,CACH,CAAC,EAED,GAAG,sFAAuF,IAAM,CAE9FN,EAAQ,KAAKE,EAAS,CAAE,GAAGE,EAAS,UAAW,CAAa,CAAC,EAC7D,OAAOH,EAAW,GAAG,EAAE,qBAAqBJ,EAAS,KAAMK,EAAS,CAClE,GAAGG,EACH,UAAW,CACb,CAAC,CACH,CAAC,EAED,GAAG,6CAA8C,IAAM,CACrD,MAAME,EAAM,GAAG,MAAMP,EAAS,MAAM,EAAE,mBAAmB,GAAG,GAAG,CAAC,EAEhEA,EAAQ,KAAKE,EAASE,CAAO,EAC7B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,KAAMK,EAASE,CAAO,CAClE,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,MAAMG,EAAM,GAAG,MAAMP,EAAS,MAAM,EAAE,mBAAmB,GAAG,GAAG,CAAC,EAEhEA,EAAQ,MAAME,EAASE,CAAO,EAC9B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,MAAOK,EAASE,CAAO,CACnE,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,MAAMG,EAAM,GAAG,MAAMP,EAAS,MAAM,EAAE,mBAAmB,GAAG,GAAG,CAAC,EAEhEA,EAAQ,KAAKE,EAASE,CAAO,EAC7B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,QAASK,EAASE,CAAO,CACrE,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,MAAMG,EAAM,GAAG,MAAMP,EAAS,MAAM,EAAE,mBAAmB,GAAG,GAAG,CAAC,EAEhEA,EAAQ,MAAME,EAASE,CAAO,EAC9B,OAAOG,CAAG,EAAE,qBAAqBV,EAAS,MAAOK,EAASE,CAAO,CACnE,CAAC,CACH,CAAC",
6
6
  "names": ["LogLevel", "ConsoleLogger", "DefaultLoggerPublisherService", "service", "subscriber", "message", "tag", "options", "generatedOptions", "newTag", "spy"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var b=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var A=(o,t,e,r)=>{for(var a=r>1?void 0:r?y(t,e):t,c=o.length-1,m;c>=0;c--)(m=o[c])&&(a=(r?m(t,e,a):m(a))||a);return r&&a&&b(t,e,a),a},k=(o,t)=>(e,r)=>t(e,r,o);import l from"axios";import{inject as S,injectable as d}from"inversify";import f from"isomorphic-ws";import{EitherAsync as h,Left as g,Right as w}from"purify-ts";import n from"url";import{managerApiTypes as E}from"../../manager-api/di/managerApiTypes";import{AppType as i}from"../../manager-api/model/Application";import{HttpFetchApiError as u,WebSocketConnectionError as W}from"../../manager-api/model/Errors";import{AppTypeDto as p}from"./ManagerApiDto";let s=class{managerApiBaseUrl;webSocketBaseUrl;constructor({managerApiUrl:t,webSocketUrl:e}){this.managerApiBaseUrl=t,this.webSocketBaseUrl=e,console.log(this.webSocketBaseUrl)}getDeviceVersion(t,e){return h(()=>l.get(`${this.managerApiBaseUrl}/get_device_version`,{params:{target_id:t,provider:e}})).map(r=>r.data).mapLeft(r=>new u(r))}getFirmwareVersion(t,e,r){return h(()=>l.get(`${this.managerApiBaseUrl}/get_firmware_version`,{params:{device_version:e,version_name:t,provider:r}})).map(a=>a.data).mapLeft(a=>new u(a))}getAppsByHash(t){return h(()=>l.post(`${this.managerApiBaseUrl}/v2/apps/hash`,t)).map(e=>e.data).map(e=>this.mapApplicationDtoToApplication(e)).mapLeft(e=>new u(e))}genuineCheck(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/genuine`,query:t});return this._connectWebSocket(e)}listInstalledApps(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/apps/list`,query:t});return this._connectWebSocket(e)}updateMcu(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/mcu`,query:t});return this._connectWebSocket(e)}updateFirmware(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:t});return this._connectWebSocket(e)}installApp(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:t});return this._connectWebSocket(e)}uninstallApp(t){const e=n.format({pathname:`${this.webSocketBaseUrl}/install`,query:t});return this._connectWebSocket(e)}_connectWebSocket(t){try{return w(new f(t))}catch(e){return g(new W(e))}}mapAppTypeDtoToAppType(t){switch(t){case p.currency:return i.currency;case p.plugin:return i.plugin;case p.tool:return i.tool;case p.swap:return i.swap}}mapApplicationDtoToApplication(t){return t.map(e=>{if(e===null)return null;const{applicationType:r,...a}=e;return{...a,applicationType:this.mapAppTypeDtoToAppType(r)}})}};s=A([d(),k(0,S(E.DmkConfig))],s);export{s as AxiosManagerApiDataSource};
1
+ var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var y=(i,e,r,t)=>{for(var p=t>1?void 0:t?h(e,r):e,m=i.length-1,s;m>=0;m--)(s=i[m])&&(p=(t?s(e,r,p):s(p))||p);return t&&p&&u(e,r,p),p},g=(i,e)=>(r,t)=>e(r,t,i);import l from"axios";import{inject as f,injectable as v}from"inversify";import{EitherAsync as c}from"purify-ts";import{managerApiTypes as D}from"../../manager-api/di/managerApiTypes";import{AppType as a}from"../../manager-api/model/Application";import{HttpFetchApiError as A}from"../../manager-api/model/Errors";import{AppTypeDto as o}from"./ManagerApiDto";let n=class{managerApiBaseUrl;webSocketBaseUrl;constructor({managerApiUrl:e,webSocketUrl:r}){this.managerApiBaseUrl=e,this.webSocketBaseUrl=r,console.log(this.webSocketBaseUrl)}getDeviceVersion(e,r){return c(()=>l.get(`${this.managerApiBaseUrl}/get_device_version`,{params:{target_id:e,provider:r}})).map(t=>t.data).mapLeft(t=>new A(t))}getFirmwareVersion(e,r,t){return c(()=>l.get(`${this.managerApiBaseUrl}/get_firmware_version`,{params:{device_version:r,version_name:e,provider:t}})).map(p=>p.data).mapLeft(p=>new A(p))}getAppsByHash(e){return c(()=>l.post(`${this.managerApiBaseUrl}/v2/apps/hash`,e)).map(r=>r.data).map(r=>this.mapApplicationDtoToApplication(r)).mapLeft(r=>new A(r))}mapAppTypeDtoToAppType(e){switch(e){case o.currency:return a.currency;case o.plugin:return a.plugin;case o.tool:return a.tool;case o.swap:return a.swap}}mapApplicationDtoToApplication(e){return e.map(r=>{if(r===null)return null;const{applicationType:t,...p}=r;return{...p,applicationType:this.mapAppTypeDtoToAppType(t)}})}};n=y([v(),g(0,f(D.DmkConfig))],n);export{n as AxiosManagerApiDataSource};
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either, EitherAsync, Left, Right } from \"purify-ts\";\nimport URL from \"url\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport {\n HttpFetchApiError,\n WebSocketConnectionError,\n} from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n GenuineCheckParams,\n InstallAppsParams,\n ListInstalledAppsParams,\n UninstallAppsParams,\n UpdateFirmwareParams,\n UpdateMcuParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly managerApiBaseUrl: string;\n private readonly webSocketBaseUrl: string;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, webSocketUrl }: DmkConfig,\n ) {\n this.managerApiBaseUrl = managerApiUrl;\n this.webSocketBaseUrl = webSocketUrl;\n console.log(this.webSocketBaseUrl);\n }\n\n getDeviceVersion(\n targetId: string,\n provider: number,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n return EitherAsync(() =>\n axios.get<DeviceVersion>(`${this.managerApiBaseUrl}/get_device_version`, {\n params: {\n target_id: targetId,\n provider,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n version: string,\n deviceId: number,\n provider: number,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this.managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n hashes: string[],\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this.managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n genuineCheck(\n params: GenuineCheckParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/genuine`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n listInstalledApps(\n params: ListInstalledAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/apps/list`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n updateMcu(\n params: UpdateMcuParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/mcu`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n updateFirmware(\n params: UpdateFirmwareParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n installApp(\n params: InstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n uninstallApp(\n params: UninstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = URL.format({\n pathname: `${this.webSocketBaseUrl}/install`,\n query: params,\n });\n return this._connectWebSocket(address);\n }\n\n _connectWebSocket(\n address: string,\n ): Either<WebSocketConnectionError, WebSocket> {\n try {\n return Right(new WebSocket(address));\n } catch (error) {\n return Left(new WebSocketConnectionError(error));\n }\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n\n const { applicationType, ...rest } = app;\n\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["axios", "inject", "injectable", "WebSocket", "EitherAsync", "Left", "Right", "URL", "managerApiTypes", "AppType", "HttpFetchApiError", "WebSocketConnectionError", "AppTypeDto", "AxiosManagerApiDataSource", "managerApiUrl", "webSocketUrl", "targetId", "provider", "EitherAsync", "axios", "res", "error", "HttpFetchApiError", "version", "deviceId", "hashes", "apps", "params", "address", "URL", "Right", "WebSocket", "Left", "WebSocketConnectionError", "appType", "AppTypeDto", "AppType", "app", "applicationType", "rest", "__decorateClass", "injectable", "__decorateParam", "inject", "managerApiTypes"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly managerApiBaseUrl: string;\n private readonly webSocketBaseUrl: string;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, webSocketUrl }: DmkConfig,\n ) {\n this.managerApiBaseUrl = managerApiUrl;\n this.webSocketBaseUrl = webSocketUrl;\n console.log(this.webSocketBaseUrl);\n }\n\n getDeviceVersion(\n targetId: string,\n provider: number,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n return EitherAsync(() =>\n axios.get<DeviceVersion>(`${this.managerApiBaseUrl}/get_device_version`, {\n params: {\n target_id: targetId,\n provider,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n version: string,\n deviceId: number,\n provider: number,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this.managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n hashes: string[],\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this.managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n\n const { applicationType, ...rest } = app;\n\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAG5B,OAAS,mBAAAC,MAAuB,2CAChC,OAEE,WAAAC,MACK,0CAEP,OAAS,qBAAAC,MAAyB,qCAIlC,OAAyB,cAAAC,MAAkB,kBAGpC,IAAMC,EAAN,KAAgE,CACpD,kBACA,iBAEjB,YAEE,CAAE,cAAAC,EAAe,aAAAC,CAAa,EAC9B,CACA,KAAK,kBAAoBD,EACzB,KAAK,iBAAmBC,EACxB,QAAQ,IAAI,KAAK,gBAAgB,CACnC,CAEA,iBACEC,EACAC,EAC+C,CAC/C,OAAOC,EAAY,IACjBC,EAAM,IAAmB,GAAG,KAAK,iBAAiB,sBAAuB,CACvE,OAAQ,CACN,UAAWH,EACX,SAAAC,CACF,CACF,CAAC,CACH,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,mBACEE,EACAC,EACAP,EAC+C,CAC/C,OAAOC,EAAY,IACjBC,EAAM,IACJ,GAAG,KAAK,iBAAiB,wBACzB,CACE,OAAQ,CACN,eAAgBK,EAChB,aAAcD,EACd,SAAAN,CACF,CACF,CACF,CACF,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,cACEI,EAC2D,CAC3D,OAAOP,EAAY,IACjBC,EAAM,KACJ,GAAG,KAAK,iBAAiB,gBACzBM,CACF,CACF,EACG,IAAKL,GAAQA,EAAI,IAAI,EACrB,IAAKM,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASL,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEQ,uBAAuBM,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAKC,EAAW,SACd,OAAOC,EAAQ,SACjB,KAAKD,EAAW,OACd,OAAOC,EAAQ,OACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,KACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,IACnB,CACF,CAEQ,+BACNH,EAC2B,CAC3B,OAAOA,EAAK,IAAKI,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAGT,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EAErC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EA7FalB,EAANoB,EAAA,CADNC,EAAW,EAMPC,EAAA,EAAAC,EAAOC,EAAgB,SAAS,IALxBxB",
6
+ "names": ["axios", "inject", "injectable", "EitherAsync", "managerApiTypes", "AppType", "HttpFetchApiError", "AppTypeDto", "AxiosManagerApiDataSource", "managerApiUrl", "webSocketUrl", "targetId", "provider", "EitherAsync", "axios", "res", "error", "HttpFetchApiError", "version", "deviceId", "hashes", "apps", "appType", "AppTypeDto", "AppType", "app", "applicationType", "rest", "__decorateClass", "injectable", "__decorateParam", "inject", "managerApiTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import s from"axios";import l from"isomorphic-ws";import{Left as n,Right as r}from"purify-ts";import{BTC_APP as i,BTC_APP_METADATA as c,CUSTOM_LOCK_SCREEN_APP as w,CUSTOM_LOCK_SCREEN_APP_METADATA as u}from"../../../api/device-action/__test-utils__/data";import{HttpFetchApiError as p,WebSocketConnectionError as k}from"../../manager-api/model/Errors";import{AxiosManagerApiDataSource as o}from"./AxiosManagerApiDataSource";jest.mock("axios");jest.mock("isomorphic-ws",()=>jest.fn().mockImplementationOnce(()=>{}).mockImplementationOnce(()=>{throw new Error("WebSocket connection failed")}));const m={id:17,target_id:"857735172"},h={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppsByHash",()=>{describe("success cases",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{jest.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{jest.spyOn(s,"post").mockResolvedValue({data:[c]});const t=[i.appFullHash],a=await e.getAppsByHash(t);expect(a).toEqual(r([c]))}),it("with no apps, should return an empty list",async()=>{jest.spyOn(s,"post").mockResolvedValue({data:[]});const t=[],a=await e.getAppsByHash(t);expect(a).toEqual(r([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{jest.spyOn(s,"post").mockResolvedValue({data:[c,u]});const t=[i.appFullHash,w.appFullHash],a=await e.getAppsByHash(t);expect(a).toEqual(r([c,u]))})}),describe("error cases",()=>{afterEach(()=>{jest.clearAllMocks()}),it("should throw an error if the request fails",()=>{const e=new o({}),t=new Error("fetch error");jest.spyOn(s,"post").mockRejectedValue(t);const a=[i.appFullHash],d=e.getAppsByHash(a);expect(d).resolves.toEqual(n(new p(t)))})})}),describe("getDeviceVersion",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{jest.clearAllMocks()}),it("should return a complete device version",()=>{jest.spyOn(s,"get").mockResolvedValue({data:m});const t=e.getDeviceVersion("targetId",42);expect(t).resolves.toEqual(r(m))}),it("should return an error if the request fails",()=>{const t=new Error("fetch error");jest.spyOn(s,"get").mockRejectedValue(t);const a=e.getDeviceVersion("targetId",42);expect(a).resolves.toEqual(n(new p(t)))})}),describe("getFirmwareVersion",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{jest.clearAllMocks()}),it("should return a complete firmware version",()=>{jest.spyOn(s,"get").mockResolvedValue({data:h});const t=e.getFirmwareVersion("versionName",42,21);expect(t).resolves.toEqual(r(h))}),it("should return an error if the request fails",()=>{const t=new Error("fetch error");jest.spyOn(s,"get").mockRejectedValue(t);const a=e.getFirmwareVersion("versionName",42,21);expect(a).resolves.toEqual(n(new p(t)))})}),describe("Secure Channel via WebSocket",()=>{describe("Connection establishment",()=>{afterEach(()=>{jest.clearAllMocks()}),it("should return an error if the WebSocket connection fails",()=>{const t=new o({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(l).toHaveBeenCalledWith("wss://test-websocket-url/test"),expect(t.extract()).toBeInstanceOf(l)}),it("should return an error if the WebSocket connection fails",()=>{const t=new o({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(t.extract()).toBeInstanceOf(k)})}),describe("Connections with different pathname",()=>{let e;beforeEach(()=>{e=new o({webSocketUrl:"wss://test-websocket-url"})}),afterEach(()=>{jest.clearAllMocks()}),it("should call _connectWebSocket with parameters for genuineCheck",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.genuineCheck({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for listInstalledApps",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.listInstalledApps({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/apps/list?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for updateMcu",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.updateMcu({targetId:"targetId",version:"version"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/mcu?targetId=targetId&version=version")}),it("should call _connectWebSocket with parameters for updateFirmware",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.updateFirmware({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey")}),it("should call _connectWebSocket with parameters for installApp",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.installApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",deleteKey:"deleteKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash")}),it("should call _connectWebSocket with parameters for uninstallApp",()=>{jest.spyOn(e,"_connectWebSocket").mockReturnValue(r({})),e.uninstallApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",deleteKey:"deleteKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash")})})})});
1
+ import t from"axios";import{Left as c,Right as a}from"purify-ts";import{BTC_APP as n,BTC_APP_METADATA as o,CUSTOM_LOCK_SCREEN_APP as d,CUSTOM_LOCK_SCREEN_APP_METADATA as l}from"../../../api/device-action/__test-utils__/data";import{HttpFetchApiError as p}from"../../manager-api/model/Errors";import{AxiosManagerApiDataSource as i}from"./AxiosManagerApiDataSource";vi.mock("axios");const h={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppsByHash",()=>{describe("success cases",()=>{let r;beforeEach(()=>{r=new i({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(t,"post").mockResolvedValue({data:[o]});const e=[n.appFullHash],s=await r.getAppsByHash(e);expect(s).toEqual(a([o]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(t,"post").mockResolvedValue({data:[]});const e=[],s=await r.getAppsByHash(e);expect(s).toEqual(a([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(t,"post").mockResolvedValue({data:[o,l]});const e=[n.appFullHash,d.appFullHash],s=await r.getAppsByHash(e);expect(s).toEqual(a([o,l]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",()=>{const r=new i({}),e=new Error("fetch error");vi.spyOn(t,"post").mockRejectedValue(e);const s=[n.appFullHash],m=r.getAppsByHash(s);expect(m).resolves.toEqual(c(new p(e)))})})}),describe("getDeviceVersion",()=>{let r;beforeEach(()=>{r=new i({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",()=>{vi.spyOn(t,"get").mockResolvedValue({data:h});const e=r.getDeviceVersion("targetId",42);expect(e).resolves.toEqual(a(h))}),it("should return an error if the request fails",()=>{const e=new Error("fetch error");vi.spyOn(t,"get").mockRejectedValue(e);const s=r.getDeviceVersion("targetId",42);expect(s).resolves.toEqual(c(new p(e)))})}),describe("getFirmwareVersion",()=>{let r;beforeEach(()=>{r=new i({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",()=>{vi.spyOn(t,"get").mockResolvedValue({data:u});const e=r.getFirmwareVersion("versionName",42,21);expect(e).resolves.toEqual(a(u))}),it("should return an error if the request fails",()=>{const e=new Error("fetch error");vi.spyOn(t,"get").mockRejectedValue(e);const s=r.getFirmwareVersion("versionName",42,21);expect(s).resolves.toEqual(c(new p(e)))})})});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.test.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Left, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport {\n HttpFetchApiError,\n WebSocketConnectionError,\n} from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\njest.mock(\"axios\");\njest.mock(\"isomorphic-ws\", () => {\n // The chained mockImplementationOnce is used to simulate the WebSocket connection success and failure respectively, the order is important\n return jest\n .fn()\n .mockImplementationOnce(() => {})\n .mockImplementationOnce(() => {\n throw new Error(\"WebSocket connection failed\");\n });\n});\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA],\n });\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\n });\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n jest.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n });\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n jest.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = api.getAppsByHash(hashes);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return a complete device version\", () => {\n // given\n jest\n .spyOn(axios, \"get\")\n .mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetDeviceVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n\n const error = new Error(\"fetch error\");\n jest.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return a complete firmware version\", () => {\n // given\n jest\n .spyOn(axios, \"get\")\n .mockResolvedValue({ data: mockGetFirmwareVersion });\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n const error = new Error(\"fetch error\");\n jest.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"Secure Channel via WebSocket\", () => {\n describe(\"Connection establishment\", () => {\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n // then\n expect(WebSocket).toHaveBeenCalledWith(\"wss://test-websocket-url/test\");\n expect(res.extract()).toBeInstanceOf(WebSocket);\n });\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n // then\n expect(res.extract()).toBeInstanceOf(WebSocketConnectionError);\n });\n });\n describe(\"Connections with different pathname\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n });\n afterEach(() => {\n jest.clearAllMocks();\n });\n it(\"should call _connectWebSocket with parameters for genuineCheck\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n // when\n api.genuineCheck({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=targetId&perso=perso\",\n );\n });\n it(\"should call _connectWebSocket with parameters for listInstalledApps\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n // when\n api.listInstalledApps({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/apps/list?targetId=targetId&perso=perso\",\n );\n });\n it(\"should call _connectWebSocket with parameters for updateMcu\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateMcu({\n targetId: \"targetId\",\n version: \"version\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/mcu?targetId=targetId&version=version\",\n );\n });\n it(\"should call _connectWebSocket with parameters for updateFirmware\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateFirmware({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey\",\n );\n });\n it(\"should call _connectWebSocket with parameters for installApp\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n\n // when\n api.installApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n deleteKey: \"deleteKey\",\n hash: \"hash\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash\",\n );\n });\n it(\"should call _connectWebSocket with parameters for uninstallApp\", () => {\n // given\n jest\n .spyOn(api as AxiosManagerApiDataSource, \"_connectWebSocket\")\n .mockReturnValue(Right({} as WebSocket));\n // when\n api.uninstallApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n deleteKey: \"deleteKey\",\n hash: \"hash\",\n });\n // then\n expect(\n (api as AxiosManagerApiDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&deleteKey=deleteKey&hash=hash\",\n );\n });\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["axios", "WebSocket", "Left", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "HttpFetchApiError", "WebSocketConnectionError", "AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "hashes", "apps", "err", "response", "error", "res"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA],\n });\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\n });\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n });\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash(hashes);\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = api.getAppsByHash(hashes);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetDeviceVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getDeviceVersion(\"targetId\", 42);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = api.getFirmwareVersion(\"versionName\", 42, 21);\n\n // then\n expect(response).resolves.toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["axios", "Left", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "HttpFetchApiError", "AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "hashes", "apps", "err", "response", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class t{getDeviceVersion=jest.fn();getFirmwareVersion=jest.fn();getAppsByHash=jest.fn();genuineCheck=jest.fn();listInstalledApps=jest.fn();updateMcu=jest.fn();updateFirmware=jest.fn();installApp=jest.fn();uninstallApp=jest.fn()}export{t as AxiosManagerApiDataSource};
1
+ class a{getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn()}export{a as AxiosManagerApiDataSource};
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getDeviceVersion = jest.fn();\n getFirmwareVersion = jest.fn();\n getAppsByHash = jest.fn();\n genuineCheck = jest.fn();\n listInstalledApps = jest.fn();\n updateMcu = jest.fn();\n updateFirmware = jest.fn();\n installApp = jest.fn();\n uninstallApp = jest.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAA0D,CACrE,iBAAmB,KAAK,GAAG,EAC3B,mBAAqB,KAAK,GAAG,EAC7B,cAAgB,KAAK,GAAG,EACxB,aAAe,KAAK,GAAG,EACvB,kBAAoB,KAAK,GAAG,EAC5B,UAAY,KAAK,GAAG,EACpB,eAAiB,KAAK,GAAG,EACzB,WAAa,KAAK,GAAG,EACrB,aAAe,KAAK,GAAG,CACzB",
4
+ "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAA0D,CACrE,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,CACxB",
6
6
  "names": ["AxiosManagerApiDataSource"]
7
7
  }
@@ -1,2 +1,2 @@
1
- const t="https://manager.api.live.ledger.com/api",e="wss://scriptrunner.api.live.ledger.com/update",_="http://localhost:8080";export{t as DEFAULT_MANAGER_API_BASE_URL,_ as DEFAULT_MOCK_SERVER_BASE_URL,e as DEFAULT_WEB_SOCKET_BASE_URL};
1
+ const t="https://manager.api.live.ledger.com/api",_="http://localhost:8080";export{t as DEFAULT_MANAGER_API_BASE_URL,_ as DEFAULT_MOCK_SERVER_BASE_URL};
2
2
  //# sourceMappingURL=Const.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/model/Const.ts"],
4
- "sourcesContent": ["export const DEFAULT_MANAGER_API_BASE_URL =\n \"https://manager.api.live.ledger.com/api\";\nexport const DEFAULT_WEB_SOCKET_BASE_URL =\n \"wss://scriptrunner.api.live.ledger.com/update\";\nexport const DEFAULT_MOCK_SERVER_BASE_URL = \"http://localhost:8080\";\n"],
5
- "mappings": "AAAO,MAAMA,EACX,0CACWC,EACX,gDACWC,EAA+B",
6
- "names": ["DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_WEB_SOCKET_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL"]
4
+ "sourcesContent": ["export const DEFAULT_MANAGER_API_BASE_URL =\n \"https://manager.api.live.ledger.com/api\";\nexport const DEFAULT_MOCK_SERVER_BASE_URL = \"http://localhost:8080\";\n"],
5
+ "mappings": "AAAO,MAAMA,EACX,0CACWC,EAA+B",
6
+ "names": ["DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class n{constructor(r){this.error=r;this.originalError=r}_tag="FetchError";originalError}class t{constructor(r){this.error=r;this.originalError=r}_tag="WebSocketConnectionError";originalError}export{n as HttpFetchApiError,t as WebSocketConnectionError};
1
+ class t{constructor(r){this.error=r;this.originalError=r}_tag="FetchError";originalError}export{t as HttpFetchApiError};
2
2
  //# sourceMappingURL=Errors.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/model/Errors.ts"],
4
- "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class HttpFetchApiError implements DmkError {\n _tag = \"FetchError\";\n originalError?: unknown;\n\n constructor(public readonly error: unknown) {\n this.originalError = error;\n }\n}\n\nexport class WebSocketConnectionError implements DmkError {\n _tag = \"WebSocketConnectionError\";\n originalError?: unknown;\n\n constructor(public readonly error: unknown) {\n this.originalError = error;\n }\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAAsC,CAIjD,YAA4BC,EAAgB,CAAhB,WAAAA,EAC1B,KAAK,cAAgBA,CACvB,CALA,KAAO,aACP,aAKF,CAEO,MAAMC,CAA6C,CAIxD,YAA4BD,EAAgB,CAAhB,WAAAA,EAC1B,KAAK,cAAgBA,CACvB,CALA,KAAO,2BACP,aAKF",
6
- "names": ["HttpFetchApiError", "error", "WebSocketConnectionError"]
4
+ "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class HttpFetchApiError implements DmkError {\n _tag = \"FetchError\";\n originalError?: unknown;\n\n constructor(public readonly error: unknown) {\n this.originalError = error;\n }\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAAsC,CAIjD,YAA4BC,EAAgB,CAAhB,WAAAA,EAC1B,KAAK,cAAgBA,CACvB,CALA,KAAO,aACP,aAKF",
6
+ "names": ["HttpFetchApiError", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var a=(i,r,o,e)=>{for(var t=e>1?void 0:e?h(r,o):r,s=i.length-1,p;s>=0;s--)(p=i[s])&&(t=(e?p(r,o,t):p(t))||t);return e&&t&&u(r,o,t),t},c=(i,r)=>(o,e)=>r(o,e,i);import{inject as g,injectable as A}from"inversify";import{EitherAsync as f}from"purify-ts";import{managerApiTypes as l}from"../../manager-api/di/managerApiTypes";import{HttpFetchApiError as m}from"../../manager-api/model/Errors";let n=class{constructor(r){this.dataSource=r;this.dataSource=r}getDeviceVersion(r,o){return this.dataSource.getDeviceVersion(r.targetId.toString(),o)}getFirmwareVersion(r,o,e){return this.dataSource.getFirmwareVersion(r.seVersion,o.id,e)}getAppsByHash(r){const o=r.reduce((e,t)=>t.appFullHash?e.concat(t.appFullHash):e,[]);return f(async({fromPromise:e,throwE:t})=>{if(o.length===0)return[];try{return await e(this.dataSource.getAppsByHash(o))}catch(s){return s instanceof m?t(s):t(new m(s))}})}};n=a([A(),c(0,g(l.ManagerApiDataSource))],n);export{n as DefaultManagerApiService};
1
+ var u=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var a=(i,r,o,e)=>{for(var t=e>1?void 0:e?g(r,o):r,s=i.length-1,p;s>=0;s--)(p=i[s])&&(t=(e?p(r,o,t):p(t))||t);return e&&t&&u(r,o,t),t},c=(i,r)=>(o,e)=>r(o,e,i);import{inject as h,injectable as A}from"inversify";import{EitherAsync as f}from"purify-ts";import{managerApiTypes as l}from"../../manager-api/di/managerApiTypes";import{HttpFetchApiError as m}from"../../manager-api/model/Errors";let n=class{constructor(r){this.dataSource=r}getDeviceVersion(r,o){return this.dataSource.getDeviceVersion(r.targetId.toString(),o)}getFirmwareVersion(r,o,e){return this.dataSource.getFirmwareVersion(r.seVersion,o.id,e)}getAppsByHash(r){const o=r.reduce((e,t)=>t.appFullHash?e.concat(t.appFullHash):e,[]);return f(async({fromPromise:e,throwE:t})=>{if(o.length===0)return[];try{return await e(this.dataSource.getAppsByHash(o))}catch(s){return s instanceof m?t(s):t(new m(s))}})}};n=a([A(),c(0,h(l.ManagerApiDataSource))],n);export{n as DefaultManagerApiService};
2
2
  //# sourceMappingURL=DefaultManagerApiService.js.map