@ledgerhq/device-management-kit 0.0.0-rnble-transport-20250401145214 → 0.0.0-rnble-transport-20250422084848

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 (206) hide show
  1. package/README.md +40 -3
  2. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  3. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  4. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +3 -3
  6. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  8. package/lib/cjs/src/api/DmkConfig.js +1 -1
  9. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  10. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js +1 -1
  11. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  12. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  13. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  14. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
  15. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  16. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  17. package/lib/cjs/src/api/index.js +1 -1
  18. package/lib/cjs/src/api/index.js.map +2 -2
  19. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  20. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  21. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  22. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +2 -2
  23. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  24. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  25. package/lib/cjs/src/api/transport/model/DeviceConnection.js +1 -1
  26. package/lib/cjs/src/api/transport/model/DeviceConnection.js.map +1 -1
  27. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +1 -1
  28. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +2 -2
  29. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  30. package/lib/cjs/src/api/types.js +1 -1
  31. package/lib/cjs/src/api/types.js.map +1 -1
  32. package/lib/cjs/src/di.js +1 -1
  33. package/lib/cjs/src/di.js.map +2 -2
  34. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js +1 -1
  35. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  36. package/lib/cjs/src/internal/device-session/model/DevicePinger.js +1 -1
  37. package/lib/cjs/src/internal/device-session/model/DevicePinger.js.map +3 -3
  38. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  39. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  40. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  41. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +1 -1
  42. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  43. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +2 -2
  44. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  45. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  46. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  47. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  48. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  49. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +2 -2
  50. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  51. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  52. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  53. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  54. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  55. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  56. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  57. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  58. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  59. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  60. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  61. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  62. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  63. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  64. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
  65. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  66. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  67. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  68. package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
  69. package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
  70. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  71. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  72. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  73. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
  74. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  75. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  76. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  77. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  78. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  79. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  80. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  81. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  82. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  83. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  84. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  85. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  86. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  87. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  88. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js +1 -1
  89. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  90. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  91. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
  92. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  93. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  94. package/lib/esm/src/api/index.js +1 -1
  95. package/lib/esm/src/api/index.js.map +2 -2
  96. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  97. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  98. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  99. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +2 -2
  100. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  101. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  102. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +1 -1
  103. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +2 -2
  104. package/lib/esm/src/di.js +1 -1
  105. package/lib/esm/src/di.js.map +3 -3
  106. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js +1 -1
  107. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  108. package/lib/esm/src/internal/device-session/model/DevicePinger.js +1 -1
  109. package/lib/esm/src/internal/device-session/model/DevicePinger.js.map +3 -3
  110. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  111. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  112. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  113. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +1 -1
  114. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  115. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +2 -2
  116. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  117. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  118. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  119. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  120. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  121. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +2 -2
  122. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  123. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  124. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  125. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  126. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  127. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  128. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  129. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  130. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  131. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  132. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  133. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  134. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
  135. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  136. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  137. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  138. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  139. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  140. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  141. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
  142. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  143. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  144. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  145. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  146. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  147. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  148. package/lib/types/src/api/DeviceManagementKit.d.ts +11 -1
  149. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  150. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  151. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  152. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  153. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +5 -1
  154. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  155. package/lib/types/src/api/device-action/DeviceAction.d.ts +1 -1
  156. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  157. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  158. package/lib/types/src/api/index.d.ts +1 -1
  159. package/lib/types/src/api/index.d.ts.map +1 -1
  160. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -1
  161. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -1
  162. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -1
  163. package/lib/types/src/api/transport/model/DeviceConnection.d.ts +2 -1
  164. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -1
  165. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +7 -6
  166. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -1
  167. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  168. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  169. package/lib/types/src/api/types.d.ts +1 -1
  170. package/lib/types/src/api/types.d.ts.map +1 -1
  171. package/lib/types/src/di.d.ts.map +1 -1
  172. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts +1 -0
  173. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts.map +1 -1
  174. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts +1 -1
  175. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts.map +1 -1
  176. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +1 -1
  177. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  178. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +1 -1
  179. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -1
  180. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +1 -1
  181. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  182. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +1 -1
  183. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  184. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +5 -2
  185. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  186. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +10 -0
  187. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  188. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +2 -0
  189. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  190. package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
  191. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
  192. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
  193. package/lib/types/src/internal/manager-api/model/Const.d.ts +1 -0
  194. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  195. package/lib/types/src/internal/manager-api/model/Params.d.ts +0 -6
  196. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
  197. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +3 -3
  198. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  199. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +3 -6
  200. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  201. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts +11 -0
  202. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts.map +1 -0
  203. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +2 -0
  204. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +1 -0
  205. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  206. package/package.json +1 -1
@@ -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 } from \"purify-ts\";\nimport { BehaviorSubject, type Observable } 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 { 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_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { MutexService } from \"@internal/device-session/service/MutexService\";\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 { DevicePinger } from \"./DevicePinger\";\nimport {\n DeviceSessionEventDispatcher,\n SessionEvents,\n} from \"./DeviceSessionEventDispatcher\";\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\nimport { DeviceSessionStateHandler } from \"./DeviceSessionStateHandler\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\nexport type DeviceSessionRefresherOptions = {\n isRefresherDisabled: boolean;\n pollingInterval?: number;\n};\n\ntype SendApduOptions = {\n isPolling?: boolean;\n triggersDisconnection?: boolean;\n abortTimeout?: number;\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 _managerApiService: ManagerApiService;\n private readonly _secureChannelService: SecureChannelService;\n private readonly _logger: LoggerPublisherService;\n private readonly _refresherOptions: DeviceSessionRefresherOptions;\n private _pinger: DevicePinger;\n private _deviceSessionRefresher: DeviceSessionRefresher;\n private readonly _refresherService: RefresherService;\n private _commandMutex = new MutexService();\n private _sessionEventDispatcher = new DeviceSessionEventDispatcher();\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n secureChannelService: SecureChannelService,\n deviceSessionRefresherOptions: DeviceSessionRefresherOptions | undefined,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._logger = loggerModuleFactory(\"device-session\");\n this._managerApiService = managerApiService;\n this._secureChannelService = secureChannelService;\n this._refresherOptions = {\n ...DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n ...deviceSessionRefresherOptions,\n };\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n\n this._pinger = new DevicePinger(\n loggerModuleFactory,\n connectedDevice,\n this._sessionEventDispatcher,\n (command) => this.sendCommand(command),\n );\n this._deviceSessionRefresher = new DeviceSessionRefresher(\n loggerModuleFactory,\n this._refresherOptions,\n this._sessionEventDispatcher,\n this._connectedDevice,\n );\n new DeviceSessionStateHandler(\n loggerModuleFactory,\n this._sessionEventDispatcher,\n this._connectedDevice,\n this._deviceState,\n (state) => this.setDeviceSessionState(state),\n );\n\n this._refresherService = new RefresherService(loggerModuleFactory, {\n start: () => this._deviceSessionRefresher.restartRefresher(),\n stop: () => this._deviceSessionRefresher.stopRefresher(),\n });\n }\n\n public async initialiseSession(): Promise<void> {\n try {\n await this._pinger.ping();\n } catch (error) {\n this._logger.error(\"Error while initialising session\", {\n data: { error },\n });\n throw error;\n } finally {\n if (!this._refresherOptions.isRefresherDisabled) {\n this._deviceSessionRefresher.startRefresher();\n }\n }\n }\n\n public get id(): DeviceSessionId {\n return this._id;\n }\n\n public get connectedDevice(): TransportConnectedDevice {\n return this._connectedDevice;\n }\n\n public get state(): Observable<DeviceSessionState> {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState): void {\n this._deviceState.next(state);\n }\n\n public async sendApdu(\n rawApdu: Uint8Array,\n options: SendApduOptions = {\n isPolling: false,\n triggersDisconnection: false,\n abortTimeout: undefined,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n const release = await this._commandMutex.lock();\n\n try {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_BUSY,\n });\n const result = await this._connectedDevice.sendApdu(\n rawApdu,\n options.triggersDisconnection,\n options.abortTimeout,\n );\n\n result\n .ifRight((response: ApduResponse) => {\n if (CommandUtils.isLockedDeviceResponse(response)) {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_LOCKED,\n });\n } else {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_CONNECTED,\n });\n }\n })\n .ifLeft(() => {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_CONNECTED,\n });\n });\n return result;\n } finally {\n release();\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\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 E extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n deviceAction: DeviceAction<Output, Input, E, IntermediateValue>,\n ): ExecuteDeviceActionReturnType<Output, E, 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 return { observable, cancel };\n }\n\n public close(): void {\n this._updateDeviceStatus(DeviceStatus.NOT_CONNECTED);\n this._deviceState.complete();\n this._deviceSessionRefresher.stopRefresher();\n }\n\n public disableRefresher(id: string): () => void {\n return this._refresherService.disableRefresher(id);\n }\n\n private _updateDeviceStatus(deviceStatus: DeviceStatus): void {\n const state = this._deviceState.getValue();\n this._deviceState.next({ ...state, deviceStatus });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["DeviceSession_exports", "__export", "DeviceSession", "__toCommonJS", "import_rxjs", "import_uuid", "import_CommandUtils", "import_DeviceStatus", "import_DeviceSessionState", "import_DeviceSessionRefresherConst", "import_MutexService", "import_RefresherService", "import_DevicePinger", "import_DeviceSessionEventDispatcher", "import_DeviceSessionRefresher", "import_DeviceSessionStateHandler", "connectedDevice", "id", "uuidv4", "loggerModuleFactory", "managerApiService", "secureChannelService", "deviceSessionRefresherOptions", "command", "state", "error", "rawApdu", "options", "release", "result", "response", "apdu", "err", "r", "deviceAction", "observable", "cancel", "blockerId", "deviceStatus"]
4
+ "sourcesContent": ["import { type Either } from \"purify-ts\";\nimport { BehaviorSubject, type Observable } 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 { 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_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { MutexService } from \"@internal/device-session/service/MutexService\";\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 { DevicePinger } from \"./DevicePinger\";\nimport {\n DeviceSessionEventDispatcher,\n SessionEvents,\n} from \"./DeviceSessionEventDispatcher\";\nimport { DeviceSessionRefresher } from \"./DeviceSessionRefresher\";\nimport { DeviceSessionStateHandler } from \"./DeviceSessionStateHandler\";\n\nexport type SessionConstructorArgs = {\n connectedDevice: TransportConnectedDevice;\n id?: DeviceSessionId;\n};\n\nexport type DeviceSessionRefresherOptions = {\n isRefresherDisabled: boolean;\n pollingInterval?: number;\n};\n\ntype SendApduOptions = {\n isPolling?: boolean;\n triggersDisconnection?: boolean;\n abortTimeout?: number;\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 _managerApiService: ManagerApiService;\n private readonly _secureChannelService: SecureChannelService;\n private readonly _logger: LoggerPublisherService;\n private readonly _refresherOptions: DeviceSessionRefresherOptions;\n private _pinger: DevicePinger;\n private _deviceSessionRefresher: DeviceSessionRefresher;\n private readonly _refresherService: RefresherService;\n private _commandMutex = new MutexService();\n private _sessionEventDispatcher = new DeviceSessionEventDispatcher();\n\n constructor(\n { connectedDevice, id = uuidv4() }: SessionConstructorArgs,\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n managerApiService: ManagerApiService,\n secureChannelService: SecureChannelService,\n deviceSessionRefresherOptions: DeviceSessionRefresherOptions | undefined,\n ) {\n this._id = id;\n this._connectedDevice = connectedDevice;\n this._logger = loggerModuleFactory(\"device-session\");\n this._managerApiService = managerApiService;\n this._secureChannelService = secureChannelService;\n this._refresherOptions = {\n ...DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n ...deviceSessionRefresherOptions,\n };\n this._deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: this._connectedDevice.deviceModel.id,\n });\n\n this._pinger = new DevicePinger(\n loggerModuleFactory,\n connectedDevice,\n this._sessionEventDispatcher,\n (command, abortTimeout) => this.sendCommand(command, abortTimeout),\n );\n this._deviceSessionRefresher = new DeviceSessionRefresher(\n loggerModuleFactory,\n this._refresherOptions,\n this._sessionEventDispatcher,\n this._connectedDevice,\n );\n new DeviceSessionStateHandler(\n loggerModuleFactory,\n this._sessionEventDispatcher,\n this._connectedDevice,\n this._deviceState,\n (state) => this.setDeviceSessionState(state),\n );\n\n this._refresherService = new RefresherService(loggerModuleFactory, {\n start: () => this._deviceSessionRefresher.restartRefresher(),\n stop: () => this._deviceSessionRefresher.stopRefresher(),\n });\n }\n\n public async initialiseSession(): Promise<void> {\n try {\n await this._pinger.ping();\n } catch (error) {\n this._logger.error(\"Error while initialising session\", {\n data: { error },\n });\n throw error;\n } finally {\n if (!this._refresherOptions.isRefresherDisabled) {\n this._deviceSessionRefresher.startRefresher();\n }\n }\n }\n\n public get id(): DeviceSessionId {\n return this._id;\n }\n\n public get connectedDevice(): TransportConnectedDevice {\n return this._connectedDevice;\n }\n\n public get state(): Observable<DeviceSessionState> {\n return this._deviceState.asObservable();\n }\n\n public setDeviceSessionState(state: DeviceSessionState): void {\n this._deviceState.next(state);\n }\n\n public async sendApdu(\n rawApdu: Uint8Array,\n options: SendApduOptions = {\n isPolling: false,\n triggersDisconnection: false,\n abortTimeout: undefined,\n },\n ): Promise<Either<DmkError, ApduResponse>> {\n const release = await this._commandMutex.lock();\n\n try {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_BUSY,\n });\n const result = await this._connectedDevice.sendApdu(\n rawApdu,\n options.triggersDisconnection,\n options.abortTimeout,\n );\n\n result\n .ifRight((response: ApduResponse) => {\n if (CommandUtils.isLockedDeviceResponse(response)) {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_LOCKED,\n });\n } else {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_CONNECTED,\n });\n }\n })\n .ifLeft(() => {\n this._sessionEventDispatcher.dispatch({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_CONNECTED,\n });\n });\n return result;\n } finally {\n release();\n }\n }\n\n public async sendCommand<Response, Args, ErrorStatusCodes>(\n command: Command<Response, Args, ErrorStatusCodes>,\n abortTimeout?: number,\n ): Promise<CommandResult<Response, ErrorStatusCodes>> {\n const apdu = command.getApdu();\n\n const response = await this.sendApdu(apdu.getRawApdu(), {\n isPolling: false,\n triggersDisconnection: command.triggersDisconnection ?? false,\n abortTimeout,\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 E extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n deviceAction: DeviceAction<Output, Input, E, IntermediateValue>,\n ): ExecuteDeviceActionReturnType<Output, E, 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 abortTimeout?: number,\n ) => this.sendCommand(command, abortTimeout),\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 return { observable, cancel };\n }\n\n public close(): void {\n this._updateDeviceStatus(DeviceStatus.NOT_CONNECTED);\n this._deviceState.complete();\n this._deviceSessionRefresher.stopRefresher();\n }\n\n public disableRefresher(id: string): () => void {\n return this._refresherService.disableRefresher(id);\n }\n\n private _updateDeviceStatus(deviceStatus: DeviceStatus): void {\n const state = this._deviceState.getValue();\n this._deviceState.next({ ...state, deviceStatus });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["DeviceSession_exports", "__export", "DeviceSession", "__toCommonJS", "import_rxjs", "import_uuid", "import_CommandUtils", "import_DeviceStatus", "import_DeviceSessionState", "import_DeviceSessionRefresherConst", "import_MutexService", "import_RefresherService", "import_DevicePinger", "import_DeviceSessionEventDispatcher", "import_DeviceSessionRefresher", "import_DeviceSessionStateHandler", "connectedDevice", "id", "uuidv4", "loggerModuleFactory", "managerApiService", "secureChannelService", "deviceSessionRefresherOptions", "command", "abortTimeout", "state", "error", "rawApdu", "options", "release", "result", "response", "apdu", "err", "deviceAction", "observable", "cancel", "blockerId", "deviceStatus"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var D=(i,e)=>{for(var s in e)c(i,s,{get:e[s],enumerable:!0})},d=(i,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p(e))!u.call(i,n)&&n!==s&&c(i,n,{get:()=>e[n],enumerable:!(r=S(e,n))||r.enumerable});return i};var l=i=>d(c({},"__esModule",{value:!0}),i);var h={};D(h,{DeviceSessionStateHandler:()=>E});module.exports=l(h);var t=require("../../../api/index"),a=require("../../device-session/model/DeviceSessionEventDispatcher");class E{constructor(e,s,r,n,o){this._sessionEventDispatcher=s;this._connectedDevice=r;this._deviceState=n;this.setDeviceSessionState=o;this._subscription=this._sessionEventDispatcher.listen().subscribe(v=>this.mapEventAction(v)),this._logger=e("device-session-state-handler")}_subscription;_logger;_updateDeviceState(e){const s=this._parseDeviceStatus(e);if(s){const{sessionStateType:r,deviceStatus:n,currentApp:o}=s;this.setDeviceSessionState({sessionStateType:r,deviceStatus:n,deviceModelId:this._connectedDevice.deviceModel.id,currentApp:o,installedApps:[],isSecureConnectionAllowed:!1})}}mapEventAction=e=>{switch(e.eventName){case a.SessionEvents.COMMAND_SUCCEEDED:return this._updateDeviceState(e.eventData);case a.SessionEvents.DEVICE_STATE_UPDATE_BUSY:return this.setDeviceSessionState({...this._deviceState.getValue(),deviceStatus:t.DeviceStatus.BUSY});case a.SessionEvents.DEVICE_STATE_UPDATE_LOCKED:return this.setDeviceSessionState({...this._deviceState.getValue(),deviceStatus:t.DeviceStatus.LOCKED});case a.SessionEvents.DEVICE_STATE_UPDATE_CONNECTED:return this.setDeviceSessionState({...this._deviceState.getValue(),deviceStatus:t.DeviceStatus.CONNECTED});default:return null}};_parseDeviceStatus(e){return(0,t.isSuccessCommandResult)(e)?{sessionStateType:t.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:t.DeviceStatus.CONNECTED,currentApp:{name:e.data.name,version:e.data.version}}:(this._logger.error("Error while parsing APDU response",{data:{parsedResponse:e}}),null)}unsubscribe(){this._subscription.unsubscribe()}}0&&(module.exports={DeviceSessionStateHandler});
1
+ "use strict";var c=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var D=(i,e)=>{for(var s in e)c(i,s,{get:e[s],enumerable:!0})},d=(i,e,s,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p(e))!u.call(i,n)&&n!==s&&c(i,n,{get:()=>e[n],enumerable:!(a=S(e,n))||a.enumerable});return i};var l=i=>d(c({},"__esModule",{value:!0}),i);var h={};D(h,{DeviceSessionStateHandler:()=>E});module.exports=l(h);var t=require("../../../api/index"),r=require("../../device-session/model/DeviceSessionEventDispatcher");class E{constructor(e,s,a,n,o){this._sessionEventDispatcher=s;this._connectedDevice=a;this._deviceState=n;this.setDeviceSessionState=o;this._subscription=this._sessionEventDispatcher.listen().subscribe(v=>this.mapEventAction(v)),this._logger=e("device-session-state-handler")}_subscription;_logger;_updateDeviceState(e){const s=this._parseDeviceStatus(e);if(s){const{sessionStateType:a,deviceStatus:n,currentApp:o}=s;this.setDeviceSessionState({sessionStateType:a,deviceStatus:n,deviceModelId:this._connectedDevice.deviceModel.id,currentApp:o,installedApps:[],isSecureConnectionAllowed:!1})}}mapEventAction=e=>{switch(e.eventName){case r.SessionEvents.COMMAND_SUCCEEDED:return this._updateDeviceState(e.eventData);case r.SessionEvents.DEVICE_STATE_UPDATE_BUSY:return this.setDeviceSessionState({...this._deviceState.getValue(),deviceStatus:t.DeviceStatus.BUSY});case r.SessionEvents.DEVICE_STATE_UPDATE_LOCKED:return this.setDeviceSessionState({...this._deviceState.getValue(),deviceStatus:t.DeviceStatus.LOCKED});case r.SessionEvents.DEVICE_STATE_UPDATE_CONNECTED:return this.setDeviceSessionState({...this._deviceState.getValue(),deviceStatus:t.DeviceStatus.CONNECTED});default:return null}};_parseDeviceStatus(e){return(0,t.isSuccessCommandResult)(e)?{sessionStateType:t.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:t.DeviceStatus.CONNECTED,currentApp:{name:e.data.name,version:e.data.version}}:(this._logger.debug("Error while parsing APDU response",{data:{parsedResponse:e}}),null)}unsubscribe(){this._subscription.unsubscribe()}}0&&(module.exports={DeviceSessionStateHandler});
2
2
  //# sourceMappingURL=DeviceSessionStateHandler.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/model/DeviceSessionStateHandler.ts"],
4
- "sourcesContent": ["import { type BehaviorSubject, type Subscription } from \"rxjs\";\n\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport {\n DeviceSessionStateType,\n DeviceStatus,\n type GetAppAndVersionResponse,\n isSuccessCommandResult,\n type TransportConnectedDevice,\n} from \"@api/index\";\nimport { type CommandResult, type LoggerPublisherService } from \"@api/types\";\nimport {\n type DeviceSessionEventDispatcher,\n type NewEvent,\n SessionEvents,\n} from \"@internal/device-session/model/DeviceSessionEventDispatcher\";\n\nexport type SetDeviceSessionStateFn = (state: DeviceSessionState) => void;\n\ntype NewDeviceStatus = {\n sessionStateType: DeviceSessionStateType;\n deviceStatus: DeviceStatus;\n currentApp: {\n name: string;\n version: string;\n };\n};\n\nexport class DeviceSessionStateHandler {\n private _subscription: Subscription;\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n private _sessionEventDispatcher: DeviceSessionEventDispatcher,\n private _connectedDevice: TransportConnectedDevice,\n private _deviceState: BehaviorSubject<DeviceSessionState>,\n private setDeviceSessionState: SetDeviceSessionStateFn,\n ) {\n this._subscription = this._sessionEventDispatcher\n .listen()\n .subscribe((event) => this.mapEventAction(event));\n this._logger = loggerModuleFactory(\"device-session-state-handler\");\n }\n\n private _updateDeviceState(\n parsedResponse: CommandResult<GetAppAndVersionResponse>,\n ): void {\n const newDeviceStatus = this._parseDeviceStatus(parsedResponse);\n\n if (newDeviceStatus) {\n const { sessionStateType, deviceStatus, currentApp } = newDeviceStatus;\n\n this.setDeviceSessionState({\n sessionStateType,\n deviceStatus,\n deviceModelId: this._connectedDevice.deviceModel.id,\n currentApp,\n installedApps: [],\n isSecureConnectionAllowed: false,\n });\n }\n }\n\n private mapEventAction = (event: NewEvent) => {\n switch (event.eventName) {\n case SessionEvents.COMMAND_SUCCEEDED:\n return this._updateDeviceState(event.eventData);\n case SessionEvents.DEVICE_STATE_UPDATE_BUSY:\n return this.setDeviceSessionState({\n ...this._deviceState.getValue(),\n deviceStatus: DeviceStatus.BUSY,\n });\n case SessionEvents.DEVICE_STATE_UPDATE_LOCKED:\n return this.setDeviceSessionState({\n ...this._deviceState.getValue(),\n deviceStatus: DeviceStatus.LOCKED,\n });\n case SessionEvents.DEVICE_STATE_UPDATE_CONNECTED:\n return this.setDeviceSessionState({\n ...this._deviceState.getValue(),\n deviceStatus: DeviceStatus.CONNECTED,\n });\n default:\n return null;\n }\n };\n\n private _parseDeviceStatus(\n parsedResponse: CommandResult<GetAppAndVersionResponse>,\n ): NewDeviceStatus | null {\n if (isSuccessCommandResult(parsedResponse)) {\n return {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: {\n name: parsedResponse.data.name,\n version: parsedResponse.data.version,\n },\n };\n } else {\n this._logger.error(\"Error while parsing APDU response\", {\n data: { parsedResponse },\n });\n return null;\n }\n }\n\n public unsubscribe(): void {\n this._subscription.unsubscribe();\n }\n}\n"],
4
+ "sourcesContent": ["import { type BehaviorSubject, type Subscription } from \"rxjs\";\n\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport {\n DeviceSessionStateType,\n DeviceStatus,\n type GetAppAndVersionResponse,\n isSuccessCommandResult,\n type TransportConnectedDevice,\n} from \"@api/index\";\nimport { type CommandResult, type LoggerPublisherService } from \"@api/types\";\nimport {\n type DeviceSessionEventDispatcher,\n type NewEvent,\n SessionEvents,\n} from \"@internal/device-session/model/DeviceSessionEventDispatcher\";\n\nexport type SetDeviceSessionStateFn = (state: DeviceSessionState) => void;\n\ntype NewDeviceStatus = {\n sessionStateType: DeviceSessionStateType;\n deviceStatus: DeviceStatus;\n currentApp: {\n name: string;\n version: string;\n };\n};\n\nexport class DeviceSessionStateHandler {\n private _subscription: Subscription;\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n private _sessionEventDispatcher: DeviceSessionEventDispatcher,\n private _connectedDevice: TransportConnectedDevice,\n private _deviceState: BehaviorSubject<DeviceSessionState>,\n private setDeviceSessionState: SetDeviceSessionStateFn,\n ) {\n this._subscription = this._sessionEventDispatcher\n .listen()\n .subscribe((event) => this.mapEventAction(event));\n this._logger = loggerModuleFactory(\"device-session-state-handler\");\n }\n\n private _updateDeviceState(\n parsedResponse: CommandResult<GetAppAndVersionResponse>,\n ): void {\n const newDeviceStatus = this._parseDeviceStatus(parsedResponse);\n\n if (newDeviceStatus) {\n const { sessionStateType, deviceStatus, currentApp } = newDeviceStatus;\n\n this.setDeviceSessionState({\n sessionStateType,\n deviceStatus,\n deviceModelId: this._connectedDevice.deviceModel.id,\n currentApp,\n installedApps: [],\n isSecureConnectionAllowed: false,\n });\n }\n }\n\n private mapEventAction = (event: NewEvent) => {\n switch (event.eventName) {\n case SessionEvents.COMMAND_SUCCEEDED:\n return this._updateDeviceState(event.eventData);\n case SessionEvents.DEVICE_STATE_UPDATE_BUSY:\n return this.setDeviceSessionState({\n ...this._deviceState.getValue(),\n deviceStatus: DeviceStatus.BUSY,\n });\n case SessionEvents.DEVICE_STATE_UPDATE_LOCKED:\n return this.setDeviceSessionState({\n ...this._deviceState.getValue(),\n deviceStatus: DeviceStatus.LOCKED,\n });\n case SessionEvents.DEVICE_STATE_UPDATE_CONNECTED:\n return this.setDeviceSessionState({\n ...this._deviceState.getValue(),\n deviceStatus: DeviceStatus.CONNECTED,\n });\n default:\n return null;\n }\n };\n\n private _parseDeviceStatus(\n parsedResponse: CommandResult<GetAppAndVersionResponse>,\n ): NewDeviceStatus | null {\n if (isSuccessCommandResult(parsedResponse)) {\n return {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: {\n name: parsedResponse.data.name,\n version: parsedResponse.data.version,\n },\n };\n } else {\n this._logger.debug(\"Error while parsing APDU response\", {\n data: { parsedResponse },\n });\n return null;\n }\n }\n\n public unsubscribe(): void {\n this._subscription.unsubscribe();\n }\n}\n"],
5
5
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAMO,sBAEPC,EAIO,uEAaA,MAAMH,CAA0B,CAIrC,YACEI,EACQC,EACAC,EACAC,EACAC,EACR,CAJQ,6BAAAH,EACA,sBAAAC,EACA,kBAAAC,EACA,2BAAAC,EAER,KAAK,cAAgB,KAAK,wBACvB,OAAO,EACP,UAAWC,GAAU,KAAK,eAAeA,CAAK,CAAC,EAClD,KAAK,QAAUL,EAAoB,8BAA8B,CACnE,CAdQ,cACS,QAeT,mBACNM,EACM,CACN,MAAMC,EAAkB,KAAK,mBAAmBD,CAAc,EAE9D,GAAIC,EAAiB,CACnB,KAAM,CAAE,iBAAAC,EAAkB,aAAAC,EAAc,WAAAC,CAAW,EAAIH,EAEvD,KAAK,sBAAsB,CACzB,iBAAAC,EACA,aAAAC,EACA,cAAe,KAAK,iBAAiB,YAAY,GACjD,WAAAC,EACA,cAAe,CAAC,EAChB,0BAA2B,EAC7B,CAAC,CACH,CACF,CAEQ,eAAkBL,GAAoB,CAC5C,OAAQA,EAAM,UAAW,CACvB,KAAK,gBAAc,kBACjB,OAAO,KAAK,mBAAmBA,EAAM,SAAS,EAChD,KAAK,gBAAc,yBACjB,OAAO,KAAK,sBAAsB,CAChC,GAAG,KAAK,aAAa,SAAS,EAC9B,aAAc,eAAa,IAC7B,CAAC,EACH,KAAK,gBAAc,2BACjB,OAAO,KAAK,sBAAsB,CAChC,GAAG,KAAK,aAAa,SAAS,EAC9B,aAAc,eAAa,MAC7B,CAAC,EACH,KAAK,gBAAc,8BACjB,OAAO,KAAK,sBAAsB,CAChC,GAAG,KAAK,aAAa,SAAS,EAC9B,aAAc,eAAa,SAC7B,CAAC,EACH,QACE,OAAO,IACX,CACF,EAEQ,mBACNC,EACwB,CACxB,SAAI,0BAAuBA,CAAc,EAChC,CACL,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CACV,KAAMA,EAAe,KAAK,KAC1B,QAASA,EAAe,KAAK,OAC/B,CACF,GAEA,KAAK,QAAQ,MAAM,oCAAqC,CACtD,KAAM,CAAE,eAAAA,CAAe,CACzB,CAAC,EACM,KAEX,CAEO,aAAoB,CACzB,KAAK,cAAc,YAAY,CACjC,CACF",
6
6
  "names": ["DeviceSessionStateHandler_exports", "__export", "DeviceSessionStateHandler", "__toCommonJS", "import_api", "import_DeviceSessionEventDispatcher", "loggerModuleFactory", "_sessionEventDispatcher", "_connectedDevice", "_deviceState", "setDeviceSessionState", "event", "parsedResponse", "newDeviceStatus", "sessionStateType", "deviceStatus", "currentApp"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("rxjs"),t=require("vitest"),e=require("../../../api/index"),a=require("../../device-session/model/DeviceSessionEventDispatcher"),S=require("./DeviceSessionStateHandler");describe("DeviceSessionStateHandler",()=>{let n,d,c;const E=vi.fn(()=>c);let v,l,s,i;beforeEach(()=>{n=new r.Subject,d={listen:()=>n,dispatch:vi.fn()},c={error:vi.fn()},v={deviceModel:{id:"device-model-1"}},l=new r.BehaviorSubject({sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,deviceModelId:e.DeviceModelId.NANO_X,currentApp:{name:"",version:""},installedApps:[],isSecureConnectionAllowed:!1}),s=vi.fn(),i=new S.DeviceSessionStateHandler(E,d,v,l,s)}),afterEach(()=>{i&&typeof i.unsubscribe=="function"&&i.unsubscribe()}),it("updates device state on COMMAND_SUCCEEDED event with a successful response",()=>{const o={data:{name:"TestApp",version:"1.0.0"},status:e.CommandResultStatus.Success};n.next({eventName:a.SessionEvents.COMMAND_SUCCEEDED,eventData:o}),(0,t.expect)(s).toHaveBeenCalledWith({sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,deviceModelId:"device-model-1",currentApp:{name:"TestApp",version:"1.0.0"},installedApps:[],isSecureConnectionAllowed:!1})}),it("updates device state on DEVICE_STATE_UPDATE_BUSY event",()=>{n.next({eventName:a.SessionEvents.DEVICE_STATE_UPDATE_BUSY}),(0,t.expect)(s).toHaveBeenCalledWith(t.expect.objectContaining({deviceStatus:e.DeviceStatus.BUSY}))}),it("updates device state on DEVICE_STATE_UPDATE_CONNECTED event",()=>{n.next({eventName:a.SessionEvents.DEVICE_STATE_UPDATE_CONNECTED}),(0,t.expect)(s).toHaveBeenCalledWith(t.expect.objectContaining({deviceStatus:e.DeviceStatus.CONNECTED}))}),it("logs error and does not update state if command result is unsuccessful",()=>{const o={data:null,error:{_tag:"SomeOtherError"}};n.next({eventName:a.SessionEvents.COMMAND_SUCCEEDED,eventData:o}),(0,t.expect)(c.error).toHaveBeenCalledWith("Error while parsing APDU response",{data:{parsedResponse:o}}),(0,t.expect)(s).not.toHaveBeenCalled()}),it("does not update state if command result is not a success",()=>{const o={data:null,error:{_tag:"SomeOtherError"}};n.next({eventName:a.SessionEvents.COMMAND_SUCCEEDED,eventData:o}),(0,t.expect)(s).not.toHaveBeenCalled()})});
1
+ "use strict";var r=require("rxjs"),t=require("vitest"),e=require("../../../api/index"),a=require("../../device-session/model/DeviceSessionEventDispatcher"),S=require("./DeviceSessionStateHandler");describe("DeviceSessionStateHandler",()=>{let n,d,c;const E=vi.fn(()=>c);let v,l,s,i;beforeEach(()=>{n=new r.Subject,d={listen:()=>n,dispatch:vi.fn()},c={error:vi.fn(),debug:vi.fn()},v={deviceModel:{id:"device-model-1"}},l=new r.BehaviorSubject({sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,deviceModelId:e.DeviceModelId.NANO_X,currentApp:{name:"",version:""},installedApps:[],isSecureConnectionAllowed:!1}),s=vi.fn(),i=new S.DeviceSessionStateHandler(E,d,v,l,s)}),afterEach(()=>{i&&typeof i.unsubscribe=="function"&&i.unsubscribe()}),it("updates device state on COMMAND_SUCCEEDED event with a successful response",()=>{const o={data:{name:"TestApp",version:"1.0.0"},status:e.CommandResultStatus.Success};n.next({eventName:a.SessionEvents.COMMAND_SUCCEEDED,eventData:o}),(0,t.expect)(s).toHaveBeenCalledWith({sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,deviceModelId:"device-model-1",currentApp:{name:"TestApp",version:"1.0.0"},installedApps:[],isSecureConnectionAllowed:!1})}),it("updates device state on DEVICE_STATE_UPDATE_BUSY event",()=>{n.next({eventName:a.SessionEvents.DEVICE_STATE_UPDATE_BUSY}),(0,t.expect)(s).toHaveBeenCalledWith(t.expect.objectContaining({deviceStatus:e.DeviceStatus.BUSY}))}),it("updates device state on DEVICE_STATE_UPDATE_CONNECTED event",()=>{n.next({eventName:a.SessionEvents.DEVICE_STATE_UPDATE_CONNECTED}),(0,t.expect)(s).toHaveBeenCalledWith(t.expect.objectContaining({deviceStatus:e.DeviceStatus.CONNECTED}))}),it("logs error and does not update state if command result is unsuccessful",()=>{const o={data:null,error:{_tag:"SomeOtherError"}};n.next({eventName:a.SessionEvents.COMMAND_SUCCEEDED,eventData:o}),(0,t.expect)(c.debug).toHaveBeenCalledWith("Error while parsing APDU response",{data:{parsedResponse:o}}),(0,t.expect)(s).not.toHaveBeenCalled()}),it("does not update state if command result is not a success",()=>{const o={data:null,error:{_tag:"SomeOtherError"}};n.next({eventName:a.SessionEvents.COMMAND_SUCCEEDED,eventData:o}),(0,t.expect)(s).not.toHaveBeenCalled()})});
2
2
  //# sourceMappingURL=DeviceSessionStateHandler.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/model/DeviceSessionStateHandler.test.ts"],
4
- "sourcesContent": ["import { BehaviorSubject, Subject } from \"rxjs\";\nimport { expect, type Mock } from \"vitest\";\n\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport {\n CommandResultStatus,\n DeviceModelId,\n DeviceSessionStateType,\n DeviceStatus,\n} from \"@api/index\";\nimport {\n type DeviceSessionEventDispatcher,\n type NewEvent,\n SessionEvents,\n} from \"@internal/device-session/model/DeviceSessionEventDispatcher\";\n\nimport {\n DeviceSessionStateHandler,\n type SetDeviceSessionStateFn,\n} from \"./DeviceSessionStateHandler\";\n\ndescribe(\"DeviceSessionStateHandler\", () => {\n let fakeEventSubject: Subject<NewEvent>;\n let fakeSessionEventDispatcher: DeviceSessionEventDispatcher;\n let mockLogger: {\n error: (message: string, meta?: Record<string, unknown>) => void;\n };\n const mockLoggerModuleFactory = vi.fn(() => mockLogger);\n let fakeConnectedDevice: { deviceModel: { id: string } };\n let deviceState: BehaviorSubject<DeviceSessionState>;\n let setDeviceSessionState: Mock<SetDeviceSessionStateFn>;\n let handler: DeviceSessionStateHandler;\n\n beforeEach(() => {\n fakeEventSubject = new Subject<NewEvent>();\n //@ts-expect-error mock\n fakeSessionEventDispatcher = {\n listen: () => fakeEventSubject,\n dispatch: vi.fn(),\n };\n\n mockLogger = {\n error: vi.fn(),\n };\n\n fakeConnectedDevice = {\n deviceModel: {\n id: \"device-model-1\",\n },\n };\n\n deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: DeviceModelId.NANO_X,\n currentApp: { name: \"\", version: \"\" },\n installedApps: [],\n isSecureConnectionAllowed: false,\n });\n\n setDeviceSessionState = vi.fn();\n\n handler = new DeviceSessionStateHandler(\n //@ts-expect-error mock\n mockLoggerModuleFactory,\n fakeSessionEventDispatcher,\n fakeConnectedDevice,\n deviceState,\n setDeviceSessionState,\n );\n });\n\n afterEach(() => {\n if (handler && typeof handler.unsubscribe === \"function\") {\n handler.unsubscribe();\n }\n });\n\n it(\"updates device state on COMMAND_SUCCEEDED event with a successful response\", () => {\n // Given\n const fakeCommandResult = {\n data: {\n name: \"TestApp\",\n version: \"1.0.0\",\n },\n status: CommandResultStatus.Success,\n };\n\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.COMMAND_SUCCEEDED,\n //@ts-expect-error mock\n eventData: fakeCommandResult,\n });\n\n // Then\n expect(setDeviceSessionState).toHaveBeenCalledWith({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: \"device-model-1\",\n currentApp: { name: \"TestApp\", version: \"1.0.0\" },\n installedApps: [],\n isSecureConnectionAllowed: false,\n });\n });\n\n it(\"updates device state on DEVICE_STATE_UPDATE_BUSY event\", () => {\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_BUSY,\n });\n\n // Then\n expect(setDeviceSessionState).toHaveBeenCalledWith(\n expect.objectContaining({ deviceStatus: DeviceStatus.BUSY }),\n );\n });\n\n it(\"updates device state on DEVICE_STATE_UPDATE_CONNECTED event\", () => {\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_CONNECTED,\n });\n\n // Then\n expect(setDeviceSessionState).toHaveBeenCalledWith(\n expect.objectContaining({ deviceStatus: DeviceStatus.CONNECTED }),\n );\n });\n\n it(\"logs error and does not update state if command result is unsuccessful\", () => {\n // Given\n const fakeErrorCommandResult = {\n data: null,\n error: { _tag: \"SomeOtherError\" },\n };\n\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.COMMAND_SUCCEEDED,\n //@ts-expect-error mock\n eventData: fakeErrorCommandResult,\n });\n\n // Then\n expect(mockLogger.error).toHaveBeenCalledWith(\n \"Error while parsing APDU response\",\n { data: { parsedResponse: fakeErrorCommandResult } },\n );\n expect(setDeviceSessionState).not.toHaveBeenCalled();\n });\n\n it(\"does not update state if command result is not a success\", () => {\n // Given\n const fakeErrorCommandResult = {\n data: null,\n error: { _tag: \"SomeOtherError\" },\n };\n\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.COMMAND_SUCCEEDED,\n //@ts-expect-error mock\n eventData: fakeErrorCommandResult,\n });\n\n // Then\n expect(setDeviceSessionState).not.toHaveBeenCalled();\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAyC,gBACzCC,EAAkC,kBAGlCC,EAKO,sBACPC,EAIO,uEAEPC,EAGO,uCAEP,SAAS,4BAA6B,IAAM,CAC1C,IAAIC,EACAC,EACAC,EAGJ,MAAMC,EAA0B,GAAG,GAAG,IAAMD,CAAU,EACtD,IAAIE,EACAC,EACAC,EACAC,EAEJ,WAAW,IAAM,CACfP,EAAmB,IAAI,UAEvBC,EAA6B,CAC3B,OAAQ,IAAMD,EACd,SAAU,GAAG,GAAG,CAClB,EAEAE,EAAa,CACX,MAAO,GAAG,GAAG,CACf,EAEAE,EAAsB,CACpB,YAAa,CACX,GAAI,gBACN,CACF,EAEAC,EAAc,IAAI,kBAAoC,CACpD,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,cAAe,gBAAc,OAC7B,WAAY,CAAE,KAAM,GAAI,QAAS,EAAG,EACpC,cAAe,CAAC,EAChB,0BAA2B,EAC7B,CAAC,EAEDC,EAAwB,GAAG,GAAG,EAE9BC,EAAU,IAAI,4BAEZJ,EACAF,EACAG,EACAC,EACAC,CACF,CACF,CAAC,EAED,UAAU,IAAM,CACVC,GAAW,OAAOA,EAAQ,aAAgB,YAC5CA,EAAQ,YAAY,CAExB,CAAC,EAED,GAAG,6EAA8E,IAAM,CAErF,MAAMC,EAAoB,CACxB,KAAM,CACJ,KAAM,UACN,QAAS,OACX,EACA,OAAQ,sBAAoB,OAC9B,EAGAR,EAAiB,KAAK,CACpB,UAAW,gBAAc,kBAEzB,UAAWQ,CACb,CAAC,KAGD,UAAOF,CAAqB,EAAE,qBAAqB,CACjD,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,cAAe,iBACf,WAAY,CAAE,KAAM,UAAW,QAAS,OAAQ,EAChD,cAAe,CAAC,EAChB,0BAA2B,EAC7B,CAAC,CACH,CAAC,EAED,GAAG,yDAA0D,IAAM,CAEjEN,EAAiB,KAAK,CACpB,UAAW,gBAAc,wBAC3B,CAAC,KAGD,UAAOM,CAAqB,EAAE,qBAC5B,SAAO,iBAAiB,CAAE,aAAc,eAAa,IAAK,CAAC,CAC7D,CACF,CAAC,EAED,GAAG,8DAA+D,IAAM,CAEtEN,EAAiB,KAAK,CACpB,UAAW,gBAAc,6BAC3B,CAAC,KAGD,UAAOM,CAAqB,EAAE,qBAC5B,SAAO,iBAAiB,CAAE,aAAc,eAAa,SAAU,CAAC,CAClE,CACF,CAAC,EAED,GAAG,yEAA0E,IAAM,CAEjF,MAAMG,EAAyB,CAC7B,KAAM,KACN,MAAO,CAAE,KAAM,gBAAiB,CAClC,EAGAT,EAAiB,KAAK,CACpB,UAAW,gBAAc,kBAEzB,UAAWS,CACb,CAAC,KAGD,UAAOP,EAAW,KAAK,EAAE,qBACvB,oCACA,CAAE,KAAM,CAAE,eAAgBO,CAAuB,CAAE,CACrD,KACA,UAAOH,CAAqB,EAAE,IAAI,iBAAiB,CACrD,CAAC,EAED,GAAG,2DAA4D,IAAM,CAEnE,MAAMG,EAAyB,CAC7B,KAAM,KACN,MAAO,CAAE,KAAM,gBAAiB,CAClC,EAGAT,EAAiB,KAAK,CACpB,UAAW,gBAAc,kBAEzB,UAAWS,CACb,CAAC,KAGD,UAAOH,CAAqB,EAAE,IAAI,iBAAiB,CACrD,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { BehaviorSubject, Subject } from \"rxjs\";\nimport { expect, type Mock } from \"vitest\";\n\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport {\n CommandResultStatus,\n DeviceModelId,\n DeviceSessionStateType,\n DeviceStatus,\n} from \"@api/index\";\nimport {\n type DeviceSessionEventDispatcher,\n type NewEvent,\n SessionEvents,\n} from \"@internal/device-session/model/DeviceSessionEventDispatcher\";\n\nimport {\n DeviceSessionStateHandler,\n type SetDeviceSessionStateFn,\n} from \"./DeviceSessionStateHandler\";\n\ndescribe(\"DeviceSessionStateHandler\", () => {\n let fakeEventSubject: Subject<NewEvent>;\n let fakeSessionEventDispatcher: DeviceSessionEventDispatcher;\n let mockLogger: {\n error: (message: string, meta?: Record<string, unknown>) => void;\n debug: (message: string, meta?: Record<string, unknown>) => void;\n };\n const mockLoggerModuleFactory = vi.fn(() => mockLogger);\n let fakeConnectedDevice: { deviceModel: { id: string } };\n let deviceState: BehaviorSubject<DeviceSessionState>;\n let setDeviceSessionState: Mock<SetDeviceSessionStateFn>;\n let handler: DeviceSessionStateHandler;\n\n beforeEach(() => {\n fakeEventSubject = new Subject<NewEvent>();\n //@ts-expect-error mock\n fakeSessionEventDispatcher = {\n listen: () => fakeEventSubject,\n dispatch: vi.fn(),\n };\n\n mockLogger = {\n error: vi.fn(),\n debug: vi.fn(),\n };\n\n fakeConnectedDevice = {\n deviceModel: {\n id: \"device-model-1\",\n },\n };\n\n deviceState = new BehaviorSubject<DeviceSessionState>({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: DeviceModelId.NANO_X,\n currentApp: { name: \"\", version: \"\" },\n installedApps: [],\n isSecureConnectionAllowed: false,\n });\n\n setDeviceSessionState = vi.fn();\n\n handler = new DeviceSessionStateHandler(\n //@ts-expect-error mock\n mockLoggerModuleFactory,\n fakeSessionEventDispatcher,\n fakeConnectedDevice,\n deviceState,\n setDeviceSessionState,\n );\n });\n\n afterEach(() => {\n if (handler && typeof handler.unsubscribe === \"function\") {\n handler.unsubscribe();\n }\n });\n\n it(\"updates device state on COMMAND_SUCCEEDED event with a successful response\", () => {\n // Given\n const fakeCommandResult = {\n data: {\n name: \"TestApp\",\n version: \"1.0.0\",\n },\n status: CommandResultStatus.Success,\n };\n\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.COMMAND_SUCCEEDED,\n //@ts-expect-error mock\n eventData: fakeCommandResult,\n });\n\n // Then\n expect(setDeviceSessionState).toHaveBeenCalledWith({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n deviceModelId: \"device-model-1\",\n currentApp: { name: \"TestApp\", version: \"1.0.0\" },\n installedApps: [],\n isSecureConnectionAllowed: false,\n });\n });\n\n it(\"updates device state on DEVICE_STATE_UPDATE_BUSY event\", () => {\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_BUSY,\n });\n\n // Then\n expect(setDeviceSessionState).toHaveBeenCalledWith(\n expect.objectContaining({ deviceStatus: DeviceStatus.BUSY }),\n );\n });\n\n it(\"updates device state on DEVICE_STATE_UPDATE_CONNECTED event\", () => {\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.DEVICE_STATE_UPDATE_CONNECTED,\n });\n\n // Then\n expect(setDeviceSessionState).toHaveBeenCalledWith(\n expect.objectContaining({ deviceStatus: DeviceStatus.CONNECTED }),\n );\n });\n\n it(\"logs error and does not update state if command result is unsuccessful\", () => {\n // Given\n const fakeErrorCommandResult = {\n data: null,\n error: { _tag: \"SomeOtherError\" },\n };\n\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.COMMAND_SUCCEEDED,\n //@ts-expect-error mock\n eventData: fakeErrorCommandResult,\n });\n\n // Then\n expect(mockLogger.debug).toHaveBeenCalledWith(\n \"Error while parsing APDU response\",\n { data: { parsedResponse: fakeErrorCommandResult } },\n );\n expect(setDeviceSessionState).not.toHaveBeenCalled();\n });\n\n it(\"does not update state if command result is not a success\", () => {\n // Given\n const fakeErrorCommandResult = {\n data: null,\n error: { _tag: \"SomeOtherError\" },\n };\n\n // When\n fakeEventSubject.next({\n eventName: SessionEvents.COMMAND_SUCCEEDED,\n //@ts-expect-error mock\n eventData: fakeErrorCommandResult,\n });\n\n // Then\n expect(setDeviceSessionState).not.toHaveBeenCalled();\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAyC,gBACzCC,EAAkC,kBAGlCC,EAKO,sBACPC,EAIO,uEAEPC,EAGO,uCAEP,SAAS,4BAA6B,IAAM,CAC1C,IAAIC,EACAC,EACAC,EAIJ,MAAMC,EAA0B,GAAG,GAAG,IAAMD,CAAU,EACtD,IAAIE,EACAC,EACAC,EACAC,EAEJ,WAAW,IAAM,CACfP,EAAmB,IAAI,UAEvBC,EAA6B,CAC3B,OAAQ,IAAMD,EACd,SAAU,GAAG,GAAG,CAClB,EAEAE,EAAa,CACX,MAAO,GAAG,GAAG,EACb,MAAO,GAAG,GAAG,CACf,EAEAE,EAAsB,CACpB,YAAa,CACX,GAAI,gBACN,CACF,EAEAC,EAAc,IAAI,kBAAoC,CACpD,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,cAAe,gBAAc,OAC7B,WAAY,CAAE,KAAM,GAAI,QAAS,EAAG,EACpC,cAAe,CAAC,EAChB,0BAA2B,EAC7B,CAAC,EAEDC,EAAwB,GAAG,GAAG,EAE9BC,EAAU,IAAI,4BAEZJ,EACAF,EACAG,EACAC,EACAC,CACF,CACF,CAAC,EAED,UAAU,IAAM,CACVC,GAAW,OAAOA,EAAQ,aAAgB,YAC5CA,EAAQ,YAAY,CAExB,CAAC,EAED,GAAG,6EAA8E,IAAM,CAErF,MAAMC,EAAoB,CACxB,KAAM,CACJ,KAAM,UACN,QAAS,OACX,EACA,OAAQ,sBAAoB,OAC9B,EAGAR,EAAiB,KAAK,CACpB,UAAW,gBAAc,kBAEzB,UAAWQ,CACb,CAAC,KAGD,UAAOF,CAAqB,EAAE,qBAAqB,CACjD,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,cAAe,iBACf,WAAY,CAAE,KAAM,UAAW,QAAS,OAAQ,EAChD,cAAe,CAAC,EAChB,0BAA2B,EAC7B,CAAC,CACH,CAAC,EAED,GAAG,yDAA0D,IAAM,CAEjEN,EAAiB,KAAK,CACpB,UAAW,gBAAc,wBAC3B,CAAC,KAGD,UAAOM,CAAqB,EAAE,qBAC5B,SAAO,iBAAiB,CAAE,aAAc,eAAa,IAAK,CAAC,CAC7D,CACF,CAAC,EAED,GAAG,8DAA+D,IAAM,CAEtEN,EAAiB,KAAK,CACpB,UAAW,gBAAc,6BAC3B,CAAC,KAGD,UAAOM,CAAqB,EAAE,qBAC5B,SAAO,iBAAiB,CAAE,aAAc,eAAa,SAAU,CAAC,CAClE,CACF,CAAC,EAED,GAAG,yEAA0E,IAAM,CAEjF,MAAMG,EAAyB,CAC7B,KAAM,KACN,MAAO,CAAE,KAAM,gBAAiB,CAClC,EAGAT,EAAiB,KAAK,CACpB,UAAW,gBAAc,kBAEzB,UAAWS,CACb,CAAC,KAGD,UAAOP,EAAW,KAAK,EAAE,qBACvB,oCACA,CAAE,KAAM,CAAE,eAAgBO,CAAuB,CAAE,CACrD,KACA,UAAOH,CAAqB,EAAE,IAAI,iBAAiB,CACrD,CAAC,EAED,GAAG,2DAA4D,IAAM,CAEnE,MAAMG,EAAyB,CAC7B,KAAM,KACN,MAAO,CAAE,KAAM,gBAAiB,CAClC,EAGAT,EAAiB,KAAK,CACpB,UAAW,gBAAc,kBAEzB,UAAWS,CACb,CAAC,KAGD,UAAOH,CAAqB,EAAE,IAAI,iBAAiB,CACrD,CAAC,CACH,CAAC",
6
6
  "names": ["import_rxjs", "import_vitest", "import_api", "import_DeviceSessionEventDispatcher", "import_DeviceSessionStateHandler", "fakeEventSubject", "fakeSessionEventDispatcher", "mockLogger", "mockLoggerModuleFactory", "fakeConnectedDevice", "deviceState", "setDeviceSessionState", "handler", "fakeCommandResult", "fakeErrorCommandResult"]
7
7
  }
@@ -1,2 +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});
1
+ "use strict";var v=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var b=(o,r)=>{for(var t in r)v(o,t,{get:r[t],enumerable:!0})},u=(o,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of f(r))!h.call(o,e)&&e!==t&&v(o,e,{get:()=>r[e],enumerable:!(i=m(r,e))||i.enumerable});return o};var _=o=>u(v({},"__esModule",{value:!0}),o),g=(o,r,t,i)=>{for(var e=i>1?void 0:i?m(r,t):r,n=o.length-1,a;n>=0;n--)(a=o[n])&&(e=(i?a(r,t,e):a(e))||e);return i&&e&&v(r,t,e),e},l=(o,r)=>(t,i)=>r(t,i,o);var y={};b(y,{ListenToAvailableDevicesUseCase:()=>p});module.exports=_(y);var c=require("inversify"),s=require("rxjs"),D=require("../../../api/device/DeviceModel"),d=require("../../logger-publisher/di/loggerTypes"),T=require("../../transport/di/transportDiTypes");let p=class{_transports;_transportService;_logger;constructor(r,t){this._transports=r.getAllTransports(),this._transportService=r,this._logger=t("ListenToAvailableDevicesUseCase")}mapTransportDiscoveredDeviceToDiscoveredDevice(r){const t=new D.DeviceModel({id:r.id,model:r.deviceModel.id,name:r.deviceModel.productName});return{id:r.id,deviceModel:t,transport:r.transport,name:r.name||t.name,rssi:r.rssi}}execute({transport:r}={}){if(this._logger.info("Listening to available devices"),this._transports.length===0)return this._logger.warn("No transports available"),(0,s.from)([[]]);if(!r){this._logger.info("Discovering all available transports");const i=this._transports.map((e,n)=>e.listenToAvailableDevices().pipe((0,s.map)(a=>({index:n,arr:a}))));return(0,s.merge)(...i).pipe((0,s.scan)((e,{index:n,arr:a})=>(e[n]=a,e),{}),(0,s.map)(e=>Object.values(e).flat().map(this.mapTransportDiscoveredDeviceToDiscoveredDevice)))}return this._logger.info(`Discovering devices on transport ${r}`),this._transportService.getTransport(r).caseOf({Nothing:()=>(this._logger.error(`Transport ${r} not found`),(0,s.of)([])),Just:i=>i.listenToAvailableDevices().pipe((0,s.map)(e=>e.map(this.mapTransportDiscoveredDeviceToDiscoveredDevice)))})}};p=g([(0,c.injectable)(),l(0,(0,c.inject)(T.transportDiTypes.TransportService)),l(1,(0,c.inject)(d.loggerTypes.LoggerPublisherServiceFactory))],p);0&&(module.exports={ListenToAvailableDevicesUseCase});
2
2
  //# sourceMappingURL=ListenToAvailableDevicesUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { from, map, merge, Observable, 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",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { from, map, merge, Observable, of, scan } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { type Transport } from \"@api/transport/model/Transport\";\nimport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { type TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type ListenToAvailableDevicesUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parallel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Listen to list of known discovered devices (and later BLE).\n */\n@injectable()\nexport class ListenToAvailableDevicesUseCase {\n private readonly _transports: Transport[];\n private readonly _transportService: TransportService;\n private readonly _logger: LoggerPublisherService;\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._transports = transportService.getAllTransports();\n this._transportService = transportService;\n this._logger = loggerFactory(\"ListenToAvailableDevicesUseCase\");\n }\n\n private mapTransportDiscoveredDeviceToDiscoveredDevice(\n discoveredDevice: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: discoveredDevice.id,\n model: discoveredDevice.deviceModel.id,\n name: discoveredDevice.deviceModel.productName,\n });\n return {\n id: discoveredDevice.id,\n deviceModel,\n transport: discoveredDevice.transport,\n name: discoveredDevice.name || deviceModel.name,\n rssi: discoveredDevice.rssi,\n };\n }\n\n execute({ transport }: ListenToAvailableDevicesUseCaseArgs = {}): Observable<\n DiscoveredDevice[]\n > {\n this._logger.info(\"Listening to available devices\");\n\n if (this._transports.length === 0) {\n this._logger.warn(\"No transports available\");\n return from([[]]);\n }\n\n if (!transport) {\n this._logger.info(\"Discovering all available transports\");\n /**\n * Note: we're not using combineLatest because combineLatest will\n * - wait for all observables to emit at least once before emitting.\n * - complete as soon as one of the observables completes.\n * Some transports will just return an empty array and complete.\n * We want to keep listening to all transports until all have completed.\n */\n\n const observablesWithIndex = this._transports.map((t, index) =>\n t.listenToAvailableDevices().pipe(\n map((arr) => ({\n index,\n arr,\n })),\n ),\n );\n\n return merge(...observablesWithIndex).pipe(\n scan<\n { index: number; arr: TransportDiscoveredDevice[] },\n { [key: number]: TransportDiscoveredDevice[] }\n >((acc, { index, arr }) => {\n acc[index] = arr;\n return acc;\n }, {}),\n map((acc) =>\n Object.values(acc)\n .flat()\n .map(this.mapTransportDiscoveredDeviceToDiscoveredDevice),\n ),\n );\n }\n\n this._logger.info(`Discovering devices on transport ${transport}`);\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Nothing: () => {\n this._logger.error(`Transport ${transport} not found`);\n return of([]);\n },\n Just: (t) => {\n return t\n .listenToAvailableDevices()\n .pipe(\n map((devices) =>\n devices.map(this.mapTransportDiscoveredDeviceToDiscoveredDevice),\n ),\n );\n },\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAAuD,gBAEvDC,EAA4B,mCAM5BC,EAA4B,qDAC5BC,EAAiC,mDAe1B,IAAMC,EAAN,KAAsC,CAC1B,YACA,kBACA,QACjB,YAEEC,EAEAC,EACA,CACA,KAAK,YAAcD,EAAiB,iBAAiB,EACrD,KAAK,kBAAoBA,EACzB,KAAK,QAAUC,EAAc,iCAAiC,CAChE,CAEQ,+CACNC,EACkB,CAClB,MAAMC,EAAc,IAAI,cAAY,CAClC,GAAID,EAAiB,GACrB,MAAOA,EAAiB,YAAY,GACpC,KAAMA,EAAiB,YAAY,WACrC,CAAC,EACD,MAAO,CACL,GAAIA,EAAiB,GACrB,YAAAC,EACA,UAAWD,EAAiB,UAC5B,KAAMA,EAAiB,MAAQC,EAAY,KAC3C,KAAMD,EAAiB,IACzB,CACF,CAEA,QAAQ,CAAE,UAAAE,CAAU,EAAyC,CAAC,EAE5D,CAGA,GAFA,KAAK,QAAQ,KAAK,gCAAgC,EAE9C,KAAK,YAAY,SAAW,EAC9B,YAAK,QAAQ,KAAK,yBAAyB,KACpC,QAAK,CAAC,CAAC,CAAC,CAAC,EAGlB,GAAI,CAACA,EAAW,CACd,KAAK,QAAQ,KAAK,sCAAsC,EASxD,MAAMC,EAAuB,KAAK,YAAY,IAAI,CAACC,EAAGC,IACpDD,EAAE,yBAAyB,EAAE,QAC3B,OAAKE,IAAS,CACZ,MAAAD,EACA,IAAAC,CACF,EAAE,CACJ,CACF,EAEA,SAAO,SAAM,GAAGH,CAAoB,EAAE,QACpC,QAGE,CAACI,EAAK,CAAE,MAAAF,EAAO,IAAAC,CAAI,KACnBC,EAAIF,CAAK,EAAIC,EACNC,GACN,CAAC,CAAC,KACL,OAAKA,GACH,OAAO,OAAOA,CAAG,EACd,KAAK,EACL,IAAI,KAAK,8CAA8C,CAC5D,CACF,CACF,CAEA,YAAK,QAAQ,KAAK,oCAAoCL,CAAS,EAAE,EAEhD,KAAK,kBAAkB,aAAaA,CAAS,EAE9C,OAAO,CACrB,QAAS,KACP,KAAK,QAAQ,MAAM,aAAaA,CAAS,YAAY,KAC9C,MAAG,CAAC,CAAC,GAEd,KAAOE,GACEA,EACJ,yBAAyB,EACzB,QACC,OAAKI,GACHA,EAAQ,IAAI,KAAK,8CAA8C,CACjE,CACF,CAEN,CAAC,CACH,CACF,EAjGaX,EAANY,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,mBAAiB,gBAAgB,GAExCA,EAAA,eAAO,cAAY,6BAA6B,IAPxCb",
6
6
  "names": ["ListenToAvailableDevicesUseCase_exports", "__export", "ListenToAvailableDevicesUseCase", "__toCommonJS", "import_inversify", "import_rxjs", "import_DeviceModel", "import_loggerTypes", "import_transportDiTypes", "ListenToAvailableDevicesUseCase", "transportService", "loggerFactory", "discoveredDevice", "deviceModel", "transport", "observablesWithIndex", "t", "index", "arr", "acc", "devices", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var h=(o,r)=>{for(var t in r)a(o,t,{get:r[t],enumerable:!0})},S=(o,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of u(r))!g.call(o,e)&&e!==t&&a(o,e,{get:()=>r[e],enumerable:!(i=v(r,e))||i.enumerable});return o};var b=o=>S(a({},"__esModule",{value:!0}),o),d=(o,r,t,i)=>{for(var e=i>1?void 0:i?v(r,t):r,p=o.length-1,m;p>=0;p--)(m=o[p])&&(e=(i?m(r,t,e):m(e))||e);return i&&e&&a(r,t,e),e},D=(o,r)=>(t,i)=>r(t,i,o);var w={};h(w,{StartDiscoveringUseCase:()=>n});module.exports=b(w);var c=require("inversify"),s=require("rxjs"),f=require("../../../api/device/DeviceModel"),l=require("../../../api/transport/model/Errors"),T=require("../../transport/di/transportDiTypes");let n=class{constructor(r){this._transportService=r}mapDiscoveredDevice(r){const t=new f.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(!r){const i=this._transportService.getAllTransports();return(0,s.of)(...i).pipe((0,s.mergeMap)(e=>e.startDiscovering().pipe((0,s.map)(p=>this.mapDiscoveredDevice(p)))))}return this._transportService.getTransport(r).caseOf({Just:i=>i.startDiscovering().pipe((0,s.map)(e=>this.mapDiscoveredDevice(e))),Nothing:()=>{throw new l.TransportNotSupportedError(new Error("Unknown transport"))}})}};n=d([(0,c.injectable)(),D(0,(0,c.inject)(T.transportDiTypes.TransportService))],n);0&&(module.exports={StartDiscoveringUseCase});
1
+ "use strict";var a=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var h=(o,r)=>{for(var t in r)a(o,t,{get:r[t],enumerable:!0})},S=(o,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of u(r))!g.call(o,e)&&e!==t&&a(o,e,{get:()=>r[e],enumerable:!(i=v(r,e))||i.enumerable});return o};var b=o=>S(a({},"__esModule",{value:!0}),o),d=(o,r,t,i)=>{for(var e=i>1?void 0:i?v(r,t):r,p=o.length-1,m;p>=0;p--)(m=o[p])&&(e=(i?m(r,t,e):m(e))||e);return i&&e&&a(r,t,e),e},D=(o,r)=>(t,i)=>r(t,i,o);var w={};h(w,{StartDiscoveringUseCase:()=>n});module.exports=b(w);var c=require("inversify"),s=require("rxjs"),f=require("../../../api/device/DeviceModel"),l=require("../../../api/transport/model/Errors"),T=require("../../transport/di/transportDiTypes");let n=class{constructor(r){this._transportService=r}mapDiscoveredDevice(r){const t=new f.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(!r){const i=this._transportService.getAllTransports();return(0,s.of)(...i).pipe((0,s.mergeMap)(e=>e.startDiscovering().pipe((0,s.map)(p=>this.mapDiscoveredDevice(p)))))}return this._transportService.getTransport(r).caseOf({Just:i=>i.startDiscovering().pipe((0,s.map)(e=>this.mapDiscoveredDevice(e))),Nothing:()=>{throw new l.TransportNotSupportedError(new Error("Unknown transport"))}})}};n=d([(0,c.injectable)(),D(0,(0,c.inject)(T.transportDiTypes.TransportService))],n);0&&(module.exports={StartDiscoveringUseCase});
2
2
  //# sourceMappingURL=StartDiscoveringUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StartDiscoveringUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { map, mergeMap, Observable, of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type StartDiscoveringUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parralel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Starts discovering devices connected.\n *\n * For the WebHID implementation, this use-case needs to be called as a result of an user interaction (button \"click\" event for ex).\n */\n@injectable()\nexport class StartDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private readonly _transportService: TransportService,\n ) {}\n\n private mapDiscoveredDevice(\n device: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: device.id,\n model: device.deviceModel.id,\n name: device.deviceModel.productName,\n });\n return {\n id: device.id,\n deviceModel,\n transport: device.transport,\n name: device.name || deviceModel.name,\n rssi: device.rssi,\n };\n }\n\n execute({\n transport,\n }: StartDiscoveringUseCaseArgs): Observable<DiscoveredDevice> {\n if (!transport) {\n const transports = this._transportService.getAllTransports();\n return of(...transports).pipe(\n mergeMap((instance) =>\n instance\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device))),\n ),\n );\n }\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Just: (t) => {\n return t\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device)));\n },\n Nothing: () => {\n throw new TransportNotSupportedError(new Error(\"Unknown transport\"));\n },\n });\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA8C,gBAE9CC,EAA4B,mCAE5BC,EAA2C,uCAG3CC,EAAiC,mDAiB1B,IAAMC,EAAN,KAA8B,CACnC,YAEmBC,EACjB,CADiB,uBAAAA,CAChB,CAEK,oBACNC,EACkB,CAClB,MAAMC,EAAc,IAAI,cAAY,CAClC,GAAID,EAAO,GACX,MAAOA,EAAO,YAAY,GAC1B,KAAMA,EAAO,YAAY,WAC3B,CAAC,EACD,MAAO,CACL,GAAIA,EAAO,GACX,YAAAC,EACA,UAAWD,EAAO,UAClB,KAAMA,EAAO,MAAQC,EAAY,KACjC,KAAMD,EAAO,IACf,CACF,CAEA,QAAQ,CACN,UAAAE,CACF,EAA8D,CAC5D,GAAI,CAACA,EAAW,CACd,MAAMC,EAAa,KAAK,kBAAkB,iBAAiB,EAC3D,SAAO,MAAG,GAAGA,CAAU,EAAE,QACvB,YAAUC,GACRA,EACG,iBAAiB,EACjB,QAAK,OAAKJ,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,CAC3D,CACF,CACF,CAIA,OAFiB,KAAK,kBAAkB,aAAaE,CAAS,EAE9C,OAAO,CACrB,KAAOG,GACEA,EACJ,iBAAiB,EACjB,QAAK,OAAKL,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,EAE3D,QAAS,IAAM,CACb,MAAM,IAAI,6BAA2B,IAAI,MAAM,mBAAmB,CAAC,CACrE,CACF,CAAC,CACH,CACF,EAlDaF,EAANQ,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,mBAAiB,gBAAgB,IAFhCT",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { map, mergeMap, Observable, of } from \"rxjs\";\n\nimport { DeviceModel } from \"@api/device/DeviceModel\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nimport { TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nexport type StartDiscoveringUseCaseArgs = {\n /**\n * Identifier of the transport to start discovering devices.\n * Can be undefined to discover all available transports in parralel.\n */\n transport?: TransportIdentifier;\n};\n\n/**\n * Starts discovering devices connected.\n *\n * For the WebHID implementation, this use-case needs to be called as a result of an user interaction (button \"click\" event for ex).\n */\n@injectable()\nexport class StartDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private readonly _transportService: TransportService,\n ) {}\n\n private mapDiscoveredDevice(\n device: TransportDiscoveredDevice,\n ): DiscoveredDevice {\n const deviceModel = new DeviceModel({\n id: device.id,\n model: device.deviceModel.id,\n name: device.deviceModel.productName,\n });\n return {\n id: device.id,\n deviceModel,\n transport: device.transport,\n name: device.name || deviceModel.name,\n rssi: device.rssi,\n };\n }\n\n execute({\n transport,\n }: StartDiscoveringUseCaseArgs = {}): Observable<DiscoveredDevice> {\n if (!transport) {\n const transports = this._transportService.getAllTransports();\n return of(...transports).pipe(\n mergeMap((instance) =>\n instance\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device))),\n ),\n );\n }\n\n const instance = this._transportService.getTransport(transport);\n\n return instance.caseOf({\n Just: (t) => {\n return t\n .startDiscovering()\n .pipe(map((device) => this.mapDiscoveredDevice(device)));\n },\n Nothing: () => {\n throw new TransportNotSupportedError(new Error(\"Unknown transport\"));\n },\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA8C,gBAE9CC,EAA4B,mCAE5BC,EAA2C,uCAG3CC,EAAiC,mDAiB1B,IAAMC,EAAN,KAA8B,CACnC,YAEmBC,EACjB,CADiB,uBAAAA,CAChB,CAEK,oBACNC,EACkB,CAClB,MAAMC,EAAc,IAAI,cAAY,CAClC,GAAID,EAAO,GACX,MAAOA,EAAO,YAAY,GAC1B,KAAMA,EAAO,YAAY,WAC3B,CAAC,EACD,MAAO,CACL,GAAIA,EAAO,GACX,YAAAC,EACA,UAAWD,EAAO,UAClB,KAAMA,EAAO,MAAQC,EAAY,KACjC,KAAMD,EAAO,IACf,CACF,CAEA,QAAQ,CACN,UAAAE,CACF,EAAiC,CAAC,EAAiC,CACjE,GAAI,CAACA,EAAW,CACd,MAAMC,EAAa,KAAK,kBAAkB,iBAAiB,EAC3D,SAAO,MAAG,GAAGA,CAAU,EAAE,QACvB,YAAUC,GACRA,EACG,iBAAiB,EACjB,QAAK,OAAKJ,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,CAC3D,CACF,CACF,CAIA,OAFiB,KAAK,kBAAkB,aAAaE,CAAS,EAE9C,OAAO,CACrB,KAAOG,GACEA,EACJ,iBAAiB,EACjB,QAAK,OAAKL,GAAW,KAAK,oBAAoBA,CAAM,CAAC,CAAC,EAE3D,QAAS,IAAM,CACb,MAAM,IAAI,6BAA2B,IAAI,MAAM,mBAAmB,CAAC,CACrE,CACF,CAAC,CACH,CACF,EAlDaF,EAANQ,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,mBAAiB,gBAAgB,IAFhCT",
6
6
  "names": ["StartDiscoveringUseCase_exports", "__export", "StartDiscoveringUseCase", "__toCommonJS", "import_inversify", "import_rxjs", "import_DeviceModel", "import_Errors", "import_transportDiTypes", "StartDiscoveringUseCase", "_transportService", "device", "deviceModel", "transport", "transports", "instance", "t", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var u=(t,r)=>{for(var e in r)i(t,e,{get:r[e],enumerable:!0})},x=(t,r,e,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of l(r))!j.call(t,o)&&o!==e&&i(t,o,{get:()=>r[o],enumerable:!(p=m(r,o))||p.enumerable});return t};var y=t=>x(i({},"__esModule",{value:!0}),t),f=(t,r,e,p)=>{for(var o=p>1?void 0:p?m(r,e):r,a=t.length-1,s;a>=0;a--)(s=t[a])&&(o=(p?s(r,e,o):s(o))||o);return p&&o&&i(r,e,o),o},v=(t,r)=>(e,p)=>r(e,p,t);var S={};u(S,{StopDiscoveringUseCase:()=>c});module.exports=y(S);var n=require("inversify"),T=require("../../transport/di/transportDiTypes");let c=class{constructor(r){this.transportService=r}execute(){for(const r of this.transportService.getAllTransports())r.stopDiscovering()}};c=f([(0,n.injectable)(),v(0,(0,n.inject)(T.transportDiTypes.TransportService))],c);0&&(module.exports={StopDiscoveringUseCase});
1
+ "use strict";var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var j=(t,r)=>{for(var e in r)a(t,e,{get:r[e],enumerable:!0})},u=(t,r,e,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of l(r))!y.call(t,o)&&o!==e&&a(t,o,{get:()=>r[o],enumerable:!(p=m(r,o))||p.enumerable});return t};var x=t=>u(a({},"__esModule",{value:!0}),t),f=(t,r,e,p)=>{for(var o=p>1?void 0:p?m(r,e):r,n=t.length-1,s;n>=0;n--)(s=t[n])&&(o=(p?s(r,e,o):s(o))||o);return p&&o&&a(r,e,o),o},v=(t,r)=>(e,p)=>r(e,p,t);var S={};j(S,{StopDiscoveringUseCase:()=>i});module.exports=x(S);var c=require("inversify"),T=require("../../transport/di/transportDiTypes");let i=class{constructor(r){this.transportService=r}async execute(){for(const r of this.transportService.getAllTransports())await r.stopDiscovering()}};i=f([(0,c.injectable)(),v(0,(0,c.inject)(T.transportDiTypes.TransportService))],i);0&&(module.exports={StopDiscoveringUseCase});
2
2
  //# sourceMappingURL=StopDiscoveringUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StopDiscoveringUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * Stops discovering devices connected.\n */\n@injectable()\nexport class StopDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private transportService: TransportService,\n ) {}\n\n execute(): void {\n for (const transport of this.transportService.getAllTransports()) {\n transport.stopDiscovering();\n }\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAEnCC,EAAiC,mDAO1B,IAAMC,EAAN,KAA6B,CAClC,YAEUC,EACR,CADQ,sBAAAA,CACP,CAEH,SAAgB,CACd,UAAWC,KAAa,KAAK,iBAAiB,iBAAiB,EAC7DA,EAAU,gBAAgB,CAE9B,CACF,EAXaF,EAANG,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,mBAAiB,gBAAgB,IAFhCJ",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * Stops discovering devices connected.\n */\n@injectable()\nexport class StopDiscoveringUseCase {\n constructor(\n @inject(transportDiTypes.TransportService)\n private transportService: TransportService,\n ) {}\n\n async execute(): Promise<void> {\n for (const transport of this.transportService.getAllTransports()) {\n await transport.stopDiscovering();\n }\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAEnCC,EAAiC,mDAO1B,IAAMC,EAAN,KAA6B,CAClC,YAEUC,EACR,CADQ,sBAAAA,CACP,CAEH,MAAM,SAAyB,CAC7B,UAAWC,KAAa,KAAK,iBAAiB,iBAAiB,EAC7D,MAAMA,EAAU,gBAAgB,CAEpC,CACF,EAXaF,EAANG,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,mBAAiB,gBAAgB,IAFhCJ",
6
6
  "names": ["StopDiscoveringUseCase_exports", "__export", "StopDiscoveringUseCase", "__toCommonJS", "import_inversify", "import_transportDiTypes", "StopDiscoveringUseCase", "transportService", "transport", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=require("../../../api/transport/model/__mocks__/TransportMock"),n=require("../../transport/service/DefaultTransportService"),a=require("./StopDiscoveringUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let e,r,t;describe("StopDiscoveringUseCase",()=>{beforeEach(()=>{e=new s.TransportMock,r=[e],t=new n.DefaultTransportService(r)}),afterEach(()=>{vi.clearAllMocks()}),test("should call stop discovering",()=>{const o=vi.fn();vi.spyOn(e,"stopDiscovering").mockImplementation(o),vi.spyOn(t,"getAllTransports").mockReturnValue(r),new a.StopDiscoveringUseCase(t).execute(),expect(o).toHaveBeenCalled()})});
1
+ "use strict";var s=require("../../../api/transport/model/__mocks__/TransportMock"),n=require("../../transport/service/DefaultTransportService"),a=require("./StopDiscoveringUseCase");vi.mock("@internal/transport/service/DefaultTransportService");let e,r,t,o;describe("StopDiscoveringUseCase",()=>{beforeEach(()=>{e=new s.TransportMock,r=new s.TransportMock,t=[e,r],o=new n.DefaultTransportService(t)}),afterEach(()=>{vi.clearAllMocks()}),test("should call stop discovering",async()=>{vi.spyOn(e,"stopDiscovering").mockImplementation(vi.fn()),vi.spyOn(r,"stopDiscovering").mockImplementation(async()=>Promise.resolve(void 0)),vi.spyOn(o,"getAllTransports").mockReturnValue(t),await new a.StopDiscoveringUseCase(o).execute(),expect(e.stopDiscovering).toHaveBeenCalled(),expect(r.stopDiscovering).toHaveBeenCalled()})});
2
2
  //# sourceMappingURL=StopDiscoveringUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/StopDiscoveringUseCase.test.ts"],
4
- "sourcesContent": ["import { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StopDiscoveringUseCase } from \"./StopDiscoveringUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[];\nlet transportService: TransportService;\n\ndescribe(\"StopDiscoveringUseCase\", () => {\n beforeEach(() => {\n transport = new TransportMock();\n transports = [transport];\n // @ts-expect-error mock\n transportService = new DefaultTransportService(transports);\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n test(\"should call stop discovering\", () => {\n const mockedStopDiscovering = vi.fn();\n vi.spyOn(transport, \"stopDiscovering\").mockImplementation(\n mockedStopDiscovering,\n );\n\n vi.spyOn(transportService, \"getAllTransports\").mockReturnValue(transports);\n\n const usecase = new StopDiscoveringUseCase(transportService);\n\n usecase.execute();\n\n expect(mockedStopDiscovering).toHaveBeenCalled();\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA8B,wDAE9BC,EAAwC,+DAGxCC,EAAuC,oCAEvC,GAAG,KAAK,qDAAqD,EAG7D,IAAIC,EACAC,EACAC,EAEJ,SAAS,yBAA0B,IAAM,CACvC,WAAW,IAAM,CACfF,EAAY,IAAI,gBAChBC,EAAa,CAACD,CAAS,EAEvBE,EAAmB,IAAI,0BAAwBD,CAAU,CAC3D,CAAC,EAED,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,KAAK,+BAAgC,IAAM,CACzC,MAAME,EAAwB,GAAG,GAAG,EACpC,GAAG,MAAMH,EAAW,iBAAiB,EAAE,mBACrCG,CACF,EAEA,GAAG,MAAMD,EAAkB,kBAAkB,EAAE,gBAAgBD,CAAU,EAEzD,IAAI,yBAAuBC,CAAgB,EAEnD,QAAQ,EAEhB,OAAOC,CAAqB,EAAE,iBAAiB,CACjD,CAAC,CACH,CAAC",
6
- "names": ["import_TransportMock", "import_DefaultTransportService", "import_StopDiscoveringUseCase", "transport", "transports", "transportService", "mockedStopDiscovering"]
4
+ "sourcesContent": ["import { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { StopDiscoveringUseCase } from \"./StopDiscoveringUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\n// TODO test several transports\nlet transport: Transport;\nlet transport2: Transport;\nlet transports: Transport[];\nlet transportService: TransportService;\n\ndescribe(\"StopDiscoveringUseCase\", () => {\n beforeEach(() => {\n transport = new TransportMock();\n transport2 = new TransportMock();\n transports = [transport, transport2];\n // @ts-expect-error mock\n transportService = new DefaultTransportService(transports);\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n test(\"should call stop discovering\", async () => {\n vi.spyOn(transport, \"stopDiscovering\").mockImplementation(vi.fn());\n vi.spyOn(transport2, \"stopDiscovering\").mockImplementation(async () =>\n Promise.resolve(undefined),\n );\n\n vi.spyOn(transportService, \"getAllTransports\").mockReturnValue(transports);\n\n const usecase = new StopDiscoveringUseCase(transportService);\n\n await usecase.execute();\n\n expect(transport.stopDiscovering).toHaveBeenCalled();\n expect(transport2.stopDiscovering).toHaveBeenCalled();\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA8B,wDAE9BC,EAAwC,+DAGxCC,EAAuC,oCAEvC,GAAG,KAAK,qDAAqD,EAG7D,IAAIC,EACAC,EACAC,EACAC,EAEJ,SAAS,yBAA0B,IAAM,CACvC,WAAW,IAAM,CACfH,EAAY,IAAI,gBAChBC,EAAa,IAAI,gBACjBC,EAAa,CAACF,EAAWC,CAAU,EAEnCE,EAAmB,IAAI,0BAAwBD,CAAU,CAC3D,CAAC,EAED,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,KAAK,+BAAgC,SAAY,CAC/C,GAAG,MAAMF,EAAW,iBAAiB,EAAE,mBAAmB,GAAG,GAAG,CAAC,EACjE,GAAG,MAAMC,EAAY,iBAAiB,EAAE,mBAAmB,SACzD,QAAQ,QAAQ,MAAS,CAC3B,EAEA,GAAG,MAAME,EAAkB,kBAAkB,EAAE,gBAAgBD,CAAU,EAIzE,MAFgB,IAAI,yBAAuBC,CAAgB,EAE7C,QAAQ,EAEtB,OAAOH,EAAU,eAAe,EAAE,iBAAiB,EACnD,OAAOC,EAAW,eAAe,EAAE,iBAAiB,CACtD,CAAC,CACH,CAAC",
6
+ "names": ["import_TransportMock", "import_DefaultTransportService", "import_StopDiscoveringUseCase", "transport", "transport2", "transports", "transportService"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var d=Object.create;var o=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var E=(i,r)=>{for(var e in r)o(i,e,{get:r[e],enumerable:!0})},f=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of w(r))!F.call(i,p)&&p!==e&&o(i,p,{get:()=>r[p],enumerable:!(t=h(r,p))||t.enumerable});return i};var V=(i,r,e)=>(e=i!=null?d(T(i)):{},f(r||!i||!i.__esModule?o(e,"default",{value:i,enumerable:!0}):e,i)),_=i=>f(o({},"__esModule",{value:!0}),i),v=(i,r,e,t)=>{for(var p=t>1?void 0:t?h(r,e):r,a=i.length-1,g;a>=0;a--)(g=i[a])&&(p=(t?g(r,e,p):g(p))||p);return t&&p&&o(r,e,p),p},u=(i,r)=>(e,t)=>r(e,t,i);var B={};E(B,{AxiosManagerApiDataSource:()=>A});module.exports=_(B);var n=V(require("axios")),y=require("inversify"),s=require("purify-ts"),D=require("../../manager-api/di/managerApiTypes"),m=require("../../manager-api/model/Application"),c=require("../../manager-api/model/Errors"),l=require("./ManagerApiDto");let A=class{managerApiBaseUrl;constructor({managerApiUrl:r}){this.managerApiBaseUrl=r}getAppList(r){const{targetId:e,provider:t,firmwareVersionName:p}=r;return(0,s.EitherAsync)(()=>n.default.get(`${this.managerApiBaseUrl}/v2/apps/by-target`,{params:{target_id:e,provider:t,firmware_version_name:p}})).map(a=>a.data).mapLeft(a=>new c.HttpFetchApiError(a))}getDeviceVersion(r){const{targetId:e,provider:t}=r;return(0,s.EitherAsync)(()=>n.default.get(`${this.managerApiBaseUrl}/get_device_version`,{params:{target_id:e,provider:t}})).map(p=>p.data).mapLeft(p=>new c.HttpFetchApiError(p))}getFirmwareVersion(r){const{deviceId:e,version:t,provider:p}=r;return(0,s.EitherAsync)(()=>n.default.get(`${this.managerApiBaseUrl}/get_firmware_version`,{params:{device_version:e,version_name:t,provider:p}})).map(a=>a.data).mapLeft(a=>new c.HttpFetchApiError(a))}getAppsByHash(r){const{hashes:e}=r;return(0,s.EitherAsync)(()=>n.default.post(`${this.managerApiBaseUrl}/v2/apps/hash`,e)).map(t=>t.data).map(t=>this.mapApplicationDtoToApplication(t)).mapLeft(t=>new c.HttpFetchApiError(t))}mapAppTypeDtoToAppType(r){switch(r){case l.AppTypeDto.currency:return m.AppType.currency;case l.AppTypeDto.plugin:return m.AppType.plugin;case l.AppTypeDto.tool:return m.AppType.tool;case l.AppTypeDto.swap:return m.AppType.swap}}mapApplicationDtoToApplication(r){return r.map(e=>{if(e===null)return null;const{applicationType:t,...p}=e;return{...p,applicationType:this.mapAppTypeDtoToAppType(t)}})}};A=v([(0,y.injectable)(),u(0,(0,y.inject)(D.managerApiTypes.DmkConfig))],A);0&&(module.exports={AxiosManagerApiDataSource});
1
+ "use strict";var D=Object.create;var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var E=(i,r)=>{for(var e in r)a(i,e,{get:r[e],enumerable:!0})},g=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of w(r))!F.call(i,p)&&p!==e&&a(i,p,{get:()=>r[p],enumerable:!(t=h(r,p))||t.enumerable});return i};var P=(i,r,e)=>(e=i!=null?D(T(i)):{},g(r||!i||!i.__esModule?a(e,"default",{value:i,enumerable:!0}):e,i)),V=i=>g(a({},"__esModule",{value:!0}),i),u=(i,r,e,t)=>{for(var p=t>1?void 0:t?h(r,e):r,y=i.length-1,v;y>=0;y--)(v=i[y])&&(p=(t?v(r,e,p):v(p))||p);return t&&p&&a(r,e,p),p},d=(i,r)=>(e,t)=>r(e,t,i);var B={};E(B,{AxiosManagerApiDataSource:()=>A});module.exports=V(B);var o=P(require("axios")),l=require("inversify"),n=require("purify-ts"),f=require("../../manager-api/di/managerApiTypes"),s=require("../../manager-api/model/Application"),_=require("../../manager-api/model/Const"),m=require("../../manager-api/model/Errors"),c=require("./ManagerApiDto");let A=class{_managerApiBaseUrl;_provider=_.DEFAULT_PROVIDER;constructor({managerApiUrl:r,provider:e}){this._managerApiBaseUrl=r,this._provider=e}setProvider(r){this._provider===r||r<1||(this._provider=r)}getProvider(){return this._provider}getAppList(r){const{targetId:e,firmwareVersionName:t}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/v2/apps/by-target`,{params:{target_id:e,provider:this._provider,firmware_version_name:t}})).map(p=>p.data).mapLeft(p=>new m.HttpFetchApiError(p))}getDeviceVersion(r){const{targetId:e}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/get_device_version`,{params:{target_id:e,provider:this._provider}})).map(t=>t.data).mapLeft(t=>new m.HttpFetchApiError(t))}getFirmwareVersion(r){const{deviceId:e,version:t}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/get_firmware_version`,{params:{device_version:e,version_name:t,provider:this._provider}})).map(p=>p.data).mapLeft(p=>new m.HttpFetchApiError(p))}getAppsByHash(r){const{hashes:e}=r;return(0,n.EitherAsync)(()=>o.default.post(`${this._managerApiBaseUrl}/v2/apps/hash`,e)).map(t=>t.data).map(t=>this.mapApplicationDtoToApplication(t)).mapLeft(t=>new m.HttpFetchApiError(t))}mapAppTypeDtoToAppType(r){switch(r){case c.AppTypeDto.currency:return s.AppType.currency;case c.AppTypeDto.plugin:return s.AppType.plugin;case c.AppTypeDto.tool:return s.AppType.tool;case c.AppTypeDto.swap:return s.AppType.swap}}mapApplicationDtoToApplication(r){return r.map(e=>{if(e===null)return null;const{applicationType:t,...p}=e;return{...p,applicationType:this.mapAppTypeDtoToAppType(t)}})}};A=u([(0,l.injectable)(),d(0,(0,l.inject)(f.managerApiTypes.DmkConfig))],A);0&&(module.exports={AxiosManagerApiDataSource});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly managerApiBaseUrl: string;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl }: DmkConfig,\n ) {\n this.managerApiBaseUrl = managerApiUrl;\n }\n\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]> {\n const { targetId, provider, firmwareVersionName } = params;\n return EitherAsync(() =>\n axios.get<Application[]>(`${this.managerApiBaseUrl}/v2/apps/by-target`, {\n params: {\n target_id: targetId,\n provider,\n firmware_version_name: firmwareVersionName,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n const { targetId, provider } = params;\n return EitherAsync(() =>\n axios.get<DeviceVersion>(`${this.managerApiBaseUrl}/get_device_version`, {\n params: {\n target_id: targetId,\n provider,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n const { deviceId, version, provider } = params;\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this.managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n const { hashes } = params;\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this.managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n const { applicationType, ...rest } = app;\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
- "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmC,qBACnCC,EAA4B,qBAG5BC,EAAgC,oDAChCC,EAGO,mDAEPC,EAAkC,8CAUlCC,EAA2C,2BAGpC,IAAMC,EAAN,KAAgE,CACpD,kBAEjB,YAEE,CAAE,cAAAC,CAAc,EAChB,CACA,KAAK,kBAAoBA,CAC3B,CAEA,WACEC,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,SAAAC,EAAU,oBAAAC,CAAoB,EAAIH,EACpD,SAAO,eAAY,IACjB,EAAAI,QAAM,IAAmB,GAAG,KAAK,iBAAiB,qBAAsB,CACtE,OAAQ,CACN,UAAWH,EACX,SAAAC,EACA,sBAAuBC,CACzB,CACF,CAAC,CACH,EACG,IAAKE,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,iBACEN,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAIF,EAC/B,SAAO,eAAY,IACjB,EAAAI,QAAM,IAAmB,GAAG,KAAK,iBAAiB,sBAAuB,CACvE,OAAQ,CACN,UAAWH,EACX,SAAAC,CACF,CACF,CAAC,CACH,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,mBACEN,EAC+C,CAC/C,KAAM,CAAE,SAAAO,EAAU,QAAAC,EAAS,SAAAN,CAAS,EAAIF,EACxC,SAAO,eAAY,IACjB,EAAAI,QAAM,IACJ,GAAG,KAAK,iBAAiB,wBACzB,CACE,OAAQ,CACN,eAAgBG,EAChB,aAAcC,EACd,SAAAN,CACF,CACF,CACF,CACF,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,cACEN,EAC2D,CAC3D,KAAM,CAAE,OAAAS,CAAO,EAAIT,EACnB,SAAO,eAAY,IACjB,EAAAI,QAAM,KACJ,GAAG,KAAK,iBAAiB,gBACzBK,CACF,CACF,EACG,IAAKJ,GAAQA,EAAI,IAAI,EACrB,IAAKK,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASJ,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEQ,uBAAuBK,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAK,aAAW,SACd,OAAO,UAAQ,SACjB,KAAK,aAAW,OACd,OAAO,UAAQ,OACjB,KAAK,aAAW,KACd,OAAO,UAAQ,KACjB,KAAK,aAAW,KACd,OAAO,UAAQ,IACnB,CACF,CAEQ,+BACND,EAC2B,CAC3B,OAAOA,EAAK,IAAKE,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAET,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EACrC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EAzGaf,EAANiB,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,kBAAgB,SAAS,IAJxBlB",
6
- "names": ["AxiosManagerApiDataSource_exports", "__export", "AxiosManagerApiDataSource", "__toCommonJS", "import_axios", "import_inversify", "import_purify_ts", "import_managerApiTypes", "import_Application", "import_Errors", "import_ManagerApiDto", "AxiosManagerApiDataSource", "managerApiUrl", "params", "targetId", "provider", "firmwareVersionName", "axios", "res", "error", "deviceId", "version", "hashes", "apps", "appType", "app", "applicationType", "rest", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { DEFAULT_PROVIDER } from \"@internal/manager-api/model/Const\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly _managerApiBaseUrl: string;\n private _provider: number = DEFAULT_PROVIDER;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, provider }: DmkConfig,\n ) {\n this._managerApiBaseUrl = managerApiUrl;\n this._provider = provider;\n }\n\n setProvider(provider: number): void {\n if (this._provider === provider || provider < 1) {\n return;\n }\n this._provider = provider;\n }\n\n getProvider(): number {\n return this._provider;\n }\n\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]> {\n const { targetId, firmwareVersionName } = params;\n return EitherAsync(() =>\n axios.get<Application[]>(`${this._managerApiBaseUrl}/v2/apps/by-target`, {\n params: {\n target_id: targetId,\n provider: this._provider,\n firmware_version_name: firmwareVersionName,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n const { targetId } = params;\n return EitherAsync(() =>\n axios.get<DeviceVersion>(\n `${this._managerApiBaseUrl}/get_device_version`,\n {\n params: {\n target_id: targetId,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n const { deviceId, version } = params;\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this._managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n const { hashes } = params;\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this._managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n const { applicationType, ...rest } = app;\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
+ "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmC,qBACnCC,EAA4B,qBAG5BC,EAAgC,oDAChCC,EAGO,mDACPC,EAAiC,6CAEjCC,EAAkC,8CAUlCC,EAA2C,2BAGpC,IAAMC,EAAN,KAAgE,CACpD,mBACT,UAAoB,mBAE5B,YAEE,CAAE,cAAAC,EAAe,SAAAC,CAAS,EAC1B,CACA,KAAK,mBAAqBD,EAC1B,KAAK,UAAYC,CACnB,CAEA,YAAYA,EAAwB,CAC9B,KAAK,YAAcA,GAAYA,EAAW,IAG9C,KAAK,UAAYA,EACnB,CAEA,aAAsB,CACpB,OAAO,KAAK,SACd,CAEA,WACEC,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,oBAAAC,CAAoB,EAAIF,EAC1C,SAAO,eAAY,IACjB,EAAAG,QAAM,IAAmB,GAAG,KAAK,kBAAkB,qBAAsB,CACvE,OAAQ,CACN,UAAWF,EACX,SAAU,KAAK,UACf,sBAAuBC,CACzB,CACF,CAAC,CACH,EACG,IAAKE,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,iBACEL,EAC+C,CAC/C,KAAM,CAAE,SAAAC,CAAS,EAAID,EACrB,SAAO,eAAY,IACjB,EAAAG,QAAM,IACJ,GAAG,KAAK,kBAAkB,sBAC1B,CACE,OAAQ,CACN,UAAWF,EACX,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,mBACEL,EAC+C,CAC/C,KAAM,CAAE,SAAAM,EAAU,QAAAC,CAAQ,EAAIP,EAC9B,SAAO,eAAY,IACjB,EAAAG,QAAM,IACJ,GAAG,KAAK,kBAAkB,wBAC1B,CACE,OAAQ,CACN,eAAgBG,EAChB,aAAcC,EACd,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKH,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,cACEL,EAC2D,CAC3D,KAAM,CAAE,OAAAQ,CAAO,EAAIR,EACnB,SAAO,eAAY,IACjB,EAAAG,QAAM,KACJ,GAAG,KAAK,kBAAkB,gBAC1BK,CACF,CACF,EACG,IAAKJ,GAAQA,EAAI,IAAI,EACrB,IAAKK,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASJ,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEQ,uBAAuBK,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAK,aAAW,SACd,OAAO,UAAQ,SACjB,KAAK,aAAW,OACd,OAAO,UAAQ,OACjB,KAAK,aAAW,KACd,OAAO,UAAQ,KACjB,KAAK,aAAW,KACd,OAAO,UAAQ,IACnB,CACF,CAEQ,+BACND,EAC2B,CAC3B,OAAOA,EAAK,IAAKE,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAET,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EACrC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EAzHaf,EAANiB,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,kBAAgB,SAAS,IALxBlB",
6
+ "names": ["AxiosManagerApiDataSource_exports", "__export", "AxiosManagerApiDataSource", "__toCommonJS", "import_axios", "import_inversify", "import_purify_ts", "import_managerApiTypes", "import_Application", "import_Const", "import_Errors", "import_ManagerApiDto", "AxiosManagerApiDataSource", "managerApiUrl", "provider", "params", "targetId", "firmwareVersionName", "axios", "res", "error", "deviceId", "version", "hashes", "apps", "appType", "app", "applicationType", "rest", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.create;var l=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var w=(r,e,a,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of g(e))!v.call(r,c)&&c!==a&&l(r,c,{get:()=>e[c],enumerable:!(p=h(e,c))||p.enumerable});return r};var A=(r,e,a)=>(a=r!=null?m(f(r)):{},w(e||!r||!r.__esModule?l(a,"default",{value:r,enumerable:!0}):a,r));var o=A(require("axios")),s=require("purify-ts"),t=require("../../../api/device-action/__test-utils__/data"),n=require("../../manager-api/model/Errors"),i=require("./AxiosManagerApiDataSource");vi.mock("axios");const d={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppList",()=>{let r;beforeEach(()=>{r=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a list of applications",async()=>{const e=[t.BTC_APP_METADATA,t.CUSTOM_LOCK_SCREEN_APP_METADATA];vi.spyOn(o.default,"get").mockResolvedValue({data:e});const a=await r.getAppList({targetId:"targetId",provider:42,firmwareVersionName:"firmwareVersionName"});expect(a).toEqual((0,s.Right)(e))}),it("should return an error if the request fails",async()=>{const e=new Error("fetch error");vi.spyOn(o.default,"get").mockRejectedValue(e);const a=await r.getAppList({targetId:"targetId",provider:42,firmwareVersionName:"firmwareVersionName"});expect(a).toEqual((0,s.Left)(new n.HttpFetchApiError(e)))})}),describe("getAppsByHash",()=>{describe("success cases",()=>{let r;beforeEach(()=>{r=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(o.default,"post").mockResolvedValue({data:[t.BTC_APP_METADATA]});const e=[t.BTC_APP.appFullHash],a=await r.getAppsByHash({hashes:e});expect(a).toEqual((0,s.Right)([t.BTC_APP_METADATA]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(o.default,"post").mockResolvedValue({data:[]});const e=[],a=await r.getAppsByHash({hashes:e});expect(a).toEqual((0,s.Right)([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(o.default,"post").mockResolvedValue({data:[t.BTC_APP_METADATA,t.CUSTOM_LOCK_SCREEN_APP_METADATA]});const e=[t.BTC_APP.appFullHash,t.CUSTOM_LOCK_SCREEN_APP.appFullHash],a=await r.getAppsByHash({hashes:e});expect(a).toEqual((0,s.Right)([t.BTC_APP_METADATA,t.CUSTOM_LOCK_SCREEN_APP_METADATA]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",async()=>{const r=new i.AxiosManagerApiDataSource({}),e=new Error("fetch error");vi.spyOn(o.default,"post").mockRejectedValue(e);const a=[t.BTC_APP.appFullHash],p=await r.getAppsByHash({hashes:a});expect(p).toEqual((0,s.Left)(new n.HttpFetchApiError(e)))})})}),describe("getDeviceVersion",()=>{let r;beforeEach(()=>{r=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",async()=>{vi.spyOn(o.default,"get").mockResolvedValue({data:d});const e=await r.getDeviceVersion({targetId:"targetId",provider:42});expect(e).toEqual((0,s.Right)(d))}),it("should return an error if the request fails",async()=>{const e=new Error("fetch error");vi.spyOn(o.default,"get").mockRejectedValue(e);const a=await r.getDeviceVersion({targetId:"targetId",provider:42});expect(a).toEqual((0,s.Left)(new n.HttpFetchApiError(e)))})}),describe("getFirmwareVersion",()=>{let r;beforeEach(()=>{r=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",async()=>{vi.spyOn(o.default,"get").mockResolvedValue({data:u});const e=await r.getFirmwareVersion({version:"versionName",deviceId:42,provider:21});expect(e).toEqual((0,s.Right)(u))}),it("should return an error if the request fails",async()=>{const e=new Error("fetch error");vi.spyOn(o.default,"get").mockRejectedValue(e);const a=await r.getFirmwareVersion({version:"versionName",deviceId:42,provider:21});expect(a).toEqual((0,s.Left)(new n.HttpFetchApiError(e)))})})});
1
+ "use strict";var h=Object.create;var d=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var w=(e,r,t,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of m(r))!f.call(e,n)&&n!==t&&d(e,n,{get:()=>r[n],enumerable:!(p=v(r,n))||p.enumerable});return e};var A=(e,r,t)=>(t=e!=null?h(g(e)):{},w(r||!e||!e.__esModule?d(t,"default",{value:e,enumerable:!0}):t,e));var s=A(require("axios")),o=require("purify-ts"),a=require("../../../api/device-action/__test-utils__/data"),c=require("../../manager-api/model/Errors"),i=require("./AxiosManagerApiDataSource");vi.mock("axios");const l={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppList",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a list of applications",async()=>{const r=[a.BTC_APP_METADATA,a.CUSTOM_LOCK_SCREEN_APP_METADATA];vi.spyOn(s.default,"get").mockResolvedValue({data:r});const t=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(t).toEqual((0,o.Right)(r))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const t=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(t).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("getAppsByHash",()=>{describe("success cases",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[a.BTC_APP_METADATA]});const r=[a.BTC_APP.appFullHash],t=await e.getAppsByHash({hashes:r});expect(t).toEqual((0,o.Right)([a.BTC_APP_METADATA]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[]});const r=[],t=await e.getAppsByHash({hashes:r});expect(t).toEqual((0,o.Right)([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[a.BTC_APP_METADATA,a.CUSTOM_LOCK_SCREEN_APP_METADATA]});const r=[a.BTC_APP.appFullHash,a.CUSTOM_LOCK_SCREEN_APP.appFullHash],t=await e.getAppsByHash({hashes:r});expect(t).toEqual((0,o.Right)([a.BTC_APP_METADATA,a.CUSTOM_LOCK_SCREEN_APP_METADATA]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",async()=>{const e=new i.AxiosManagerApiDataSource({}),r=new Error("fetch error");vi.spyOn(s.default,"post").mockRejectedValue(r);const t=[a.BTC_APP.appFullHash],p=await e.getAppsByHash({hashes:t});expect(p).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})})}),describe("getDeviceVersion",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",async()=>{vi.spyOn(s.default,"get").mockResolvedValue({data:l});const r=await e.getDeviceVersion({targetId:"targetId"});expect(r).toEqual((0,o.Right)(l))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const t=await e.getDeviceVersion({targetId:"targetId"});expect(t).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("getFirmwareVersion",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",async()=>{vi.spyOn(s.default,"get").mockResolvedValue({data:u});const r=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(r).toEqual((0,o.Right)(u))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const t=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(t).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("setProvider",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({managerApiUrl:"http://fake-url.com",provider:1})}),it("should not change the provider if the new value is the same",()=>{const r=e._provider;e.setProvider(r),expect(e._provider).toBe(r)}),it("should not change the provider if the new value is less than 1",()=>{const r=e._provider;e.setProvider(0),e.setProvider(-5),expect(e._provider).toBe(r)}),it("should update the provider if a valid and different value is provided",()=>{e.setProvider(2),expect(e._provider).toBe(2)})}),describe("getProvider",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({managerApiUrl:"http://fake-url.com",provider:123})}),afterEach(()=>{vi.clearAllMocks()}),it("should return the initial provider",()=>{expect(e.getProvider()).toBe(123)}),it("should return the updated provider after setProvider is called",()=>{e.setProvider(321),expect(e.getProvider()).toBe(321)})})});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.test.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA];\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: apps });\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n provider: 42,\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Right(apps));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n provider: 42,\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA],\n });\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\n });\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n });\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = await api.getAppsByHash({ hashes });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n provider: 42,\n });\n\n // then\n expect(response).toEqual(Right(mockGetDeviceVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n provider: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n provider: 21,\n });\n\n // then\n expect(response).toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n provider: 21,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_axios", "import_purify_ts", "import_data", "import_Errors", "import_AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "apps", "axios", "response", "error", "hashes", "err"]
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA];\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: apps });\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Right(apps));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA],\n });\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [],\n });\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n });\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = await api.getAppsByHash({ hashes });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right(mockGetDeviceVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").mockRejectedValue(error);\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"setProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 1,\n } as DmkConfig);\n });\n\n it(\"should not change the provider if the new value is the same\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(initialProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should not change the provider if the new value is less than 1\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(0); // invalid\n api.setProvider(-5); // invalid\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should update the provider if a valid and different value is provided\", () => {\n // given\n const newProvider = 2;\n\n // when\n api.setProvider(newProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n newProvider,\n );\n });\n });\n describe(\"getProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should return the initial provider\", () => {\n expect(api.getProvider()).toBe(123);\n });\n\n it(\"should return the updated provider after setProvider is called\", () => {\n api.setProvider(321);\n expect(api.getProvider()).toBe(321);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_axios", "import_purify_ts", "import_data", "import_Errors", "import_AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "apps", "axios", "response", "error", "hashes", "err", "initialProvider"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var n=(e,r,a,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of o(r))!m.call(e,t)&&t!==a&&i(e,t,{get:()=>r[t],enumerable:!(p=s(r,t))||p.enumerable});return e};var A=e=>n(i({},"__esModule",{value:!0}),e);var c={};module.exports=A(c);
1
+ "use strict";var p=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var n=(e,r,a,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of s(r))!m.call(e,t)&&t!==a&&p(e,t,{get:()=>r[t],enumerable:!(i=o(r,t))||i.enumerable});return e};var A=e=>n(p({},"__esModule",{value:!0}),e);var c={};module.exports=A(c);
2
2
  //# sourceMappingURL=ManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/ManagerApiDataSource.ts"],
4
- "sourcesContent": ["import { type EitherAsync } from \"purify-ts\";\n\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\n/**\n * Interface representing a data source for the Manager API.\n */\nexport interface ManagerApiDataSource {\n /**\n * Retrieves the list of applications for a given target ID, provider, and firmware version.\n *\n * @param params - The parameters for getting the application list.\n * @returns EitherAsync containing an array of applications or an HttpFetchApiError.\n */\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]>;\n\n /**\n * Retrieves applications by their hashes.\n *\n * @param hashes - An array of application hashes, can be got from the response of the ListAppsCommand.\n * @returns EitherAsync containing an array of applications or null values, or an HttpFetchApiError.\n */\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>>;\n\n /**\n * Retrieves the device version for a given target ID and provider.\n *\n * @param params - The parameters for getting the device version.\n * @returns EitherAsync containing the device version or an HttpFetchApiError.\n */\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion>;\n\n /**\n * Retrieves the firmware version for a given version, device ID, and provider.\n *\n * @param params - The parameters for getting the firmware version.\n * @returns EitherAsync containing the final firmware or an HttpFetchApiError.\n */\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n}\n"],
4
+ "sourcesContent": ["import { type EitherAsync } from \"purify-ts\";\n\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\n/**\n * Interface representing a data source for the Manager API.\n */\nexport interface ManagerApiDataSource {\n /**\n * Retrieves the list of applications for a given target ID, provider, and firmware version.\n *\n * @param params - The parameters for getting the application list.\n * @returns EitherAsync containing an array of applications or an HttpFetchApiError.\n */\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]>;\n\n /**\n * Retrieves applications by their hashes.\n *\n * @param hashes - An array of application hashes, can be got from the response of the ListAppsCommand.\n * @returns EitherAsync containing an array of applications or null values, or an HttpFetchApiError.\n */\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>>;\n\n /**\n * Retrieves the device version for a given target ID and provider.\n *\n * @param params - The parameters for getting the device version.\n * @returns EitherAsync containing the device version or an HttpFetchApiError.\n */\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion>;\n\n /**\n * Retrieves the firmware version for a given version, device ID, and provider.\n *\n * @param params - The parameters for getting the firmware version.\n * @returns EitherAsync containing the final firmware or an HttpFetchApiError.\n */\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Sets the provider identifier.\n *\n * @param provider - The provider identifier.\n */\n setProvider(provider: number): void;\n\n /**\n * Returns the current provider.\n */\n getProvider(): number;\n}\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["ManagerApiDataSource_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var g=(a,e)=>{for(var r in e)t(a,r,{get:e[r],enumerable:!0})},A=(a,e,r,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of o(e))!s.call(a,i)&&i!==r&&t(a,i,{get:()=>e[i],enumerable:!(p=n(e,i))||p.enumerable});return a};var c=a=>A(t({},"__esModule",{value:!0}),a);var m={};g(m,{AxiosManagerApiDataSource:()=>f});module.exports=c(m);class f{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn()}0&&(module.exports={AxiosManagerApiDataSource});
1
+ "use strict";var t=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var v=(i,e)=>{for(var a in e)t(i,a,{get:e[a],enumerable:!0})},g=(i,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!s.call(i,r)&&r!==a&&t(i,r,{get:()=>e[r],enumerable:!(n=o(e,r))||n.enumerable});return i};var f=i=>g(t({},"__esModule",{value:!0}),i);var c={};v(c,{AxiosManagerApiDataSource:()=>A});module.exports=f(c);class A{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn();setProvider=vi.fn();getProvider=vi.fn()}0&&(module.exports={AxiosManagerApiDataSource});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,CAA0D,CACrE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,CACxB",
4
+ "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n setProvider = vi.fn();\n getProvider = vi.fn();\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,CAA0D,CACrE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,YAAc,GAAG,GAAG,CACtB",
6
6
  "names": ["AxiosManagerApiDataSource_exports", "__export", "AxiosManagerApiDataSource", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var M=(r,o)=>{for(var a in o)p(r,a,{get:o[a],enumerable:!0})},D=(r,o,a,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of s(o))!A.call(r,e)&&e!==a&&p(r,e,{get:()=>o[e],enumerable:!(i=u(o,e))||i.enumerable});return r};var S=r=>D(p({},"__esModule",{value:!0}),r);var C={};M(C,{managerApiModuleFactory:()=>y});module.exports=S(C);var f=require("inversify"),g=require("../../manager-api/data/AxiosManagerApiDataSource"),c=require("../../manager-api/service/DefaultManagerApiService"),n=require("../../../../src/di.stub"),t=require("./managerApiTypes");const y=({stub:r,config:o})=>new f.ContainerModule((a,i,e,m)=>{a(t.managerApiTypes.DmkConfig).toConstantValue(o),a(t.managerApiTypes.ManagerApiDataSource).to(g.AxiosManagerApiDataSource),a(t.managerApiTypes.ManagerApiService).to(c.DefaultManagerApiService),r&&(m(t.managerApiTypes.ManagerApiDataSource).to(n.StubUseCase),m(t.managerApiTypes.ManagerApiService).to(n.StubUseCase))});0&&(module.exports={managerApiModuleFactory});
1
+ "use strict";var m=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var C=(e,o)=>{for(var r in o)m(e,r,{get:o[r],enumerable:!0})},M=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of u(o))!A.call(e,a)&&a!==r&&m(e,a,{get:()=>o[a],enumerable:!(n=f(o,a))||n.enumerable});return e};var l=e=>M(m({},"__esModule",{value:!0}),e);var v={};C(v,{managerApiModuleFactory:()=>D});module.exports=l(v);var s=require("inversify"),g=require("../../manager-api/data/AxiosManagerApiDataSource"),S=require("../../manager-api/service/DefaultManagerApiService"),c=require("../../manager-api/use-case/SetProviderUseCase"),i=require("../../../../src/di.stub"),t=require("./managerApiTypes");const D=({stub:e,config:o})=>new s.ContainerModule((r,n,a,p)=>{r(t.managerApiTypes.DmkConfig).toConstantValue(o),r(t.managerApiTypes.ManagerApiDataSource).to(g.AxiosManagerApiDataSource).inSingletonScope(),r(t.managerApiTypes.ManagerApiService).to(S.DefaultManagerApiService).inSingletonScope(),r(t.managerApiTypes.SetProviderUseCase).to(c.SetProviderUseCase),e&&(p(t.managerApiTypes.ManagerApiDataSource).to(i.StubUseCase),p(t.managerApiTypes.ManagerApiService).to(i.StubUseCase),p(t.managerApiTypes.SetProviderUseCase).to(i.StubUseCase))});0&&(module.exports={managerApiModuleFactory});
2
2
  //# sourceMappingURL=managerApiModule.js.map