@ledgerhq/device-management-kit 0.0.0-develop-20250106155719 → 0.0.0-rnble-transport-20250219100517

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 (521) hide show
  1. package/README.md +27 -31
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/package.json +12 -8
  4. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  6. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +1 -1
  9. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  10. package/lib/cjs/src/api/DmkConfig.js +1 -1
  11. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  12. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  13. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  14. package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
  15. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
  16. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  17. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  18. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  19. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  20. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  21. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  22. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
  23. package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
  24. package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
  25. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  26. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  27. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  28. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  29. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  30. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  31. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  32. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  33. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  34. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  35. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  36. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  37. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  38. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  39. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  40. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  41. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  42. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  43. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  44. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  45. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  46. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  47. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  48. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  49. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  50. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  51. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  52. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  53. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  54. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  55. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  56. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  57. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  58. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  59. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  60. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  61. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  62. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  63. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  64. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  65. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  66. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
  67. package/lib/cjs/src/api/index.js +1 -1
  68. package/lib/cjs/src/api/index.js.map +3 -3
  69. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  70. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  71. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  72. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  73. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  74. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  75. package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
  76. package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
  77. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  78. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  79. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  80. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  81. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  82. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  83. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  84. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  85. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  86. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  87. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  88. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  89. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  90. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  91. package/lib/cjs/src/api/types.js.map +1 -1
  92. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  93. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  94. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  95. package/lib/cjs/src/api/utils/HexaString.js.map +2 -2
  96. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  97. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  98. package/lib/cjs/src/di.js +1 -1
  99. package/lib/cjs/src/di.js.map +3 -3
  100. package/lib/cjs/src/di.stub.js +1 -1
  101. package/lib/cjs/src/di.stub.js.map +2 -2
  102. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  103. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  104. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  105. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  106. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  107. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  108. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  109. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  110. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  111. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  112. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  113. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  114. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  115. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  116. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  117. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  118. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  119. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  120. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  121. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  122. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  123. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  124. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  125. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  126. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  127. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  128. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  129. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  130. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  131. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  132. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  133. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  134. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  135. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  136. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  137. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  138. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  139. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  140. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  141. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  142. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  143. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  144. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  145. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  146. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  147. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  148. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  149. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  150. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  151. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  152. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  153. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  154. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  155. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  156. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  157. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  158. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  159. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  160. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  161. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  162. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  163. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  164. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  165. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  166. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  167. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  168. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  169. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  170. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  171. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  172. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  173. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  174. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  175. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  176. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  177. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  178. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  179. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  180. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  181. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  182. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  183. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  184. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  185. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  186. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  187. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  188. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  189. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  190. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  191. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  192. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  193. package/lib/cjs/src/internal/secure-channel/model/Params.js +2 -0
  194. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +7 -0
  195. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  196. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  197. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  198. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  199. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  200. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  201. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  202. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  203. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  204. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  205. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  206. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  207. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  208. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  209. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  210. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  211. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  212. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  213. package/lib/esm/package.json +12 -8
  214. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  215. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  216. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  217. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  218. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  219. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  220. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  221. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  222. package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
  223. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  224. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  225. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  226. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  227. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  228. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  229. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  230. package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
  231. package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
  232. package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
  233. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  234. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  235. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  236. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  237. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  238. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  239. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  240. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  241. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  242. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  243. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  244. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  245. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  246. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  247. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  248. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  249. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  250. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  251. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  252. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  253. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  254. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  255. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  256. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  257. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  258. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  259. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  260. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  261. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  262. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  263. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  264. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  265. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  266. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  267. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
  268. package/lib/esm/src/api/index.js +1 -1
  269. package/lib/esm/src/api/index.js.map +3 -3
  270. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  271. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  272. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  273. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  274. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  275. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  276. package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
  277. package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
  278. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  279. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  280. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  281. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  282. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  283. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  284. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  285. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  286. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  287. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  288. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  289. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  290. package/lib/esm/src/api/utils/HexaString.js +1 -1
  291. package/lib/esm/src/api/utils/HexaString.js.map +2 -2
  292. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  293. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  294. package/lib/esm/src/di.js +1 -1
  295. package/lib/esm/src/di.js.map +3 -3
  296. package/lib/esm/src/di.stub.js +1 -1
  297. package/lib/esm/src/di.stub.js.map +2 -2
  298. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  299. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  300. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  301. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  302. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  303. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  304. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  305. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  306. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  307. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  308. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  309. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  310. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  311. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  312. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  313. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  314. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  315. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  316. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  317. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  318. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  319. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  320. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  321. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  322. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  323. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  324. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  325. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  326. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  327. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  328. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  329. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  330. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  331. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  332. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  333. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  334. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  335. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  336. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  337. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  338. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  339. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  340. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  341. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  342. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  343. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  344. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  345. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  346. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  347. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  348. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  349. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  350. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  351. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  352. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  353. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  354. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  355. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  356. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  357. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  358. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  359. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  360. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  361. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  362. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  363. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  364. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  365. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  366. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  367. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  368. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  369. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  370. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  371. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  372. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  373. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  374. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  375. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  376. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  377. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  378. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  379. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  380. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  381. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  382. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  383. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  384. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  385. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  386. package/lib/esm/src/internal/secure-channel/model/Params.js +1 -0
  387. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  388. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  389. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  390. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  391. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  392. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  393. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  394. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  395. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  396. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  397. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  398. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  399. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  400. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  401. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  402. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  403. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  404. package/lib/types/src/api/DeviceManagementKit.d.ts +1 -1
  405. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  406. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  407. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  408. package/lib/types/src/api/command/model/CommandResult.d.ts +1 -2
  409. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  410. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  411. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  412. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  413. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  414. package/lib/types/src/api/command/utils/CommandUtils.d.ts +1 -0
  415. package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
  416. package/lib/types/src/api/device-action/DeviceAction.d.ts +6 -1
  417. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  418. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  419. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  420. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  421. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  422. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  423. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  424. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  425. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  426. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  427. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  428. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  429. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  430. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  431. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +1 -0
  432. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  433. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  434. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
  435. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  436. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +5 -0
  437. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  438. package/lib/types/src/api/index.d.ts +3 -0
  439. package/lib/types/src/api/index.d.ts.map +1 -1
  440. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +1 -1
  441. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -1
  442. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
  443. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
  444. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +1 -1
  445. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -1
  446. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +60 -0
  447. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
  448. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
  449. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  450. package/lib/types/src/api/transport/model/Errors.d.ts +41 -26
  451. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  452. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
  453. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  454. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +7 -7
  455. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  456. package/lib/types/src/api/types.d.ts +2 -1
  457. package/lib/types/src/api/types.d.ts.map +1 -1
  458. package/lib/types/src/api/utils/HexaString.d.ts +1 -1
  459. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  460. package/lib/types/src/di.d.ts.map +1 -1
  461. package/lib/types/src/di.stub.d.ts +1 -1
  462. package/lib/types/src/di.stub.d.ts.map +1 -1
  463. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  464. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  465. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  466. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  467. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +10 -5
  468. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  469. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -1
  470. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  471. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +4 -2
  472. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  473. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -1
  474. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  475. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -1
  476. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  477. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +5 -5
  478. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -1
  479. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +4 -3
  480. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  481. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +24 -0
  482. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  483. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +3 -3
  484. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  485. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +4 -0
  486. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  487. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  488. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  489. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  490. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  491. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  492. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  493. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  494. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  495. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  496. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  497. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  498. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  499. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  500. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  501. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  502. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  503. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  504. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +8 -0
  505. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  506. package/lib/types/src/internal/secure-channel/model/Params.d.ts +86 -0
  507. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  508. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +21 -0
  509. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  510. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  511. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  512. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +21 -0
  513. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  514. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
  515. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  516. package/lib/types/src/internal/transport/service/TransportService.d.ts +2 -0
  517. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  518. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +7 -6
  519. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  520. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  521. package/package.json +13 -9
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/di/discoveryModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [jest.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n },\n }),\n );\n });\n\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToKnownDevicesUseCase = container.get(\n discoveryTypes.ListenToKnownDevicesUseCase,\n );\n expect(listenToKnownDevicesUseCase).toBeInstanceOf(\n ListenToKnownDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAA8B,wDAE9BC,EAAyC,uDACzCC,EAA2C,2DAC3CC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA4C,oEAC5CC,EAA4C,oEAC5CC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAAoC,sDACpCC,EAAwC,qDACxCC,EAAuC,kDAEvCC,EAAuC,6BACvCC,EAA+B,4BAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,KAAM,0BAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CD,EAAY,IAAI,YAChBE,EAAY,IAAI,gBAEhBF,EAAU,KACRC,KAEA,uBAAoB,KACpB,4BAAyB,CAAE,KAAM,EAAM,CAAC,KACxC,8BAA2B,KAC3B,0BAAuB,CACrB,WAAY,CAAC,KAAK,GAAG,EAAE,mBAAmB,IAAMC,CAAS,CAAC,CAC5D,CAAC,KACD,2BAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,sBACX,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOD,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxC,iBAAe,uBACjB,EACA,OAAOG,CAAuB,EAAE,eAAe,yBAAuB,EAEtE,MAAMC,EAAyBJ,EAAU,IACvC,iBAAe,sBACjB,EACA,OAAOI,CAAsB,EAAE,eAAe,wBAAsB,EAEpE,MAAMC,EAAoBL,EAAU,IAAI,iBAAe,iBAAiB,EACxE,OAAOK,CAAiB,EAAE,eAAe,mBAAiB,EAE1D,MAAMC,EAAiBN,EAAU,IAAI,iBAAe,cAAc,EAClE,OAAOM,CAAc,EAAE,eAAe,gBAAc,EAEpD,MAAMC,EAA8BP,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOO,CAA2B,EAAE,eAClC,6BACF,EACA,MAAMC,EAA8BR,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClC,6BACF,CACF,CAAC,CACH,CAAC",
6
- "names": ["import_inversify", "import_TransportMock", "import_deviceModelModule", "import_deviceSessionModule", "import_ConnectUseCase", "import_DisconnectUseCase", "import_ListConnectedDevicesUseCase", "import_ListenToKnownDevicesUseCase", "import_StartDiscoveringUseCase", "import_StopDiscoveringUseCase", "import_loggerModule", "import_managerApiModule", "import_transportModule", "import_discoveryModule", "import_discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToKnownDevicesUseCase", "listConnectedDevicesUseCase"]
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DmkConfig, type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { secureChannelModuleFactory } from \"@internal/secure-channel/di/secureChannelModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [vi.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n } as DmkConfig,\n }),\n secureChannelModuleFactory({\n config: {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig,\n }),\n );\n });\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToKnownDevicesUseCase = container.get(\n discoveryTypes.ListenToKnownDevicesUseCase,\n );\n expect(listenToKnownDevicesUseCase).toBeInstanceOf(\n ListenToKnownDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAA8B,wDAE9BC,EAAyC,uDACzCC,EAA2C,2DAC3CC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA4C,oEAC5CC,EAA4C,oEAC5CC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAAoC,sDACpCC,EAAwC,qDACxCC,EAA2C,2DAC3CC,EAAuC,kDAEvCC,EAAuC,6BACvCC,EAA+B,4BAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,KAAM,0BAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CD,EAAY,IAAI,YAChBE,EAAY,IAAI,gBAEhBF,EAAU,KACRC,KAEA,uBAAoB,KACpB,4BAAyB,CAAE,KAAM,EAAM,CAAC,KACxC,8BAA2B,KAC3B,0BAAuB,CACrB,WAAY,CAAC,GAAG,GAAG,EAAE,mBAAmB,IAAMC,CAAS,CAAC,CAC1D,CAAC,KACD,2BAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,sBACX,CACF,CAAC,KACD,8BAA2B,CACzB,OAAQ,CACN,aAAc,2BAChB,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,kCAAmC,IAAM,CAC1C,OAAOD,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxC,iBAAe,uBACjB,EACA,OAAOG,CAAuB,EAAE,eAAe,yBAAuB,EAEtE,MAAMC,EAAyBJ,EAAU,IACvC,iBAAe,sBACjB,EACA,OAAOI,CAAsB,EAAE,eAAe,wBAAsB,EAEpE,MAAMC,EAAoBL,EAAU,IAAI,iBAAe,iBAAiB,EACxE,OAAOK,CAAiB,EAAE,eAAe,mBAAiB,EAE1D,MAAMC,EAAiBN,EAAU,IAAI,iBAAe,cAAc,EAClE,OAAOM,CAAc,EAAE,eAAe,gBAAc,EAEpD,MAAMC,EAA8BP,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOO,CAA2B,EAAE,eAClC,6BACF,EACA,MAAMC,EAA8BR,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClC,6BACF,CACF,CAAC,CACH,CAAC",
6
+ "names": ["import_inversify", "import_TransportMock", "import_deviceModelModule", "import_deviceSessionModule", "import_ConnectUseCase", "import_DisconnectUseCase", "import_ListConnectedDevicesUseCase", "import_ListenToKnownDevicesUseCase", "import_StartDiscoveringUseCase", "import_StopDiscoveringUseCase", "import_loggerModule", "import_managerApiModule", "import_secureChannelModule", "import_transportModule", "import_discoveryModule", "import_discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToKnownDevicesUseCase", "listConnectedDevicesUseCase"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var u=(s,e)=>{for(var o in e)a(s,o,{get:e[o],enumerable:!0})},T=(s,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _(e))!A.call(s,i)&&i!==o&&a(s,i,{get:()=>e[i],enumerable:!(r=S(e,i))||r.enumerable});return s};var E=s=>T(a({},"__esModule",{value:!0}),s),g=(s,e,o,r)=>{for(var i=r>1?void 0:r?S(e,o):e,v=s.length-1,p;v>=0;v--)(p=s[v])&&(i=(r?p(e,o,i):p(i))||i);return r&&i&&a(e,o,i),i},n=(s,e)=>(o,r)=>e(o,r,s);var I={};u(I,{ConnectUseCase:()=>c});module.exports=E(I);var t=require("inversify"),m=require("purify-ts"),d=require("../../../api/transport/model/Errors"),h=require("../../device-session/di/deviceSessionTypes"),D=require("../../device-session/model/DeviceSession"),l=require("../../logger-publisher/di/loggerTypes"),f=require("../../manager-api/di/managerApiTypes"),y=require("../../transport/di/transportDiTypes");let c=class{_transportService;_sessionService;_loggerFactory;_managerApi;_logger;constructor(e,o,r,i){this._sessionService=o,this._transportService=e,this._loggerFactory=r,this._logger=r("ConnectUseCase"),this._managerApi=i}handleDeviceDisconnect(e){this._sessionService.getDeviceSessionByDeviceId(e).map(r=>{this._sessionService.removeDeviceSession(r.id)})}async execute({device:e}){const o=this._transportService.getTransport(e.transport);return m.EitherAsync.liftEither(o.toEither(new d.TransportNotSupportedError(new Error("Unknown transport")))).chain(async r=>r.connect({deviceId:e.id,onDisconnect:i=>this.handleDeviceDisconnect(i)})).ifLeft(r=>{this._logger.error("Error connecting to device",{data:{deviceId:e.id,error:r}})}).map(r=>{const i=new D.DeviceSession({connectedDevice:r},this._loggerFactory,this._managerApi);return this._sessionService.addDeviceSession(i),i.id}).caseOf({Left:r=>{throw r},Right:r=>r})}};c=g([(0,t.injectable)(),n(0,(0,t.inject)(y.transportDiTypes.TransportService)),n(1,(0,t.inject)(h.deviceSessionTypes.DeviceSessionService)),n(2,(0,t.inject)(l.loggerTypes.LoggerPublisherServiceFactory)),n(3,(0,t.inject)(f.managerApiTypes.ManagerApiService))],c);0&&(module.exports={ConnectUseCase});
1
+ "use strict";var v=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var T=(s,e)=>{for(var o in e)v(s,o,{get:e[o],enumerable:!0})},C=(s,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _(e))!A.call(s,i)&&i!==o&&v(s,i,{get:()=>e[i],enumerable:!(r=S(e,i))||r.enumerable});return s};var E=s=>C(v({},"__esModule",{value:!0}),s),m=(s,e,o,r)=>{for(var i=r>1?void 0:r?S(e,o):e,c=s.length-1,p;c>=0;c--)(p=s[c])&&(i=(r?p(e,o,i):p(i))||i);return r&&i&&v(e,o,i),i},t=(s,e)=>(o,r)=>e(o,r,s);var I={};T(I,{ConnectUseCase:()=>a});module.exports=E(I);var n=require("inversify"),g=require("purify-ts"),h=require("../../../api/transport/model/Errors"),l=require("../../device-session/di/deviceSessionTypes"),d=require("../../device-session/model/DeviceSession"),D=require("../../logger-publisher/di/loggerTypes"),y=require("../../manager-api/di/managerApiTypes"),f=require("../../secure-channel/di/secureChannelTypes"),u=require("../../transport/di/transportDiTypes");let a=class{_transportService;_sessionService;_loggerFactory;_managerApi;_secureChannel;_logger;constructor(e,o,r,i,c){this._sessionService=o,this._transportService=e,this._loggerFactory=r,this._logger=r("ConnectUseCase"),this._managerApi=i,this._secureChannel=c}handleDeviceDisconnect(e){this._sessionService.getDeviceSessionByDeviceId(e).map(r=>{this._sessionService.removeDeviceSession(r.id)})}async execute({device:e}){const o=this._transportService.getTransport(e.transport);return g.EitherAsync.liftEither(o.toEither(new h.TransportNotSupportedError(new Error("Unknown transport")))).chain(async r=>r.connect({deviceId:e.id,onDisconnect:i=>this.handleDeviceDisconnect(i)})).ifLeft(r=>{this._logger.error("Error connecting to device",{data:{deviceId:e.id,error:r}})}).map(r=>{const i=new d.DeviceSession({connectedDevice:r},this._loggerFactory,this._managerApi,this._secureChannel);return this._sessionService.addDeviceSession(i),i.id}).caseOf({Left:r=>{throw r},Right:r=>r})}};a=m([(0,n.injectable)(),t(0,(0,n.inject)(u.transportDiTypes.TransportService)),t(1,(0,n.inject)(l.deviceSessionTypes.DeviceSessionService)),t(2,(0,n.inject)(D.loggerTypes.LoggerPublisherServiceFactory)),t(3,(0,n.inject)(y.managerApiTypes.ManagerApiService)),t(4,(0,n.inject)(f.secureChannelTypes.SecureChannelService))],a);0&&(module.exports={ConnectUseCase});
2
2
  //# sourceMappingURL=ConnectUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ConnectUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { DeviceSessionId } from \"@api/device-session/types\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { DeviceId } from \"@api/types\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * The arguments for the ConnectUseCase.\n */\nexport type ConnectUseCaseArgs = {\n /**\n * UUID of the device got from device discovery `StartDiscoveringUseCase`\n */\n device: DiscoveredDevice;\n};\n\n/**\n * Connects to a discovered device.\n */\n@injectable()\nexport class ConnectUseCase {\n private readonly _transportService: TransportService;\n private readonly _sessionService: DeviceSessionService;\n private readonly _loggerFactory: (tag: string) => LoggerPublisherService;\n private readonly _managerApi: ManagerApiService;\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n @inject(managerApiTypes.ManagerApiService)\n managerApi: ManagerApiService,\n ) {\n this._sessionService = sessionService;\n this._transportService = transportService;\n this._loggerFactory = loggerFactory;\n this._logger = loggerFactory(\"ConnectUseCase\");\n this._managerApi = managerApi;\n }\n\n private handleDeviceDisconnect(deviceId: DeviceId) {\n const deviceSessionOrError =\n this._sessionService.getDeviceSessionByDeviceId(deviceId);\n deviceSessionOrError.map((deviceSession) => {\n this._sessionService.removeDeviceSession(deviceSession.id);\n });\n }\n\n async execute({ device }: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n const transport = this._transportService.getTransport(device.transport);\n\n return EitherAsync.liftEither(\n transport.toEither(\n new TransportNotSupportedError(new Error(\"Unknown transport\")),\n ),\n )\n .chain(async (t) => {\n return t.connect({\n deviceId: device.id,\n onDisconnect: (dId) => this.handleDeviceDisconnect(dId),\n });\n })\n .ifLeft((error) => {\n this._logger.error(\"Error connecting to device\", {\n data: { deviceId: device.id, error },\n });\n })\n .map((connectedDevice) => {\n const deviceSession = new DeviceSession(\n { connectedDevice },\n this._loggerFactory,\n this._managerApi,\n );\n this._sessionService.addDeviceSession(deviceSession);\n return deviceSession.id;\n })\n .caseOf({\n Left: (error) => {\n throw error;\n },\n Right: (s) => s,\n });\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA4B,qBAK5BC,EAA2C,uCAE3CC,EAAmC,0DACnCC,EAA8B,wDAE9BC,EAA4B,qDAC5BC,EAAgC,oDAEhCC,EAAiC,mDAiB1B,IAAMC,EAAN,KAAqB,CACT,kBACA,gBACA,eACA,YACA,QAEjB,YAEEC,EAEAC,EAEAC,EAEAC,EACA,CACA,KAAK,gBAAkBF,EACvB,KAAK,kBAAoBD,EACzB,KAAK,eAAiBE,EACtB,KAAK,QAAUA,EAAc,gBAAgB,EAC7C,KAAK,YAAcC,CACrB,CAEQ,uBAAuBC,EAAoB,CAE/C,KAAK,gBAAgB,2BAA2BA,CAAQ,EACrC,IAAKC,GAAkB,CAC1C,KAAK,gBAAgB,oBAAoBA,EAAc,EAAE,CAC3D,CAAC,CACH,CAEA,MAAM,QAAQ,CAAE,OAAAC,CAAO,EAAiD,CACtE,MAAMC,EAAY,KAAK,kBAAkB,aAAaD,EAAO,SAAS,EAEtE,OAAO,cAAY,WACjBC,EAAU,SACR,IAAI,6BAA2B,IAAI,MAAM,mBAAmB,CAAC,CAC/D,CACF,EACG,MAAM,MAAOC,GACLA,EAAE,QAAQ,CACf,SAAUF,EAAO,GACjB,aAAeG,GAAQ,KAAK,uBAAuBA,CAAG,CACxD,CAAC,CACF,EACA,OAAQC,GAAU,CACjB,KAAK,QAAQ,MAAM,6BAA8B,CAC/C,KAAM,CAAE,SAAUJ,EAAO,GAAI,MAAAI,CAAM,CACrC,CAAC,CACH,CAAC,EACA,IAAKC,GAAoB,CACxB,MAAMN,EAAgB,IAAI,gBACxB,CAAE,gBAAAM,CAAgB,EAClB,KAAK,eACL,KAAK,WACP,EACA,YAAK,gBAAgB,iBAAiBN,CAAa,EAC5CA,EAAc,EACvB,CAAC,EACA,OAAO,CACN,KAAOK,GAAU,CACf,MAAMA,CACR,EACA,MAAQE,GAAMA,CAChB,CAAC,CACL,CACF,EAnEab,EAANc,EAAA,IADN,cAAW,EASPC,EAAA,eAAO,mBAAiB,gBAAgB,GAExCA,EAAA,eAAO,qBAAmB,oBAAoB,GAE9CA,EAAA,eAAO,cAAY,6BAA6B,GAEhDA,EAAA,eAAO,kBAAgB,iBAAiB,IAdhCf",
6
- "names": ["ConnectUseCase_exports", "__export", "ConnectUseCase", "__toCommonJS", "import_inversify", "import_purify_ts", "import_Errors", "import_deviceSessionTypes", "import_DeviceSession", "import_loggerTypes", "import_managerApiTypes", "import_transportDiTypes", "ConnectUseCase", "transportService", "sessionService", "loggerFactory", "managerApi", "deviceId", "deviceSession", "device", "transport", "t", "dId", "error", "connectedDevice", "s", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { DeviceSessionId } from \"@api/device-session/types\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { DeviceId } from \"@api/types\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport type { SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * The arguments for the ConnectUseCase.\n */\nexport type ConnectUseCaseArgs = {\n /**\n * UUID of the device got from device discovery `StartDiscoveringUseCase`\n */\n device: DiscoveredDevice;\n};\n\n/**\n * Connects to a discovered device.\n */\n@injectable()\nexport class ConnectUseCase {\n private readonly _transportService: TransportService;\n private readonly _sessionService: DeviceSessionService;\n private readonly _loggerFactory: (tag: string) => LoggerPublisherService;\n private readonly _managerApi: ManagerApiService;\n private readonly _secureChannel: SecureChannelService;\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n @inject(managerApiTypes.ManagerApiService)\n managerApi: ManagerApiService,\n @inject(secureChannelTypes.SecureChannelService)\n secureChannel: SecureChannelService,\n ) {\n this._sessionService = sessionService;\n this._transportService = transportService;\n this._loggerFactory = loggerFactory;\n this._logger = loggerFactory(\"ConnectUseCase\");\n this._managerApi = managerApi;\n this._secureChannel = secureChannel;\n }\n\n private handleDeviceDisconnect(deviceId: DeviceId) {\n const deviceSessionOrError =\n this._sessionService.getDeviceSessionByDeviceId(deviceId);\n deviceSessionOrError.map((deviceSession) => {\n this._sessionService.removeDeviceSession(deviceSession.id);\n });\n }\n\n async execute({ device }: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n const transport = this._transportService.getTransport(device.transport);\n\n return EitherAsync.liftEither(\n transport.toEither(\n new TransportNotSupportedError(new Error(\"Unknown transport\")),\n ),\n )\n .chain(async (t) => {\n return t.connect({\n deviceId: device.id,\n onDisconnect: (dId) => this.handleDeviceDisconnect(dId),\n });\n })\n .ifLeft((error) => {\n this._logger.error(\"Error connecting to device\", {\n data: { deviceId: device.id, error },\n });\n })\n .map((connectedDevice) => {\n const deviceSession = new DeviceSession(\n { connectedDevice },\n this._loggerFactory,\n this._managerApi,\n this._secureChannel,\n );\n this._sessionService.addDeviceSession(deviceSession);\n return deviceSession.id;\n })\n .caseOf({\n Left: (error) => {\n throw error;\n },\n Right: (s) => s,\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA4B,qBAK5BC,EAA2C,uCAE3CC,EAAmC,0DACnCC,EAA8B,wDAE9BC,EAA4B,qDAC5BC,EAAgC,oDAEhCC,EAAmC,0DAEnCC,EAAiC,mDAiB1B,IAAMC,EAAN,KAAqB,CACT,kBACA,gBACA,eACA,YACA,eACA,QAEjB,YAEEC,EAEAC,EAEAC,EAEAC,EAEAC,EACA,CACA,KAAK,gBAAkBH,EACvB,KAAK,kBAAoBD,EACzB,KAAK,eAAiBE,EACtB,KAAK,QAAUA,EAAc,gBAAgB,EAC7C,KAAK,YAAcC,EACnB,KAAK,eAAiBC,CACxB,CAEQ,uBAAuBC,EAAoB,CAE/C,KAAK,gBAAgB,2BAA2BA,CAAQ,EACrC,IAAKC,GAAkB,CAC1C,KAAK,gBAAgB,oBAAoBA,EAAc,EAAE,CAC3D,CAAC,CACH,CAEA,MAAM,QAAQ,CAAE,OAAAC,CAAO,EAAiD,CACtE,MAAMC,EAAY,KAAK,kBAAkB,aAAaD,EAAO,SAAS,EAEtE,OAAO,cAAY,WACjBC,EAAU,SACR,IAAI,6BAA2B,IAAI,MAAM,mBAAmB,CAAC,CAC/D,CACF,EACG,MAAM,MAAOC,GACLA,EAAE,QAAQ,CACf,SAAUF,EAAO,GACjB,aAAeG,GAAQ,KAAK,uBAAuBA,CAAG,CACxD,CAAC,CACF,EACA,OAAQC,GAAU,CACjB,KAAK,QAAQ,MAAM,6BAA8B,CAC/C,KAAM,CAAE,SAAUJ,EAAO,GAAI,MAAAI,CAAM,CACrC,CAAC,CACH,CAAC,EACA,IAAKC,GAAoB,CACxB,MAAMN,EAAgB,IAAI,gBACxB,CAAE,gBAAAM,CAAgB,EAClB,KAAK,eACL,KAAK,YACL,KAAK,cACP,EACA,YAAK,gBAAgB,iBAAiBN,CAAa,EAC5CA,EAAc,EACvB,CAAC,EACA,OAAO,CACN,KAAOK,GAAU,CACf,MAAMA,CACR,EACA,MAAQE,GAAMA,CAChB,CAAC,CACL,CACF,EAxEad,EAANe,EAAA,IADN,cAAW,EAUPC,EAAA,eAAO,mBAAiB,gBAAgB,GAExCA,EAAA,eAAO,qBAAmB,oBAAoB,GAE9CA,EAAA,eAAO,cAAY,6BAA6B,GAEhDA,EAAA,eAAO,kBAAgB,iBAAiB,GAExCA,EAAA,eAAO,qBAAmB,oBAAoB,IAjBtChB",
6
+ "names": ["ConnectUseCase_exports", "__export", "ConnectUseCase", "__toCommonJS", "import_inversify", "import_purify_ts", "import_Errors", "import_deviceSessionTypes", "import_DeviceSession", "import_loggerTypes", "import_managerApiTypes", "import_secureChannelTypes", "import_transportDiTypes", "ConnectUseCase", "transportService", "sessionService", "loggerFactory", "managerApi", "secureChannel", "deviceId", "deviceSession", "device", "transport", "t", "dId", "error", "connectedDevice", "s", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("purify-ts"),f=require("../../../api/transport/model/__mocks__/TransportMock"),c=require("../../../api/transport/model/Errors"),l=require("../../../api/transport/model/TransportConnectedDevice.stub"),u=require("../../device-session/service/DefaultDeviceSessionService"),S=require("../../logger-publisher/service/DefaultLoggerPublisherService"),g=require("../../manager-api/data/AxiosManagerApiDataSource"),D=require("../../manager-api/service/DefaultManagerApiService"),d=require("../../transport/service/DefaultTransportService"),a=require("./ConnectUseCase");jest.mock("uuid",()=>({v4:jest.fn().mockReturnValue("fakeSessionId")}));jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");jest.mock("@internal/transport/service/DefaultTransportService");let o,t,i,r,n,v;const A="fakeSessionId";describe("ConnectUseCase",()=>{const p={id:"",deviceModel:{},transport:"USB"},k=(0,l.connectedDeviceStubBuilder)({id:"1"}),y="logger-tag";beforeAll(()=>{i=new S.DefaultLoggerPublisherService([],y),o=new f.TransportMock,r=new u.DefaultDeviceSessionService(()=>i),v=new g.AxiosManagerApiDataSource({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),n=new D.DefaultManagerApiService(v),t=new d.DefaultTransportService}),afterEach(()=>{for(const s of r.getDeviceSessions())r.removeDeviceSession(s.id)}),afterAll(()=>{jest.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{jest.spyOn(o,"connect").mockResolvedValue((0,e.Left)(new c.UnknownDeviceError)),jest.spyOn(t,"getTransport").mockReturnValue(e.Maybe.of(o));const s=new a.ConnectUseCase(t,r,()=>i,n);await expect(s.execute({device:p})).rejects.toBeInstanceOf(c.UnknownDeviceError)}),test("If connect is in success, return a deviceSession id",async()=>{jest.spyOn(o,"connect").mockResolvedValue(Promise.resolve((0,e.Right)(k))),jest.spyOn(t,"getTransport").mockReturnValue(e.Maybe.of(o));const m=await new a.ConnectUseCase(t,r,()=>i,n).execute({device:p});expect(m).toBe(A),r.removeDeviceSession(m)})});
1
+ "use strict";var e=require("purify-ts"),f=require("../../../api/transport/model/__mocks__/TransportMock"),s=require("../../../api/transport/model/Errors"),S=require("../../../api/transport/model/TransportConnectedDevice.stub"),D=require("../../device-session/service/DefaultDeviceSessionService"),g=require("../../logger-publisher/service/DefaultLoggerPublisherService"),d=require("../../manager-api/data/AxiosManagerApiDataSource"),y=require("../../manager-api/service/DefaultManagerApiService"),k=require("../../secure-channel/data/DefaultSecureChannelDataSource"),C=require("../../secure-channel/service/DefaultSecureChannelService"),w=require("../../transport/service/DefaultTransportService"),p=require("./ConnectUseCase");vi.mock("uuid",()=>({v4:vi.fn().mockReturnValue("fakeSessionId")}));vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");vi.mock("@internal/transport/service/DefaultTransportService");let o,t,n,r,a,u,l,c;const M="fakeSessionId";describe("ConnectUseCase",()=>{const m={id:"",deviceModel:{},transport:"USB",name:"TEST",available:!0},A=(0,S.connectedDeviceStubBuilder)({id:"1"}),h="logger-tag";beforeAll(()=>{n=new g.DefaultLoggerPublisherService([],h),o=new f.TransportMock,r=new D.DefaultDeviceSessionService(()=>n),u=new d.AxiosManagerApiDataSource({}),a=new y.DefaultManagerApiService(u),l=new k.DefaultSecureChannelDataSource({}),c=new C.DefaultSecureChannelService(l),t=new w.DefaultTransportService}),afterEach(()=>{for(const i of r.getDeviceSessions())r.removeDeviceSession(i.id)}),afterAll(()=>{vi.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{vi.spyOn(o,"connect").mockResolvedValue((0,e.Left)(new s.UnknownDeviceError)),vi.spyOn(t,"getTransport").mockReturnValue(e.Maybe.of(o));const i=new p.ConnectUseCase(t,r,()=>n,a,c);await expect(i.execute({device:m})).rejects.toBeInstanceOf(s.UnknownDeviceError)}),test("If connect is in success, return a deviceSession id",async()=>{vi.spyOn(o,"connect").mockResolvedValue((0,e.Right)(A)),vi.spyOn(t,"getTransport").mockReturnValue(e.Maybe.of(o));const v=await new p.ConnectUseCase(t,r,()=>n,a,c).execute({device:m});expect(v).toBe(M),r.removeDeviceSession(v)})});
2
2
  //# sourceMappingURL=ConnectUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ConnectUseCase.test.ts"],
4
- "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { UnknownDeviceError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ConnectUseCase } from \"./ConnectUseCase\";\n\njest.mock(\"uuid\", () => ({\n v4: jest.fn().mockReturnValue(\"fakeSessionId\"),\n}));\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\n// let transports: WebUsbHidTransport[];\nlet transport: Transport;\nlet transportService: TransportService;\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nconst fakeSessionId = \"fakeSessionId\";\ndescribe(\"ConnectUseCase\", () => {\n const stubDiscoveredDevice: DiscoveredDevice = {\n id: \"\",\n deviceModel: {} as DeviceModel,\n transport: \"USB\",\n };\n const stubConnectedDevice = connectedDeviceStubBuilder({ id: \"1\" });\n const tag = \"logger-tag\";\n\n beforeAll(() => {\n logger = new DefaultLoggerPublisherService([], tag);\n transport = new TransportMock();\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n for (const session of sessionService.getDeviceSessions()) {\n sessionService.removeDeviceSession(session.id);\n }\n });\n\n afterAll(() => {\n jest.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Left(new UnknownDeviceError()));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n await expect(\n usecase.execute({ device: stubDiscoveredDevice }),\n ).rejects.toBeInstanceOf(UnknownDeviceError);\n });\n\n test(\"If connect is in success, return a deviceSession id\", async () => {\n jest\n .spyOn(transport, \"connect\")\n .mockResolvedValue(Promise.resolve(Right(stubConnectedDevice)));\n\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n );\n\n const sessionId = await usecase.execute({\n device: stubDiscoveredDevice,\n });\n expect(sessionId).toBe(fakeSessionId);\n sessionService.removeDeviceSession(sessionId);\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAmC,qBAInCC,EAA8B,wDAE9BC,EAAmC,uCACnCC,EAA2C,8DAE3CC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAwC,+DAGxCC,EAA+B,4BAE/B,KAAK,KAAK,OAAQ,KAAO,CACvB,GAAI,KAAK,GAAG,EAAE,gBAAgB,eAAe,CAC/C,EAAE,EAEF,KAAK,KAAK,sDAAsD,EAChE,KAAK,KAAK,qDAAqD,EAI/D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBACtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,KACb,EACMC,KAAsB,8BAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DC,EAAM,aAEZ,UAAU,IAAM,CACdP,EAAS,IAAI,gCAA8B,CAAC,EAAGO,CAAG,EAClDT,EAAY,IAAI,gBAChBG,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,EAC7DG,EAAuB,IAAI,4BAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDD,EAAa,IAAI,2BAAyBC,CAAoB,EAE9DJ,EAAmB,IAAI,yBACzB,CAAC,EAED,UAAU,IAAM,CACd,UAAWS,KAAWP,EAAe,kBAAkB,EACrDA,EAAe,oBAAoBO,EAAQ,EAAE,CAEjD,CAAC,EAED,SAAS,IAAM,CACb,KAAK,gBAAgB,CACvB,CAAC,EAED,KAAK,oDAAqD,SAAY,CACpE,KACG,MAAMV,EAAW,SAAS,EAC1B,qBAAkB,QAAK,IAAI,oBAAoB,CAAC,EAEnD,KACG,MAAMC,EAAkB,cAAc,EACtC,gBAAgB,QAAM,GAAGD,CAAS,CAAC,EAEtC,MAAMW,EAAU,IAAI,iBAClBV,EACAE,EACA,IAAMD,EACNE,CACF,EAEA,MAAM,OACJO,EAAQ,QAAQ,CAAE,OAAQJ,CAAqB,CAAC,CAClD,EAAE,QAAQ,eAAe,oBAAkB,CAC7C,CAAC,EAED,KAAK,sDAAuD,SAAY,CACtE,KACG,MAAMP,EAAW,SAAS,EAC1B,kBAAkB,QAAQ,WAAQ,SAAMQ,CAAmB,CAAC,CAAC,EAEhE,KACG,MAAMP,EAAkB,cAAc,EACtC,gBAAgB,QAAM,GAAGD,CAAS,CAAC,EAStC,MAAMY,EAAY,MAPF,IAAI,iBAClBX,EACAE,EACA,IAAMD,EACNE,CACF,EAEgC,QAAQ,CACtC,OAAQG,CACV,CAAC,EACD,OAAOK,CAAS,EAAE,KAAKN,CAAa,EACpCH,EAAe,oBAAoBS,CAAS,CAC9C,CAAC,CACH,CAAC",
6
- "names": ["import_purify_ts", "import_TransportMock", "import_Errors", "import_TransportConnectedDevice", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultTransportService", "import_ConnectUseCase", "transport", "transportService", "logger", "sessionService", "managerApi", "managerApiDataSource", "fakeSessionId", "stubDiscoveredDevice", "stubConnectedDevice", "tag", "session", "usecase", "sessionId"]
4
+ "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { UnknownDeviceError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ConnectUseCase } from \"./ConnectUseCase\";\n\nvi.mock(\"uuid\", () => ({\n v4: vi.fn().mockReturnValue(\"fakeSessionId\"),\n}));\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\n// let transports: WebUsbHidTransport[];\nlet transport: Transport;\nlet transportService: TransportService;\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"ConnectUseCase\", () => {\n const stubDiscoveredDevice: DiscoveredDevice = {\n id: \"\",\n deviceModel: {} as DeviceModel,\n transport: \"USB\",\n name: \"TEST\",\n available: true,\n };\n const stubConnectedDevice = connectedDeviceStubBuilder({ id: \"1\" });\n const tag = \"logger-tag\";\n\n beforeAll(() => {\n logger = new DefaultLoggerPublisherService([], tag);\n transport = new TransportMock();\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n });\n\n afterEach(() => {\n for (const session of sessionService.getDeviceSessions()) {\n sessionService.removeDeviceSession(session.id);\n }\n });\n\n afterAll(() => {\n vi.restoreAllMocks();\n });\n\n test(\"If connect use case encounter an error, return it\", async () => {\n vi.spyOn(transport, \"connect\").mockResolvedValue(\n Left(new UnknownDeviceError()),\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n secureChannel,\n );\n\n await expect(\n usecase.execute({ device: stubDiscoveredDevice }),\n ).rejects.toBeInstanceOf(UnknownDeviceError);\n });\n\n test(\"If connect is in success, return a deviceSession id\", async () => {\n vi.spyOn(transport, \"connect\").mockResolvedValue(\n Right(stubConnectedDevice),\n );\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n\n const usecase = new ConnectUseCase(\n transportService,\n sessionService,\n () => logger,\n managerApi,\n secureChannel,\n );\n\n const sessionId = await usecase.execute({\n device: stubDiscoveredDevice,\n });\n expect(sessionId).toBe(fakeSessionId);\n sessionService.removeDeviceSession(sessionId);\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAmC,qBAInCC,EAA8B,wDAE9BC,EAAmC,uCACnCC,EAA2C,8DAE3CC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAE5CC,EAAwC,+DAGxCC,EAA+B,4BAE/B,GAAG,KAAK,OAAQ,KAAO,CACrB,GAAI,GAAG,GAAG,EAAE,gBAAgB,eAAe,CAC7C,EAAE,EAEF,GAAG,KAAK,sDAAsD,EAC9D,GAAG,KAAK,qDAAqD,EAI7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBAEtB,SAAS,iBAAkB,IAAM,CAC/B,MAAMC,EAAyC,CAC7C,GAAI,GACJ,YAAa,CAAC,EACd,UAAW,MACX,KAAM,OACN,UAAW,EACb,EACMC,KAAsB,8BAA2B,CAAE,GAAI,GAAI,CAAC,EAC5DC,EAAM,aAEZ,UAAU,IAAM,CACdT,EAAS,IAAI,gCAA8B,CAAC,EAAGS,CAAG,EAClDX,EAAY,IAAI,gBAChBG,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,EAC7DG,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpED,EAAa,IAAI,2BAAyBC,CAAoB,EAC9DC,EAA0B,IAAI,iCAC5B,CAAC,CACH,EACAC,EAAgB,IAAI,8BAA4BD,CAAuB,EAEvEL,EAAmB,IAAI,yBACzB,CAAC,EAED,UAAU,IAAM,CACd,UAAWW,KAAWT,EAAe,kBAAkB,EACrDA,EAAe,oBAAoBS,EAAQ,EAAE,CAEjD,CAAC,EAED,SAAS,IAAM,CACb,GAAG,gBAAgB,CACrB,CAAC,EAED,KAAK,oDAAqD,SAAY,CACpE,GAAG,MAAMZ,EAAW,SAAS,EAAE,qBAC7B,QAAK,IAAI,oBAAoB,CAC/B,EAEA,GAAG,MAAMC,EAAkB,cAAc,EAAE,gBACzC,QAAM,GAAGD,CAAS,CACpB,EAEA,MAAMa,EAAU,IAAI,iBAClBZ,EACAE,EACA,IAAMD,EACNE,EACAG,CACF,EAEA,MAAM,OACJM,EAAQ,QAAQ,CAAE,OAAQJ,CAAqB,CAAC,CAClD,EAAE,QAAQ,eAAe,oBAAkB,CAC7C,CAAC,EAED,KAAK,sDAAuD,SAAY,CACtE,GAAG,MAAMT,EAAW,SAAS,EAAE,qBAC7B,SAAMU,CAAmB,CAC3B,EAEA,GAAG,MAAMT,EAAkB,cAAc,EAAE,gBACzC,QAAM,GAAGD,CAAS,CACpB,EAUA,MAAMc,EAAY,MARF,IAAI,iBAClBb,EACAE,EACA,IAAMD,EACNE,EACAG,CACF,EAEgC,QAAQ,CACtC,OAAQE,CACV,CAAC,EACD,OAAOK,CAAS,EAAE,KAAKN,CAAa,EACpCL,EAAe,oBAAoBW,CAAS,CAC9C,CAAC,CACH,CAAC",
6
+ "names": ["import_purify_ts", "import_TransportMock", "import_Errors", "import_TransportConnectedDevice", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "import_DefaultTransportService", "import_ConnectUseCase", "transport", "transportService", "logger", "sessionService", "managerApi", "managerApiDataSource", "secureChannelDataSource", "secureChannel", "fakeSessionId", "stubDiscoveredDevice", "stubConnectedDevice", "tag", "session", "usecase", "sessionId"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("purify-ts"),u=require("../../../api/transport/model/__mocks__/TransportMock"),l=require("../../../api/transport/model/Errors"),f=require("../../../api/transport/model/TransportConnectedDevice.stub"),d=require("../../device-session/model/DeviceSession.stub"),S=require("../../device-session/model/Errors"),D=require("../../device-session/service/DefaultDeviceSessionService"),y=require("../../logger-publisher/service/DefaultLoggerPublisherService"),w=require("../../manager-api/data/AxiosManagerApiDataSource"),g=require("../../manager-api/service/DefaultManagerApiService"),h=require("../../transport/service/DefaultTransportService"),a=require("./DisconnectUseCase");jest.mock("@internal/transport/service/DefaultTransportService");let e,p,c=[];const n=jest.fn().mockReturnValue(new y.DefaultLoggerPublisherService([],"DisconnectUseCaseTest"));let i,m,v;const s="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new u.TransportMock,c=[p],e=new D.DefaultDeviceSessionService(n),i=new h.DefaultTransportService,jest.spyOn(i,"getTransport").mockReturnValue(t.Maybe.of(p))}),it("should disconnect from a device",async()=>{const r=(0,f.connectedDeviceStubBuilder)();v=new w.AxiosManagerApiDataSource({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),m=new g.DefaultManagerApiService(v);const o=(0,d.deviceSessionStubBuilder)({id:s,connectedDevice:r},n,m);jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>(0,t.Right)(o)),jest.spyOn(o,"close"),jest.spyOn(e,"removeDeviceSession"),jest.spyOn(c[0],"disconnect").mockImplementation(()=>Promise.resolve((0,t.Right)(void 0))),await new a.DisconnectUseCase(i,e,n).execute({sessionId:s}),expect(o.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(s),expect(c[0].disconnect).toHaveBeenCalledWith({connectedDevice:r})}),it("should throw an error when deviceSession not found",async()=>{const r=new a.DisconnectUseCase(i,e,n);try{await r.execute({sessionId:s})}catch(o){expect(o).toStrictEqual(new S.DeviceSessionNotFound)}}),it("should throw an error if usb hid disconnection fails",async()=>{jest.spyOn(e,"getDeviceSessionById").mockImplementation(()=>(0,t.Right)((0,d.deviceSessionStubBuilder)({id:s},n,m))),jest.spyOn(c[0],"disconnect").mockResolvedValue(Promise.resolve((0,t.Left)(new l.DisconnectError)));const r=new a.DisconnectUseCase(i,e,n);try{await r.execute({sessionId:s})}catch(o){expect(o).toStrictEqual(new l.DisconnectError)}})});
1
+ "use strict";var o=require("purify-ts"),d=require("../../../api/transport/model/__mocks__/TransportMock"),v=require("../../../api/transport/model/Errors"),D=require("../../../api/transport/model/TransportConnectedDevice.stub"),u=require("../../device-session/model/DeviceSession.stub"),y=require("../../device-session/model/Errors"),h=require("../../device-session/service/DefaultDeviceSessionService"),C=require("../../logger-publisher/service/DefaultLoggerPublisherService"),w=require("../../manager-api/data/AxiosManagerApiDataSource"),g=require("../../manager-api/service/DefaultManagerApiService"),k=require("../../secure-channel/data/DefaultSecureChannelDataSource"),A=require("../../secure-channel/service/DefaultSecureChannelService"),T=require("../../transport/service/DefaultTransportService"),a=require("./DisconnectUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let e,p,s=[];const n=vi.fn().mockReturnValue(new C.DefaultLoggerPublisherService([],"DisconnectUseCaseTest"));let c,m,S,f,l;const i="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new d.TransportMock,s=[p],e=new h.DefaultDeviceSessionService(n),c=new T.DefaultTransportService,vi.spyOn(c,"getTransport").mockReturnValue(o.Maybe.of(p))}),it("should disconnect from a device",async()=>{const r=(0,D.connectedDeviceStubBuilder)();S=new w.AxiosManagerApiDataSource({}),m=new g.DefaultManagerApiService(S),f=new k.DefaultSecureChannelDataSource({}),l=new A.DefaultSecureChannelService(f);const t=(0,u.deviceSessionStubBuilder)({id:i,connectedDevice:r},n,m,l);vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>(0,o.Right)(t)),vi.spyOn(t,"close"),vi.spyOn(e,"removeDeviceSession"),vi.spyOn(s[0],"disconnect").mockImplementation(()=>Promise.resolve((0,o.Right)(void 0))),await new a.DisconnectUseCase(c,e,n).execute({sessionId:i}),expect(t.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(i),expect(s[0].disconnect).toHaveBeenCalledWith({connectedDevice:r})}),it("should throw an error when deviceSession not found",async()=>{const r=new a.DisconnectUseCase(c,e,n);try{await r.execute({sessionId:i})}catch(t){expect(t).toStrictEqual(new y.DeviceSessionNotFound)}}),it("should throw an error if usb hid disconnection fails",async()=>{vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>(0,o.Right)((0,u.deviceSessionStubBuilder)({id:i},n,m,l))),vi.spyOn(s[0],"disconnect").mockResolvedValue((0,o.Left)(new v.DisconnectError));const r=new a.DisconnectUseCase(c,e,n);try{await r.execute({sessionId:i})}catch(t){expect(t).toStrictEqual(new v.DisconnectError)}})});
2
2
  //# sourceMappingURL=DisconnectUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/DisconnectUseCase.test.ts"],
4
- "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { type Transport } from \"@api/types\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\njest.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = jest\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n jest\n .spyOn(transportService, \"getTransport\")\n .mockReturnValue(Maybe.of(transport));\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n );\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() => Right(deviceSession));\n jest.spyOn(deviceSession, \"close\");\n jest.spyOn(sessionService, \"removeDeviceSession\");\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockImplementation(() => Promise.resolve(Right(void 0)));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n jest\n .spyOn(sessionService, \"getDeviceSessionById\")\n .mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n ),\n ),\n );\n jest\n .spyOn(transports[0]!, \"disconnect\")\n .mockResolvedValue(Promise.resolve(Left(new DisconnectError())));\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAmC,qBAEnCC,EAA8B,wDAC9BC,EAAgC,uCAChCC,EAA2C,8DAE3CC,EAAyC,6DACzCF,EAAsC,iDACtCG,EAA4C,wEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAwC,+DAGxCC,EAAkC,+BAElC,KAAK,KAAK,qDAAqD,EAE/D,IAAIC,EAEAC,EACAC,EAA0B,CAAC,EAC/B,MAAMC,EAAgB,KACnB,GAAG,EACH,gBACC,IAAI,gCAA8B,CAAC,EAAG,uBAAuB,CAC/D,EACF,IAAIC,EACAC,EACAC,EAEJ,MAAMC,EAAY,YAElB,SAAS,oBAAqB,IAAM,CAClC,UAAU,IAAM,CACdN,EAAY,IAAI,gBAChBC,EAAa,CAACD,CAAS,EACvBD,EAAiB,IAAI,8BAA4BG,CAAa,EAE9DC,EAAmB,IAAI,0BACvB,KACG,MAAMA,EAAkB,cAAc,EACtC,gBAAgB,QAAM,GAAGH,CAAS,CAAC,CACxC,CAAC,EAED,GAAG,kCAAmC,SAAY,CAEhD,MAAMO,KAAkB,8BAA2B,EACnDF,EAAuB,IAAI,4BAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDD,EAAa,IAAI,2BAAyBC,CAAoB,EAC9D,MAAMG,KAAgB,4BACpB,CACE,GAAIF,EACJ,gBAAAC,CACF,EACAL,EACAE,CACF,EACA,KACG,MAAML,EAAgB,sBAAsB,EAC5C,mBAAmB,OAAM,SAAMS,CAAa,CAAC,EAChD,KAAK,MAAMA,EAAe,OAAO,EACjC,KAAK,MAAMT,EAAgB,qBAAqB,EAChD,KACG,MAAME,EAAW,CAAC,EAAI,YAAY,EAClC,mBAAmB,IAAM,QAAQ,WAAQ,SAAM,MAAM,CAAC,CAAC,EAO1D,MAN0B,IAAI,oBAC5BE,EACAJ,EACAG,CACF,EAEwB,QAAQ,CAAE,UAAAI,CAAU,CAAC,EAG7C,OAAOE,EAAc,KAAK,EAAE,iBAAiB,EAC7C,OAAOT,EAAe,mBAAmB,EAAE,qBAAqBO,CAAS,EACzE,OAAOL,EAAW,CAAC,EAAG,UAAU,EAAE,qBAAqB,CACrD,gBAAAM,CACF,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAME,EAAoB,IAAI,oBAC5BN,EACAJ,EACAG,CACF,EAEA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAI,uBAAuB,CACrD,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,KACG,MAAMX,EAAgB,sBAAsB,EAC5C,mBAAmB,OAClB,YACE,4BACE,CAAE,GAAIO,CAAU,EAChBJ,EACAE,CACF,CACF,CACF,EACF,KACG,MAAMH,EAAW,CAAC,EAAI,YAAY,EAClC,kBAAkB,QAAQ,WAAQ,QAAK,IAAI,iBAAiB,CAAC,CAAC,EACjE,MAAMQ,EAAoB,IAAI,oBAC5BN,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMO,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAI,iBAAiB,CAC/C,CACF,CAAC,CACH,CAAC",
6
- "names": ["import_purify_ts", "import_TransportMock", "import_Errors", "import_TransportConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultTransportService", "import_DisconnectUseCase", "sessionService", "transport", "transports", "loggerFactory", "transportService", "managerApi", "managerApiDataSource", "sessionId", "connectedDevice", "deviceSession", "disconnectUseCase", "e"]
4
+ "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = vi\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n secureChannel,\n );\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(deviceSession),\n );\n vi.spyOn(deviceSession, \"close\");\n vi.spyOn(sessionService, \"removeDeviceSession\");\n vi.spyOn(transports[0]!, \"disconnect\").mockImplementation(() =>\n Promise.resolve(Right(void 0)),\n );\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n secureChannel,\n ),\n ),\n );\n\n vi.spyOn(transports[0]!, \"disconnect\").mockResolvedValue(\n Left(new DisconnectError()),\n );\n\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAmC,qBAEnCC,EAA8B,wDAC9BC,EAAgC,uCAChCC,EAA2C,8DAE3CC,EAAyC,6DACzCF,EAAsC,iDACtCG,EAA4C,wEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAE5CC,EAAwC,+DAGxCC,EAAkC,+BAElC,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EAEAC,EACAC,EAA0B,CAAC,EAC/B,MAAMC,EAAgB,GACnB,GAAG,EACH,gBACC,IAAI,gCAA8B,CAAC,EAAG,uBAAuB,CAC/D,EACF,IAAIC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAY,YAElB,SAAS,oBAAqB,IAAM,CAClC,UAAU,IAAM,CACdR,EAAY,IAAI,gBAChBC,EAAa,CAACD,CAAS,EACvBD,EAAiB,IAAI,8BAA4BG,CAAa,EAE9DC,EAAmB,IAAI,0BACvB,GAAG,MAAMA,EAAkB,cAAc,EAAE,gBACzC,QAAM,GAAGH,CAAS,CACpB,CACF,CAAC,EAED,GAAG,kCAAmC,SAAY,CAEhD,MAAMS,KAAkB,8BAA2B,EACnDJ,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpED,EAAa,IAAI,2BAAyBC,CAAoB,EAC9DC,EAA0B,IAAI,iCAC5B,CAAC,CACH,EACAC,EAAgB,IAAI,8BAA4BD,CAAuB,EACvE,MAAMI,KAAgB,4BACpB,CACE,GAAIF,EACJ,gBAAAC,CACF,EACAP,EACAE,EACAG,CACF,EACA,GAAG,MAAMR,EAAgB,sBAAsB,EAAE,mBAAmB,OAClE,SAAMW,CAAa,CACrB,EACA,GAAG,MAAMA,EAAe,OAAO,EAC/B,GAAG,MAAMX,EAAgB,qBAAqB,EAC9C,GAAG,MAAME,EAAW,CAAC,EAAI,YAAY,EAAE,mBAAmB,IACxD,QAAQ,WAAQ,SAAM,MAAM,CAAC,CAC/B,EAOA,MAN0B,IAAI,oBAC5BE,EACAJ,EACAG,CACF,EAEwB,QAAQ,CAAE,UAAAM,CAAU,CAAC,EAG7C,OAAOE,EAAc,KAAK,EAAE,iBAAiB,EAC7C,OAAOX,EAAe,mBAAmB,EAAE,qBAAqBS,CAAS,EACzE,OAAOP,EAAW,CAAC,EAAG,UAAU,EAAE,qBAAqB,CACrD,gBAAAQ,CACF,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAME,EAAoB,IAAI,oBAC5BR,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMS,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAI,uBAAuB,CACrD,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,GAAG,MAAMb,EAAgB,sBAAsB,EAAE,mBAAmB,OAClE,YACE,4BACE,CAAE,GAAIS,CAAU,EAChBN,EACAE,EACAG,CACF,CACF,CACF,EAEA,GAAG,MAAMN,EAAW,CAAC,EAAI,YAAY,EAAE,qBACrC,QAAK,IAAI,iBAAiB,CAC5B,EAEA,MAAMU,EAAoB,IAAI,oBAC5BR,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMS,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAI,iBAAiB,CAC/C,CACF,CAAC,CACH,CAAC",
6
+ "names": ["import_purify_ts", "import_TransportMock", "import_Errors", "import_TransportConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "import_DefaultTransportService", "import_DisconnectUseCase", "sessionService", "transport", "transports", "loggerFactory", "transportService", "managerApi", "managerApiDataSource", "secureChannelDataSource", "secureChannel", "sessionId", "connectedDevice", "deviceSession", "disconnectUseCase", "e"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var c=require("../../../api/transport/model/ConnectedDevice"),n=require("../../device-session/model/DeviceSession.stub"),m=require("../../device-session/service/DefaultDeviceSessionService"),d=require("../../logger-publisher/service/DefaultLoggerPublisherService"),v=require("../../manager-api/data/AxiosManagerApiDataSource"),S=require("../../manager-api/service/DefaultManagerApiService"),a=require("./GetConnectedDeviceUseCase");jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let i,o,p,t;const r="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{i=new d.DefaultLoggerPublisherService([],"get-connected-device-use-case"),p=new v.AxiosManagerApiDataSource({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),t=new S.DefaultManagerApiService(p),o=new m.DefaultDeviceSessionService(()=>i)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=(0,n.deviceSessionStubBuilder)({id:r},()=>i,t);o.addDeviceSession(e);const s=new a.GetConnectedDeviceUseCase(o,()=>i).execute({sessionId:r});e.close(),expect(s).toBeInstanceOf(c.ConnectedDevice)}),it("should retrieve correct device from session",()=>{const e=(0,n.deviceSessionStubBuilder)({id:r},()=>i,t);o.addDeviceSession(e);const s=new a.GetConnectedDeviceUseCase(o,()=>i).execute({sessionId:r});e.close(),expect(s).toStrictEqual(new c.ConnectedDevice({sessionId:r,transportConnectedDevice:e.connectedDevice}))})});
1
+ "use strict";var s=require("../../../api/transport/model/ConnectedDevice"),a=require("../../device-session/model/DeviceSession.stub"),u=require("../../device-session/service/DefaultDeviceSessionService"),v=require("../../logger-publisher/service/DefaultLoggerPublisherService"),f=require("../../manager-api/data/AxiosManagerApiDataSource"),l=require("../../manager-api/service/DefaultManagerApiService"),d=require("../../secure-channel/data/DefaultSecureChannelDataSource"),D=require("../../secure-channel/service/DefaultSecureChannelService"),m=require("./GetConnectedDeviceUseCase");vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let r,o,S,t,p,c;const i="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{r=new v.DefaultLoggerPublisherService([],"get-connected-device-use-case"),S=new f.AxiosManagerApiDataSource({}),t=new l.DefaultManagerApiService(S),p=new d.DefaultSecureChannelDataSource({}),c=new D.DefaultSecureChannelService(p),o=new u.DefaultDeviceSessionService(()=>r)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=(0,a.deviceSessionStubBuilder)({id:i},()=>r,t,c);o.addDeviceSession(e);const n=new m.GetConnectedDeviceUseCase(o,()=>r).execute({sessionId:i});e.close(),expect(n).toBeInstanceOf(s.ConnectedDevice)}),it("should retrieve correct device from session",()=>{const e=(0,a.deviceSessionStubBuilder)({id:i},()=>r,t,c);o.addDeviceSession(e);const n=new m.GetConnectedDeviceUseCase(o,()=>r).execute({sessionId:i});e.close(),expect(n).toStrictEqual(new s.ConnectedDevice({sessionId:i,transportConnectedDevice:e.connectedDevice}))})});
2
2
  //# sourceMappingURL=GetConnectedDeviceUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should retrieve an instance of ConnectedDevice\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toBeInstanceOf(ConnectedDevice);\n });\n\n it(\"should retrieve correct device from session\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toStrictEqual(\n new ConnectedDevice({\n sessionId: fakeSessionId,\n transportConnectedDevice: deviceSession.connectedDevice,\n }),\n );\n });\n});\n"],
5
- "mappings": "aACA,IAAAA,EAAgC,gDAChCC,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAGzCC,EAA0C,uCAE1C,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfJ,EAAS,IAAI,gCACX,CAAC,EACD,+BACF,EACAE,EAAuB,IAAI,4BAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DD,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMK,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAI,4BAA0BL,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,eAAe,iBAAe,CACjD,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtD,MAAMD,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMJ,EACNG,CACF,EACAF,EAAe,iBAAiBI,CAAa,EAI7C,MAAMC,EAHU,IAAI,4BAA0BL,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWI,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,cACf,IAAI,kBAAgB,CAClB,UAAWF,EACX,yBAA0BC,EAAc,eAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
6
- "names": ["import_ConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_GetConnectedDeviceUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "deviceSession", "response"]
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should retrieve an instance of ConnectedDevice\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toBeInstanceOf(ConnectedDevice);\n });\n\n it(\"should retrieve correct device from session\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toStrictEqual(\n new ConnectedDevice({\n sessionId: fakeSessionId,\n transportConnectedDevice: deviceSession.connectedDevice,\n }),\n );\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAgC,gDAChCC,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAG5CC,EAA0C,uCAE1C,GAAG,KAAK,sDAAsD,EAE9D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfN,EAAS,IAAI,gCACX,CAAC,EACD,+BACF,EACAE,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DE,EAA0B,IAAI,iCAC5B,CAAC,CACH,EACAC,EAAgB,IAAI,8BAA4BD,CAAuB,EACvEH,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMO,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMN,EACNG,EACAE,CACF,EACAJ,EAAe,iBAAiBM,CAAa,EAI7C,MAAMC,EAHU,IAAI,4BAA0BP,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWM,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,eAAe,iBAAe,CACjD,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtD,MAAMD,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMN,EACNG,EACAE,CACF,EACAJ,EAAe,iBAAiBM,CAAa,EAI7C,MAAMC,EAHU,IAAI,4BAA0BP,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWM,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,cACf,IAAI,kBAAgB,CAClB,UAAWF,EACX,yBAA0BC,EAAc,eAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
6
+ "names": ["import_ConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "import_GetConnectedDeviceUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "deviceSession", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("../../device-session/model/DeviceSession.stub"),p=require("../../device-session/service/DefaultDeviceSessionService"),c=require("../../discovery/use-case/ListConnectedDevicesUseCase"),m=require("../../logger-publisher/service/DefaultLoggerPublisherService"),v=require("../../manager-api/data/AxiosManagerApiDataSource"),d=require("../../manager-api/service/DefaultManagerApiService"),n=require("../../../../src");let i,o,a,r;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{i=new m.DefaultLoggerPublisherService([],"list-device-sessions-use-case-test"),a=new v.AxiosManagerApiDataSource({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),r=new d.DefaultManagerApiService(a),o=new p.DefaultDeviceSessionService(()=>i)}),it("should list all device sessions",()=>{const s=(0,t.deviceSessionStubBuilder)({id:"1"},()=>i,r),e=(0,t.deviceSessionStubBuilder)({id:"2"},()=>i,r);o.addDeviceSession(s),o.addDeviceSession(e);const l=new c.ListConnectedDevicesUseCase(o,()=>i).execute();s.close(),e.close(),expect(l).toStrictEqual([new n.ConnectedDevice({transportConnectedDevice:s.connectedDevice,sessionId:s.id}),new n.ConnectedDevice({transportConnectedDevice:e.connectedDevice,sessionId:e.id})])}),it("should return empty array if no device sessions",()=>{const e=new c.ListConnectedDevicesUseCase(o,()=>i).execute();expect(e).toStrictEqual([])})});
1
+ "use strict";var n=require("../../device-session/model/DeviceSession.stub"),p=require("../../device-session/service/DefaultDeviceSessionService"),c=require("../../discovery/use-case/ListConnectedDevicesUseCase"),m=require("../../logger-publisher/service/DefaultLoggerPublisherService"),l=require("../../manager-api/data/AxiosManagerApiDataSource"),v=require("../../manager-api/service/DefaultManagerApiService"),D=require("../../secure-channel/data/DefaultSecureChannelDataSource"),d=require("../../secure-channel/service/DefaultSecureChannelService"),a=require("../../../../src");let i,o,S,s,u,t;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{i=new m.DefaultLoggerPublisherService([],"list-device-sessions-use-case-test"),S=new l.AxiosManagerApiDataSource({}),s=new v.DefaultManagerApiService(S),u=new D.DefaultSecureChannelDataSource({}),t=new d.DefaultSecureChannelService(u),o=new p.DefaultDeviceSessionService(()=>i)}),it("should list all device sessions",()=>{const r=(0,n.deviceSessionStubBuilder)({id:"1"},()=>i,s,t),e=(0,n.deviceSessionStubBuilder)({id:"2"},()=>i,s,t);o.addDeviceSession(r),o.addDeviceSession(e);const f=new c.ListConnectedDevicesUseCase(o,()=>i).execute();r.close(),e.close(),expect(f).toStrictEqual([new a.ConnectedDevice({transportConnectedDevice:r.connectedDevice,sessionId:r.id}),new a.ConnectedDevice({transportConnectedDevice:e.connectedDevice,sessionId:e.id})])}),it("should return empty array if no device sessions",()=>{const e=new c.ListConnectedDevicesUseCase(o,()=>i).execute();expect(e).toStrictEqual([])})});
2
2
  //# sourceMappingURL=ListConnectedDevicesUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { ConnectedDevice } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should list all device sessions\", () => {\n // given\n const deviceSession1 = deviceSessionStubBuilder(\n { id: \"1\" },\n () => logger,\n managerApi,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n deviceSession1.close();\n deviceSession2.close();\n\n // then\n expect(response).toStrictEqual([\n new ConnectedDevice({\n transportConnectedDevice: deviceSession1.connectedDevice,\n sessionId: deviceSession1.id,\n }),\n new ConnectedDevice({\n transportConnectedDevice: deviceSession2.connectedDevice,\n sessionId: deviceSession2.id,\n }),\n ]);\n });\n\n it(\"should return empty array if no device sessions\", () => {\n // given\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n // then\n expect(response).toStrictEqual([]);\n });\n});\n"],
5
- "mappings": "aACA,IAAAA,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA4C,oEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAAgC,qBAEhC,IAAIC,EACAC,EACAC,EACAC,EAEJ,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfH,EAAS,IAAI,gCACX,CAAC,EACD,oCACF,EACAE,EAAuB,IAAI,4BAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DD,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,kCAAmC,IAAM,CAE1C,MAAMI,KAAiB,4BACrB,CAAE,GAAI,GAAI,EACV,IAAMJ,EACNG,CACF,EACME,KAAiB,4BACrB,CAAE,GAAI,GAAI,EACV,IAAML,EACNG,CACF,EACAF,EAAe,iBAAiBG,CAAc,EAC9CH,EAAe,iBAAiBI,CAAc,EAO9C,MAAMC,EANU,IAAI,8BAClBL,EACA,IAAMD,CACR,EAGyB,QAAQ,EAEjCI,EAAe,MAAM,EACrBC,EAAe,MAAM,EAGrB,OAAOC,CAAQ,EAAE,cAAc,CAC7B,IAAI,kBAAgB,CAClB,yBAA0BF,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,EACD,IAAI,kBAAgB,CAClB,yBAA0BC,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,kDAAmD,IAAM,CAQ1D,MAAMC,EANU,IAAI,8BAClBL,EACA,IAAMD,CACR,EAGyB,QAAQ,EAGjC,OAAOM,CAAQ,EAAE,cAAc,CAAC,CAAC,CACnC,CAAC,CACH,CAAC",
6
- "names": ["import_DeviceSession", "import_DefaultDeviceSessionService", "import_ListConnectedDevicesUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_src", "logger", "sessionService", "managerApiDataSource", "managerApi", "deviceSession1", "deviceSession2", "response"]
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { ConnectedDevice, type DmkConfig } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should list all device sessions\", () => {\n // given\n const deviceSession1 = deviceSessionStubBuilder(\n { id: \"1\" },\n () => logger,\n managerApi,\n secureChannel,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n secureChannel,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n deviceSession1.close();\n deviceSession2.close();\n\n // then\n expect(response).toStrictEqual([\n new ConnectedDevice({\n transportConnectedDevice: deviceSession1.connectedDevice,\n sessionId: deviceSession1.id,\n }),\n new ConnectedDevice({\n transportConnectedDevice: deviceSession2.connectedDevice,\n sessionId: deviceSession2.id,\n }),\n ]);\n });\n\n it(\"should return empty array if no device sessions\", () => {\n // given\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n // then\n expect(response).toStrictEqual([]);\n });\n});\n"],
5
+ "mappings": "aACA,IAAAA,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA4C,oEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAE5CC,EAAgD,qBAEhD,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfL,EAAS,IAAI,gCACX,CAAC,EACD,oCACF,EACAE,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DE,EAA0B,IAAI,iCAC5B,CAAC,CACH,EACAC,EAAgB,IAAI,8BAA4BD,CAAuB,EACvEH,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,kCAAmC,IAAM,CAE1C,MAAMM,KAAiB,4BACrB,CAAE,GAAI,GAAI,EACV,IAAMN,EACNG,EACAE,CACF,EACME,KAAiB,4BACrB,CAAE,GAAI,GAAI,EACV,IAAMP,EACNG,EACAE,CACF,EACAJ,EAAe,iBAAiBK,CAAc,EAC9CL,EAAe,iBAAiBM,CAAc,EAO9C,MAAMC,EANU,IAAI,8BAClBP,EACA,IAAMD,CACR,EAGyB,QAAQ,EAEjCM,EAAe,MAAM,EACrBC,EAAe,MAAM,EAGrB,OAAOC,CAAQ,EAAE,cAAc,CAC7B,IAAI,kBAAgB,CAClB,yBAA0BF,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,EACD,IAAI,kBAAgB,CAClB,yBAA0BC,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,kDAAmD,IAAM,CAQ1D,MAAMC,EANU,IAAI,8BAClBP,EACA,IAAMD,CACR,EAGyB,QAAQ,EAGjC,OAAOQ,CAAQ,EAAE,cAAc,CAAC,CAAC,CACnC,CAAC,CACH,CAAC",
6
+ "names": ["import_DeviceSession", "import_DefaultDeviceSessionService", "import_ListConnectedDevicesUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "import_src", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "deviceSession1", "deviceSession2", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=require("../../../api/transport/model/ConnectedDevice"),a=require("../../../api/transport/model/TransportConnectedDevice.stub"),m=require("../../device-session/model/DeviceSession.stub"),p=require("../../device-session/service/DefaultDeviceSessionService"),d=require("../../discovery/use-case/ListenToConnectedDeviceUseCase"),v=require("../../logger-publisher/service/DefaultLoggerPublisherService"),l=require("../../manager-api/data/AxiosManagerApiDataSource"),u=require("../../manager-api/service/DefaultManagerApiService");jest.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,i,r,n;const c="test-list-connected-device-session-id";describe("ListenToConnectedDevice",()=>{beforeEach(()=>{e=new v.DefaultLoggerPublisherService([],"listen-to-connected-device-use-case"),r=new l.AxiosManagerApiDataSource({managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}),n=new u.DefaultManagerApiService(r),i=new p.DefaultDeviceSessionService(()=>e)}),it("should emit an instance of ConnectedDevice",S=>{const o=(0,a.connectedDeviceStubBuilder)({id:"test-list-connected-device-id"}),t=(0,m.deviceSessionStubBuilder)({id:c,connectedDevice:o},()=>e,n),f=new d.ListenToConnectedDeviceUseCase(i,()=>e).execute().subscribe({next(D){expect(D).toEqual(new s.ConnectedDevice({transportConnectedDevice:o,sessionId:c})),g()}});function g(){f.unsubscribe(),t.close(),S()}i.addDeviceSession(t)})});
1
+ "use strict";var m=require("../../../api/transport/model/ConnectedDevice"),u=require("../../../api/transport/model/TransportConnectedDevice.stub"),p=require("../../device-session/model/DeviceSession.stub"),S=require("../../device-session/service/DefaultDeviceSessionService"),l=require("../../discovery/use-case/ListenToConnectedDeviceUseCase"),v=require("../../logger-publisher/service/DefaultLoggerPublisherService"),d=require("../../manager-api/data/AxiosManagerApiDataSource"),f=require("../../manager-api/service/DefaultManagerApiService"),D=require("../../secure-channel/data/DefaultSecureChannelDataSource"),g=require("../../secure-channel/service/DefaultSecureChannelService");vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,i,n,t,c,a;const s="test-list-connected-device-session-id";describe("ListenToConnectedDevice",()=>{beforeEach(()=>{e=new v.DefaultLoggerPublisherService([],"listen-to-connected-device-use-case"),n=new d.AxiosManagerApiDataSource({}),t=new f.DefaultManagerApiService(n),c=new D.DefaultSecureChannelDataSource({}),a=new g.DefaultSecureChannelService(c),i=new S.DefaultDeviceSessionService(()=>e)}),it("should emit an instance of ConnectedDevice",()=>new Promise((C,b)=>{const r=(0,u.connectedDeviceStubBuilder)({id:"test-list-connected-device-id"}),o=(0,p.deviceSessionStubBuilder)({id:s,connectedDevice:r},()=>e,t,a),h=new l.ListenToConnectedDeviceUseCase(i,()=>e).execute().subscribe({next(w){try{expect(w).toEqual(new m.ConnectedDevice({transportConnectedDevice:r,sessionId:s})),A()}catch(y){b(y)}}});function A(){h.unsubscribe(),o.close(),C()}i.addDeviceSession(o)}))});
2
2
  //# sourceMappingURL=ListenToConnectedDeviceUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\njest.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n });\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should emit an instance of ConnectedDevice\", (done) => {\n // given\n const connectedDevice = connectedDeviceStubBuilder({\n id: \"test-list-connected-device-id\",\n });\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId, connectedDevice },\n () => logger,\n managerApi,\n );\n const observable = new ListenToConnectedDeviceUseCase(\n sessionService,\n () => logger,\n ).execute();\n\n const subscription = observable.subscribe({\n next(emittedConnectedDevice) {\n // then\n expect(emittedConnectedDevice).toEqual(\n new ConnectedDevice({\n transportConnectedDevice: connectedDevice,\n sessionId: fakeSessionId,\n }),\n );\n terminate();\n },\n });\n\n function terminate() {\n subscription.unsubscribe();\n deviceSession.close();\n done();\n }\n\n // when\n sessionService.addDeviceSession(deviceSession);\n });\n});\n"],
5
- "mappings": "aACA,IAAAA,EAAgC,gDAChCC,EAA2C,8DAC3CC,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA+C,uEAC/CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAGzC,KAAK,KAAK,sDAAsD,EAEhE,IAAIC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,wCAEtB,SAAS,0BAA2B,IAAM,CACxC,WAAW,IAAM,CACfJ,EAAS,IAAI,gCACX,CAAC,EACD,qCACF,EACAE,EAAuB,IAAI,4BAA0B,CACnD,cAAe,kBACf,QAAS,sBACX,CAAC,EACDC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DD,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,6CAA+CK,GAAS,CAEzD,MAAMC,KAAkB,8BAA2B,CACjD,GAAI,+BACN,CAAC,EACKC,KAAgB,4BACpB,CAAE,GAAIH,EAAe,gBAAAE,CAAgB,EACrC,IAAMN,EACNG,CACF,EAMMK,EALa,IAAI,iCACrBP,EACA,IAAMD,CACR,EAAE,QAAQ,EAEsB,UAAU,CACxC,KAAKS,EAAwB,CAE3B,OAAOA,CAAsB,EAAE,QAC7B,IAAI,kBAAgB,CAClB,yBAA0BH,EAC1B,UAAWF,CACb,CAAC,CACH,EACAM,EAAU,CACZ,CACF,CAAC,EAED,SAASA,GAAY,CACnBF,EAAa,YAAY,EACzBD,EAAc,MAAM,EACpBF,EAAK,CACP,CAGAJ,EAAe,iBAAiBM,CAAa,CAC/C,CAAC,CACH,CAAC",
6
- "names": ["import_ConnectedDevice", "import_TransportConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_ListenToConnectedDeviceUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "logger", "sessionService", "managerApiDataSource", "managerApi", "fakeSessionId", "done", "connectedDevice", "deviceSession", "subscription", "emittedConnectedDevice", "terminate"]
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should emit an instance of ConnectedDevice\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n const connectedDevice = connectedDeviceStubBuilder({\n id: \"test-list-connected-device-id\",\n });\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId, connectedDevice },\n () => logger,\n managerApi,\n secureChannel,\n );\n const observable = new ListenToConnectedDeviceUseCase(\n sessionService,\n () => logger,\n ).execute();\n\n const subscription = observable.subscribe({\n next(emittedConnectedDevice) {\n // then\n try {\n expect(emittedConnectedDevice).toEqual(\n new ConnectedDevice({\n transportConnectedDevice: connectedDevice,\n sessionId: fakeSessionId,\n }),\n );\n terminate();\n } catch (error) {\n reject(error);\n }\n },\n });\n\n function terminate() {\n subscription.unsubscribe();\n deviceSession.close();\n resolve();\n }\n\n // when\n sessionService.addDeviceSession(deviceSession);\n }));\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAgC,gDAChCC,EAA2C,8DAC3CC,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA+C,uEAC/CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAG5C,GAAG,KAAK,sDAAsD,EAE9D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,wCAEtB,SAAS,0BAA2B,IAAM,CACxC,WAAW,IAAM,CACfN,EAAS,IAAI,gCACX,CAAC,EACD,qCACF,EACAE,EAAuB,IAAI,4BAA0B,CAAC,CAAc,EACpEC,EAAa,IAAI,2BAAyBD,CAAoB,EAC9DE,EAA0B,IAAI,iCAC5B,CAAC,CACH,EACAC,EAAgB,IAAI,8BAA4BD,CAAuB,EACvEH,EAAiB,IAAI,8BAA4B,IAAMD,CAAM,CAC/D,CAAC,EAED,GAAG,6CAA8C,IAC/C,IAAI,QAAc,CAACO,EAASC,IAAW,CAErC,MAAMC,KAAkB,8BAA2B,CACjD,GAAI,+BACN,CAAC,EACKC,KAAgB,4BACpB,CAAE,GAAIJ,EAAe,gBAAAG,CAAgB,EACrC,IAAMT,EACNG,EACAE,CACF,EAMMM,EALa,IAAI,iCACrBV,EACA,IAAMD,CACR,EAAE,QAAQ,EAEsB,UAAU,CACxC,KAAKY,EAAwB,CAE3B,GAAI,CACF,OAAOA,CAAsB,EAAE,QAC7B,IAAI,kBAAgB,CAClB,yBAA0BH,EAC1B,UAAWH,CACb,CAAC,CACH,EACAO,EAAU,CACZ,OAASC,EAAO,CACdN,EAAOM,CAAK,CACd,CACF,CACF,CAAC,EAED,SAASD,GAAY,CACnBF,EAAa,YAAY,EACzBD,EAAc,MAAM,EACpBH,EAAQ,CACV,CAGAN,EAAe,iBAAiBS,CAAa,CAC/C,CAAC,CAAC,CACN,CAAC",
6
+ "names": ["import_ConnectedDevice", "import_TransportConnectedDevice", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_ListenToConnectedDeviceUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "resolve", "reject", "connectedDevice", "deviceSession", "subscription", "emittedConnectedDevice", "terminate", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var u=(o,r)=>{for(var e in r)a(o,e,{get:r[e],enumerable:!0})},h=(o,r,e,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of f(r))!b.call(o,t)&&t!==e&&a(o,t,{get:()=>r[t],enumerable:!(p=v(r,t))||p.enumerable});return o};var y=o=>h(a({},"__esModule",{value:!0}),o),d=(o,r,e,p)=>{for(var t=p>1?void 0:p?v(r,e):r,m=o.length-1,c;m>=0;m--)(c=o[m])&&(t=(p?c(r,e,t):c(t))||t);return p&&t&&a(r,e,t),t},l=(o,r)=>(e,p)=>r(e,p,o);var x={};u(x,{ListenToKnownDevicesUseCase:()=>s});module.exports=y(x);var n=require("inversify"),i=require("rxjs"),D=require("../../../api/device/DeviceModel"),T=require("../../transport/di/transportDiTypes");let s=class{_transports;constructor(r){this._transports=r.getAllTransports()}mapTransportDiscoveredDeviceToDiscoveredDevice(r){return{id:r.id,deviceModel:new D.DeviceModel({id:r.id,model:r.deviceModel.id,name:r.deviceModel.productName}),transport:r.transport}}execute(){if(this._transports.length===0)return(0,i.from)([[]]);const r=this._transports.map((e,p)=>e.listenToKnownDevices().pipe((0,i.map)(t=>({index:p,arr:t}))));return(0,i.merge)(...r).pipe((0,i.scan)((e,{index:p,arr:t})=>(e[p]=t,e),{}),(0,i.map)(e=>Object.values(e).flat().map(this.mapTransportDiscoveredDeviceToDiscoveredDevice)))}};s=d([(0,n.injectable)(),l(0,(0,n.inject)(T.transportDiTypes.TransportService))],s);0&&(module.exports={ListenToKnownDevicesUseCase});
1
+ "use strict";var s=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var u=(o,r)=>{for(var e in r)s(o,e,{get:r[e],enumerable:!0})},h=(o,r,e,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of b(r))!f.call(o,t)&&t!==e&&s(o,t,{get:()=>r[t],enumerable:!(a=v(r,t))||a.enumerable});return o};var y=o=>h(s({},"__esModule",{value:!0}),o),l=(o,r,e,a)=>{for(var t=a>1?void 0:a?v(r,e):r,m=o.length-1,c;m>=0;m--)(c=o[m])&&(t=(a?c(r,e,t):c(t))||t);return a&&t&&s(r,e,t),t},d=(o,r)=>(e,a)=>r(e,a,o);var x={};u(x,{ListenToKnownDevicesUseCase:()=>i});module.exports=y(x);var n=require("inversify"),p=require("rxjs"),D=require("../../../api/device/DeviceModel"),T=require("../../transport/di/transportDiTypes");let i=class{_transports;constructor(r){this._transports=r.getAllTransports()}mapTransportDiscoveredDeviceToDiscoveredDevice(r){const e=new D.DeviceModel({id:r.id,model:r.deviceModel.id,name:r.deviceModel.productName});return{id:r.id,deviceModel:e,transport:r.transport,name:r.name||e.name,available:r.available||!0}}execute(){if(this._transports.length===0)return(0,p.from)([[]]);const r=this._transports.map((e,a)=>e.listenToKnownDevices().pipe((0,p.map)(t=>({index:a,arr:t}))));return(0,p.merge)(...r).pipe((0,p.scan)((e,{index:a,arr:t})=>(e[a]=t,e),{}),(0,p.map)(e=>Object.values(e).flat().map(this.mapTransportDiscoveredDeviceToDiscoveredDevice)))}};i=l([(0,n.injectable)(),d(0,(0,n.inject)(T.transportDiTypes.TransportService))],i);0&&(module.exports={ListenToKnownDevicesUseCase});
2
2
  //# sourceMappingURL=ListenToKnownDevicesUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToKnownDevicesUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { from, map, merge, Observable, scan } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport type { Transport } from \"@api/transport/model/Transport\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { DiscoveredDevice } from \"@api/types\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * Listen to list of known discovered devices (and later BLE).\n */\n@injectable()\nexport class ListenToKnownDevicesUseCase {\n private readonly _transports: Transport[];\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n ) {\n this._transports = transportService.getAllTransports();\n }\n\n private mapTransportDiscoveredDeviceToDiscoveredDevice(\n discoveredDevice: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n return {\n id: discoveredDevice.id,\n deviceModel: new DeviceModel({\n id: discoveredDevice.id,\n model: discoveredDevice.deviceModel.id,\n name: discoveredDevice.deviceModel.productName,\n }),\n transport: discoveredDevice.transport,\n };\n }\n\n execute(): Observable<DiscoveredDevice[]> {\n if (this._transports.length === 0) {\n return from([[]]);\n }\n\n /**\n * Note: we're not using combineLatest because combineLatest will\n * - wait for all observables to emit at least once before emitting.\n * - complete as soon as one of the observables completes.\n * Some transports will just return an empty array and complete.\n * We want to keep listening to all transports until all have completed.\n */\n\n const observablesWithIndex = this._transports.map((transport, index) =>\n transport.listenToKnownDevices().pipe(\n map((arr) => ({\n index,\n arr,\n })),\n ),\n );\n\n return merge(...observablesWithIndex).pipe(\n scan<\n { index: number; arr: TransportDiscoveredDevice[] },\n { [key: number]: TransportDiscoveredDevice[] }\n >((acc, { index, arr }) => {\n acc[index] = arr;\n return acc;\n }, {}),\n map((acc) =>\n Object.values(acc)\n .flat()\n .map(this.mapTransportDiscoveredDeviceToDiscoveredDevice),\n ),\n );\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAAmD,gBAEnDC,EAA4B,mCAI5BC,EAAiC,mDAO1B,IAAMC,EAAN,KAAkC,CACtB,YACjB,YAEEC,EACA,CACA,KAAK,YAAcA,EAAiB,iBAAiB,CACvD,CAEQ,+CACNC,EACkB,CAClB,MAAO,CACL,GAAIA,EAAiB,GACrB,YAAa,IAAI,cAAY,CAC3B,GAAIA,EAAiB,GACrB,MAAOA,EAAiB,YAAY,GACpC,KAAMA,EAAiB,YAAY,WACrC,CAAC,EACD,UAAWA,EAAiB,SAC9B,CACF,CAEA,SAA0C,CACxC,GAAI,KAAK,YAAY,SAAW,EAC9B,SAAO,QAAK,CAAC,CAAC,CAAC,CAAC,EAWlB,MAAMC,EAAuB,KAAK,YAAY,IAAI,CAACC,EAAWC,IAC5DD,EAAU,qBAAqB,EAAE,QAC/B,OAAKE,IAAS,CACZ,MAAAD,EACA,IAAAC,CACF,EAAE,CACJ,CACF,EAEA,SAAO,SAAM,GAAGH,CAAoB,EAAE,QACpC,QAGE,CAACI,EAAK,CAAE,MAAAF,EAAO,IAAAC,CAAI,KACnBC,EAAIF,CAAK,EAAIC,EACNC,GACN,CAAC,CAAC,KACL,OAAKA,GACH,OAAO,OAAOA,CAAG,EACd,KAAK,EACL,IAAI,KAAK,8CAA8C,CAC5D,CACF,CACF,CACF,EA5DaP,EAANQ,EAAA,IADN,cAAW,EAIPC,EAAA,eAAO,mBAAiB,gBAAgB,IAHhCT",
6
- "names": ["ListenToKnownDevicesUseCase_exports", "__export", "ListenToKnownDevicesUseCase", "__toCommonJS", "import_inversify", "import_rxjs", "import_DeviceModel", "import_transportDiTypes", "ListenToKnownDevicesUseCase", "transportService", "discoveredDevice", "observablesWithIndex", "transport", "index", "arr", "acc", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { from, map, merge, Observable, scan } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport type { Transport } from \"@api/transport/model/Transport\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { DiscoveredDevice } from \"@api/types\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * Listen to list of known discovered devices (and later BLE).\n */\n@injectable()\nexport class ListenToKnownDevicesUseCase {\n private readonly _transports: Transport[];\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n ) {\n this._transports = transportService.getAllTransports();\n }\n\n private mapTransportDiscoveredDeviceToDiscoveredDevice(\n discoveredDevice: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: discoveredDevice.id,\n model: discoveredDevice.deviceModel.id,\n name: discoveredDevice.deviceModel.productName,\n });\n return {\n id: discoveredDevice.id,\n deviceModel,\n transport: discoveredDevice.transport,\n name: discoveredDevice.name || deviceModel.name,\n available: discoveredDevice.available || true,\n };\n }\n\n execute(): Observable<DiscoveredDevice[]> {\n if (this._transports.length === 0) {\n return from([[]]);\n }\n\n /**\n * Note: we're not using combineLatest because combineLatest will\n * - wait for all observables to emit at least once before emitting.\n * - complete as soon as one of the observables completes.\n * Some transports will just return an empty array and complete.\n * We want to keep listening to all transports until all have completed.\n */\n\n const observablesWithIndex = this._transports.map((transport, index) =>\n transport.listenToKnownDevices().pipe(\n map((arr) => ({\n index,\n arr,\n })),\n ),\n );\n\n return merge(...observablesWithIndex).pipe(\n scan<\n { index: number; arr: TransportDiscoveredDevice[] },\n { [key: number]: TransportDiscoveredDevice[] }\n >((acc, { index, arr }) => {\n acc[index] = arr;\n return acc;\n }, {}),\n map((acc) =>\n Object.values(acc)\n .flat()\n .map(this.mapTransportDiscoveredDeviceToDiscoveredDevice),\n ),\n );\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAAmD,gBAEnDC,EAA4B,mCAI5BC,EAAiC,mDAO1B,IAAMC,EAAN,KAAkC,CACtB,YACjB,YAEEC,EACA,CACA,KAAK,YAAcA,EAAiB,iBAAiB,CACvD,CAEQ,+CACNC,EACkB,CAClB,MAAMC,EAAc,IAAI,cAAY,CAClC,GAAID,EAAiB,GACrB,MAAOA,EAAiB,YAAY,GACpC,KAAMA,EAAiB,YAAY,WACrC,CAAC,EACD,MAAO,CACL,GAAIA,EAAiB,GACrB,YAAAC,EACA,UAAWD,EAAiB,UAC5B,KAAMA,EAAiB,MAAQC,EAAY,KAC3C,UAAWD,EAAiB,WAAa,EAC3C,CACF,CAEA,SAA0C,CACxC,GAAI,KAAK,YAAY,SAAW,EAC9B,SAAO,QAAK,CAAC,CAAC,CAAC,CAAC,EAWlB,MAAME,EAAuB,KAAK,YAAY,IAAI,CAACC,EAAWC,IAC5DD,EAAU,qBAAqB,EAAE,QAC/B,OAAKE,IAAS,CACZ,MAAAD,EACA,IAAAC,CACF,EAAE,CACJ,CACF,EAEA,SAAO,SAAM,GAAGH,CAAoB,EAAE,QACpC,QAGE,CAACI,EAAK,CAAE,MAAAF,EAAO,IAAAC,CAAI,KACnBC,EAAIF,CAAK,EAAIC,EACNC,GACN,CAAC,CAAC,KACL,OAAKA,GACH,OAAO,OAAOA,CAAG,EACd,KAAK,EACL,IAAI,KAAK,8CAA8C,CAC5D,CACF,CACF,CACF,EA/DaR,EAANS,EAAA,IADN,cAAW,EAIPC,EAAA,eAAO,mBAAiB,gBAAgB,IAHhCV",
6
+ "names": ["ListenToKnownDevicesUseCase_exports", "__export", "ListenToKnownDevicesUseCase", "__toCommonJS", "import_inversify", "import_rxjs", "import_DeviceModel", "import_transportDiTypes", "ListenToKnownDevicesUseCase", "transportService", "discoveredDevice", "deviceModel", "observablesWithIndex", "transport", "index", "arr", "acc", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=require("rxjs"),D=require("../../../api/device-model/model/DeviceModel.stub"),A=require("../../transport/service/DefaultTransportService"),d=require("./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 u=(0,D.deviceModelStubBuilder)();function s(e){return{id:e,model:u.id,name:u.productName}}function v(){const e=new l.Subject,t=new l.Subject,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:u,transport:"mock"}}describe("ListenToKnownDevicesUseCase",()=>{beforeEach(()=>{jest.clearAllMocks(),c=new A.DefaultTransportService}),describe("when no transports are available",()=>{it("should return no discovered devices",e=>{jest.spyOn(c,"getAllTransports").mockReturnValue([]);const t=new d.ListenToKnownDevicesUseCase(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.ListenToKnownDevicesUseCase(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.ListenToKnownDevicesUseCase(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.ListenToKnownDevicesUseCase(c).execute().subscribe({next:x=>{n.push(x)},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
+ "use strict";var l=require("rxjs"),D=require("../../../api/device/DeviceModel"),b=require("../../../api/device-model/model/DeviceModel.stub"),A=require("../../transport/service/DefaultTransportService"),d=require("./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 u=(0,b.deviceModelStubBuilder)();function n(e){return new D.DeviceModel({id:e,model:u.id,name:u.productName})}function p(){const e=new l.Subject,t=new l.Subject,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:u,transport:"mock"}}describe("ListenToKnownDevicesUseCase",()=>{beforeEach(()=>{vi.clearAllMocks(),s=new A.DefaultTransportService}),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.ListenToKnownDevicesUseCase(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.ListenToKnownDevicesUseCase(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.ListenToKnownDevicesUseCase(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.ListenToKnownDevicesUseCase(s).execute().subscribe({next:x=>{r.push(x)},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": ["import_rxjs", "import_DeviceModel", "import_DefaultTransportService", "import_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": "aAAA,IAAAA,EAAwB,gBAExBC,EAA2C,mCAC3CA,EAAuC,oDAGvCC,EAAwC,+DAGxCC,EAA4C,yCAE5C,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACJ,SAASC,EAAkBC,EAAsC,CAC/D,MAAO,CACL,qBAAsB,GAAG,GAAG,EAC5B,QAAS,GAAG,GAAG,EACf,WAAY,GAAG,GAAG,EAClB,iBAAkB,GAAG,GAAG,EACxB,gBAAiB,GAAG,GAAG,EACvB,cAAe,GAAG,GAAG,EACrB,YAAa,GAAG,GAAG,EACnB,GAAGA,CACL,CACF,CAEA,MAAMC,KAA0B,0BAAuB,EACvD,SAASC,EAAoBC,EAA2B,CACtD,OAAO,IAAI,cAAY,CACrB,GAAAA,EACA,MAAOF,EAAwB,GAC/B,KAAMA,EAAwB,WAChC,CAAC,CACH,CAEA,SAASG,GAAuB,CAC9B,MAAMC,EAAgC,IAAI,UAGpCC,EAAgC,IAAI,UAGpCC,EAAaR,EAAkB,CACnC,qBAAsB,IAAMM,EAA8B,aAAa,CACzE,CAAC,EACKG,EAAaT,EAAkB,CACnC,qBAAsB,IAAMO,EAA8B,aAAa,CACzE,CAAC,EACD,MAAO,CACL,8BAAAD,EACA,8BAAAC,EACA,WAAAC,EACA,WAAAC,CACF,CACF,CAEA,SAASC,EACPN,EAC2B,CAC3B,MAAO,CACL,GAAAA,EACA,YAAaF,EACb,UAAW,MACb,CACF,CAEA,SAAS,8BAA+B,IAAM,CAC5C,WAAW,IAAM,CACf,GAAG,cAAc,EAEjBH,EAAmB,IAAI,yBACzB,CAAC,EAED,SAAS,mCAAoC,IAAM,CACjD,GAAG,sCAAuC,IACxC,IAAI,QAAc,CAACY,EAASC,IAAW,CACrC,GAAG,MAAMb,EAAkB,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,EAEjE,MAAMc,EAAU,IAAI,8BAA4Bd,CAAgB,EAE1De,EAAkD,CAAC,EACzDD,EAAQ,QAAQ,EAAE,UAAU,CAC1B,KAAOE,GAAY,CACjBD,EAA0B,KAAKC,CAAO,CACxC,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOD,CAAyB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC9CH,EAAQ,CACV,OAASK,EAAO,CACdJ,EAAOI,CAAc,CACvB,CACF,EACA,MAAQA,GAAU,CAChBJ,EAAOI,CAAK,CACd,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC,EAED,SAAS,kCAAmC,IAAM,CAChD,GAAG,sDAAuD,IAAM,CAC9D,KAAM,CAAE,WAAAR,EAAY,8BAAAF,CAA8B,EAChDD,EAAqB,EAEvB,GAAG,MAAMN,EAAkB,kBAAkB,EAAE,gBAAgB,CAC7DS,CACF,CAAC,EAED,MAAMM,EAAkD,CAAC,EACzD,IAAI,8BAA4Bf,CAAgB,EAC7C,QAAQ,EACR,UAAWgB,GAAY,CACtBD,EAA0B,KAAKC,CAAO,CACxC,CAAC,EAGHT,EAA8B,KAAK,CACjCI,EAAkC,oBAAoB,CACxD,CAAC,EAED,OAAOI,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,UAAW,GACX,YAAaX,EAAoB,oBAAoB,EACrD,KAAM,gBACN,UAAW,MACb,CACF,CAAC,EAGDG,EAA8B,KAAK,CACjCI,EAAkC,oBAAoB,EACtDA,EAAkC,oBAAoB,CACxD,CAAC,EAED,OAAOI,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,YAAaX,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,EACA,CACE,GAAI,qBACJ,YAAaA,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,CACF,CAAC,EAGDG,EAA8B,KAAK,CACjCI,EAAkC,oBAAoB,CACxD,CAAC,EAED,OAAOI,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,YAAaX,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,CACF,CAAC,EAGDG,EAA8B,KAAK,CAAC,CAAC,EAErC,OAAOQ,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CACjD,CAAC,CACH,CAAC,EAED,SAAS,yCAA0C,IAAM,CACvD,GAAG,kFAAmF,IAAM,CAC1F,KAAM,CAAE,8BAAAR,EAA+B,WAAAE,EAAY,WAAAC,CAAW,EAC5DJ,EAAqB,EAEvB,GAAG,MAAMN,EAAkB,kBAAkB,EAAE,gBAAgB,CAC7DS,EACAC,CACF,CAAC,EAED,MAAMK,EAAkD,CAAC,EAEnDG,EAAU,GAAG,GAAG,EAChBC,EAAa,GAAG,GAAG,EAEzB,IAAI,8BAA4BnB,CAAgB,EAAE,QAAQ,EAAE,UAAU,CACpE,KAAOgB,GAAY,CACjBD,EAA0B,KAAKC,CAAO,CACxC,EACA,MAAOE,EACP,SAAUC,CACZ,CAAC,EAGDZ,EAA8B,KAAK,CACjCI,EAAkC,oBAAoB,CACxD,CAAC,EAED,OAAOI,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,UAAW,GACX,YAAaX,EAAoB,oBAAoB,EACrD,UAAW,OACX,KAAM,eACR,CACF,CAAC,EAGDG,EAA8B,SAAS,EAEvC,OAAOW,CAAO,EAAE,IAAI,iBAAiB,EACrC,OAAOC,CAAU,EAAE,IAAI,iBAAiB,CAC1C,CAAC,EAED,GAAG,6DAA8D,IAAM,CACrE,KAAM,CACJ,8BAAAZ,EACA,8BAAAC,EACA,WAAAC,EACA,WAAAC,CACF,EAAIJ,EAAqB,EAEnBS,EAAkD,CAAC,EAEzD,GAAG,MAAMf,EAAkB,kBAAkB,EAAE,gBAAgB,CAC7DS,EACAC,CACF,CAAC,EAED,MAAMQ,EAAU,GAAG,GAAG,EAChBC,EAAa,GAAG,GAAG,EACzB,IAAI,8BAA4BnB,CAAgB,EAAE,QAAQ,EAAE,UAAU,CACpE,KAAOgB,GAAY,CACjBD,EAA0B,KAAKC,CAAO,CACxC,EACA,MAAOE,EACP,SAAUC,CACZ,CAAC,EAGDZ,EAA8B,KAAK,CACjCI,EAAkC,oBAAoB,CACxD,CAAC,EAED,OAAOI,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,YAAaX,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,CACF,CAAC,EAGDI,EAA8B,KAAK,CACjCG,EAAkC,oBAAoB,CACxD,CAAC,EAED,OAAOI,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,YAAaX,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,EACA,CACE,GAAI,qBACJ,YAAaA,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,CACF,CAAC,EAGDI,EAA8B,KAAK,CACjCG,EAAkC,oBAAoB,EACtDA,EAAkC,oBAAoB,CACxD,CAAC,EAED,OAAOI,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,YAAaX,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,EACA,CACE,GAAI,qBACJ,YAAaA,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,EACA,CACE,GAAI,qBACJ,YAAaA,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,CACF,CAAC,EAGDG,EAA8B,KAAK,CAAC,CAAC,EAErC,OAAOQ,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAC3C,CACE,GAAI,qBACJ,YAAaX,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,EACA,CACE,GAAI,qBACJ,YAAaA,EAAoB,oBAAoB,EACrD,UAAW,OACX,UAAW,GACX,KAAM,eACR,CACF,CAAC,EAGDG,EAA8B,SAAS,EAEvC,OAAOW,CAAO,EAAE,IAAI,iBAAiB,EACrC,OAAOC,CAAU,EAAE,IAAI,iBAAiB,EAGxCX,EAA8B,KAAK,CAAC,CAAC,EAErC,OAAOO,EAA0B,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAG/CP,EAA8B,SAAS,EAEvC,OAAOU,CAAO,EAAE,IAAI,iBAAiB,EACrC,OAAOC,CAAU,EAAE,iBAAiB,CACtC,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_rxjs", "import_DeviceModel", "import_DefaultTransportService", "import_ListenToKnownDevicesUseCase", "transportService", "makeMockTransport", "props", "mockInternalDeviceModel", "makeMockDeviceModel", "id", "setup2MockTransports", "transportAKnownDevicesSubject", "transportBKnownDevicesSubject", "transportA", "transportB", "makeMockTransportDiscoveredDevice", "resolve", "reject", "useCase", "observedDiscoveredDevices", "devices", "error", "onError", "onComplete"]
7
7
  }