@ledgerhq/device-management-kit 0.0.0-rn-hid-20250221115747 → 0.0.0-rn-ble-logs-20250416162013

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 (589) hide show
  1. package/README.md +58 -8
  2. package/lib/cjs/package.json +4 -4
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +3 -3
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  9. package/lib/cjs/src/api/DmkConfig.js +1 -1
  10. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  11. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  12. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  13. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js +2 -0
  14. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  15. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  16. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  17. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  18. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  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/device/SecureElementFlags.js +2 -0
  22. package/lib/cjs/src/api/device/SecureElementFlags.js.map +7 -0
  23. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  24. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  25. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  26. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  27. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  28. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  29. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js +1 -1
  30. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  31. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  32. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
  33. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  34. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  35. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  36. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +2 -2
  37. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  38. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  39. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  40. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  41. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  42. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +2 -2
  43. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +1 -1
  44. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  45. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +1 -1
  46. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  47. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  48. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  49. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  50. package/lib/cjs/src/api/index.js +1 -1
  51. package/lib/cjs/src/api/index.js.map +3 -3
  52. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  53. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  54. package/lib/cjs/src/api/secure-channel/constants.js +2 -0
  55. package/lib/cjs/src/api/secure-channel/constants.js.map +7 -0
  56. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  57. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  58. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  59. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  60. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js +2 -0
  61. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  62. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +2 -0
  63. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +7 -0
  64. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +2 -0
  65. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +7 -0
  66. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js +2 -0
  67. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js.map +7 -0
  68. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +2 -0
  69. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +7 -0
  70. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +2 -0
  71. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +7 -0
  72. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +2 -0
  73. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +7 -0
  74. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +2 -0
  75. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +7 -0
  76. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +2 -0
  77. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +7 -0
  78. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js +2 -0
  79. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js.map +7 -0
  80. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  81. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  82. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  83. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  84. package/lib/cjs/src/api/secure-channel/task/types.js +2 -0
  85. package/lib/cjs/src/api/secure-channel/task/types.js.map +7 -0
  86. package/lib/cjs/src/api/secure-channel/types.js +2 -0
  87. package/lib/cjs/src/api/secure-channel/types.js.map +7 -0
  88. package/lib/cjs/src/api/secure-channel/utils.js +2 -0
  89. package/lib/cjs/src/api/secure-channel/utils.js.map +7 -0
  90. package/lib/cjs/src/api/secure-channel/utils.test.js +2 -0
  91. package/lib/cjs/src/api/secure-channel/utils.test.js.map +7 -0
  92. package/lib/cjs/src/api/transport/model/DeviceConnection.js +1 -1
  93. package/lib/cjs/src/api/transport/model/DeviceConnection.js.map +1 -1
  94. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +1 -1
  95. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +3 -3
  96. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  97. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  98. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js +1 -1
  99. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js.map +3 -3
  100. package/lib/cjs/src/api/types.js +1 -1
  101. package/lib/cjs/src/api/types.js.map +1 -1
  102. package/lib/cjs/src/di.js +1 -1
  103. package/lib/cjs/src/di.js.map +2 -2
  104. package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js +1 -1
  105. package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +3 -3
  106. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  107. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  108. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  109. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  110. package/lib/cjs/src/internal/device-session/model/DevicePinger.js +2 -0
  111. package/lib/cjs/src/internal/device-session/model/DevicePinger.js.map +7 -0
  112. package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js +2 -0
  113. package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js.map +7 -0
  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/DeviceSessionEventDispatcher.js +2 -0
  119. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +7 -0
  120. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +2 -0
  121. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +7 -0
  122. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  123. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  124. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  125. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +3 -3
  126. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +2 -0
  127. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +7 -0
  128. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +2 -0
  129. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +7 -0
  130. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  131. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  132. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  133. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  134. package/lib/cjs/src/internal/device-session/service/MutexService.js +2 -0
  135. package/lib/cjs/src/internal/device-session/service/MutexService.js.map +7 -0
  136. package/lib/cjs/src/internal/device-session/service/MutexService.test.js +2 -0
  137. package/lib/cjs/src/internal/device-session/service/MutexService.test.js.map +7 -0
  138. package/lib/cjs/src/internal/device-session/service/RefresherService.js +2 -0
  139. package/lib/cjs/src/internal/device-session/service/RefresherService.js.map +7 -0
  140. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js +2 -0
  141. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  142. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  143. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  144. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  145. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  146. package/lib/cjs/src/internal/device-session/utils/deviceSessionUtils.js +2 -0
  147. package/lib/cjs/src/internal/device-session/utils/deviceSessionUtils.js.map +7 -0
  148. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  149. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  150. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  151. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  152. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  153. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  154. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  155. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  156. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  157. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  158. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  159. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +3 -3
  160. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +1 -1
  161. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +3 -3
  162. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  163. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +3 -3
  164. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  165. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  166. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  167. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  168. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  169. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  170. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  171. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  172. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  173. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  174. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  175. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  176. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  177. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  178. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  179. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  180. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  181. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  182. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
  183. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  184. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  185. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  186. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  187. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  188. package/lib/cjs/src/internal/manager-api/model/Params.js +2 -0
  189. package/lib/cjs/src/internal/manager-api/model/Params.js.map +7 -0
  190. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  191. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  192. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  193. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  194. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  195. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  196. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  197. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  198. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  199. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  200. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  201. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  202. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  203. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  204. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +1 -1
  205. package/lib/cjs/src/internal/secure-channel/model/Errors.js +1 -1
  206. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +3 -3
  207. package/lib/cjs/src/internal/secure-channel/model/Params.js +1 -1
  208. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +1 -1
  209. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  210. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  211. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  212. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  213. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +1 -1
  214. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +1 -1
  215. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  216. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  217. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  218. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  219. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  220. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  221. package/lib/esm/package.json +4 -4
  222. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  223. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  224. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  225. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  226. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  227. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  228. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  229. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  230. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js +2 -0
  231. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  232. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  233. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  234. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  235. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  236. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  237. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  238. package/lib/esm/src/api/device/SecureElementFlags.js +1 -0
  239. package/lib/esm/src/api/device/SecureElementFlags.js.map +7 -0
  240. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  241. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  242. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  243. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  244. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js +1 -1
  245. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  246. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  247. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
  248. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  249. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  250. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  251. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +2 -2
  252. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  253. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  254. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  255. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  256. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  257. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +2 -2
  258. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +1 -1
  259. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +1 -1
  260. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  261. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  262. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  263. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  264. package/lib/esm/src/api/index.js +1 -1
  265. package/lib/esm/src/api/index.js.map +3 -3
  266. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  267. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  268. package/lib/esm/src/api/secure-channel/constants.js +2 -0
  269. package/lib/esm/src/api/secure-channel/constants.js.map +7 -0
  270. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  271. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  272. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  273. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  274. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js +1 -0
  275. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  276. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +2 -0
  277. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +7 -0
  278. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +2 -0
  279. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +7 -0
  280. package/lib/esm/src/api/secure-channel/device-action/InstallApp/types.js +1 -0
  281. package/lib/esm/src/api/secure-channel/device-action/InstallApp/types.js.map +7 -0
  282. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +2 -0
  283. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +7 -0
  284. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +2 -0
  285. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +7 -0
  286. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js +2 -0
  287. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +7 -0
  288. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +2 -0
  289. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +7 -0
  290. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +2 -0
  291. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +7 -0
  292. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/types.js +1 -0
  293. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/types.js.map +7 -0
  294. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  295. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  296. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  297. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  298. package/lib/esm/src/api/secure-channel/task/types.js +2 -0
  299. package/lib/esm/src/api/secure-channel/task/types.js.map +7 -0
  300. package/lib/esm/src/api/secure-channel/types.js +1 -0
  301. package/lib/esm/src/api/secure-channel/types.js.map +7 -0
  302. package/lib/esm/src/api/secure-channel/utils.js +2 -0
  303. package/lib/esm/src/api/secure-channel/utils.js.map +7 -0
  304. package/lib/esm/src/api/secure-channel/utils.test.js +2 -0
  305. package/lib/esm/src/api/secure-channel/utils.test.js.map +7 -0
  306. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +1 -1
  307. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +3 -3
  308. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  309. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  310. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js +1 -1
  311. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js.map +3 -3
  312. package/lib/esm/src/di.js +1 -1
  313. package/lib/esm/src/di.js.map +3 -3
  314. package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js +1 -1
  315. package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +3 -3
  316. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  317. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  318. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  319. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  320. package/lib/esm/src/internal/device-session/model/DevicePinger.js +2 -0
  321. package/lib/esm/src/internal/device-session/model/DevicePinger.js.map +7 -0
  322. package/lib/esm/src/internal/device-session/model/DevicePinger.test.js +2 -0
  323. package/lib/esm/src/internal/device-session/model/DevicePinger.test.js.map +7 -0
  324. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  325. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  326. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  327. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  328. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js +2 -0
  329. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +7 -0
  330. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +2 -0
  331. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +7 -0
  332. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  333. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  334. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  335. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +3 -3
  336. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +2 -0
  337. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +7 -0
  338. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +2 -0
  339. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +7 -0
  340. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  341. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  342. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  343. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  344. package/lib/esm/src/internal/device-session/service/MutexService.js +2 -0
  345. package/lib/esm/src/internal/device-session/service/MutexService.js.map +7 -0
  346. package/lib/esm/src/internal/device-session/service/MutexService.test.js +2 -0
  347. package/lib/esm/src/internal/device-session/service/MutexService.test.js.map +7 -0
  348. package/lib/esm/src/internal/device-session/service/RefresherService.js +2 -0
  349. package/lib/esm/src/internal/device-session/service/RefresherService.js.map +7 -0
  350. package/lib/esm/src/internal/device-session/service/RefresherService.test.js +2 -0
  351. package/lib/esm/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  352. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  353. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  354. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  355. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  356. package/lib/esm/src/internal/device-session/utils/deviceSessionUtils.js +2 -0
  357. package/lib/esm/src/internal/device-session/utils/deviceSessionUtils.js.map +7 -0
  358. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  359. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  360. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  361. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  362. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  363. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  364. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  365. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  366. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  367. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  368. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  369. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +3 -3
  370. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +1 -1
  371. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +3 -3
  372. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  373. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +3 -3
  374. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  375. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  376. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  377. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  378. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  379. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  380. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  381. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  382. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  383. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  384. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  385. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  386. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  387. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  388. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  389. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
  390. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  391. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  392. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  393. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  394. package/lib/esm/src/internal/manager-api/model/Params.js +1 -0
  395. package/lib/esm/src/internal/manager-api/model/Params.js.map +7 -0
  396. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  397. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  398. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  399. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  400. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  401. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  402. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  403. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  404. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  405. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  406. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  407. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  408. package/lib/esm/src/internal/secure-channel/model/Errors.js +1 -1
  409. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +3 -3
  410. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  411. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  412. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  413. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  414. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js +1 -1
  415. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  416. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  417. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  418. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  419. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  420. package/lib/types/src/api/DeviceManagementKit.d.ts +25 -9
  421. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  422. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  423. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  424. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  425. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +8 -2
  426. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  427. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts +43 -0
  428. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts.map +1 -0
  429. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts +2 -0
  430. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts.map +1 -0
  431. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  432. package/lib/types/src/api/device/SecureElementFlags.d.ts +41 -0
  433. package/lib/types/src/api/device/SecureElementFlags.d.ts.map +1 -0
  434. package/lib/types/src/api/device-action/DeviceAction.d.ts +1 -0
  435. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  436. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  437. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +4 -0
  438. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  439. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +3 -2
  440. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts.map +1 -1
  441. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  442. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  443. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  444. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +4 -0
  445. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  446. package/lib/types/src/api/device-session/use-case/{ToggleDeviceSessionRefresher.d.ts → DisableDeviceSessionRefresher.d.ts} +6 -6
  447. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.d.ts.map +1 -0
  448. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts +2 -0
  449. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts.map +1 -0
  450. package/lib/types/src/api/index.d.ts +5 -1
  451. package/lib/types/src/api/index.d.ts.map +1 -1
  452. package/lib/types/src/api/secure-channel/constants.d.ts +2 -0
  453. package/lib/types/src/api/secure-channel/constants.d.ts.map +1 -0
  454. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts +8 -0
  455. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -0
  456. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts +2 -0
  457. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts.map +1 -0
  458. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +48 -0
  459. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -0
  460. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts +8 -0
  461. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -0
  462. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts +2 -0
  463. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts.map +1 -0
  464. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts +44 -0
  465. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts.map +1 -0
  466. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts +8 -0
  467. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -0
  468. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts +2 -0
  469. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts.map +1 -0
  470. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +57 -0
  471. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -0
  472. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts +8 -0
  473. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts.map +1 -0
  474. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts +2 -0
  475. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts.map +1 -0
  476. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts +41 -0
  477. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts.map +1 -0
  478. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +23 -0
  479. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -0
  480. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts +2 -0
  481. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts.map +1 -0
  482. package/lib/types/src/api/secure-channel/task/types.d.ts +105 -0
  483. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -0
  484. package/lib/types/src/api/secure-channel/types.d.ts +4 -0
  485. package/lib/types/src/api/secure-channel/types.d.ts.map +1 -0
  486. package/lib/types/src/api/secure-channel/utils.d.ts +30 -0
  487. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -0
  488. package/lib/types/src/api/secure-channel/utils.test.d.ts +2 -0
  489. package/lib/types/src/api/secure-channel/utils.test.d.ts.map +1 -0
  490. package/lib/types/src/api/transport/model/DeviceConnection.d.ts +1 -1
  491. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -1
  492. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +9 -7
  493. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -1
  494. package/lib/types/src/api/transport/model/Errors.d.ts +5 -0
  495. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  496. package/lib/types/src/api/types.d.ts +4 -0
  497. package/lib/types/src/api/types.d.ts.map +1 -1
  498. package/lib/types/src/di.d.ts.map +1 -1
  499. package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts +6 -1
  500. package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts.map +1 -1
  501. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -1
  502. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts +18 -0
  503. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts.map +1 -0
  504. package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts +2 -0
  505. package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts.map +1 -0
  506. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +20 -8
  507. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  508. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -2
  509. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  510. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts +35 -0
  511. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts.map +1 -0
  512. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts +2 -0
  513. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts.map +1 -0
  514. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +17 -79
  515. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  516. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts +20 -0
  517. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts.map +1 -0
  518. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts +2 -0
  519. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts.map +1 -0
  520. package/lib/types/src/internal/device-session/service/MutexService.d.ts +6 -0
  521. package/lib/types/src/internal/device-session/service/MutexService.d.ts.map +1 -0
  522. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts +2 -0
  523. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts.map +1 -0
  524. package/lib/types/src/internal/device-session/service/RefresherService.d.ts +15 -0
  525. package/lib/types/src/internal/device-session/service/RefresherService.d.ts.map +1 -0
  526. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts +2 -0
  527. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts.map +1 -0
  528. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts +3 -0
  529. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts.map +1 -0
  530. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +8 -1
  531. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  532. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +14 -3
  533. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -1
  534. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts +1 -1
  535. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts.map +1 -1
  536. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +1 -1
  537. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  538. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +10 -6
  539. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  540. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +24 -9
  541. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  542. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +4 -1
  543. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  544. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +3 -0
  545. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  546. package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
  547. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
  548. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
  549. package/lib/types/src/internal/manager-api/model/Application.d.ts +4 -1
  550. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  551. package/lib/types/src/internal/manager-api/model/Const.d.ts +1 -0
  552. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  553. package/lib/types/src/internal/manager-api/model/Params.d.ts +37 -0
  554. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -0
  555. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +7 -7
  556. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  557. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +32 -4
  558. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  559. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts +11 -0
  560. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts.map +1 -0
  561. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +2 -0
  562. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +1 -0
  563. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +3 -3
  564. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -1
  565. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +13 -13
  566. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -1
  567. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +6 -0
  568. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -1
  569. package/lib/types/src/internal/secure-channel/model/Params.d.ts +3 -5
  570. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -1
  571. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +7 -7
  572. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -1
  573. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +39 -4
  574. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -1
  575. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +5 -1
  576. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  577. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  578. package/package.json +4 -4
  579. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  580. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  581. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  582. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  583. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  584. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  585. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  586. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  587. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +0 -1
  588. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +0 -2
  589. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\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 { 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 { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\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(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-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 // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", () =>\n new Promise<void>((resolve) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n resolve();\n }\n }));\n});\n"],
5
- "mappings": "aAEA,IAAAA,EAAyC,6DACzCC,EAAsC,iDACtCC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAG5CC,EAA6C,0CAE7C,GAAG,KAAK,sDAAsD,EAE9D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfN,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,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMO,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMN,EACNG,EACAE,CACF,EACAJ,EAAe,iBAAiBM,CAAa,EAM7C,MAAMC,EALU,IAAI,+BAClBP,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWM,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAsD,IACvD,IAAI,QAAeC,GAAY,CAE7B,MAAMC,EAAU,IAAI,+BAClBV,EACA,IAAMD,CACR,EAGA,GAAI,CACFW,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAe,uBAAqB,EAClDF,EAAQ,CACV,CACF,CAAC,CAAC,CACN,CAAC",
6
- "names": ["import_DeviceSession", "import_Errors", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "import_GetDeviceSessionStateUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "deviceSession", "res", "expected", "resolve", "useCase", "error"]
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\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 { 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 { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\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(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-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 // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", () =>\n new Promise<void>((resolve) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n resolve();\n }\n }));\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAyD,qEACzDC,EAAyC,6DACzCC,EAAsC,iDACtCC,EAA4C,wEAE5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAG5CC,EAA6C,0CAE7C,GAAG,KAAK,sDAAsD,EAE9D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfN,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,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMO,KAAgB,4BACpB,CAAE,GAAID,CAAc,EACpB,IAAMN,EACNG,EACAE,EACA,0CACF,EACAJ,EAAe,iBAAiBM,CAAa,EAM7C,MAAMC,EALU,IAAI,+BAClBP,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWM,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAsD,IACvD,IAAI,QAAeC,GAAY,CAE7B,MAAMC,EAAU,IAAI,+BAClBV,EACA,IAAMD,CACR,EAGA,GAAI,CACFW,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAe,uBAAqB,EAClDF,EAAQ,CACV,CACF,CAAC,CAAC,CACN,CAAC",
6
+ "names": ["import_DeviceSessionRefresherConst", "import_DeviceSession", "import_Errors", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "import_GetDeviceSessionStateUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "deviceSession", "res", "expected", "resolve", "useCase", "error"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var A=(e,n)=>{for(var s in n)t(e,s,{get:n[s],enumerable:!0})},c=(e,n,s,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of i(n))!f.call(e,o)&&o!==s&&t(e,o,{get:()=>n[o],enumerable:!(r=p(n,o))||r.enumerable});return e};var u=e=>c(t({},"__esModule",{value:!0}),e);var y={};A(y,{isGetAppAndVersionResponse:()=>d});module.exports=u(y);const d=e=>{if(typeof e!="object"||e===null)return!1;const n=e;return typeof n.name=="string"&&typeof n.version=="string"};0&&(module.exports={isGetAppAndVersionResponse});
2
+ //# sourceMappingURL=deviceSessionUtils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/device-session/utils/deviceSessionUtils.ts"],
4
+ "sourcesContent": ["import { type GetAppAndVersionResponse } from \"@api/index\";\n\nexport const isGetAppAndVersionResponse = (\n response: unknown,\n): response is GetAppAndVersionResponse => {\n if (typeof response !== \"object\" || response === null) return false;\n const rec = response as Record<string, unknown>;\n return typeof rec[\"name\"] === \"string\" && typeof rec[\"version\"] === \"string\";\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,EACXE,GACyC,CACzC,GAAI,OAAOA,GAAa,UAAYA,IAAa,KAAM,MAAO,GAC9D,MAAMC,EAAMD,EACZ,OAAO,OAAOC,EAAI,MAAY,UAAY,OAAOA,EAAI,SAAe,QACtE",
6
+ "names": ["deviceSessionUtils_exports", "__export", "isGetAppAndVersionResponse", "__toCommonJS", "response", "rec"]
7
+ }
@@ -1,2 +1,2 @@
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});
1
+ "use strict";var v=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var T=(o,r)=>{for(var s in r)v(o,s,{get:r[s],enumerable:!0})},C=(o,r,s,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of _(r))!A.call(o,e)&&e!==s&&v(o,e,{get:()=>r[e],enumerable:!(i=S(r,e))||i.enumerable});return o};var E=o=>C(v({},"__esModule",{value:!0}),o),m=(o,r,s,i)=>{for(var e=i>1?void 0:i?S(r,s):r,n=o.length-1,p;n>=0;n--)(p=o[n])&&(e=(i?p(r,s,e):p(e))||e);return i&&e&&v(r,s,e),e},c=(o,r)=>(s,i)=>r(s,i,o);var I={};T(I,{ConnectUseCase:()=>a});module.exports=E(I);var t=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"),f=require("../../manager-api/di/managerApiTypes"),y=require("../../secure-channel/di/secureChannelTypes"),u=require("../../transport/di/transportDiTypes");let a=class{_transportService;_sessionService;_loggerFactory;_managerApi;_secureChannel;_logger;constructor(r,s,i,e,n){this._sessionService=s,this._transportService=r,this._loggerFactory=i,this._logger=i("ConnectUseCase"),this._managerApi=e,this._secureChannel=n}handleDeviceDisconnect(r){this._sessionService.getDeviceSessionByDeviceId(r).map(i=>{this._sessionService.removeDeviceSession(i.id)})}async execute({device:r,sessionRefresherOptions:s}){const i=this._transportService.getTransport(r.transport);return g.EitherAsync.liftEither(i.toEither(new h.TransportNotSupportedError(new Error("Unknown transport")))).chain(async e=>e.connect({deviceId:r.id,onDisconnect:n=>this.handleDeviceDisconnect(n)})).ifLeft(e=>{this._logger.error("Error connecting to device",{data:{deviceId:r.id,error:e}})}).map(async e=>{const n=new d.DeviceSession({connectedDevice:e},this._loggerFactory,this._managerApi,this._secureChannel,s);return this._sessionService.addDeviceSession(n),await n.initialiseSession(),n.id}).caseOf({Left:e=>{throw e},Right:e=>e})}};a=m([(0,t.injectable)(),c(0,(0,t.inject)(u.transportDiTypes.TransportService)),c(1,(0,t.inject)(l.deviceSessionTypes.DeviceSessionService)),c(2,(0,t.inject)(D.loggerTypes.LoggerPublisherServiceFactory)),c(3,(0,t.inject)(f.managerApiTypes.ManagerApiService)),c(4,(0,t.inject)(y.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 { 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"]
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 {\n DeviceSession,\n DeviceSessionRefresherOptions,\n} 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 * sessionRefresherOptions - optional\n * isRefresherDisabled - whether the refresher is disabled\n * pollingInterval - optional - the refresh interval in milliseconds\n */\n sessionRefresherOptions?: DeviceSessionRefresherOptions;\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({\n device,\n sessionRefresherOptions,\n }: 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(async (connectedDevice) => {\n const deviceSession = new DeviceSession(\n { connectedDevice },\n this._loggerFactory,\n this._managerApi,\n this._secureChannel,\n sessionRefresherOptions,\n );\n this._sessionService.addDeviceSession(deviceSession);\n await deviceSession.initialiseSession();\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,EAGO,wDAEPC,EAA4B,qDAC5BC,EAAgC,oDAEhCC,EAAmC,0DAEnCC,EAAiC,mDAwB1B,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,CACZ,OAAAC,EACA,wBAAAC,CACF,EAAiD,CAC/C,MAAMC,EAAY,KAAK,kBAAkB,aAAaF,EAAO,SAAS,EAEtE,OAAO,cAAY,WACjBE,EAAU,SACR,IAAI,6BAA2B,IAAI,MAAM,mBAAmB,CAAC,CAC/D,CACF,EACG,MAAM,MAAOC,GACLA,EAAE,QAAQ,CACf,SAAUH,EAAO,GACjB,aAAeI,GAAQ,KAAK,uBAAuBA,CAAG,CACxD,CAAC,CACF,EACA,OAAQC,GAAU,CACjB,KAAK,QAAQ,MAAM,6BAA8B,CAC/C,KAAM,CAAE,SAAUL,EAAO,GAAI,MAAAK,CAAM,CACrC,CAAC,CACH,CAAC,EACA,IAAI,MAAOC,GAAoB,CAC9B,MAAMP,EAAgB,IAAI,gBACxB,CAAE,gBAAAO,CAAgB,EAClB,KAAK,eACL,KAAK,YACL,KAAK,eACLL,CACF,EACA,YAAK,gBAAgB,iBAAiBF,CAAa,EACnD,MAAMA,EAAc,kBAAkB,EAC/BA,EAAc,EACvB,CAAC,EACA,OAAO,CACN,KAAOM,GAAU,CACf,MAAMA,CACR,EACA,MAAQE,GAAMA,CAChB,CAAC,CACL,CACF,EA7Eaf,EAANgB,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,IAjBtCjB",
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", "sessionRefresherOptions", "transport", "t", "dId", "error", "connectedDevice", "s", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("purify-ts"),l=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,f,c;const M="fakeSessionId";describe("ConnectUseCase",()=>{const m={id:"",deviceModel:{},transport:"USB",name:"TEST"},A=(0,S.connectedDeviceStubBuilder)({id:"1"}),h="logger-tag";beforeAll(()=>{n=new g.DefaultLoggerPublisherService([],h),o=new l.TransportMock,r=new D.DefaultDeviceSessionService(()=>n),u=new d.AxiosManagerApiDataSource({}),a=new y.DefaultManagerApiService(u),f=new k.DefaultSecureChannelDataSource({}),c=new C.DefaultSecureChannelService(f),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)})});
1
+ "use strict";var r=require("purify-ts"),f=require("../../../api/transport/model/__mocks__/TransportMock"),s=require("../../../api/transport/model/Errors"),l=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,e,a,S,u,c;const T="fakeSessionId";describe("ConnectUseCase",()=>{const m={id:"",deviceModel:{},transport:"USB",name:"TEST"},A=(0,l.connectedDeviceStubBuilder)({id:"1"}),h="logger-tag";beforeAll(()=>{n=new g.DefaultLoggerPublisherService([],h),o=new f.TransportMock,e=new D.DefaultDeviceSessionService(()=>n),S=new d.AxiosManagerApiDataSource({}),a=new y.DefaultManagerApiService(S),u=new k.DefaultSecureChannelDataSource({}),c=new C.DefaultSecureChannelService(u),t=new w.DefaultTransportService}),afterEach(()=>{for(const i of e.getDeviceSessions())e.removeDeviceSession(i.id)}),afterAll(()=>{vi.restoreAllMocks()}),test("If connect use case encounter an error, return it",async()=>{vi.spyOn(o,"connect").mockResolvedValue((0,r.Left)(new s.UnknownDeviceError)),vi.spyOn(t,"getTransport").mockReturnValue(r.Maybe.of(o));const i=new p.ConnectUseCase(t,e,()=>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,r.Right)(A)),vi.spyOn(t,"getTransport").mockReturnValue(r.Maybe.of(o)),vi.spyOn(e,"addDeviceSession").mockImplementation(M=>(M.setDeviceSessionState({}),e));const v=await new p.ConnectUseCase(t,e,()=>n,a,c).execute({device:m});expect(v).toBe(T),e.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 { 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 };\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,MACR,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"]
4
+ "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\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 };\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 vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n vi.spyOn(sessionService, \"addDeviceSession\").mockImplementation(\n (deviceSession) => {\n deviceSession.setDeviceSessionState({} as DeviceSessionState);\n return sessionService;\n },\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,qBAKnCC,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,MACR,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,EACA,GAAG,MAAMT,EAAkB,cAAc,EAAE,gBACzC,QAAM,GAAGD,CAAS,CACpB,EACA,GAAG,MAAMG,EAAgB,kBAAkB,EAAE,mBAC1CW,IACCA,EAAc,sBAAsB,CAAC,CAAuB,EACrDX,EAEX,EAUA,MAAMY,EAAY,MARF,IAAI,iBAClBd,EACAE,EACA,IAAMD,EACNE,EACAG,CACF,EAEgC,QAAQ,CACtC,OAAQE,CACV,CAAC,EACD,OAAOM,CAAS,EAAE,KAAKP,CAAa,EACpCL,EAAe,oBAAoBY,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", "deviceSession", "sessionId"]
7
7
  }
@@ -1,2 +1,2 @@
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)}})});
1
+ "use strict";var o=require("purify-ts"),D=require("../../../api/transport/model/__mocks__/TransportMock"),S=require("../../../api/transport/model/Errors"),y=require("../../../api/transport/model/TransportConnectedDevice.stub"),v=require("../../device-session/data/DeviceSessionRefresherConst"),u=require("../../device-session/model/DeviceSession.stub"),C=require("../../device-session/model/Errors"),h=require("../../device-session/service/DefaultDeviceSessionService"),w=require("../../logger-publisher/service/DefaultLoggerPublisherService"),g=require("../../manager-api/data/AxiosManagerApiDataSource"),T=require("../../manager-api/service/DefaultManagerApiService"),k=require("../../secure-channel/data/DefaultSecureChannelDataSource"),A=require("../../secure-channel/service/DefaultSecureChannelService"),E=require("../../transport/service/DefaultTransportService"),a=require("./DisconnectUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let e,p,s=[];const n=vi.fn().mockReturnValue(new w.DefaultLoggerPublisherService([],"DisconnectUseCaseTest"));let c,m,f,d,l;const i="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new D.TransportMock,s=[p],e=new h.DefaultDeviceSessionService(n),c=new E.DefaultTransportService,vi.spyOn(c,"getTransport").mockReturnValue(o.Maybe.of(p))}),it("should disconnect from a device",async()=>{const r=(0,y.connectedDeviceStubBuilder)();f=new g.AxiosManagerApiDataSource({}),m=new T.DefaultManagerApiService(f),d=new k.DefaultSecureChannelDataSource({}),l=new A.DefaultSecureChannelService(d);const t=(0,u.deviceSessionStubBuilder)({id:i,connectedDevice:r},n,m,l,v.DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS);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 C.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,v.DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS))),vi.spyOn(s[0],"disconnect").mockResolvedValue((0,o.Left)(new S.DisconnectError));const r=new a.DisconnectUseCase(c,e,n);try{await r.execute({sessionId:i})}catch(t){expect(t).toStrictEqual(new S.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 { 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"]
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 { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\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 DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\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 DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\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,EAAyD,qEACzDC,EAAyC,6DACzCH,EAAsC,iDACtCI,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,EACA,0CACF,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,EACA,0CACF,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_DeviceSessionRefresherConst", "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 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}))})});
1
+ "use strict";var s=require("../../../api/transport/model/ConnectedDevice"),a=require("../../device-session/data/DeviceSessionRefresherConst"),S=require("../../device-session/model/DeviceSession.stub"),v=require("../../device-session/service/DefaultDeviceSessionService"),f=require("../../logger-publisher/service/DefaultLoggerPublisherService"),l=require("../../manager-api/data/AxiosManagerApiDataSource"),D=require("../../manager-api/service/DefaultManagerApiService"),d=require("../../secure-channel/data/DefaultSecureChannelDataSource"),g=require("../../secure-channel/service/DefaultSecureChannelService"),m=require("./GetConnectedDeviceUseCase");vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let r,o,p,t,u,c;const i="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{r=new f.DefaultLoggerPublisherService([],"get-connected-device-use-case"),p=new l.AxiosManagerApiDataSource({}),t=new D.DefaultManagerApiService(p),u=new d.DefaultSecureChannelDataSource({}),c=new g.DefaultSecureChannelService(u),o=new v.DefaultDeviceSessionService(()=>r)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=(0,S.deviceSessionStubBuilder)({id:i},()=>r,t,c,a.DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS);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,S.deviceSessionStubBuilder)({id:i},()=>r,t,c,a.DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS);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 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"]
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 { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\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 DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\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 DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\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,EAAyD,qEACzDC,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,EACA,0CACF,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,EACA,0CACF,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_DeviceSessionRefresherConst", "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 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([])})});
1
+ "use strict";var n=require("../../../api/transport/model/ConnectedDevice"),c=require("../../device-session/data/DeviceSessionRefresherConst"),a=require("../../device-session/model/DeviceSession.stub"),u=require("../../device-session/service/DefaultDeviceSessionService"),S=require("../../discovery/use-case/ListConnectedDevicesUseCase"),l=require("../../logger-publisher/service/DefaultLoggerPublisherService"),v=require("../../manager-api/data/AxiosManagerApiDataSource"),D=require("../../manager-api/service/DefaultManagerApiService"),f=require("../../secure-channel/data/DefaultSecureChannelDataSource"),d=require("../../secure-channel/service/DefaultSecureChannelService");let i,o,m,s,p,t;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{i=new l.DefaultLoggerPublisherService([],"list-device-sessions-use-case-test"),m=new v.AxiosManagerApiDataSource({}),s=new D.DefaultManagerApiService(m),p=new f.DefaultSecureChannelDataSource({}),t=new d.DefaultSecureChannelService(p),o=new u.DefaultDeviceSessionService(()=>i)}),it("should list all device sessions",()=>{const r=(0,a.deviceSessionStubBuilder)({id:"1"},()=>i,s,t,c.DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS),e=(0,a.deviceSessionStubBuilder)({id:"2"},()=>i,s,t,c.DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS);o.addDeviceSession(r),o.addDeviceSession(e);const C=new S.ListConnectedDevicesUseCase(o,()=>i).execute();r.close(),e.close(),expect(C).toStrictEqual([new n.ConnectedDevice({transportConnectedDevice:r.connectedDevice,sessionId:r.id}),new n.ConnectedDevice({transportConnectedDevice:e.connectedDevice,sessionId:e.id})])}),it("should return empty array if no device sessions",()=>{const e=new S.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 { 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"]
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\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 { 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 DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\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,EAAgC,gDAChCC,EAAyD,qEACzDC,EAAyC,6DACzCC,EAA4C,wEAE5CC,EAA4C,oEAC5CC,EAA8C,4EAC9CC,EAA0C,gEAE1CC,EAAyC,kEAEzCC,EAA+C,wEAE/CC,EAA4C,wEAI5C,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,EACA,0CACF,EACME,KAAiB,4BACrB,CAAE,GAAI,GAAI,EACV,IAAMP,EACNG,EACAE,EACA,0CACF,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_ConnectedDevice", "import_DeviceSessionRefresherConst", "import_DeviceSession", "import_DefaultDeviceSessionService", "import_ListConnectedDevicesUseCase", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "deviceSession1", "deviceSession2", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var b=(o,r)=>{for(var e in r)n(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))!u.call(o,t)&&t!==e&&n(o,t,{get:()=>r[t],enumerable:!(p=v(r,t))||p.enumerable});return o};var y=o=>h(n({},"__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&&n(r,e,t),t},D=(o,r)=>(e,p)=>r(e,p,o);var x={};b(x,{ListenToAvailableDevicesUseCase:()=>s});module.exports=y(x);var a=require("inversify"),i=require("rxjs"),l=require("../../../api/device/DeviceModel"),T=require("../../transport/di/transportDiTypes");let s=class{_transports;constructor(r){this._transports=r.getAllTransports()}mapTransportDiscoveredDeviceToDiscoveredDevice(r){const e=new l.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,rssi:r.rssi}}execute(){if(this._transports.length===0)return(0,i.from)([[]]);const r=this._transports.map((e,p)=>e.listenToAvailableDevices().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,a.injectable)(),D(0,(0,a.inject)(T.transportDiTypes.TransportService))],s);0&&(module.exports={ListenToAvailableDevicesUseCase});
1
+ "use strict";var v=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var b=(o,r)=>{for(var t in r)v(o,t,{get:r[t],enumerable:!0})},u=(o,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of f(r))!h.call(o,e)&&e!==t&&v(o,e,{get:()=>r[e],enumerable:!(i=m(r,e))||i.enumerable});return o};var _=o=>u(v({},"__esModule",{value:!0}),o),g=(o,r,t,i)=>{for(var e=i>1?void 0:i?m(r,t):r,n=o.length-1,a;n>=0;n--)(a=o[n])&&(e=(i?a(r,t,e):a(e))||e);return i&&e&&v(r,t,e),e},l=(o,r)=>(t,i)=>r(t,i,o);var y={};b(y,{ListenToAvailableDevicesUseCase:()=>p});module.exports=_(y);var c=require("inversify"),s=require("rxjs"),D=require("../../../api/device/DeviceModel"),d=require("../../logger-publisher/di/loggerTypes"),T=require("../../transport/di/transportDiTypes");let p=class{_transports;_transportService;_logger;constructor(r,t){this._transports=r.getAllTransports(),this._transportService=r,this._logger=t("ListenToAvailableDevicesUseCase")}mapTransportDiscoveredDeviceToDiscoveredDevice(r){const t=new D.DeviceModel({id:r.id,model:r.deviceModel.id,name:r.deviceModel.productName});return{id:r.id,deviceModel:t,transport:r.transport,name:r.name||t.name,rssi:r.rssi}}execute({transport:r}={}){if(this._logger.info("Listening to available devices"),this._transports.length===0)return this._logger.warn("No transports available"),(0,s.from)([[]]);if(!r){this._logger.info("Discovering all available transports");const i=this._transports.map((e,n)=>e.listenToAvailableDevices().pipe((0,s.map)(a=>({index:n,arr:a}))));return(0,s.merge)(...i).pipe((0,s.scan)((e,{index:n,arr:a})=>(e[n]=a,e),{}),(0,s.map)(e=>Object.values(e).flat().map(this.mapTransportDiscoveredDeviceToDiscoveredDevice)))}return this._logger.info(`Discovering devices on transport ${r}`),this._transportService.getTransport(r).caseOf({Nothing:()=>(this._logger.error(`Transport ${r} not found`),(0,s.of)([])),Just:i=>i.listenToAvailableDevices().pipe((0,s.map)(e=>e.map(this.mapTransportDiscoveredDeviceToDiscoveredDevice)))})}};p=g([(0,c.injectable)(),l(0,(0,c.inject)(T.transportDiTypes.TransportService)),l(1,(0,c.inject)(d.loggerTypes.LoggerPublisherServiceFactory))],p);0&&(module.exports={ListenToAvailableDevicesUseCase});
2
2
  //# sourceMappingURL=ListenToAvailableDevicesUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.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 ListenToAvailableDevicesUseCase {\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 rssi: discoveredDevice.rssi,\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.listenToAvailableDevices().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,qCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAAmD,gBAEnDC,EAA4B,mCAI5BC,EAAiC,mDAO1B,IAAMC,EAAN,KAAsC,CAC1B,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,KAAMD,EAAiB,IACzB,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,yBAAyB,EAAE,QACnC,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": ["ListenToAvailableDevicesUseCase_exports", "__export", "ListenToAvailableDevicesUseCase", "__toCommonJS", "import_inversify", "import_rxjs", "import_DeviceModel", "import_transportDiTypes", "ListenToAvailableDevicesUseCase", "transportService", "discoveredDevice", "deviceModel", "observablesWithIndex", "transport", "index", "arr", "acc", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { from, map, merge, Observable, of, scan } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { type Transport } from \"@api/transport/model/Transport\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { type TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type ListenToAvailableDevicesUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parallel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Listen to list of known discovered devices (and later BLE).\n */\n@injectable()\nexport class ListenToAvailableDevicesUseCase {\n private readonly _transports: Transport[];\n private readonly _transportService: TransportService;\n private readonly _logger: LoggerPublisherService;\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._transports = transportService.getAllTransports();\n this._transportService = transportService;\n this._logger = loggerFactory(\"ListenToAvailableDevicesUseCase\");\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 rssi: discoveredDevice.rssi,\n };\n }\n\n execute({ transport }: ListenToAvailableDevicesUseCaseArgs = {}): Observable<\n DiscoveredDevice[]\n > {\n this._logger.info(\"Listening to available devices\");\n\n if (this._transports.length === 0) {\n this._logger.warn(\"No transports available\");\n return from([[]]);\n }\n\n if (!transport) {\n this._logger.info(\"Discovering all available transports\");\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((t, index) =>\n t.listenToAvailableDevices().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 this._logger.info(`Discovering devices on transport ${transport}`);\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Nothing: () => {\n this._logger.error(`Transport ${transport} not found`);\n return of([]);\n },\n Just: (t) => {\n return t\n .listenToAvailableDevices()\n .pipe(\n map((devices) =>\n devices.map(this.mapTransportDiscoveredDeviceToDiscoveredDevice),\n ),\n );\n },\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAAuD,gBAEvDC,EAA4B,mCAM5BC,EAA4B,qDAC5BC,EAAiC,mDAe1B,IAAMC,EAAN,KAAsC,CAC1B,YACA,kBACA,QACjB,YAEEC,EAEAC,EACA,CACA,KAAK,YAAcD,EAAiB,iBAAiB,EACrD,KAAK,kBAAoBA,EACzB,KAAK,QAAUC,EAAc,iCAAiC,CAChE,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,KAAMD,EAAiB,IACzB,CACF,CAEA,QAAQ,CAAE,UAAAE,CAAU,EAAyC,CAAC,EAE5D,CAGA,GAFA,KAAK,QAAQ,KAAK,gCAAgC,EAE9C,KAAK,YAAY,SAAW,EAC9B,YAAK,QAAQ,KAAK,yBAAyB,KACpC,QAAK,CAAC,CAAC,CAAC,CAAC,EAGlB,GAAI,CAACA,EAAW,CACd,KAAK,QAAQ,KAAK,sCAAsC,EASxD,MAAMC,EAAuB,KAAK,YAAY,IAAI,CAACC,EAAGC,IACpDD,EAAE,yBAAyB,EAAE,QAC3B,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,CAEA,YAAK,QAAQ,KAAK,oCAAoCL,CAAS,EAAE,EAEhD,KAAK,kBAAkB,aAAaA,CAAS,EAE9C,OAAO,CACrB,QAAS,KACP,KAAK,QAAQ,MAAM,aAAaA,CAAS,YAAY,KAC9C,MAAG,CAAC,CAAC,GAEd,KAAOE,GACEA,EACJ,yBAAyB,EACzB,QACC,OAAKI,GACHA,EAAQ,IAAI,KAAK,8CAA8C,CACjE,CACF,CAEN,CAAC,CACH,CACF,EAjGaX,EAANY,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,mBAAiB,gBAAgB,GAExCA,EAAA,eAAO,cAAY,6BAA6B,IAPxCb",
6
+ "names": ["ListenToAvailableDevicesUseCase_exports", "__export", "ListenToAvailableDevicesUseCase", "__toCommonJS", "import_inversify", "import_rxjs", "import_DeviceModel", "import_loggerTypes", "import_transportDiTypes", "ListenToAvailableDevicesUseCase", "transportService", "loggerFactory", "discoveredDevice", "deviceModel", "transport", "observablesWithIndex", "t", "index", "arr", "acc", "devices", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=require("rxjs"),D=require("../../../api/device/DeviceModel"),f=require("../../../api/device-model/model/DeviceModel.stub"),A=require("../../transport/service/DefaultTransportService"),v=require("./ListenToAvailableDevicesUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let i;function m(e){return{listenToAvailableDevices:vi.fn(),connect:vi.fn(),disconnect:vi.fn(),startDiscovering:vi.fn(),stopDiscovering:vi.fn(),getIdentifier:vi.fn(),isSupported:vi.fn(),...e}}const u=(0,f.deviceModelStubBuilder)();function n(e){return new D.DeviceModel({id:e,model:u.id,name:u.productName})}function p(){const e=new l.Subject,r=new l.Subject,o=m({listenToAvailableDevices:()=>e.asObservable()}),s=m({listenToAvailableDevices:()=>r.asObservable()});return{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:r,transportA:o,transportB:s}}function c(e){return{id:e,deviceModel:u,transport:"mock"}}describe("ListenToKnownDevicesUseCase",()=>{beforeEach(()=>{vi.clearAllMocks(),i=new A.DefaultTransportService}),describe("when no transports are available",()=>{it("should return no discovered devices",()=>new Promise((e,r)=>{vi.spyOn(i,"getAllTransports").mockReturnValue([]);const o=new v.ListenToAvailableDevicesUseCase(i),s=[];o.execute().subscribe({next:t=>{s.push(t)},complete:()=>{try{expect(s).toEqual([[]]),e()}catch(t){r(t)}},error:t=>{r(t)}})}))}),describe("when one transport is available",()=>{it("should return discovered devices from one transport",()=>{const{transportA:e,transportAKnownDevicesSubject:r}=p();vi.spyOn(i,"getAllTransports").mockReturnValue([e]);const o=[];new v.ListenToAvailableDevicesUseCase(i).execute().subscribe(s=>{o.push(s)}),r.next([c("transportA-device1")]),expect(o[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),name:"Ledger Nano X",transport:"mock",rssi:void 0}]),r.next([c("transportA-device1"),c("transportA-device2")]),expect(o[1]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportA-device2",deviceModel:n("transportA-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),r.next([c("transportA-device2")]),expect(o[2]).toEqual([{id:"transportA-device2",deviceModel:n("transportA-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),r.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:r,transportB:o}=p();vi.spyOn(i,"getAllTransports").mockReturnValue([r,o]);const s=[],t=vi.fn(),a=vi.fn();new v.ListenToAvailableDevicesUseCase(i).execute().subscribe({next:d=>{s.push(d)},error:t,complete:a}),e.next([c("transportA-device1")]),expect(s[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),e.complete(),expect(t).not.toHaveBeenCalled(),expect(a).not.toHaveBeenCalled()}),it("should combine discovered devices from multiple transports",()=>{const{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:r,transportA:o,transportB:s}=p(),t=[];vi.spyOn(i,"getAllTransports").mockReturnValue([o,s]);const a=vi.fn(),d=vi.fn();new v.ListenToAvailableDevicesUseCase(i).execute().subscribe({next:b=>{t.push(b)},error:a,complete:d}),e.next([c("transportA-device1")]),expect(t[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),r.next([c("transportB-device1")]),expect(t[1]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),r.next([c("transportB-device1"),c("transportB-device2")]),expect(t[2]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device2",deviceModel:n("transportB-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),e.next([]),expect(t[3]).toEqual([{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device2",deviceModel:n("transportB-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),e.complete(),expect(a).not.toHaveBeenCalled(),expect(d).not.toHaveBeenCalled(),r.next([]),expect(t[4]).toEqual([]),r.complete(),expect(a).not.toHaveBeenCalled(),expect(d).toHaveBeenCalled()})})});
1
+ "use strict";var x=require("purify-ts"),m=require("rxjs"),A=require("../../../api/device/DeviceModel"),b=require("../../../api/device-model/model/DeviceModel.stub"),g=require("../../logger-publisher/service/DefaultLoggerPublisherService"),B=require("../../transport/service/DefaultTransportService"),v=require("./ListenToAvailableDevicesUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let c,p;function D(e){return{listenToAvailableDevices:vi.fn(),connect:vi.fn(),disconnect:vi.fn(),startDiscovering:vi.fn(),stopDiscovering:vi.fn(),getIdentifier:vi.fn(),isSupported:vi.fn(),...e}}const f=(0,b.deviceModelStubBuilder)();function n(e){return new A.DeviceModel({id:e,model:f.id,name:f.productName})}function u(){const e=new m.Subject,t=new m.Subject,o=D({listenToAvailableDevices:()=>e.asObservable(),getIdentifier:()=>"mock-A"}),s=D({listenToAvailableDevices:()=>t.asObservable(),getIdentifier:()=>"mock-B"});return{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:t,transportA:o,transportB:s}}function a(e){return{id:e,deviceModel:f,transport:"mock"}}describe("ListenToAvailableDevicesUseCase",()=>{beforeEach(()=>{vi.clearAllMocks(),c=new B.DefaultTransportService,p=new g.DefaultLoggerPublisherService([],"listen-to-available-devices-use-case-test")}),describe("when no transports are available",()=>{it("should return no discovered devices",()=>new Promise((e,t)=>{vi.spyOn(c,"getAllTransports").mockReturnValue([]);const o=new v.ListenToAvailableDevicesUseCase(c,()=>p),s=[];o.execute({}).subscribe({next:r=>{s.push(r)},complete:()=>{try{expect(s).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}=u();vi.spyOn(c,"getAllTransports").mockReturnValue([e]);const o=[];new v.ListenToAvailableDevicesUseCase(c,()=>p).execute({}).subscribe(s=>{o.push(s)}),t.next([a("transportA-device1")]),expect(o[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),name:"Ledger Nano X",transport:"mock",rssi:void 0}]),t.next([a("transportA-device1"),a("transportA-device2")]),expect(o[1]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportA-device2",deviceModel:n("transportA-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),t.next([a("transportA-device2")]),expect(o[2]).toEqual([{id:"transportA-device2",deviceModel:n("transportA-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),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}=u();vi.spyOn(c,"getAllTransports").mockReturnValue([t,o]);const s=[],r=vi.fn(),i=vi.fn();new v.ListenToAvailableDevicesUseCase(c,()=>p).execute({}).subscribe({next:d=>{s.push(d)},error:r,complete:i}),e.next([a("transportA-device1")]),expect(s[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),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:s}=u(),r=[];vi.spyOn(c,"getAllTransports").mockReturnValue([o,s]);const i=vi.fn(),d=vi.fn();new v.ListenToAvailableDevicesUseCase(c,()=>p).execute({}).subscribe({next:l=>{r.push(l)},error:i,complete:d}),e.next([a("transportA-device1")]),expect(r[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),t.next([a("transportB-device1")]),expect(r[1]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),t.next([a("transportB-device1"),a("transportB-device2")]),expect(r[2]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device2",deviceModel:n("transportB-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),e.next([]),expect(r[3]).toEqual([{id:"transportB-device1",deviceModel:n("transportB-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0},{id:"transportB-device2",deviceModel:n("transportB-device2"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),e.complete(),expect(i).not.toHaveBeenCalled(),expect(d).not.toHaveBeenCalled(),t.next([]),expect(r[4]).toEqual([]),t.complete(),expect(i).not.toHaveBeenCalled(),expect(d).toHaveBeenCalled()}),it("should filter out the devices by transport",()=>{const{transportAKnownDevicesSubject:e,transportBKnownDevicesSubject:t,transportA:o,transportB:s}=u(),r=vi.spyOn(c,"getAllTransports").mockReturnValue([o,s]);vi.spyOn(c,"getTransport").mockReturnValue((0,x.Just)(o));const i=[],d=vi.fn(),l=vi.fn();new v.ListenToAvailableDevicesUseCase(c,()=>p).execute({transport:"mock-A"}).subscribe({next:k=>{i.push(k)},error:d,complete:l}),expect(r).toBeCalledTimes(1),expect(c.getTransport).toBeCalledWith("mock-A"),e.next([a("transportA-device1")]),expect(i[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),t.next([a("transportB-device1")]),expect(i.length).toEqual(1),t.next([a("transportB-device1"),a("transportB-device2")]),expect(i.length).toEqual(1),e.next([]),expect(i[0]).toEqual([{id:"transportA-device1",deviceModel:n("transportA-device1"),transport:"mock",name:"Ledger Nano X",rssi:void 0}]),e.complete(),expect(d).not.toHaveBeenCalled(),expect(l).toHaveBeenCalledOnce(),t.next([]),expect(i[1]).toEqual([]),t.complete(),expect(d).not.toHaveBeenCalled(),expect(l).toHaveBeenCalledOnce()})})});
2
2
  //# sourceMappingURL=ListenToAvailableDevicesUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.ts"],
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 { ListenToAvailableDevicesUseCase } from \"./ListenToAvailableDevicesUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transportService: TransportService;\nfunction makeMockTransport(props: Partial<Transport>): Transport {\n return {\n listenToAvailableDevices: 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 listenToAvailableDevices: () =>\n transportAKnownDevicesSubject.asObservable(),\n });\n const transportB = makeMockTransport({\n listenToAvailableDevices: () =>\n 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 ListenToAvailableDevicesUseCase(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 ListenToAvailableDevicesUseCase(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 name: \"Ledger Nano X\",\n transport: \"mock\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportA-device2\",\n deviceModel: makeMockDeviceModel(\"transportA-device2\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\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 ListenToAvailableDevicesUseCase(transportService)\n .execute()\n .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 name: \"Ledger Nano X\",\n rssi: undefined,\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 ListenToAvailableDevicesUseCase(transportService)\n .execute()\n .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 name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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_ListenToAvailableDevicesUseCase", "transportService", "makeMockTransport", "props", "mockInternalDeviceModel", "makeMockDeviceModel", "id", "setup2MockTransports", "transportAKnownDevicesSubject", "transportBKnownDevicesSubject", "transportA", "transportB", "makeMockTransportDiscoveredDevice", "resolve", "reject", "useCase", "observedDiscoveredDevices", "devices", "error", "onError", "onComplete"]
4
+ "sourcesContent": ["import { Just } from \"purify-ts\";\nimport { Subject } from \"rxjs\";\n\nimport { type DeviceId, DeviceModel } from \"@api/device/DeviceModel\";\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { type Transport } from \"@api/transport/model/Transport\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { ListenToAvailableDevicesUseCase } from \"./ListenToAvailableDevicesUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet transportService: TransportService;\nlet logger: LoggerPublisherService;\nfunction makeMockTransport(props: Partial<Transport>): Transport {\n return {\n listenToAvailableDevices: 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 listenToAvailableDevices: () =>\n transportAKnownDevicesSubject.asObservable(),\n getIdentifier: () => \"mock-A\",\n });\n const transportB = makeMockTransport({\n listenToAvailableDevices: () =>\n transportBKnownDevicesSubject.asObservable(),\n getIdentifier: () => \"mock-B\",\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(\"ListenToAvailableDevicesUseCase\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-available-devices-use-case-test\",\n );\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 ListenToAvailableDevicesUseCase(\n transportService,\n () => logger,\n );\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 ListenToAvailableDevicesUseCase(transportService, () => logger)\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 name: \"Ledger Nano X\",\n transport: \"mock\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportA-device2\",\n deviceModel: makeMockDeviceModel(\"transportA-device2\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\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 ListenToAvailableDevicesUseCase(transportService, () => logger)\n .execute({})\n .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 name: \"Ledger Nano X\",\n rssi: undefined,\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 ListenToAvailableDevicesUseCase(transportService, () => logger)\n .execute({})\n .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 name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device1\",\n deviceModel: makeMockDeviceModel(\"transportB-device1\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n {\n id: \"transportB-device2\",\n deviceModel: makeMockDeviceModel(\"transportB-device2\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\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 it(\"should filter out the devices by transport\", () => {\n const {\n transportAKnownDevicesSubject,\n transportBKnownDevicesSubject,\n transportA,\n transportB,\n } = setup2MockTransports();\n\n const all = vi\n .spyOn(transportService, \"getAllTransports\")\n .mockReturnValue([transportA, transportB]);\n\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Just(transportA),\n );\n\n const observedDiscoveredDevices: DiscoveredDevice[][] = [];\n\n const onError = vi.fn();\n const onComplete = vi.fn();\n\n new ListenToAvailableDevicesUseCase(transportService, () => logger)\n .execute({ transport: \"mock-A\" })\n .subscribe({\n next: (devices) => {\n observedDiscoveredDevices.push(devices);\n },\n error: onError,\n complete: onComplete,\n });\n\n expect(all).toBeCalledTimes(1);\n expect(transportService.getTransport).toBeCalledWith(\"mock-A\");\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 name: \"Ledger Nano X\",\n rssi: undefined,\n },\n ]);\n\n // When transportB emits 1 known device\n transportBKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportB-device1\"),\n ]);\n\n expect(observedDiscoveredDevices.length).toEqual(1);\n\n // When transportB emits 2 known devices\n transportBKnownDevicesSubject.next([\n makeMockTransportDiscoveredDevice(\"transportB-device1\"),\n makeMockTransportDiscoveredDevice(\"transportB-device2\"),\n ]);\n\n // Only transportA is listened to, so only transportA devices should be returned\n expect(observedDiscoveredDevices.length).toEqual(1);\n\n // // When transportA emits 0 known devices\n transportAKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[0]).toEqual([\n {\n id: \"transportA-device1\",\n deviceModel: makeMockDeviceModel(\"transportA-device1\"),\n transport: \"mock\",\n name: \"Ledger Nano X\",\n rssi: undefined,\n },\n ]);\n\n // // When transport A listen observable completes\n transportAKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).toHaveBeenCalledOnce(); // Should complete now because transportA has completed\n\n // When transport B emits 0 known devices\n transportBKnownDevicesSubject.next([]);\n\n expect(observedDiscoveredDevices[1]).toEqual([]);\n\n // When transport B listen observable completes\n transportBKnownDevicesSubject.complete();\n\n expect(onError).not.toHaveBeenCalled();\n expect(onComplete).toHaveBeenCalledOnce(); // Should not rerun complete because transportB is not listened to\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_purify_ts", "import_rxjs", "import_DeviceModel", "import_DefaultLoggerPublisherService", "import_DefaultTransportService", "import_ListenToAvailableDevicesUseCase", "transportService", "logger", "makeMockTransport", "props", "mockInternalDeviceModel", "makeMockDeviceModel", "id", "setup2MockTransports", "transportAKnownDevicesSubject", "transportBKnownDevicesSubject", "transportA", "transportB", "makeMockTransportDiscoveredDevice", "resolve", "reject", "useCase", "observedDiscoveredDevices", "devices", "error", "onError", "onComplete", "all"]
7
7
  }