@ledgerhq/device-management-kit 0.6.1 → 0.6.2

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 (349) hide show
  1. package/lib/cjs/index.js.map +1 -1
  2. package/lib/cjs/package.json +4 -3
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +2 -2
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  7. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  8. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  9. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js +2 -0
  10. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  11. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  12. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  13. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  14. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  15. package/lib/cjs/src/api/device/SecureElementFlags.js +2 -0
  16. package/lib/cjs/src/api/device/SecureElementFlags.js.map +7 -0
  17. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  18. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  19. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  20. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  21. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
  22. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  23. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  24. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  25. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +2 -2
  26. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  27. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  28. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  29. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  30. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  31. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +2 -2
  32. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  33. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +1 -1
  34. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  35. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  36. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  37. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  38. package/lib/cjs/src/api/index.js +1 -1
  39. package/lib/cjs/src/api/index.js.map +3 -3
  40. package/lib/cjs/src/api/secure-channel/constants.js +2 -0
  41. package/lib/cjs/src/api/secure-channel/constants.js.map +7 -0
  42. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  43. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  44. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  45. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  46. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js +2 -0
  47. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  48. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  49. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  50. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  51. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  52. package/lib/cjs/src/api/secure-channel/task/types.js +2 -0
  53. package/lib/cjs/src/api/secure-channel/task/types.js.map +7 -0
  54. package/lib/cjs/src/api/secure-channel/types.js +2 -0
  55. package/lib/cjs/src/api/secure-channel/types.js.map +7 -0
  56. package/lib/cjs/src/api/secure-channel/utils.js +2 -0
  57. package/lib/cjs/src/api/secure-channel/utils.js.map +7 -0
  58. package/lib/cjs/src/api/secure-channel/utils.test.js +2 -0
  59. package/lib/cjs/src/api/secure-channel/utils.test.js.map +7 -0
  60. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  61. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  62. package/lib/cjs/src/api/transport/model/Errors.js.map +2 -2
  63. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  64. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  65. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  66. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  67. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  68. package/lib/cjs/src/api/types.js +1 -1
  69. package/lib/cjs/src/api/types.js.map +1 -1
  70. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  71. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  72. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  73. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  74. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  75. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  76. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  77. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  78. package/lib/cjs/src/internal/device-session/service/RefresherService.js +2 -0
  79. package/lib/cjs/src/internal/device-session/service/RefresherService.js.map +7 -0
  80. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js +2 -0
  81. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  82. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  83. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  84. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  85. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  86. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  87. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  88. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  89. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
  90. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  91. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  92. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  93. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  94. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  95. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  96. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  97. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  98. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  99. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  100. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  101. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  102. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  103. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  104. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  105. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  106. package/lib/cjs/src/internal/manager-api/model/Params.js +2 -0
  107. package/lib/cjs/src/internal/manager-api/model/Params.js.map +7 -0
  108. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  109. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  110. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  111. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  112. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  113. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  114. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  115. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  116. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +1 -1
  117. package/lib/cjs/src/internal/secure-channel/model/Errors.js +1 -1
  118. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +3 -3
  119. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  120. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  121. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  122. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +2 -2
  123. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +1 -1
  124. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +1 -1
  125. package/lib/esm/package.json +4 -3
  126. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  127. package/lib/esm/src/api/DeviceManagementKit.js.map +2 -2
  128. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  129. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  130. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  131. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  132. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js +2 -0
  133. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  134. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  135. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  136. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  137. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  138. package/lib/esm/src/api/device/SecureElementFlags.js +1 -0
  139. package/lib/esm/src/api/device/SecureElementFlags.js.map +7 -0
  140. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  141. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  142. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
  143. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  144. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  145. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  146. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +2 -2
  147. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  148. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  149. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  150. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  151. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  152. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +2 -2
  153. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +1 -1
  154. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  155. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  156. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  157. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  158. package/lib/esm/src/api/index.js +1 -1
  159. package/lib/esm/src/api/index.js.map +3 -3
  160. package/lib/esm/src/api/secure-channel/constants.js +2 -0
  161. package/lib/esm/src/api/secure-channel/constants.js.map +7 -0
  162. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  163. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  164. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  165. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  166. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js +1 -0
  167. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  168. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  169. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  170. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  171. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  172. package/lib/esm/src/api/secure-channel/task/types.js +2 -0
  173. package/lib/esm/src/api/secure-channel/task/types.js.map +7 -0
  174. package/lib/esm/src/api/secure-channel/types.js +1 -0
  175. package/lib/esm/src/api/secure-channel/types.js.map +7 -0
  176. package/lib/esm/src/api/secure-channel/utils.js +2 -0
  177. package/lib/esm/src/api/secure-channel/utils.js.map +7 -0
  178. package/lib/esm/src/api/secure-channel/utils.test.js +2 -0
  179. package/lib/esm/src/api/secure-channel/utils.test.js.map +7 -0
  180. package/lib/esm/src/api/transport/model/Errors.js.map +2 -2
  181. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  182. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  183. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  184. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  185. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  186. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  187. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  188. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  189. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  190. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  191. package/lib/esm/src/internal/device-session/service/RefresherService.js +2 -0
  192. package/lib/esm/src/internal/device-session/service/RefresherService.js.map +7 -0
  193. package/lib/esm/src/internal/device-session/service/RefresherService.test.js +2 -0
  194. package/lib/esm/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  195. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  196. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  197. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  198. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  199. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  200. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  201. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  202. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +2 -2
  203. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  204. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  205. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  206. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  207. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  208. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  209. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  210. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  211. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  212. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  213. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  214. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  215. package/lib/esm/src/internal/manager-api/model/Params.js +1 -0
  216. package/lib/esm/src/internal/manager-api/model/Params.js.map +7 -0
  217. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  218. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  219. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  220. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  221. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  222. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  223. package/lib/esm/src/internal/secure-channel/model/Errors.js +1 -1
  224. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +3 -3
  225. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  226. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  227. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  228. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +2 -2
  229. package/lib/types/src/api/DeviceManagementKit.d.ts +10 -8
  230. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  231. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +8 -2
  232. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  233. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts +43 -0
  234. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts.map +1 -0
  235. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts +2 -0
  236. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts.map +1 -0
  237. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  238. package/lib/types/src/api/device/SecureElementFlags.d.ts +41 -0
  239. package/lib/types/src/api/device/SecureElementFlags.d.ts.map +1 -0
  240. package/lib/types/src/api/device-action/DeviceAction.d.ts +1 -0
  241. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  242. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  243. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +1 -1
  244. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  245. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  246. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +4 -0
  247. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  248. package/lib/types/src/api/device-session/use-case/{ToggleDeviceSessionRefresher.d.ts → DisableDeviceSessionRefresher.d.ts} +6 -6
  249. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.d.ts.map +1 -0
  250. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts +2 -0
  251. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts.map +1 -0
  252. package/lib/types/src/api/index.d.ts +1 -0
  253. package/lib/types/src/api/index.d.ts.map +1 -1
  254. package/lib/types/src/api/secure-channel/constants.d.ts +2 -0
  255. package/lib/types/src/api/secure-channel/constants.d.ts.map +1 -0
  256. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts +8 -0
  257. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -0
  258. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts +1 -0
  259. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts.map +1 -0
  260. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +48 -0
  261. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -0
  262. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +23 -0
  263. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -0
  264. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts +2 -0
  265. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts.map +1 -0
  266. package/lib/types/src/api/secure-channel/task/types.d.ts +105 -0
  267. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -0
  268. package/lib/types/src/api/secure-channel/types.d.ts +4 -0
  269. package/lib/types/src/api/secure-channel/types.d.ts.map +1 -0
  270. package/lib/types/src/api/secure-channel/utils.d.ts +30 -0
  271. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -0
  272. package/lib/types/src/api/secure-channel/utils.test.d.ts +2 -0
  273. package/lib/types/src/api/secure-channel/utils.test.d.ts.map +1 -0
  274. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
  275. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  276. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  277. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  278. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  279. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
  280. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  281. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +1 -1
  282. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  283. package/lib/types/src/api/types.d.ts +1 -0
  284. package/lib/types/src/api/types.d.ts.map +1 -1
  285. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -1
  286. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +4 -2
  287. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  288. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  289. package/lib/types/src/internal/device-session/service/RefresherService.d.ts +10 -0
  290. package/lib/types/src/internal/device-session/service/RefresherService.d.ts.map +1 -0
  291. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts +2 -0
  292. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts.map +1 -0
  293. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -1
  294. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  295. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +24 -0
  296. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -0
  297. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts +2 -0
  298. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts.map +1 -0
  299. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +6 -5
  300. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  301. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +14 -9
  302. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  303. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +4 -1
  304. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  305. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +1 -0
  306. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  307. package/lib/types/src/internal/manager-api/model/Application.d.ts +4 -1
  308. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  309. package/lib/types/src/internal/manager-api/model/Params.d.ts +43 -0
  310. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -0
  311. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +5 -5
  312. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  313. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +33 -2
  314. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  315. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +3 -3
  316. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -1
  317. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +13 -13
  318. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -1
  319. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +6 -0
  320. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -1
  321. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +4 -3
  322. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -1
  323. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +5 -3
  324. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -1
  325. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  326. package/package.json +4 -3
  327. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  328. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  329. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  330. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  331. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  332. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  333. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  334. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  335. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  336. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  337. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  338. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  339. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  340. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  341. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  342. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  343. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +0 -1
  344. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +0 -2
  345. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +0 -1
  346. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +0 -13
  347. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +0 -1
  348. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts +0 -2
  349. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/di/deviceSessionModule.ts"],
4
- "sourcesContent": ["import { ContainerModule, type interfaces } from \"inversify\";\n\nimport { type ApduReceiverService } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduReceiverConstructorArgs } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduSenderService } from \"@api/device-session/service/ApduSenderService\";\nimport { type ApduSenderServiceConstructorArgs } from \"@api/device-session/service/ApduSenderService\";\nimport { ToggleDeviceSessionRefresherUseCase } from \"@api/device-session/use-case/ToggleDeviceSessionRefresher\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DefaultApduReceiverService } from \"@internal/device-session/service/DefaultApduReceiverService\";\nimport { DefaultApduSenderService } from \"@internal/device-session/service/DefaultApduSenderService\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { deviceSessionTypes } from \"./deviceSessionTypes\";\n\nexport type DeviceSessionModuleArgs = Partial<{\n stub: boolean;\n}>;\n\nexport const deviceSessionModuleFactory = (\n { stub }: DeviceSessionModuleArgs = { stub: false },\n) =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind<interfaces.Factory<ApduSenderService>>(\n deviceSessionTypes.ApduSenderServiceFactory,\n ).toFactory((context) => {\n const logger = context.container.get<\n (name: string) => LoggerPublisherService\n >(loggerTypes.LoggerPublisherServiceFactory);\n\n return (args: ApduSenderServiceConstructorArgs) => {\n return new DefaultApduSenderService(args, logger);\n };\n });\n\n bind<interfaces.Factory<ApduReceiverService>>(\n deviceSessionTypes.ApduReceiverServiceFactory,\n ).toFactory((context) => {\n const logger = context.container.get<\n (name: string) => LoggerPublisherService\n >(loggerTypes.LoggerPublisherServiceFactory);\n\n return (args: ApduReceiverConstructorArgs = {}) => {\n return new DefaultApduReceiverService(args, logger);\n };\n });\n\n bind(deviceSessionTypes.DeviceSessionService)\n .to(DefaultDeviceSessionService)\n .inSingletonScope();\n\n bind(deviceSessionTypes.GetDeviceSessionStateUseCase).to(\n GetDeviceSessionStateUseCase,\n );\n bind(deviceSessionTypes.CloseSessionsUseCase).to(CloseSessionsUseCase);\n bind(deviceSessionTypes.ToggleDeviceSessionRefresherUseCase).to(\n ToggleDeviceSessionRefresherUseCase,\n );\n\n if (stub) {\n rebind(deviceSessionTypes.GetDeviceSessionStateUseCase).to(StubUseCase);\n rebind(deviceSessionTypes.ToggleDeviceSessionRefresherUseCase).to(\n StubUseCase,\n );\n }\n },\n );\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiD,qBAMjDC,EAAoD,qEAEpDC,EAA2C,uEAC3CC,EAAyC,qEACzCC,EAA4C,wEAC5CC,EAAqC,kEACrCC,EAA6C,0EAC7CC,EAA4B,qDAC5BC,EAA4B,6BAE5BC,EAAmC,gCAM5B,MAAMX,EAA6B,CACxC,CAAE,KAAAY,CAAK,EAA6B,CAAE,KAAM,EAAM,IAElD,IAAI,kBACF,CACEC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EACE,qBAAmB,wBACrB,EAAE,UAAWO,GAAY,CACvB,MAAMC,EAASD,EAAQ,UAAU,IAE/B,cAAY,6BAA6B,EAE3C,OAAQE,GACC,IAAI,2BAAyBA,EAAMD,CAAM,CAEpD,CAAC,EAEDR,EACE,qBAAmB,0BACrB,EAAE,UAAWO,GAAY,CACvB,MAAMC,EAASD,EAAQ,UAAU,IAE/B,cAAY,6BAA6B,EAE3C,MAAO,CAACE,EAAoC,CAAC,IACpC,IAAI,6BAA2BA,EAAMD,CAAM,CAEtD,CAAC,EAEDR,EAAK,qBAAmB,oBAAoB,EACzC,GAAG,6BAA2B,EAC9B,iBAAiB,EAEpBA,EAAK,qBAAmB,4BAA4B,EAAE,GACpD,8BACF,EACAA,EAAK,qBAAmB,oBAAoB,EAAE,GAAG,sBAAoB,EACrEA,EAAK,qBAAmB,mCAAmC,EAAE,GAC3D,qCACF,EAEID,IACFI,EAAO,qBAAmB,4BAA4B,EAAE,GAAG,aAAW,EACtEA,EAAO,qBAAmB,mCAAmC,EAAE,GAC7D,aACF,EAEJ,CACF",
6
- "names": ["deviceSessionModule_exports", "__export", "deviceSessionModuleFactory", "__toCommonJS", "import_inversify", "import_ToggleDeviceSessionRefresher", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_DefaultDeviceSessionService", "import_CloseSessionsUseCase", "import_GetDeviceSessionStateUseCase", "import_loggerTypes", "import_di", "import_deviceSessionTypes", "stub", "bind", "_unbind", "_isBound", "rebind", "_unbindAsync", "_onActivation", "_onDeactivation", "context", "logger", "args"]
4
+ "sourcesContent": ["import { ContainerModule, type interfaces } from \"inversify\";\n\nimport { type ApduReceiverService } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduReceiverConstructorArgs } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduSenderService } from \"@api/device-session/service/ApduSenderService\";\nimport { type ApduSenderServiceConstructorArgs } from \"@api/device-session/service/ApduSenderService\";\nimport { DisableDeviceSessionRefresherUseCase } from \"@api/device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DefaultApduReceiverService } from \"@internal/device-session/service/DefaultApduReceiverService\";\nimport { DefaultApduSenderService } from \"@internal/device-session/service/DefaultApduSenderService\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { deviceSessionTypes } from \"./deviceSessionTypes\";\n\nexport type DeviceSessionModuleArgs = Partial<{\n stub: boolean;\n}>;\n\nexport const deviceSessionModuleFactory = (\n { stub }: DeviceSessionModuleArgs = { stub: false },\n) =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind<interfaces.Factory<ApduSenderService>>(\n deviceSessionTypes.ApduSenderServiceFactory,\n ).toFactory((context) => {\n const logger = context.container.get<\n (name: string) => LoggerPublisherService\n >(loggerTypes.LoggerPublisherServiceFactory);\n\n return (args: ApduSenderServiceConstructorArgs) => {\n return new DefaultApduSenderService(args, logger);\n };\n });\n\n bind<interfaces.Factory<ApduReceiverService>>(\n deviceSessionTypes.ApduReceiverServiceFactory,\n ).toFactory((context) => {\n const logger = context.container.get<\n (name: string) => LoggerPublisherService\n >(loggerTypes.LoggerPublisherServiceFactory);\n\n return (args: ApduReceiverConstructorArgs = {}) => {\n return new DefaultApduReceiverService(args, logger);\n };\n });\n\n bind(deviceSessionTypes.DeviceSessionService)\n .to(DefaultDeviceSessionService)\n .inSingletonScope();\n\n bind(deviceSessionTypes.GetDeviceSessionStateUseCase).to(\n GetDeviceSessionStateUseCase,\n );\n bind(deviceSessionTypes.CloseSessionsUseCase).to(CloseSessionsUseCase);\n bind(deviceSessionTypes.DisableDeviceSessionRefresherUseCase).to(\n DisableDeviceSessionRefresherUseCase,\n );\n\n if (stub) {\n rebind(deviceSessionTypes.GetDeviceSessionStateUseCase).to(StubUseCase);\n rebind(deviceSessionTypes.DisableDeviceSessionRefresherUseCase).to(\n StubUseCase,\n );\n }\n },\n );\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiD,qBAMjDC,EAAqD,sEAErDC,EAA2C,uEAC3CC,EAAyC,qEACzCC,EAA4C,wEAC5CC,EAAqC,kEACrCC,EAA6C,0EAC7CC,EAA4B,qDAC5BC,EAA4B,6BAE5BC,EAAmC,gCAM5B,MAAMX,EAA6B,CACxC,CAAE,KAAAY,CAAK,EAA6B,CAAE,KAAM,EAAM,IAElD,IAAI,kBACF,CACEC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EACE,qBAAmB,wBACrB,EAAE,UAAWO,GAAY,CACvB,MAAMC,EAASD,EAAQ,UAAU,IAE/B,cAAY,6BAA6B,EAE3C,OAAQE,GACC,IAAI,2BAAyBA,EAAMD,CAAM,CAEpD,CAAC,EAEDR,EACE,qBAAmB,0BACrB,EAAE,UAAWO,GAAY,CACvB,MAAMC,EAASD,EAAQ,UAAU,IAE/B,cAAY,6BAA6B,EAE3C,MAAO,CAACE,EAAoC,CAAC,IACpC,IAAI,6BAA2BA,EAAMD,CAAM,CAEtD,CAAC,EAEDR,EAAK,qBAAmB,oBAAoB,EACzC,GAAG,6BAA2B,EAC9B,iBAAiB,EAEpBA,EAAK,qBAAmB,4BAA4B,EAAE,GACpD,8BACF,EACAA,EAAK,qBAAmB,oBAAoB,EAAE,GAAG,sBAAoB,EACrEA,EAAK,qBAAmB,oCAAoC,EAAE,GAC5D,sCACF,EAEID,IACFI,EAAO,qBAAmB,4BAA4B,EAAE,GAAG,aAAW,EACtEA,EAAO,qBAAmB,oCAAoC,EAAE,GAC9D,aACF,EAEJ,CACF",
6
+ "names": ["deviceSessionModule_exports", "__export", "deviceSessionModuleFactory", "__toCommonJS", "import_inversify", "import_DisableDeviceSessionRefresher", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_DefaultDeviceSessionService", "import_CloseSessionsUseCase", "import_GetDeviceSessionStateUseCase", "import_loggerTypes", "import_di", "import_deviceSessionTypes", "stub", "bind", "_unbind", "_isBound", "rebind", "_unbindAsync", "_onActivation", "_onDeactivation", "context", "logger", "args"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var S=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var n=(s,e)=>{for(var r in e)S(s,r,{get:e[r],enumerable:!0})},t=(s,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of v(e))!a.call(s,o)&&o!==r&&S(s,o,{get:()=>e[o],enumerable:!(i=c(e,o))||i.enumerable});return s};var y=s=>t(S({},"__esModule",{value:!0}),s);var f={};n(f,{deviceSessionTypes:()=>l});module.exports=y(f);const l={ApduSenderServiceFactory:Symbol.for("ApduSenderServiceFactory"),ApduReceiverServiceFactory:Symbol.for("ApduReceiverServiceFactory"),DeviceSessionService:Symbol.for("DeviceSessionService"),GetDeviceSessionStateUseCase:Symbol.for("GetDeviceSessionStateUseCase"),ToggleDeviceSessionRefresherUseCase:Symbol.for("ToggleDeviceSessionRefresherUseCase"),CloseSessionsUseCase:Symbol.for("CloseSessionsUseCase")};0&&(module.exports={deviceSessionTypes});
1
+ "use strict";var r=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var n=(s,e)=>{for(var i in e)r(s,i,{get:e[i],enumerable:!0})},t=(s,e,i,S)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of v(e))!a.call(s,o)&&o!==i&&r(s,o,{get:()=>e[o],enumerable:!(S=c(e,o))||S.enumerable});return s};var y=s=>t(r({},"__esModule",{value:!0}),s);var b={};n(b,{deviceSessionTypes:()=>l});module.exports=y(b);const l={ApduSenderServiceFactory:Symbol.for("ApduSenderServiceFactory"),ApduReceiverServiceFactory:Symbol.for("ApduReceiverServiceFactory"),DeviceSessionService:Symbol.for("DeviceSessionService"),GetDeviceSessionStateUseCase:Symbol.for("GetDeviceSessionStateUseCase"),DisableDeviceSessionRefresherUseCase:Symbol.for("DisableDeviceSessionRefresherUseCase"),CloseSessionsUseCase:Symbol.for("CloseSessionsUseCase")};0&&(module.exports={deviceSessionTypes});
2
2
  //# sourceMappingURL=deviceSessionTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/di/deviceSessionTypes.ts"],
4
- "sourcesContent": ["export const deviceSessionTypes = {\n ApduSenderServiceFactory: Symbol.for(\"ApduSenderServiceFactory\"),\n ApduReceiverServiceFactory: Symbol.for(\"ApduReceiverServiceFactory\"),\n DeviceSessionService: Symbol.for(\"DeviceSessionService\"),\n GetDeviceSessionStateUseCase: Symbol.for(\"GetDeviceSessionStateUseCase\"),\n ToggleDeviceSessionRefresherUseCase: Symbol.for(\n \"ToggleDeviceSessionRefresherUseCase\",\n ),\n CloseSessionsUseCase: Symbol.for(\"CloseSessionsUseCase\"),\n};\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAqB,CAChC,yBAA0B,OAAO,IAAI,0BAA0B,EAC/D,2BAA4B,OAAO,IAAI,4BAA4B,EACnE,qBAAsB,OAAO,IAAI,sBAAsB,EACvD,6BAA8B,OAAO,IAAI,8BAA8B,EACvE,oCAAqC,OAAO,IAC1C,qCACF,EACA,qBAAsB,OAAO,IAAI,sBAAsB,CACzD",
4
+ "sourcesContent": ["export const deviceSessionTypes = {\n ApduSenderServiceFactory: Symbol.for(\"ApduSenderServiceFactory\"),\n ApduReceiverServiceFactory: Symbol.for(\"ApduReceiverServiceFactory\"),\n DeviceSessionService: Symbol.for(\"DeviceSessionService\"),\n GetDeviceSessionStateUseCase: Symbol.for(\"GetDeviceSessionStateUseCase\"),\n DisableDeviceSessionRefresherUseCase: Symbol.for(\n \"DisableDeviceSessionRefresherUseCase\",\n ),\n CloseSessionsUseCase: Symbol.for(\"CloseSessionsUseCase\"),\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAqB,CAChC,yBAA0B,OAAO,IAAI,0BAA0B,EAC/D,2BAA4B,OAAO,IAAI,4BAA4B,EACnE,qBAAsB,OAAO,IAAI,sBAAsB,EACvD,6BAA8B,OAAO,IAAI,8BAA8B,EACvE,qCAAsC,OAAO,IAC3C,sCACF,EACA,qBAAsB,OAAO,IAAI,sBAAsB,CACzD",
6
6
  "names": ["deviceSessionTypes_exports", "__export", "deviceSessionTypes", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var A=(r,e)=>{for(var i in e)a(r,i,{get:e[i],enumerable:!0})},_=(r,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of f(e))!C.call(r,t)&&t!==i&&a(r,t,{get:()=>e[t],enumerable:!(n=g(e,t))||n.enumerable});return r};var y=r=>_(a({},"__esModule",{value:!0}),r);var R={};A(R,{DeviceSession:()=>E});module.exports=y(R);var d=require("purify-ts"),p=require("rxjs"),v=require("uuid"),u=require("../../../api/command/utils/CommandUtils"),s=require("../../../api/device/DeviceStatus"),S=require("../../../api/device-session/DeviceSessionState"),h=require("../../../api/Error"),l=require("../../device-session/data/DeviceSessionRefresherConst"),m=require("./DeviceSessionRefresher");class E{_id;_connectedDevice;_deviceState;_refresher;_managerApiService;_secureChannelService;constructor({connectedDevice:e,id:i=(0,v.v4)()},n,t,o){this._id=i,this._connectedDevice=e,this._deviceState=new p.BehaviorSubject({sessionStateType:S.DeviceSessionStateType.Connected,deviceStatus:s.DeviceStatus.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id}),this._refresher=new m.DeviceSessionRefresher({refreshInterval:l.DEVICE_SESSION_REFRESH_INTERVAL,deviceStatus:s.DeviceStatus.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id,sendApduFn:c=>this.sendApdu(c,{isPolling:!0,triggersDisconnection:!1}),updateStateFn:c=>{const D=this._deviceState.getValue();this.setDeviceSessionState(c(D))}},n("device-session-refresher")),this._managerApiService=t,this._secureChannelService=o}get id(){return this._id}get connectedDevice(){return this._connectedDevice}get state(){return this._deviceState.asObservable()}setDeviceSessionState(e){this._deviceState.next(e)}updateDeviceStatus(e){const i=this._deviceState.getValue();this._refresher.setDeviceStatus(e),this._deviceState.next({...i,deviceStatus:e})}async sendApdu(e,i={isPolling:!1,triggersDisconnection:!1}){return this._deviceState.getValue().deviceStatus===s.DeviceStatus.BUSY?(0,d.Left)(new h.DeviceBusyError):(i.isPolling||this.updateDeviceStatus(s.DeviceStatus.BUSY),(await this._connectedDevice.sendApdu(e,i.triggersDisconnection)).ifRight(o=>{u.CommandUtils.isLockedDeviceResponse(o)?this.updateDeviceStatus(s.DeviceStatus.LOCKED):this.updateDeviceStatus(s.DeviceStatus.CONNECTED)}).ifLeft(()=>{this.updateDeviceStatus(s.DeviceStatus.CONNECTED)}))}async sendCommand(e){const i=e.getApdu();return(await this.sendApdu(i.getRawApdu(),{isPolling:!1,triggersDisconnection:e.triggersDisconnection??!1})).caseOf({Left:t=>{throw t},Right:t=>e.parseResponse(t,this._connectedDevice.deviceModel.id)})}executeDeviceAction(e){const{observable:i,cancel:n}=e._execute({sendApdu:async t=>this.sendApdu(t),sendCommand:async t=>this.sendCommand(t),getDeviceSessionState:()=>this._deviceState.getValue(),getDeviceSessionStateObservable:()=>this.state,setDeviceSessionState:t=>(this.setDeviceSessionState(t),this._deviceState.getValue()),getManagerApiService:()=>this._managerApiService,getSecureChannelService:()=>this._secureChannelService});return{observable:i,cancel:n}}close(){this.updateDeviceStatus(s.DeviceStatus.NOT_CONNECTED),this._deviceState.complete(),this._refresher.stop()}toggleRefresher(e){e?this._refresher.start():this._refresher.stop()}}0&&(module.exports={DeviceSession});
1
+ "use strict";var c=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var y=(n,e)=>{for(var i in e)c(n,i,{get:e[i],enumerable:!0})},A=(n,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of _(e))!C.call(n,t)&&t!==i&&c(n,t,{get:()=>e[t],enumerable:!(r=g(e,t))||r.enumerable});return n};var E=n=>A(c({},"__esModule",{value:!0}),n);var R={};y(R,{DeviceSession:()=>b});module.exports=E(R);var d=require("purify-ts"),p=require("rxjs"),v=require("uuid"),u=require("../../../api/command/utils/CommandUtils"),s=require("../../../api/device/DeviceStatus"),S=require("../../../api/device-session/DeviceSessionState"),l=require("../../../api/Error"),h=require("../../device-session/data/DeviceSessionRefresherConst"),m=require("../../device-session/service/RefresherService"),D=require("./DeviceSessionRefresher");class b{_id;_connectedDevice;_deviceState;_refresher;_refresherService;_managerApiService;_secureChannelService;constructor({connectedDevice:e,id:i=(0,v.v4)()},r,t,a){this._id=i,this._connectedDevice=e,this._deviceState=new p.BehaviorSubject({sessionStateType:S.DeviceSessionStateType.Connected,deviceStatus:s.DeviceStatus.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id}),this._refresher=new D.DeviceSessionRefresher({refreshInterval:h.DEVICE_SESSION_REFRESH_INTERVAL,deviceStatus:s.DeviceStatus.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id,sendApduFn:o=>this.sendApdu(o,{isPolling:!0,triggersDisconnection:!1}),updateStateFn:o=>{const f=this._deviceState.getValue();this.setDeviceSessionState(o(f))}},r("device-session-refresher")),this._refresherService=new m.RefresherService(this._refresher),this._managerApiService=t,this._secureChannelService=a}get id(){return this._id}get connectedDevice(){return this._connectedDevice}get state(){return this._deviceState.asObservable()}setDeviceSessionState(e){this._deviceState.next(e)}async sendApdu(e,i={isPolling:!1,triggersDisconnection:!1}){let r;return i.isPolling||(r=this._refresherService.disableRefresher("sendApdu"),await this.waitUntilReady()),this._deviceState.getValue().deviceStatus===s.DeviceStatus.BUSY?(0,d.Left)(new l.DeviceBusyError):(this.updateDeviceStatus(s.DeviceStatus.BUSY),(await this._connectedDevice.sendApdu(e,i.triggersDisconnection)).ifRight(o=>{u.CommandUtils.isLockedDeviceResponse(o)?this.updateDeviceStatus(s.DeviceStatus.LOCKED):this.updateDeviceStatus(s.DeviceStatus.CONNECTED),!i.isPolling&&r&&r()}).ifLeft(()=>{this.updateDeviceStatus(s.DeviceStatus.CONNECTED),!i.isPolling&&r&&r()}))}async sendCommand(e){const i=e.getApdu();return(await this.sendApdu(i.getRawApdu(),{isPolling:!1,triggersDisconnection:e.triggersDisconnection??!1})).caseOf({Left:t=>{throw t},Right:t=>e.parseResponse(t,this._connectedDevice.deviceModel.id)})}executeDeviceAction(e){const{observable:i,cancel:r}=e._execute({sendApdu:async t=>this.sendApdu(t),sendCommand:async t=>this.sendCommand(t),getDeviceSessionState:()=>this._deviceState.getValue(),getDeviceSessionStateObservable:()=>this.state,setDeviceSessionState:t=>(this.setDeviceSessionState(t),this._deviceState.getValue()),disableRefresher:t=>this._refresherService.disableRefresher(t),getManagerApiService:()=>this._managerApiService,getSecureChannelService:()=>this._secureChannelService});return{observable:i,cancel:r}}close(){this.updateDeviceStatus(s.DeviceStatus.NOT_CONNECTED),this._deviceState.complete(),this._refresher.stop()}disableRefresher(e){return this._refresherService.disableRefresher(e)}updateDeviceStatus(e){const i=this._deviceState.getValue();this._refresher.setDeviceStatus(e),this._deviceState.next({...i,deviceStatus:e})}async waitUntilReady(){let e;await new Promise(i=>{e=this._deviceState.subscribe(r=>{r.deviceStatus===s.DeviceStatus.CONNECTED&&(e?.unsubscribe(),i())})})}}0&&(module.exports={DeviceSession});
2
2
  //# sourceMappingURL=DeviceSession.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/model/DeviceSession.ts"],
4
- "sourcesContent": ["import { type Either, Left } from \"purify-ts\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { DeviceBusyError, type DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\ntype SendApduOptions = {\n isPolling?: boolean;\n triggersDisconnection?: boolean;\n};\n\n/**\n * Represents a session with a device.\n */\nexport class DeviceSession {\n private readonly _id: DeviceSessionId;\n private readonly _connectedDevice: TransportConnectedDevice;\n private readonly _deviceState: BehaviorSubject<DeviceSessionState>;\n private readonly _refresher: DeviceSessionRefresher;\n private readonly _managerApiService: ManagerApiService;\n private readonly _secureChannelService: SecureChannelService;\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n secureChannelService: SecureChannelService,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n this._refresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n sendApduFn: (rawApdu: Uint8Array) =>\n this.sendApdu(rawApdu, {\n isPolling: true,\n triggersDisconnection: false,\n }),\n updateStateFn: (callback) => {\n const state = this._deviceState.getValue();\n this.setDeviceSessionState(callback(state));\n },\n },\n loggerModuleFactory(\"device-session-refresher\"),\n );\n this._managerApiService = managerApiService;\n this._secureChannelService = secureChannelService;\n }\n\n public get id() {\n return this._id;\n }\n\n public get connectedDevice() {\n return this._connectedDevice;\n }\n\n public get state() {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState) {\n this._deviceState.next(state);\n }\n\n private updateDeviceStatus(deviceStatus: DeviceStatus) {\n const sessionState = this._deviceState.getValue();\n this._refresher.setDeviceStatus(deviceStatus);\n this._deviceState.next({\n ...sessionState,\n deviceStatus,\n });\n }\n\n async sendApdu(\n rawApdu: Uint8Array,\n options: SendApduOptions = {\n isPolling: false,\n triggersDisconnection: false,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n const sessionState = this._deviceState.getValue();\n if (sessionState.deviceStatus === DeviceStatus.BUSY) {\n return Left(new DeviceBusyError());\n }\n\n if (!options.isPolling) {\n this.updateDeviceStatus(DeviceStatus.BUSY);\n }\n\n const errorOrResponse = await this._connectedDevice.sendApdu(\n rawApdu,\n options.triggersDisconnection,\n );\n\n return errorOrResponse\n .ifRight((response: ApduResponse) => {\n if (CommandUtils.isLockedDeviceResponse(response)) {\n this.updateDeviceStatus(DeviceStatus.LOCKED);\n } else {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n }\n })\n .ifLeft(() => {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n });\n }\n\n async sendCommand<Response, Args, ErrorStatusCodes>(\n command: Command<Response, Args, ErrorStatusCodes>,\n ): Promise<CommandResult<Response, ErrorStatusCodes>> {\n const apdu = command.getApdu();\n const response = await this.sendApdu(apdu.getRawApdu(), {\n isPolling: false,\n triggersDisconnection: command.triggersDisconnection ?? false,\n });\n\n return response.caseOf({\n Left: (err) => {\n throw err;\n },\n Right: (r) =>\n command.parseResponse(r, this._connectedDevice.deviceModel.id),\n });\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n const { observable, cancel } = deviceAction._execute({\n sendApdu: async (apdu: Uint8Array) => this.sendApdu(apdu),\n sendCommand: async <Response, ErrorStatusCodes, Args>(\n command: Command<Response, ErrorStatusCodes, Args>,\n ) => this.sendCommand(command),\n getDeviceSessionState: () => this._deviceState.getValue(),\n getDeviceSessionStateObservable: () => this.state,\n setDeviceSessionState: (state: DeviceSessionState) => {\n this.setDeviceSessionState(state);\n return this._deviceState.getValue();\n },\n getManagerApiService: () => this._managerApiService,\n getSecureChannelService: () => this._secureChannelService,\n });\n\n return {\n observable,\n cancel,\n };\n }\n\n close() {\n this.updateDeviceStatus(DeviceStatus.NOT_CONNECTED);\n this._deviceState.complete();\n this._refresher.stop();\n }\n\n toggleRefresher(enabled: boolean) {\n if (enabled) {\n this._refresher.start();\n } else {\n this._refresher.stop();\n }\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["DeviceSession_exports", "__export", "DeviceSession", "__toCommonJS", "import_purify_ts", "import_rxjs", "import_uuid", "import_CommandUtils", "import_DeviceStatus", "import_DeviceSessionState", "import_Error", "import_DeviceSessionRefresherConst", "import_DeviceSessionRefresher", "connectedDevice", "id", "uuidv4", "loggerModuleFactory", "managerApiService", "secureChannelService", "rawApdu", "callback", "state", "deviceStatus", "sessionState", "options", "response", "command", "apdu", "err", "r", "deviceAction", "observable", "cancel", "enabled"]
4
+ "sourcesContent": ["import { type Either, Left } from \"purify-ts\";\nimport { BehaviorSubject, type Subscription } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { DeviceBusyError, type DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DEVICE_SESSION_REFRESH_INTERVAL } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { RefresherService } from \"@internal/device-session/service/RefresherService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\ntype SendApduOptions = {\n isPolling?: boolean;\n triggersDisconnection?: boolean;\n};\n\n/**\n * Represents a session with a device.\n */\nexport class DeviceSession {\n private readonly _id: DeviceSessionId;\n private readonly _connectedDevice: TransportConnectedDevice;\n private readonly _deviceState: BehaviorSubject<DeviceSessionState>;\n private readonly _refresher: DeviceSessionRefresher;\n private readonly _refresherService: RefresherService;\n private readonly _managerApiService: ManagerApiService;\n private readonly _secureChannelService: SecureChannelService;\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n secureChannelService: SecureChannelService,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n this._refresher = new DeviceSessionRefresher(\n {\n refreshInterval: DEVICE_SESSION_REFRESH_INTERVAL,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n sendApduFn: (rawApdu: Uint8Array) =>\n this.sendApdu(rawApdu, {\n isPolling: true,\n triggersDisconnection: false,\n }),\n updateStateFn: (callback) => {\n const state = this._deviceState.getValue();\n this.setDeviceSessionState(callback(state));\n },\n },\n loggerModuleFactory(\"device-session-refresher\"),\n );\n this._refresherService = new RefresherService(this._refresher);\n this._managerApiService = managerApiService;\n this._secureChannelService = secureChannelService;\n }\n\n public get id() {\n return this._id;\n }\n\n public get connectedDevice() {\n return this._connectedDevice;\n }\n\n public get state() {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState) {\n this._deviceState.next(state);\n }\n\n public async sendApdu(\n rawApdu: Uint8Array,\n options: SendApduOptions = {\n isPolling: false,\n triggersDisconnection: false,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n let reenableRefresher: () => void;\n if (!options.isPolling) {\n reenableRefresher = this._refresherService.disableRefresher(\"sendApdu\");\n await this.waitUntilReady();\n }\n\n const sessionState = this._deviceState.getValue();\n if (sessionState.deviceStatus === DeviceStatus.BUSY) {\n return Left(new DeviceBusyError());\n }\n\n this.updateDeviceStatus(DeviceStatus.BUSY);\n\n const errorOrResponse = await this._connectedDevice.sendApdu(\n rawApdu,\n options.triggersDisconnection,\n );\n\n return errorOrResponse\n .ifRight((response: ApduResponse) => {\n if (CommandUtils.isLockedDeviceResponse(response)) {\n this.updateDeviceStatus(DeviceStatus.LOCKED);\n } else {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n }\n\n if (!options.isPolling && reenableRefresher) {\n reenableRefresher();\n }\n })\n .ifLeft(() => {\n this.updateDeviceStatus(DeviceStatus.CONNECTED);\n\n if (!options.isPolling && reenableRefresher) {\n reenableRefresher();\n }\n });\n }\n\n public async sendCommand<Response, Args, ErrorStatusCodes>(\n command: Command<Response, Args, ErrorStatusCodes>,\n ): Promise<CommandResult<Response, ErrorStatusCodes>> {\n const apdu = command.getApdu();\n const response = await this.sendApdu(apdu.getRawApdu(), {\n isPolling: false,\n triggersDisconnection: command.triggersDisconnection ?? false,\n });\n\n return response.caseOf({\n Left: (err) => {\n throw err;\n },\n Right: (r) =>\n command.parseResponse(r, this._connectedDevice.deviceModel.id),\n });\n }\n\n public executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n const { observable, cancel } = deviceAction._execute({\n sendApdu: async (apdu: Uint8Array) => this.sendApdu(apdu),\n sendCommand: async <Response, ErrorStatusCodes, Args>(\n command: Command<Response, ErrorStatusCodes, Args>,\n ) => this.sendCommand(command),\n getDeviceSessionState: () => this._deviceState.getValue(),\n getDeviceSessionStateObservable: () => this.state,\n setDeviceSessionState: (state: DeviceSessionState) => {\n this.setDeviceSessionState(state);\n return this._deviceState.getValue();\n },\n disableRefresher: (blockerId: string) =>\n this._refresherService.disableRefresher(blockerId),\n getManagerApiService: () => this._managerApiService,\n getSecureChannelService: () => this._secureChannelService,\n });\n\n return {\n observable,\n cancel,\n };\n }\n\n public close() {\n this.updateDeviceStatus(DeviceStatus.NOT_CONNECTED);\n this._deviceState.complete();\n this._refresher.stop();\n }\n\n public disableRefresher(id: string): () => void {\n return this._refresherService.disableRefresher(id);\n }\n\n private updateDeviceStatus(deviceStatus: DeviceStatus) {\n const sessionState = this._deviceState.getValue();\n this._refresher.setDeviceStatus(deviceStatus);\n this._deviceState.next({\n ...sessionState,\n deviceStatus,\n });\n }\n\n private async waitUntilReady() {\n let deviceStateSub: Subscription;\n\n await new Promise<void>((resolve) => {\n deviceStateSub = this._deviceState.subscribe((state) => {\n if (state.deviceStatus === DeviceStatus.CONNECTED) {\n deviceStateSub?.unsubscribe();\n resolve();\n }\n });\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["DeviceSession_exports", "__export", "DeviceSession", "__toCommonJS", "import_purify_ts", "import_rxjs", "import_uuid", "import_CommandUtils", "import_DeviceStatus", "import_DeviceSessionState", "import_Error", "import_DeviceSessionRefresherConst", "import_RefresherService", "import_DeviceSessionRefresher", "connectedDevice", "id", "uuidv4", "loggerModuleFactory", "managerApiService", "secureChannelService", "rawApdu", "callback", "state", "options", "reenableRefresher", "response", "command", "apdu", "err", "r", "deviceAction", "observable", "cancel", "blockerId", "deviceStatus", "sessionState", "deviceStateSub", "resolve"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var f=(n,e)=>{for(var t in e)u(n,t,{get:e[t],enumerable:!0})},O=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of A(e))!g.call(n,s)&&s!==t&&u(n,s,{get:()=>e[s],enumerable:!(i=l(e,s))||i.enumerable});return n};var y=n=>O(u({},"__esModule",{value:!0}),n),c=(n,e,t,i)=>{for(var s=i>1?void 0:i?l(e,t):e,a=n.length-1,o;a>=0;a--)(o=n[a])&&(s=(i?o(e,t,s):o(s))||s);return i&&s&&u(e,t,s),s};var D={};f(D,{DeviceSessionRefresher:()=>d});module.exports=y(D);var m=require("inversify"),r=require("rxjs"),h=require("../../../api/command/model/CommandResult"),v=require("../../../api/command/os/GetAppAndVersionCommand"),_=require("../../../api/command/os/GetOsVersionCommand"),b=require("../../../api/device/DeviceModel"),p=require("../../../api/device/DeviceStatus"),S=require("../../../api/device-session/DeviceSessionState");let d=class{_logger;_getAppAndVersionCommand=new v.GetAppAndVersionCommand;_getOsVersionCommand=new _.GetOsVersionCommand;_deviceStatus;_subscription;_refreshInterval;_deviceModelId;_sendApduFn;_updateStateFn;constructor({refreshInterval:e,deviceStatus:t,sendApduFn:i,updateStateFn:s,deviceModelId:a},o){this._deviceStatus=t,this._logger=o,this._sendApduFn=i,this._updateStateFn=s,this._refreshInterval=e,this._deviceModelId=a,this.start()}start(){if(this._subscription&&!this._subscription.closed){this._logger.warn("Refresher already started");return}const e=this._deviceModelId===b.DeviceModelId.NANO_S?this._getNanoSRefreshObservable(this._refreshInterval*2):this._getDefaultRefreshObservable((0,r.interval)(this._refreshInterval));this._subscription=e.subscribe(t=>{!t||!(0,h.isSuccessCommandResult)(t)||this._updateStateFn(i=>({...i,sessionStateType:S.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:this._deviceStatus,currentApp:t.data,installedApps:"installedApps"in i?i.installedApps:[]}))})}_getDefaultRefreshObservable(e=(0,r.from)([0])){return e.pipe((0,r.filter)(()=>![p.DeviceStatus.BUSY,p.DeviceStatus.NOT_CONNECTED].includes(this._deviceStatus)),(0,r.switchMap)(async()=>{const t=this._getAppAndVersionCommand.getApdu().getRawApdu();return await this._sendApduFn(t)}),(0,r.map)(t=>t.caseOf({Left:i=>(this._logger.error("Error in sending APDU when polling",{data:{error:i}}),null),Right:i=>{try{return this._getAppAndVersionCommand.parseResponse(i)}catch(s){return this._logger.error("Error in parsing APDU response",{data:{error:s}}),null}}})),(0,r.filter)(t=>t!==null))}_getNanoSRefreshObservable(e){const t=this._getDefaultRefreshObservable().pipe((0,r.switchMap)(async s=>{const a=this._getOsVersionCommand.getApdu().getRawApdu();return await this._sendApduFn(a),s})),i=(0,r.of)(null).pipe((0,r.delay)(e),(0,r.map)(s=>{this._logger.warn("Nanos refresh timeout, setting device status to LOCKED"),this._updateStateFn(a=>({...a,deviceStatus:p.DeviceStatus.LOCKED}))}));return(0,r.interval)(e+100).pipe((0,r.switchMap)(()=>(0,r.race)(t,i)))}setDeviceStatus(e){e===p.DeviceStatus.NOT_CONNECTED&&this.stop(),this._deviceStatus=e}stop(){!this._subscription||this._subscription.closed||(this._subscription.unsubscribe(),this._subscription=void 0)}};d=c([(0,m.injectable)()],d);0&&(module.exports={DeviceSessionRefresher});
1
+ "use strict";var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var t in e)u(n,t,{get:e[t],enumerable:!0})},O=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of A(e))!f.call(n,i)&&i!==t&&u(n,i,{get:()=>e[i],enumerable:!(r=l(e,i))||r.enumerable});return n};var y=n=>O(u({},"__esModule",{value:!0}),n),c=(n,e,t,r)=>{for(var i=r>1?void 0:r?l(e,t):e,o=n.length-1,a;o>=0;o--)(a=n[o])&&(i=(r?a(e,t,i):a(i))||i);return r&&i&&u(e,t,i),i};var D={};g(D,{DeviceSessionRefresher:()=>d});module.exports=y(D);var m=require("inversify"),s=require("rxjs"),h=require("../../../api/command/model/CommandResult"),v=require("../../../api/command/os/GetAppAndVersionCommand"),_=require("../../../api/command/os/GetOsVersionCommand"),b=require("../../../api/device/DeviceModel"),p=require("../../../api/device/DeviceStatus"),S=require("../../../api/device-session/DeviceSessionState");let d=class{_logger;_getAppAndVersionCommand=new v.GetAppAndVersionCommand;_getOsVersionCommand=new _.GetOsVersionCommand;_deviceStatus;_subscription;_refreshInterval;_deviceModelId;_sendApduFn;_updateStateFn;constructor({refreshInterval:e,deviceStatus:t,sendApduFn:r,updateStateFn:i,deviceModelId:o},a){this._deviceStatus=t,this._logger=a,this._sendApduFn=r,this._updateStateFn=i,this._refreshInterval=e,this._deviceModelId=o,this.start()}start(){if(this._subscription&&!this._subscription.closed){this._logger.warn("Refresher already started");return}const e=this._deviceModelId===b.DeviceModelId.NANO_S?this._getNanoSRefreshObservable(this._refreshInterval*2):this._getDefaultRefreshObservable((0,s.interval)(this._refreshInterval));this._subscription=e.subscribe(t=>{!t||!(0,h.isSuccessCommandResult)(t)||this._updateStateFn(r=>({...r,sessionStateType:S.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:this._deviceStatus,currentApp:t.data,installedApps:"installedApps"in r?r.installedApps:[],isSecureConnectionAllowed:"isSecureConnectionAllowed"in r?r.isSecureConnectionAllowed:!1}))})}_getDefaultRefreshObservable(e=(0,s.from)([0])){return e.pipe((0,s.filter)(()=>![p.DeviceStatus.BUSY,p.DeviceStatus.NOT_CONNECTED].includes(this._deviceStatus)),(0,s.switchMap)(async()=>{const t=this._getAppAndVersionCommand.getApdu().getRawApdu();return await this._sendApduFn(t)}),(0,s.map)(t=>t.caseOf({Left:r=>(this._logger.error("Error in sending APDU when polling",{data:{error:r}}),null),Right:r=>{try{return this._getAppAndVersionCommand.parseResponse(r)}catch(i){return this._logger.error("Error in parsing APDU response",{data:{error:i}}),null}}})),(0,s.filter)(t=>t!==null))}_getNanoSRefreshObservable(e){const t=this._getDefaultRefreshObservable().pipe((0,s.switchMap)(async i=>{const o=this._getOsVersionCommand.getApdu().getRawApdu();return await this._sendApduFn(o),i})),r=(0,s.of)(null).pipe((0,s.delay)(e),(0,s.map)(i=>{this._logger.warn("Nanos refresh timeout, setting device status to LOCKED"),this._updateStateFn(o=>({...o,deviceStatus:p.DeviceStatus.LOCKED}))}));return(0,s.interval)(e+100).pipe((0,s.switchMap)(()=>(0,s.race)(t,r)))}setDeviceStatus(e){e===p.DeviceStatus.NOT_CONNECTED&&this.stop(),this._deviceStatus=e}stop(){!this._subscription||this._subscription.closed||(this._subscription.unsubscribe(),this._subscription=void 0)}};d=c([(0,m.injectable)()],d);0&&(module.exports={DeviceSessionRefresher});
2
2
  //# sourceMappingURL=DeviceSessionRefresher.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/model/DeviceSessionRefresher.ts"],
4
- "sourcesContent": ["import { injectable } from \"inversify\";\nimport { Either } from \"purify-ts\";\nimport {\n delay,\n filter,\n from,\n interval,\n map,\n Observable,\n of,\n race,\n Subscription,\n switchMap,\n} from \"rxjs\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n GetAppAndVersionCommand,\n GetAppAndVersionCommandResult,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nimport { GetOsVersionCommand } from \"@api/command/os/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { SendApduFnType } from \"@api/transport/model/DeviceConnection\";\n\ntype UpdateStateFnType = (\n callback: (state: DeviceSessionState) => DeviceSessionState,\n) => void;\n\n/**\n * The arguments for the DeviceSessionRefresher.\n */\nexport type DeviceSessionRefresherArgs = {\n /**\n * The refresh interval in milliseconds.\n */\n refreshInterval: number;\n\n /**\n * The current device status when the refresher is created.\n */\n deviceStatus: Exclude<DeviceStatus, DeviceStatus.NOT_CONNECTED>;\n\n /**\n * The function used to send APDU commands to the device.\n */\n sendApduFn: (rawApdu: Uint8Array) => Promise<Either<DmkError, ApduResponse>>;\n\n /**\n * Callback that updates the state of the device session with\n * polling response.\n * @param callback - A function that will take the previous state and return the new state.\n * @returns void\n */\n updateStateFn: UpdateStateFnType;\n\n /**\n * Device model to handle NanoS specific refresher\n */\n deviceModelId: DeviceModelId;\n};\n\n/**\n * The session refresher that periodically sends a command to refresh the session.\n */\n@injectable()\nexport class DeviceSessionRefresher {\n private readonly _logger: LoggerPublisherService;\n private readonly _getAppAndVersionCommand = new GetAppAndVersionCommand();\n private readonly _getOsVersionCommand = new GetOsVersionCommand();\n private _deviceStatus: DeviceStatus;\n private _subscription?: Subscription;\n private readonly _refreshInterval: number;\n private readonly _deviceModelId: DeviceModelId;\n private readonly _sendApduFn: SendApduFnType;\n private readonly _updateStateFn: UpdateStateFnType;\n\n constructor(\n {\n refreshInterval,\n deviceStatus,\n sendApduFn,\n updateStateFn,\n deviceModelId,\n }: DeviceSessionRefresherArgs,\n logger: LoggerPublisherService,\n ) {\n this._deviceStatus = deviceStatus;\n this._logger = logger;\n this._sendApduFn = sendApduFn;\n this._updateStateFn = updateStateFn;\n this._refreshInterval = refreshInterval;\n this._deviceModelId = deviceModelId;\n\n this.start();\n }\n\n /**\n * Start the session refresher.\n * The refresher will send commands to refresh the session.\n */\n start() {\n if (this._subscription && !this._subscription.closed) {\n this._logger.warn(\"Refresher already started\");\n return;\n }\n\n // NanoS has a specific refresher that sends GetAppAndVersion and GetOsVersion commands\n const refreshObservable =\n this._deviceModelId === DeviceModelId.NANO_S\n ? this._getNanoSRefreshObservable(this._refreshInterval * 2)\n : this._getDefaultRefreshObservable(interval(this._refreshInterval));\n\n this._subscription = refreshObservable.subscribe((parsedResponse) => {\n if (!parsedResponse || !isSuccessCommandResult(parsedResponse)) {\n return;\n }\n // `batteryStatus` and `firmwareVersion` are not available in the polling response.\n this._updateStateFn((state) => ({\n ...state,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: this._deviceStatus,\n currentApp: parsedResponse.data,\n installedApps: \"installedApps\" in state ? state.installedApps : [],\n }));\n });\n }\n\n /**\n * Creates an observable that refreshes a device state with GetAppAndVersion command result.\n *\n * @param {ObservableInput<number>} parentObservable - The parent observable to base the refresh observable on. Defaults to an array with a single number [0].\n * @return {Observable<GetAppAndVersionCommandResult>} An observable that emits the result of the GetAppAndVersionCommand.\n */\n private _getDefaultRefreshObservable(\n parentObservable: Observable<number> = from([0]),\n ): Observable<GetAppAndVersionCommandResult> {\n return parentObservable.pipe(\n filter(\n () =>\n ![DeviceStatus.BUSY, DeviceStatus.NOT_CONNECTED].includes(\n this._deviceStatus,\n ),\n ),\n switchMap(async () => {\n const rawApdu = this._getAppAndVersionCommand.getApdu().getRawApdu();\n return await this._sendApduFn(rawApdu);\n }),\n map((resp) =>\n resp.caseOf({\n Left: (error) => {\n this._logger.error(\"Error in sending APDU when polling\", {\n data: { error },\n });\n return null;\n },\n Right: (data: ApduResponse) => {\n try {\n return this._getAppAndVersionCommand.parseResponse(data);\n } catch (error) {\n this._logger.error(\"Error in parsing APDU response\", {\n data: { error },\n });\n return null;\n }\n },\n }),\n ),\n filter((parsedResponse) => parsedResponse !== null),\n );\n }\n\n /**\n * Creates an observable that emits events to refresh the NanoS device state.\n *\n * @param {number} refreshInterval - The interval, in milliseconds, at which the NanoS state should be refreshed.\n * @return {Observable<GetAppAndVersionCommandResult | void>} An observable that emits events to refresh the NanoS device state and handle timeout scenarios.\n */\n private _getNanoSRefreshObservable(\n refreshInterval: number,\n ): Observable<GetAppAndVersionCommandResult | void> {\n const nanoSRefreshObservable = this._getDefaultRefreshObservable().pipe(\n switchMap(async (resp) => {\n const rawApdu = this._getOsVersionCommand.getApdu().getRawApdu();\n await this._sendApduFn(rawApdu);\n return resp;\n }),\n );\n const timeoutObservable = of(null).pipe(\n delay(refreshInterval),\n map((_) => {\n this._logger.warn(\n \"Nanos refresh timeout, setting device status to LOCKED\",\n );\n this._updateStateFn((state) => ({\n ...state,\n deviceStatus: DeviceStatus.LOCKED,\n }));\n }),\n );\n return interval(refreshInterval + 100).pipe(\n switchMap(() => race(nanoSRefreshObservable, timeoutObservable)),\n );\n }\n\n /**\n * Maintain a device status to prevent sending APDU when the device is busy.\n *\n * @param {DeviceStatus} deviceStatus - The new device status.\n */\n setDeviceStatus(deviceStatus: DeviceStatus) {\n if (deviceStatus === DeviceStatus.NOT_CONNECTED) {\n this.stop();\n }\n this._deviceStatus = deviceStatus;\n }\n\n /**\n * Stops the session refresher.\n * The refresher will no longer send commands to refresh the session.\n */\n stop() {\n if (!this._subscription || this._subscription.closed) {\n return;\n }\n this._subscription.unsubscribe();\n this._subscription = undefined;\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { injectable } from \"inversify\";\nimport { Either } from \"purify-ts\";\nimport {\n delay,\n filter,\n from,\n interval,\n map,\n Observable,\n of,\n race,\n Subscription,\n switchMap,\n} from \"rxjs\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n GetAppAndVersionCommand,\n GetAppAndVersionCommandResult,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nimport { GetOsVersionCommand } from \"@api/command/os/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { DmkError } from \"@api/Error\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { SendApduFnType } from \"@api/transport/model/DeviceConnection\";\n\ntype UpdateStateFnType = (\n callback: (state: DeviceSessionState) => DeviceSessionState,\n) => void;\n\n/**\n * The arguments for the DeviceSessionRefresher.\n */\nexport type DeviceSessionRefresherArgs = {\n /**\n * The refresh interval in milliseconds.\n */\n refreshInterval: number;\n\n /**\n * The current device status when the refresher is created.\n */\n deviceStatus: Exclude<DeviceStatus, DeviceStatus.NOT_CONNECTED>;\n\n /**\n * The function used to send APDU commands to the device.\n */\n sendApduFn: (rawApdu: Uint8Array) => Promise<Either<DmkError, ApduResponse>>;\n\n /**\n * Callback that updates the state of the device session with\n * polling response.\n * @param callback - A function that will take the previous state and return the new state.\n * @returns void\n */\n updateStateFn: UpdateStateFnType;\n\n /**\n * Device model to handle NanoS specific refresher\n */\n deviceModelId: DeviceModelId;\n};\n\n/**\n * The session refresher that periodically sends a command to refresh the session.\n */\n@injectable()\nexport class DeviceSessionRefresher {\n private readonly _logger: LoggerPublisherService;\n private readonly _getAppAndVersionCommand = new GetAppAndVersionCommand();\n private readonly _getOsVersionCommand = new GetOsVersionCommand();\n private _deviceStatus: DeviceStatus;\n private _subscription?: Subscription;\n private readonly _refreshInterval: number;\n private readonly _deviceModelId: DeviceModelId;\n private readonly _sendApduFn: SendApduFnType;\n private readonly _updateStateFn: UpdateStateFnType;\n\n constructor(\n {\n refreshInterval,\n deviceStatus,\n sendApduFn,\n updateStateFn,\n deviceModelId,\n }: DeviceSessionRefresherArgs,\n logger: LoggerPublisherService,\n ) {\n this._deviceStatus = deviceStatus;\n this._logger = logger;\n this._sendApduFn = sendApduFn;\n this._updateStateFn = updateStateFn;\n this._refreshInterval = refreshInterval;\n this._deviceModelId = deviceModelId;\n\n this.start();\n }\n\n /**\n * Start the session refresher.\n * The refresher will send commands to refresh the session.\n */\n start() {\n if (this._subscription && !this._subscription.closed) {\n this._logger.warn(\"Refresher already started\");\n return;\n }\n\n // NanoS has a specific refresher that sends GetAppAndVersion and GetOsVersion commands\n const refreshObservable =\n this._deviceModelId === DeviceModelId.NANO_S\n ? this._getNanoSRefreshObservable(this._refreshInterval * 2)\n : this._getDefaultRefreshObservable(interval(this._refreshInterval));\n\n this._subscription = refreshObservable.subscribe((parsedResponse) => {\n if (!parsedResponse || !isSuccessCommandResult(parsedResponse)) {\n return;\n }\n // `batteryStatus` and `firmwareVersion` are not available in the polling response.\n this._updateStateFn((state) => ({\n ...state,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: this._deviceStatus,\n currentApp: parsedResponse.data,\n installedApps: \"installedApps\" in state ? state.installedApps : [],\n isSecureConnectionAllowed:\n \"isSecureConnectionAllowed\" in state\n ? state.isSecureConnectionAllowed\n : false,\n }));\n });\n }\n\n /**\n * Creates an observable that refreshes a device state with GetAppAndVersion command result.\n *\n * @param {ObservableInput<number>} parentObservable - The parent observable to base the refresh observable on. Defaults to an array with a single number [0].\n * @return {Observable<GetAppAndVersionCommandResult>} An observable that emits the result of the GetAppAndVersionCommand.\n */\n private _getDefaultRefreshObservable(\n parentObservable: Observable<number> = from([0]),\n ): Observable<GetAppAndVersionCommandResult> {\n return parentObservable.pipe(\n filter(\n () =>\n ![DeviceStatus.BUSY, DeviceStatus.NOT_CONNECTED].includes(\n this._deviceStatus,\n ),\n ),\n switchMap(async () => {\n const rawApdu = this._getAppAndVersionCommand.getApdu().getRawApdu();\n return await this._sendApduFn(rawApdu);\n }),\n map((resp) =>\n resp.caseOf({\n Left: (error) => {\n this._logger.error(\"Error in sending APDU when polling\", {\n data: { error },\n });\n return null;\n },\n Right: (data: ApduResponse) => {\n try {\n return this._getAppAndVersionCommand.parseResponse(data);\n } catch (error) {\n this._logger.error(\"Error in parsing APDU response\", {\n data: { error },\n });\n return null;\n }\n },\n }),\n ),\n filter((parsedResponse) => parsedResponse !== null),\n );\n }\n\n /**\n * Creates an observable that emits events to refresh the NanoS device state.\n *\n * @param {number} refreshInterval - The interval, in milliseconds, at which the NanoS state should be refreshed.\n * @return {Observable<GetAppAndVersionCommandResult | void>} An observable that emits events to refresh the NanoS device state and handle timeout scenarios.\n */\n private _getNanoSRefreshObservable(\n refreshInterval: number,\n ): Observable<GetAppAndVersionCommandResult | void> {\n const nanoSRefreshObservable = this._getDefaultRefreshObservable().pipe(\n switchMap(async (resp) => {\n const rawApdu = this._getOsVersionCommand.getApdu().getRawApdu();\n await this._sendApduFn(rawApdu);\n return resp;\n }),\n );\n const timeoutObservable = of(null).pipe(\n delay(refreshInterval),\n map((_) => {\n this._logger.warn(\n \"Nanos refresh timeout, setting device status to LOCKED\",\n );\n this._updateStateFn((state) => ({\n ...state,\n deviceStatus: DeviceStatus.LOCKED,\n }));\n }),\n );\n return interval(refreshInterval + 100).pipe(\n switchMap(() => race(nanoSRefreshObservable, timeoutObservable)),\n );\n }\n\n /**\n * Maintain a device status to prevent sending APDU when the device is busy.\n *\n * @param {DeviceStatus} deviceStatus - The new device status.\n */\n setDeviceStatus(deviceStatus: DeviceStatus) {\n if (deviceStatus === DeviceStatus.NOT_CONNECTED) {\n this.stop();\n }\n this._deviceStatus = deviceStatus;\n }\n\n /**\n * Stops the session refresher.\n * The refresher will no longer send commands to refresh the session.\n */\n stop() {\n if (!this._subscription || this._subscription.closed) {\n return;\n }\n this._subscription.unsubscribe();\n this._subscription = undefined;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["DeviceSessionRefresher_exports", "__export", "DeviceSessionRefresher", "__toCommonJS", "import_inversify", "import_rxjs", "import_CommandResult", "import_GetAppAndVersionCommand", "import_GetOsVersionCommand", "import_DeviceModel", "import_DeviceStatus", "import_DeviceSessionState", "DeviceSessionRefresher", "refreshInterval", "deviceStatus", "sendApduFn", "updateStateFn", "deviceModelId", "logger", "refreshObservable", "parsedResponse", "state", "parentObservable", "rawApdu", "resp", "error", "data", "nanoSRefreshObservable", "timeoutObservable", "_", "__decorateClass"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var n=(s,e)=>{for(var r in e)o(s,r,{get:e[r],enumerable:!0})},a=(s,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of c(e))!l.call(s,i)&&i!==r&&o(s,i,{get:()=>e[i],enumerable:!(t=f(e,i))||t.enumerable});return s};var d=s=>a(o({},"__esModule",{value:!0}),s);var B={};n(B,{RefresherService:()=>v});module.exports=d(B);var h=require("uuid");class v{constructor(e){this._refresher=e}_refresherBlockers=new Set;disableRefresher(e){const r=`${e}-${(0,h.v4)()}`;this.addRefresherBlocker(r);let t=!1;return()=>{t||(t=!0,this.removeRefresherBlocker(r))}}addRefresherBlocker(e){const r=this._refresherBlockers.size;this._refresherBlockers.add(e),r===0&&this._refresher.stop()}removeRefresherBlocker(e){const r=this._refresherBlockers.size;this._refresherBlockers.delete(e),r>0&&this._refresherBlockers.size===0&&this._refresher.start()}}0&&(module.exports={RefresherService});
2
+ //# sourceMappingURL=RefresherService.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/device-session/service/RefresherService.ts"],
4
+ "sourcesContent": ["import { v4 as uuidv4 } from \"uuid\";\n\nimport { type DeviceSessionRefresher } from \"@internal/device-session/model/DeviceSessionRefresher\";\n\nexport class RefresherService {\n // the refresher should be enabled if and only if the size of this is equal to zero\n private readonly _refresherBlockers = new Set<string>();\n\n constructor(private readonly _refresher: DeviceSessionRefresher) {}\n\n public disableRefresher(id: string): () => void {\n const uniqueId = `${id}-${uuidv4()}`;\n this.addRefresherBlocker(uniqueId);\n\n let hasBeenReenabled = false;\n\n return () => {\n if (hasBeenReenabled) return;\n\n hasBeenReenabled = true;\n this.removeRefresherBlocker(uniqueId);\n };\n }\n\n private addRefresherBlocker(blockerId: string) {\n const prevBlockersCount = this._refresherBlockers.size;\n this._refresherBlockers.add(blockerId);\n\n if (prevBlockersCount === 0) {\n this._refresher.stop();\n }\n }\n\n private removeRefresherBlocker(blockerId: string) {\n const prevBlockersCount = this._refresherBlockers.size;\n this._refresherBlockers.delete(blockerId);\n\n if (prevBlockersCount > 0 && this._refresherBlockers.size === 0) {\n this._refresher.start();\n }\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA6B,gBAItB,MAAMF,CAAiB,CAI5B,YAA6BG,EAAoC,CAApC,gBAAAA,CAAqC,CAFjD,mBAAqB,IAAI,IAInC,iBAAiBC,EAAwB,CAC9C,MAAMC,EAAW,GAAGD,CAAE,OAAI,EAAAE,IAAO,CAAC,GAClC,KAAK,oBAAoBD,CAAQ,EAEjC,IAAIE,EAAmB,GAEvB,MAAO,IAAM,CACPA,IAEJA,EAAmB,GACnB,KAAK,uBAAuBF,CAAQ,EACtC,CACF,CAEQ,oBAAoBG,EAAmB,CAC7C,MAAMC,EAAoB,KAAK,mBAAmB,KAClD,KAAK,mBAAmB,IAAID,CAAS,EAEjCC,IAAsB,GACxB,KAAK,WAAW,KAAK,CAEzB,CAEQ,uBAAuBD,EAAmB,CAChD,MAAMC,EAAoB,KAAK,mBAAmB,KAClD,KAAK,mBAAmB,OAAOD,CAAS,EAEpCC,EAAoB,GAAK,KAAK,mBAAmB,OAAS,GAC5D,KAAK,WAAW,MAAM,CAE1B,CACF",
6
+ "names": ["RefresherService_exports", "__export", "RefresherService", "__toCommonJS", "import_uuid", "_refresher", "id", "uniqueId", "uuidv4", "hasBeenReenabled", "blockerId", "prevBlockersCount"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=require("./RefresherService");let e;describe("RefresherService",()=>{beforeEach(()=>{e={start:vi.fn(),stop:vi.fn()}}),it("should be created",()=>{const r=new s.RefresherService(e);expect(r).toBeDefined()}),describe("with only 1 blocker",()=>{it("should disable the refresher",()=>{new s.RefresherService(e).disableRefresher("test"),expect(e.stop).toHaveBeenCalled()}),it("should reenable the refresher",()=>{new s.RefresherService(e).disableRefresher("test")(),expect(e.stop).toHaveBeenCalled(),expect(e.start).toHaveBeenCalled()})}),describe("with 2+ blockers",()=>{it("should not disable the refresher a second time",()=>{const r=new s.RefresherService(e);r.disableRefresher("test"),r.disableRefresher("test-2"),expect(e.stop).toHaveBeenCalledTimes(1)}),it("should reenable the refresher when the last blocker is removed",()=>{const r=new s.RefresherService(e),t=r.disableRefresher("test"),o=r.disableRefresher("test-2");expect(e.stop).toHaveBeenCalledTimes(1),t(),expect(e.start).not.toHaveBeenCalled(),o(),expect(e.start).toHaveBeenCalled()})})});
2
+ //# sourceMappingURL=RefresherService.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/device-session/service/RefresherService.test.ts"],
4
+ "sourcesContent": ["import { type DeviceSessionRefresher } from \"@internal/device-session/model/DeviceSessionRefresher\";\n\nimport { RefresherService } from \"./RefresherService\";\n\nlet refresher: DeviceSessionRefresher;\ndescribe(\"RefresherService\", () => {\n beforeEach(() => {\n refresher = {\n start: vi.fn(),\n stop: vi.fn(),\n } as unknown as DeviceSessionRefresher;\n });\n\n it(\"should be created\", () => {\n const refresherService = new RefresherService(refresher);\n expect(refresherService).toBeDefined();\n });\n\n describe(\"with only 1 blocker\", () => {\n it(\"should disable the refresher\", () => {\n const refresherService = new RefresherService(refresher);\n refresherService.disableRefresher(\"test\");\n expect(refresher.stop).toHaveBeenCalled();\n });\n\n it(\"should reenable the refresher\", () => {\n const refresherService = new RefresherService(refresher);\n const reenableRefresher = refresherService.disableRefresher(\"test\");\n reenableRefresher();\n expect(refresher.stop).toHaveBeenCalled();\n expect(refresher.start).toHaveBeenCalled();\n });\n });\n\n describe(\"with 2+ blockers\", () => {\n it(\"should not disable the refresher a second time\", () => {\n const refresherService = new RefresherService(refresher);\n refresherService.disableRefresher(\"test\");\n refresherService.disableRefresher(\"test-2\");\n expect(refresher.stop).toHaveBeenCalledTimes(1);\n });\n\n it(\"should reenable the refresher when the last blocker is removed\", () => {\n const refresherService = new RefresherService(refresher);\n const reenableRefresher1 = refresherService.disableRefresher(\"test\");\n const reenableRefresher2 = refresherService.disableRefresher(\"test-2\");\n expect(refresher.stop).toHaveBeenCalledTimes(1);\n reenableRefresher1();\n expect(refresher.start).not.toHaveBeenCalled();\n reenableRefresher2();\n expect(refresher.start).toHaveBeenCalled();\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAiC,8BAEjC,IAAIC,EACJ,SAAS,mBAAoB,IAAM,CACjC,WAAW,IAAM,CACfA,EAAY,CACV,MAAO,GAAG,GAAG,EACb,KAAM,GAAG,GAAG,CACd,CACF,CAAC,EAED,GAAG,oBAAqB,IAAM,CAC5B,MAAMC,EAAmB,IAAI,mBAAiBD,CAAS,EACvD,OAAOC,CAAgB,EAAE,YAAY,CACvC,CAAC,EAED,SAAS,sBAAuB,IAAM,CACpC,GAAG,+BAAgC,IAAM,CACd,IAAI,mBAAiBD,CAAS,EACtC,iBAAiB,MAAM,EACxC,OAAOA,EAAU,IAAI,EAAE,iBAAiB,CAC1C,CAAC,EAED,GAAG,gCAAiC,IAAM,CACf,IAAI,mBAAiBA,CAAS,EACZ,iBAAiB,MAAM,EAChD,EAClB,OAAOA,EAAU,IAAI,EAAE,iBAAiB,EACxC,OAAOA,EAAU,KAAK,EAAE,iBAAiB,CAC3C,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,iDAAkD,IAAM,CACzD,MAAMC,EAAmB,IAAI,mBAAiBD,CAAS,EACvDC,EAAiB,iBAAiB,MAAM,EACxCA,EAAiB,iBAAiB,QAAQ,EAC1C,OAAOD,EAAU,IAAI,EAAE,sBAAsB,CAAC,CAChD,CAAC,EAED,GAAG,iEAAkE,IAAM,CACzE,MAAMC,EAAmB,IAAI,mBAAiBD,CAAS,EACjDE,EAAqBD,EAAiB,iBAAiB,MAAM,EAC7DE,EAAqBF,EAAiB,iBAAiB,QAAQ,EACrE,OAAOD,EAAU,IAAI,EAAE,sBAAsB,CAAC,EAC9CE,EAAmB,EACnB,OAAOF,EAAU,KAAK,EAAE,IAAI,iBAAiB,EAC7CG,EAAmB,EACnB,OAAOH,EAAU,KAAK,EAAE,iBAAiB,CAC3C,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_RefresherService", "refresher", "refresherService", "reenableRefresher1", "reenableRefresher2"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var C=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},u=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of S(e))!T.call(t,s)&&s!==n&&C(t,s,{get:()=>e[s],enumerable:!(i=y(e,s))||i.enumerable});return t};var l=t=>u(C({},"__esModule",{value:!0}),t);var F={};g(F,{discoveryModuleFactory:()=>w});module.exports=l(F);var a=require("inversify"),r=require("../../discovery/use-case/ConnectUseCase"),U=require("../../discovery/use-case/DisconnectUseCase"),m=require("../../discovery/use-case/GetConnectedDeviceUseCase"),D=require("../../discovery/use-case/ListConnectedDevicesUseCase"),v=require("../../discovery/use-case/ListenToConnectedDeviceUseCase"),p=require("../../discovery/use-case/ListenToKnownDevicesUseCase"),f=require("../../discovery/use-case/StartDiscoveringUseCase"),L=require("../../discovery/use-case/StopDiscoveringUseCase"),c=require("../../../../src/di.stub"),o=require("./discoveryTypes");const w=({stub:t=!1})=>new a.ContainerModule((e,n,i,s)=>{e(o.discoveryTypes.ConnectUseCase).to(r.ConnectUseCase),e(o.discoveryTypes.DisconnectUseCase).to(U.DisconnectUseCase),e(o.discoveryTypes.StartDiscoveringUseCase).to(f.StartDiscoveringUseCase),e(o.discoveryTypes.StopDiscoveringUseCase).to(L.StopDiscoveringUseCase),e(o.discoveryTypes.GetConnectedDeviceUseCase).to(m.GetConnectedDeviceUseCase),e(o.discoveryTypes.ListenToKnownDevicesUseCase).to(p.ListenToKnownDevicesUseCase),e(o.discoveryTypes.ListenToConnectedDeviceUseCase).to(v.ListenToConnectedDeviceUseCase),e(o.discoveryTypes.ListConnectedDevicesUseCase).to(D.ListConnectedDevicesUseCase),t&&(s(o.discoveryTypes.StartDiscoveringUseCase).to(c.StubUseCase),s(o.discoveryTypes.StopDiscoveringUseCase).to(c.StubUseCase),s(o.discoveryTypes.ConnectUseCase).to(c.StubUseCase),s(o.discoveryTypes.DisconnectUseCase).to(c.StubUseCase),s(o.discoveryTypes.GetConnectedDeviceUseCase).to(c.StubUseCase),s(o.discoveryTypes.ListenToKnownDevicesUseCase).to(c.StubUseCase),s(o.discoveryTypes.ListenToConnectedDeviceUseCase).to(c.StubUseCase),s(o.discoveryTypes.ListConnectedDevicesUseCase).to(c.StubUseCase))});0&&(module.exports={discoveryModuleFactory});
1
+ "use strict";var C=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var T=(t,e)=>{for(var i in e)C(t,i,{get:e[i],enumerable:!0})},g=(t,e,i,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of y(e))!S.call(t,s)&&s!==i&&C(t,s,{get:()=>e[s],enumerable:!(a=L(e,s))||a.enumerable});return t};var u=t=>g(C({},"__esModule",{value:!0}),t);var F={};T(F,{discoveryModuleFactory:()=>A});module.exports=u(F);var n=require("inversify"),r=require("../../discovery/use-case/ConnectUseCase"),U=require("../../discovery/use-case/DisconnectUseCase"),v=require("../../discovery/use-case/GetConnectedDeviceUseCase"),m=require("../../discovery/use-case/ListConnectedDevicesUseCase"),D=require("../../discovery/use-case/ListenToAvailableDevicesUseCase"),p=require("../../discovery/use-case/ListenToConnectedDeviceUseCase"),f=require("../../discovery/use-case/StartDiscoveringUseCase"),l=require("../../discovery/use-case/StopDiscoveringUseCase"),c=require("../../../../src/di.stub"),o=require("./discoveryTypes");const A=({stub:t=!1})=>new n.ContainerModule((e,i,a,s)=>{e(o.discoveryTypes.ConnectUseCase).to(r.ConnectUseCase),e(o.discoveryTypes.DisconnectUseCase).to(U.DisconnectUseCase),e(o.discoveryTypes.StartDiscoveringUseCase).to(f.StartDiscoveringUseCase),e(o.discoveryTypes.StopDiscoveringUseCase).to(l.StopDiscoveringUseCase),e(o.discoveryTypes.GetConnectedDeviceUseCase).to(v.GetConnectedDeviceUseCase),e(o.discoveryTypes.ListenToAvailableDevicesUseCase).to(D.ListenToAvailableDevicesUseCase),e(o.discoveryTypes.ListenToConnectedDeviceUseCase).to(p.ListenToConnectedDeviceUseCase),e(o.discoveryTypes.ListConnectedDevicesUseCase).to(m.ListConnectedDevicesUseCase),t&&(s(o.discoveryTypes.StartDiscoveringUseCase).to(c.StubUseCase),s(o.discoveryTypes.StopDiscoveringUseCase).to(c.StubUseCase),s(o.discoveryTypes.ConnectUseCase).to(c.StubUseCase),s(o.discoveryTypes.DisconnectUseCase).to(c.StubUseCase),s(o.discoveryTypes.GetConnectedDeviceUseCase).to(c.StubUseCase),s(o.discoveryTypes.ListenToAvailableDevicesUseCase).to(c.StubUseCase),s(o.discoveryTypes.ListenToConnectedDeviceUseCase).to(c.StubUseCase),s(o.discoveryTypes.ListConnectedDevicesUseCase).to(c.StubUseCase))});0&&(module.exports={discoveryModuleFactory});
2
2
  //# sourceMappingURL=discoveryModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/di/discoveryModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ntype FactoryProps = {\n stub: boolean;\n};\n\nexport const discoveryModuleFactory = ({ stub = false }: FactoryProps) =>\n new ContainerModule((bind, _unbind, _isBound, rebind) => {\n bind(discoveryTypes.ConnectUseCase).to(ConnectUseCase);\n bind(discoveryTypes.DisconnectUseCase).to(DisconnectUseCase);\n bind(discoveryTypes.StartDiscoveringUseCase).to(StartDiscoveringUseCase);\n bind(discoveryTypes.StopDiscoveringUseCase).to(StopDiscoveringUseCase);\n bind(discoveryTypes.GetConnectedDeviceUseCase).to(\n GetConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListenToKnownDevicesUseCase).to(\n ListenToKnownDevicesUseCase,\n );\n bind(discoveryTypes.ListenToConnectedDeviceUseCase).to(\n ListenToConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListConnectedDevicesUseCase).to(\n ListConnectedDevicesUseCase,\n );\n\n if (stub) {\n rebind(discoveryTypes.StartDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.StopDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.ConnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.DisconnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.GetConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToKnownDevicesUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListConnectedDevicesUseCase).to(StubUseCase);\n }\n });\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA0C,kEAC1CC,EAA4C,oEAC5CC,EAA+C,uEAC/CC,EAA4C,oEAC5CC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAA4B,6BAE5BC,EAA+B,4BAMxB,MAAMZ,EAAyB,CAAC,CAAE,KAAAa,EAAO,EAAM,IACpD,IAAI,kBAAgB,CAACC,EAAMC,EAASC,EAAUC,IAAW,CACvDH,EAAK,iBAAe,cAAc,EAAE,GAAG,gBAAc,EACrDA,EAAK,iBAAe,iBAAiB,EAAE,GAAG,mBAAiB,EAC3DA,EAAK,iBAAe,uBAAuB,EAAE,GAAG,yBAAuB,EACvEA,EAAK,iBAAe,sBAAsB,EAAE,GAAG,wBAAsB,EACrEA,EAAK,iBAAe,yBAAyB,EAAE,GAC7C,2BACF,EACAA,EAAK,iBAAe,2BAA2B,EAAE,GAC/C,6BACF,EACAA,EAAK,iBAAe,8BAA8B,EAAE,GAClD,gCACF,EACAA,EAAK,iBAAe,2BAA2B,EAAE,GAC/C,6BACF,EAEID,IACFI,EAAO,iBAAe,uBAAuB,EAAE,GAAG,aAAW,EAC7DA,EAAO,iBAAe,sBAAsB,EAAE,GAAG,aAAW,EAC5DA,EAAO,iBAAe,cAAc,EAAE,GAAG,aAAW,EACpDA,EAAO,iBAAe,iBAAiB,EAAE,GAAG,aAAW,EACvDA,EAAO,iBAAe,yBAAyB,EAAE,GAAG,aAAW,EAC/DA,EAAO,iBAAe,2BAA2B,EAAE,GAAG,aAAW,EACjEA,EAAO,iBAAe,8BAA8B,EAAE,GAAG,aAAW,EACpEA,EAAO,iBAAe,2BAA2B,EAAE,GAAG,aAAW,EAErE,CAAC",
6
- "names": ["discoveryModule_exports", "__export", "discoveryModuleFactory", "__toCommonJS", "import_inversify", "import_ConnectUseCase", "import_DisconnectUseCase", "import_GetConnectedDeviceUseCase", "import_ListConnectedDevicesUseCase", "import_ListenToConnectedDeviceUseCase", "import_ListenToKnownDevicesUseCase", "import_StartDiscoveringUseCase", "import_StopDiscoveringUseCase", "import_di", "import_discoveryTypes", "stub", "bind", "_unbind", "_isBound", "rebind"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToAvailableDevicesUseCase } from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ntype FactoryProps = {\n stub: boolean;\n};\n\nexport const discoveryModuleFactory = ({ stub = false }: FactoryProps) =>\n new ContainerModule((bind, _unbind, _isBound, rebind) => {\n bind(discoveryTypes.ConnectUseCase).to(ConnectUseCase);\n bind(discoveryTypes.DisconnectUseCase).to(DisconnectUseCase);\n bind(discoveryTypes.StartDiscoveringUseCase).to(StartDiscoveringUseCase);\n bind(discoveryTypes.StopDiscoveringUseCase).to(StopDiscoveringUseCase);\n bind(discoveryTypes.GetConnectedDeviceUseCase).to(\n GetConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListenToAvailableDevicesUseCase).to(\n ListenToAvailableDevicesUseCase,\n );\n bind(discoveryTypes.ListenToConnectedDeviceUseCase).to(\n ListenToConnectedDeviceUseCase,\n );\n bind(discoveryTypes.ListConnectedDevicesUseCase).to(\n ListConnectedDevicesUseCase,\n );\n\n if (stub) {\n rebind(discoveryTypes.StartDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.StopDiscoveringUseCase).to(StubUseCase);\n rebind(discoveryTypes.ConnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.DisconnectUseCase).to(StubUseCase);\n rebind(discoveryTypes.GetConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToAvailableDevicesUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListenToConnectedDeviceUseCase).to(StubUseCase);\n rebind(discoveryTypes.ListConnectedDevicesUseCase).to(StubUseCase);\n }\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA0C,kEAC1CC,EAA4C,oEAC5CC,EAAgD,wEAChDC,EAA+C,uEAC/CC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAA4B,6BAE5BC,EAA+B,4BAMxB,MAAMZ,EAAyB,CAAC,CAAE,KAAAa,EAAO,EAAM,IACpD,IAAI,kBAAgB,CAACC,EAAMC,EAASC,EAAUC,IAAW,CACvDH,EAAK,iBAAe,cAAc,EAAE,GAAG,gBAAc,EACrDA,EAAK,iBAAe,iBAAiB,EAAE,GAAG,mBAAiB,EAC3DA,EAAK,iBAAe,uBAAuB,EAAE,GAAG,yBAAuB,EACvEA,EAAK,iBAAe,sBAAsB,EAAE,GAAG,wBAAsB,EACrEA,EAAK,iBAAe,yBAAyB,EAAE,GAC7C,2BACF,EACAA,EAAK,iBAAe,+BAA+B,EAAE,GACnD,iCACF,EACAA,EAAK,iBAAe,8BAA8B,EAAE,GAClD,gCACF,EACAA,EAAK,iBAAe,2BAA2B,EAAE,GAC/C,6BACF,EAEID,IACFI,EAAO,iBAAe,uBAAuB,EAAE,GAAG,aAAW,EAC7DA,EAAO,iBAAe,sBAAsB,EAAE,GAAG,aAAW,EAC5DA,EAAO,iBAAe,cAAc,EAAE,GAAG,aAAW,EACpDA,EAAO,iBAAe,iBAAiB,EAAE,GAAG,aAAW,EACvDA,EAAO,iBAAe,yBAAyB,EAAE,GAAG,aAAW,EAC/DA,EAAO,iBAAe,+BAA+B,EAAE,GAAG,aAAW,EACrEA,EAAO,iBAAe,8BAA8B,EAAE,GAAG,aAAW,EACpEA,EAAO,iBAAe,2BAA2B,EAAE,GAAG,aAAW,EAErE,CAAC",
6
+ "names": ["discoveryModule_exports", "__export", "discoveryModuleFactory", "__toCommonJS", "import_inversify", "import_ConnectUseCase", "import_DisconnectUseCase", "import_GetConnectedDeviceUseCase", "import_ListConnectedDevicesUseCase", "import_ListenToAvailableDevicesUseCase", "import_ListenToConnectedDeviceUseCase", "import_StartDiscoveringUseCase", "import_StopDiscoveringUseCase", "import_di", "import_discoveryTypes", "stub", "bind", "_unbind", "_isBound", "rebind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("inversify"),n=require("../../../api/transport/model/__mocks__/TransportMock"),c=require("../../device-model/di/deviceModelModule"),i=require("../../device-session/di/deviceSessionModule"),a=require("../../discovery/use-case/ConnectUseCase"),m=require("../../discovery/use-case/DisconnectUseCase"),p=require("../../discovery/use-case/ListConnectedDevicesUseCase"),f=require("../../discovery/use-case/ListenToKnownDevicesUseCase"),l=require("../../discovery/use-case/StartDiscoveringUseCase"),d=require("../../discovery/use-case/StopDiscoveringUseCase"),C=require("../../logger-publisher/di/loggerModule"),u=require("../../manager-api/di/managerApiModule"),g=require("../../secure-channel/di/secureChannelModule"),U=require("../../transport/di/transportModule"),v=require("./discoveryModule"),o=require("./discoveryTypes");describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=(0,v.discoveryModuleFactory)({stub:!1}),e=new r.Container,s=new n.TransportMock,e.load(t,(0,C.loggerModuleFactory)(),(0,c.deviceModelModuleFactory)({stub:!1}),(0,i.deviceSessionModuleFactory)(),(0,U.transportModuleFactory)({transports:[vi.fn().mockImplementation(()=>s)]}),(0,u.managerApiModuleFactory)({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}),(0,g.secureChannelModuleFactory)({config:{webSocketUrl:"http://fake-websocket.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const y=e.get(o.discoveryTypes.StartDiscoveringUseCase);expect(y).toBeInstanceOf(l.StartDiscoveringUseCase);const D=e.get(o.discoveryTypes.StopDiscoveringUseCase);expect(D).toBeInstanceOf(d.StopDiscoveringUseCase);const k=e.get(o.discoveryTypes.DisconnectUseCase);expect(k).toBeInstanceOf(m.DisconnectUseCase);const M=e.get(o.discoveryTypes.ConnectUseCase);expect(M).toBeInstanceOf(a.ConnectUseCase);const F=e.get(o.discoveryTypes.ListenToKnownDevicesUseCase);expect(F).toBeInstanceOf(f.ListenToKnownDevicesUseCase);const h=e.get(o.discoveryTypes.ListConnectedDevicesUseCase);expect(h).toBeInstanceOf(p.ListConnectedDevicesUseCase)})});
1
+ "use strict";var r=require("inversify"),n=require("../../../api/transport/model/__mocks__/TransportMock"),c=require("../../device-model/di/deviceModelModule"),i=require("../../device-session/di/deviceSessionModule"),a=require("../../discovery/use-case/ConnectUseCase"),m=require("../../discovery/use-case/DisconnectUseCase"),p=require("../../discovery/use-case/ListConnectedDevicesUseCase"),f=require("../../discovery/use-case/ListenToAvailableDevicesUseCase"),l=require("../../discovery/use-case/StartDiscoveringUseCase"),d=require("../../discovery/use-case/StopDiscoveringUseCase"),C=require("../../logger-publisher/di/loggerModule"),v=require("../../manager-api/di/managerApiModule"),u=require("../../secure-channel/di/secureChannelModule"),g=require("../../transport/di/transportModule"),U=require("./discoveryModule"),o=require("./discoveryTypes");describe("discoveryModuleFactory",()=>{let e,t,s;beforeEach(()=>{t=(0,U.discoveryModuleFactory)({stub:!1}),e=new r.Container,s=new n.TransportMock,e.load(t,(0,C.loggerModuleFactory)(),(0,c.deviceModelModuleFactory)({stub:!1}),(0,i.deviceSessionModuleFactory)(),(0,g.transportModuleFactory)({transports:[vi.fn().mockImplementation(()=>s)]}),(0,v.managerApiModuleFactory)({config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url"}}),(0,u.secureChannelModuleFactory)({config:{webSocketUrl:"http://fake-websocket.url"}}))}),it("should return the device module",()=>{expect(t).toBeDefined()}),it("should return none mocked use cases",()=>{const y=e.get(o.discoveryTypes.StartDiscoveringUseCase);expect(y).toBeInstanceOf(l.StartDiscoveringUseCase);const D=e.get(o.discoveryTypes.StopDiscoveringUseCase);expect(D).toBeInstanceOf(d.StopDiscoveringUseCase);const k=e.get(o.discoveryTypes.DisconnectUseCase);expect(k).toBeInstanceOf(m.DisconnectUseCase);const M=e.get(o.discoveryTypes.ConnectUseCase);expect(M).toBeInstanceOf(a.ConnectUseCase);const b=e.get(o.discoveryTypes.ListenToAvailableDevicesUseCase);expect(b).toBeInstanceOf(f.ListenToAvailableDevicesUseCase);const F=e.get(o.discoveryTypes.ListConnectedDevicesUseCase);expect(F).toBeInstanceOf(p.ListConnectedDevicesUseCase)})});
2
2
  //# sourceMappingURL=discoveryModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/di/discoveryModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DmkConfig, type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { secureChannelModuleFactory } from \"@internal/secure-channel/di/secureChannelModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [vi.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n } as DmkConfig,\n }),\n secureChannelModuleFactory({\n config: {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig,\n }),\n );\n });\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToKnownDevicesUseCase = container.get(\n discoveryTypes.ListenToKnownDevicesUseCase,\n );\n expect(listenToKnownDevicesUseCase).toBeInstanceOf(\n ListenToKnownDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAA8B,wDAE9BC,EAAyC,uDACzCC,EAA2C,2DAC3CC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA4C,oEAC5CC,EAA4C,oEAC5CC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAAoC,sDACpCC,EAAwC,qDACxCC,EAA2C,2DAC3CC,EAAuC,kDAEvCC,EAAuC,6BACvCC,EAA+B,4BAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,KAAM,0BAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CD,EAAY,IAAI,YAChBE,EAAY,IAAI,gBAEhBF,EAAU,KACRC,KAEA,uBAAoB,KACpB,4BAAyB,CAAE,KAAM,EAAM,CAAC,KACxC,8BAA2B,KAC3B,0BAAuB,CACrB,WAAY,CAAC,GAAG,GAAG,EAAE,mBAAmB,IAAMC,CAAS,CAAC,CAC1D,CAAC,KACD,2BAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,sBACX,CACF,CAAC,KACD,8BAA2B,CACzB,OAAQ,CACN,aAAc,2BAChB,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,kCAAmC,IAAM,CAC1C,OAAOD,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxC,iBAAe,uBACjB,EACA,OAAOG,CAAuB,EAAE,eAAe,yBAAuB,EAEtE,MAAMC,EAAyBJ,EAAU,IACvC,iBAAe,sBACjB,EACA,OAAOI,CAAsB,EAAE,eAAe,wBAAsB,EAEpE,MAAMC,EAAoBL,EAAU,IAAI,iBAAe,iBAAiB,EACxE,OAAOK,CAAiB,EAAE,eAAe,mBAAiB,EAE1D,MAAMC,EAAiBN,EAAU,IAAI,iBAAe,cAAc,EAClE,OAAOM,CAAc,EAAE,eAAe,gBAAc,EAEpD,MAAMC,EAA8BP,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOO,CAA2B,EAAE,eAClC,6BACF,EACA,MAAMC,EAA8BR,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClC,6BACF,CACF,CAAC,CACH,CAAC",
6
- "names": ["import_inversify", "import_TransportMock", "import_deviceModelModule", "import_deviceSessionModule", "import_ConnectUseCase", "import_DisconnectUseCase", "import_ListConnectedDevicesUseCase", "import_ListenToKnownDevicesUseCase", "import_StartDiscoveringUseCase", "import_StopDiscoveringUseCase", "import_loggerModule", "import_managerApiModule", "import_secureChannelModule", "import_transportModule", "import_discoveryModule", "import_discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToKnownDevicesUseCase", "listConnectedDevicesUseCase"]
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type DmkConfig, type Transport } from \"@api/types\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { ListenToAvailableDevicesUseCase } from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport { secureChannelModuleFactory } from \"@internal/secure-channel/di/secureChannelModule\";\nimport { transportModuleFactory } from \"@internal/transport/di/transportModule\";\n\nimport { discoveryModuleFactory } from \"./discoveryModule\";\nimport { discoveryTypes } from \"./discoveryTypes\";\n\ndescribe(\"discoveryModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof discoveryModuleFactory>;\n let transport: Transport;\n beforeEach(() => {\n mod = discoveryModuleFactory({ stub: false });\n container = new Container();\n transport = new TransportMock();\n\n container.load(\n mod,\n // The following modules are injected into discovery module\n loggerModuleFactory(),\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n transportModuleFactory({\n transports: [vi.fn().mockImplementation(() => transport)],\n }),\n managerApiModuleFactory({\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n } as DmkConfig,\n }),\n secureChannelModuleFactory({\n config: {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig,\n }),\n );\n });\n it(\"should return the device module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return none mocked use cases\", () => {\n const startDiscoveringUseCase = container.get(\n discoveryTypes.StartDiscoveringUseCase,\n );\n expect(startDiscoveringUseCase).toBeInstanceOf(StartDiscoveringUseCase);\n\n const stopDiscoveringUseCase = container.get(\n discoveryTypes.StopDiscoveringUseCase,\n );\n expect(stopDiscoveringUseCase).toBeInstanceOf(StopDiscoveringUseCase);\n\n const disconnectUseCase = container.get(discoveryTypes.DisconnectUseCase);\n expect(disconnectUseCase).toBeInstanceOf(DisconnectUseCase);\n\n const connectUseCase = container.get(discoveryTypes.ConnectUseCase);\n expect(connectUseCase).toBeInstanceOf(ConnectUseCase);\n\n const listenToAvailableDevicesUseCase = container.get(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n );\n expect(listenToAvailableDevicesUseCase).toBeInstanceOf(\n ListenToAvailableDevicesUseCase,\n );\n const listConnectedDevicesUseCase = container.get(\n discoveryTypes.ListConnectedDevicesUseCase,\n );\n expect(listConnectedDevicesUseCase).toBeInstanceOf(\n ListConnectedDevicesUseCase,\n );\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAA8B,wDAE9BC,EAAyC,uDACzCC,EAA2C,2DAC3CC,EAA+B,uDAC/BC,EAAkC,0DAClCC,EAA4C,oEAC5CC,EAAgD,wEAChDC,EAAwC,gEACxCC,EAAuC,+DACvCC,EAAoC,sDACpCC,EAAwC,qDACxCC,EAA2C,2DAC3CC,EAAuC,kDAEvCC,EAAuC,6BACvCC,EAA+B,4BAE/B,SAAS,yBAA0B,IAAM,CACvC,IAAIC,EACAC,EACAC,EACJ,WAAW,IAAM,CACfD,KAAM,0BAAuB,CAAE,KAAM,EAAM,CAAC,EAC5CD,EAAY,IAAI,YAChBE,EAAY,IAAI,gBAEhBF,EAAU,KACRC,KAEA,uBAAoB,KACpB,4BAAyB,CAAE,KAAM,EAAM,CAAC,KACxC,8BAA2B,KAC3B,0BAAuB,CACrB,WAAY,CAAC,GAAG,GAAG,EAAE,mBAAmB,IAAMC,CAAS,CAAC,CAC1D,CAAC,KACD,2BAAwB,CACtB,OAAQ,CACN,cAAe,kBACf,QAAS,sBACX,CACF,CAAC,KACD,8BAA2B,CACzB,OAAQ,CACN,aAAc,2BAChB,CACF,CAAC,CACH,CACF,CAAC,EACD,GAAG,kCAAmC,IAAM,CAC1C,OAAOD,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,MAAME,EAA0BH,EAAU,IACxC,iBAAe,uBACjB,EACA,OAAOG,CAAuB,EAAE,eAAe,yBAAuB,EAEtE,MAAMC,EAAyBJ,EAAU,IACvC,iBAAe,sBACjB,EACA,OAAOI,CAAsB,EAAE,eAAe,wBAAsB,EAEpE,MAAMC,EAAoBL,EAAU,IAAI,iBAAe,iBAAiB,EACxE,OAAOK,CAAiB,EAAE,eAAe,mBAAiB,EAE1D,MAAMC,EAAiBN,EAAU,IAAI,iBAAe,cAAc,EAClE,OAAOM,CAAc,EAAE,eAAe,gBAAc,EAEpD,MAAMC,EAAkCP,EAAU,IAChD,iBAAe,+BACjB,EACA,OAAOO,CAA+B,EAAE,eACtC,iCACF,EACA,MAAMC,EAA8BR,EAAU,IAC5C,iBAAe,2BACjB,EACA,OAAOQ,CAA2B,EAAE,eAClC,6BACF,CACF,CAAC,CACH,CAAC",
6
+ "names": ["import_inversify", "import_TransportMock", "import_deviceModelModule", "import_deviceSessionModule", "import_ConnectUseCase", "import_DisconnectUseCase", "import_ListConnectedDevicesUseCase", "import_ListenToAvailableDevicesUseCase", "import_StartDiscoveringUseCase", "import_StopDiscoveringUseCase", "import_loggerModule", "import_managerApiModule", "import_secureChannelModule", "import_transportModule", "import_discoveryModule", "import_discoveryTypes", "container", "mod", "transport", "startDiscoveringUseCase", "stopDiscoveringUseCase", "disconnectUseCase", "connectUseCase", "listenToAvailableDevicesUseCase", "listConnectedDevicesUseCase"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var r=(s,e)=>{for(var n in e)c(s,n,{get:e[n],enumerable:!0})},U=(s,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of C(e))!a.call(s,o)&&o!==n&&c(s,o,{get:()=>e[o],enumerable:!(t=i(e,o))||t.enumerable});return s};var D=s=>U(c({},"__esModule",{value:!0}),s);var S={};r(S,{discoveryTypes:()=>v});module.exports=D(S);const v={StartDiscoveringUseCase:Symbol.for("StartDiscoveringUseCase"),StopDiscoveringUseCase:Symbol.for("StopDiscoveringUseCase"),ConnectUseCase:Symbol.for("ConnectUseCase"),DisconnectUseCase:Symbol.for("DisconnectUseCase"),GetConnectedDeviceUseCase:Symbol.for("GetConnectedDeviceUseCase"),ListenToKnownDevicesUseCase:Symbol.for("ListenToKnownDevicesUseCase"),ListenToConnectedDeviceUseCase:Symbol.for("ListenToConnectedDeviceUseCase"),ListConnectedDevicesUseCase:Symbol.for("ListConnectedDevicesUseCase")};0&&(module.exports={discoveryTypes});
1
+ "use strict";var i=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var r=(s,e)=>{for(var n in e)i(s,n,{get:e[n],enumerable:!0})},U=(s,e,n,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of C(e))!a.call(s,o)&&o!==n&&i(s,o,{get:()=>e[o],enumerable:!(c=t(e,o))||c.enumerable});return s};var v=s=>U(i({},"__esModule",{value:!0}),s);var l={};r(l,{discoveryTypes:()=>D});module.exports=v(l);const D={StartDiscoveringUseCase:Symbol.for("StartDiscoveringUseCase"),StopDiscoveringUseCase:Symbol.for("StopDiscoveringUseCase"),ConnectUseCase:Symbol.for("ConnectUseCase"),DisconnectUseCase:Symbol.for("DisconnectUseCase"),GetConnectedDeviceUseCase:Symbol.for("GetConnectedDeviceUseCase"),ListenToAvailableDevicesUseCase:Symbol.for("ListenToAvailableDevicesUseCase"),ListenToConnectedDeviceUseCase:Symbol.for("ListenToConnectedDeviceUseCase"),ListConnectedDevicesUseCase:Symbol.for("ListConnectedDevicesUseCase")};0&&(module.exports={discoveryTypes});
2
2
  //# sourceMappingURL=discoveryTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/di/discoveryTypes.ts"],
4
- "sourcesContent": ["export const discoveryTypes = {\n StartDiscoveringUseCase: Symbol.for(\"StartDiscoveringUseCase\"),\n StopDiscoveringUseCase: Symbol.for(\"StopDiscoveringUseCase\"),\n ConnectUseCase: Symbol.for(\"ConnectUseCase\"),\n DisconnectUseCase: Symbol.for(\"DisconnectUseCase\"),\n GetConnectedDeviceUseCase: Symbol.for(\"GetConnectedDeviceUseCase\"),\n ListenToKnownDevicesUseCase: Symbol.for(\"ListenToKnownDevicesUseCase\"),\n ListenToConnectedDeviceUseCase: Symbol.for(\"ListenToConnectedDeviceUseCase\"),\n ListConnectedDevicesUseCase: Symbol.for(\"ListConnectedDevicesUseCase\"),\n};\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAiB,CAC5B,wBAAyB,OAAO,IAAI,yBAAyB,EAC7D,uBAAwB,OAAO,IAAI,wBAAwB,EAC3D,eAAgB,OAAO,IAAI,gBAAgB,EAC3C,kBAAmB,OAAO,IAAI,mBAAmB,EACjD,0BAA2B,OAAO,IAAI,2BAA2B,EACjE,4BAA6B,OAAO,IAAI,6BAA6B,EACrE,+BAAgC,OAAO,IAAI,gCAAgC,EAC3E,4BAA6B,OAAO,IAAI,6BAA6B,CACvE",
4
+ "sourcesContent": ["export const discoveryTypes = {\n StartDiscoveringUseCase: Symbol.for(\"StartDiscoveringUseCase\"),\n StopDiscoveringUseCase: Symbol.for(\"StopDiscoveringUseCase\"),\n ConnectUseCase: Symbol.for(\"ConnectUseCase\"),\n DisconnectUseCase: Symbol.for(\"DisconnectUseCase\"),\n GetConnectedDeviceUseCase: Symbol.for(\"GetConnectedDeviceUseCase\"),\n ListenToAvailableDevicesUseCase: Symbol.for(\n \"ListenToAvailableDevicesUseCase\",\n ),\n ListenToConnectedDeviceUseCase: Symbol.for(\"ListenToConnectedDeviceUseCase\"),\n ListConnectedDevicesUseCase: Symbol.for(\"ListConnectedDevicesUseCase\"),\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAiB,CAC5B,wBAAyB,OAAO,IAAI,yBAAyB,EAC7D,uBAAwB,OAAO,IAAI,wBAAwB,EAC3D,eAAgB,OAAO,IAAI,gBAAgB,EAC3C,kBAAmB,OAAO,IAAI,mBAAmB,EACjD,0BAA2B,OAAO,IAAI,2BAA2B,EACjE,gCAAiC,OAAO,IACtC,iCACF,EACA,+BAAgC,OAAO,IAAI,gCAAgC,EAC3E,4BAA6B,OAAO,IAAI,6BAA6B,CACvE",
6
6
  "names": ["discoveryTypes_exports", "__export", "discoveryTypes", "__toCommonJS"]
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,c,u,f,a;const M="fakeSessionId";describe("ConnectUseCase",()=>{const m={id:"",deviceModel:{},transport:"USB"},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({}),c=new y.DefaultManagerApiService(u),f=new k.DefaultSecureChannelDataSource({}),a=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,c,a);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,c,a).execute({device:m});expect(v).toBe(M),r.removeDeviceSession(v)})});
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)})});
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 };\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,KACb,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",
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
6
  "names": ["import_purify_ts", "import_TransportMock", "import_Errors", "import_TransportConnectedDevice", "import_DefaultDeviceSessionService", "import_DefaultLoggerPublisherService", "import_AxiosManagerApiDataSource", "import_DefaultManagerApiService", "import_DefaultSecureChannelDataSource", "import_DefaultSecureChannelService", "import_DefaultTransportService", "import_ConnectUseCase", "transport", "transportService", "logger", "sessionService", "managerApi", "managerApiDataSource", "secureChannelDataSource", "secureChannel", "fakeSessionId", "stubDiscoveredDevice", "stubConnectedDevice", "tag", "session", "usecase", "sessionId"]
7
7
  }
@@ -0,0 +1,2 @@
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
+ //# sourceMappingURL=ListenToAvailableDevicesUseCase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.ts"],
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({\n transport,\n }: ListenToAvailableDevicesUseCaseArgs): Observable<DiscoveredDevice[]> {\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,CACN,UAAAE,CACF,EAAwE,CAGtE,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
+ }
@@ -0,0 +1,2 @@
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
+ //# sourceMappingURL=ListenToAvailableDevicesUseCase.test.js.map