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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/README.md +27 -31
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/package.json +12 -8
  4. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  6. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +1 -1
  9. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  10. package/lib/cjs/src/api/DmkConfig.js +1 -1
  11. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  12. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  13. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  14. package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
  15. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
  16. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  17. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  18. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  19. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  20. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  21. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  22. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
  23. package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
  24. package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
  25. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  26. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  27. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  28. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  29. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  30. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  31. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  32. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  33. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  34. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  35. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  36. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  37. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  38. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  39. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  40. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  41. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  42. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  43. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  44. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  45. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  46. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  47. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  48. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  49. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  50. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  51. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  52. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  53. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  54. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  55. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  56. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  57. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  58. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  59. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  60. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  61. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  62. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  63. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  64. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  65. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  66. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
  67. package/lib/cjs/src/api/index.js +1 -1
  68. package/lib/cjs/src/api/index.js.map +3 -3
  69. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  70. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  71. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  72. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  73. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  74. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  75. package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
  76. package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
  77. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  78. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  79. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  80. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  81. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  82. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  83. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  84. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  85. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  86. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  87. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  88. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  89. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  90. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  91. package/lib/cjs/src/api/types.js.map +1 -1
  92. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  93. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  94. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  95. package/lib/cjs/src/api/utils/HexaString.js.map +2 -2
  96. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  97. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  98. package/lib/cjs/src/di.js +1 -1
  99. package/lib/cjs/src/di.js.map +3 -3
  100. package/lib/cjs/src/di.stub.js +1 -1
  101. package/lib/cjs/src/di.stub.js.map +2 -2
  102. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  103. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  104. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  105. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  106. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  107. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  108. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  109. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  110. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  111. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  112. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  113. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  114. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  115. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  116. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  117. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  118. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  119. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  120. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  121. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  122. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  123. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  124. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  125. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  126. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  127. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  128. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  129. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  130. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  131. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  132. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  133. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  134. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  135. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  136. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  137. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  138. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  139. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  140. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  141. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  142. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  143. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  144. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  145. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  146. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  147. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  148. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  149. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  150. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  151. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  152. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  153. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  154. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  155. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  156. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  157. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  158. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  159. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  160. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  161. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  162. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  163. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  164. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  165. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  166. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  167. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  168. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  169. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  170. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  171. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  172. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  173. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  174. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  175. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  176. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  177. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  178. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  179. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  180. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  181. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  182. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  183. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  184. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  185. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  186. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  187. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  188. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  189. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  190. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  191. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  192. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  193. package/lib/cjs/src/internal/secure-channel/model/Params.js +2 -0
  194. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +7 -0
  195. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  196. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  197. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  198. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  199. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  200. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  201. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  202. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  203. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  204. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  205. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  206. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  207. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  208. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  209. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  210. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  211. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  212. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  213. package/lib/esm/package.json +12 -8
  214. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  215. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  216. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  217. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  218. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  219. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  220. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  221. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  222. package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
  223. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  224. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  225. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  226. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  227. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  228. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  229. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  230. package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
  231. package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
  232. package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
  233. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  234. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  235. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  236. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  237. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  238. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  239. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  240. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  241. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  242. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  243. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  244. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  245. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  246. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  247. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  248. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  249. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  250. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  251. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  252. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  253. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  254. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  255. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  256. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  257. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  258. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  259. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  260. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  261. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  262. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  263. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  264. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  265. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  266. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +1 -1
  267. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +3 -3
  268. package/lib/esm/src/api/index.js +1 -1
  269. package/lib/esm/src/api/index.js.map +3 -3
  270. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  271. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  272. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  273. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  274. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  275. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  276. package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
  277. package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
  278. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  279. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  280. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  281. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  282. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  283. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  284. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  285. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  286. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  287. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  288. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  289. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  290. package/lib/esm/src/api/utils/HexaString.js +1 -1
  291. package/lib/esm/src/api/utils/HexaString.js.map +2 -2
  292. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  293. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  294. package/lib/esm/src/di.js +1 -1
  295. package/lib/esm/src/di.js.map +3 -3
  296. package/lib/esm/src/di.stub.js +1 -1
  297. package/lib/esm/src/di.stub.js.map +2 -2
  298. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  299. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  300. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  301. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  302. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  303. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  304. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  305. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  306. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  307. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  308. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  309. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  310. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  311. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  312. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  313. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  314. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  315. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  316. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  317. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  318. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  319. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  320. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  321. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  322. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  323. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  324. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  325. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  326. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  327. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  328. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  329. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  330. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  331. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  332. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  333. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  334. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  335. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  336. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  337. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  338. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  339. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  340. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  341. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  342. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  343. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  344. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  345. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  346. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  347. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  348. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  349. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  350. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  351. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  352. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  353. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  354. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  355. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  356. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  357. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  358. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  359. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  360. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  361. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  362. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  363. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  364. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  365. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  366. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  367. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  368. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  369. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  370. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  371. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  372. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  373. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  374. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  375. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  376. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  377. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  378. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  379. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  380. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  381. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  382. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  383. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  384. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  385. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  386. package/lib/esm/src/internal/secure-channel/model/Params.js +1 -0
  387. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  388. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  389. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  390. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  391. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  392. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  393. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  394. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  395. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  396. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  397. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  398. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  399. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  400. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  401. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  402. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  403. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  404. package/lib/types/src/api/DeviceManagementKit.d.ts +1 -1
  405. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  406. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  407. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  408. package/lib/types/src/api/command/model/CommandResult.d.ts +1 -2
  409. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  410. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  411. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  412. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  413. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  414. package/lib/types/src/api/command/utils/CommandUtils.d.ts +1 -0
  415. package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
  416. package/lib/types/src/api/device-action/DeviceAction.d.ts +6 -1
  417. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  418. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  419. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  420. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  421. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  422. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  423. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  424. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  425. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  426. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  427. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  428. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  429. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  430. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  431. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +1 -0
  432. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  433. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  434. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
  435. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  436. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +5 -0
  437. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  438. package/lib/types/src/api/index.d.ts +3 -0
  439. package/lib/types/src/api/index.d.ts.map +1 -1
  440. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +1 -1
  441. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -1
  442. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
  443. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
  444. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +1 -1
  445. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -1
  446. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +60 -0
  447. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
  448. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
  449. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  450. package/lib/types/src/api/transport/model/Errors.d.ts +41 -26
  451. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  452. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
  453. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  454. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +7 -7
  455. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  456. package/lib/types/src/api/types.d.ts +2 -1
  457. package/lib/types/src/api/types.d.ts.map +1 -1
  458. package/lib/types/src/api/utils/HexaString.d.ts +1 -1
  459. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  460. package/lib/types/src/di.d.ts.map +1 -1
  461. package/lib/types/src/di.stub.d.ts +1 -1
  462. package/lib/types/src/di.stub.d.ts.map +1 -1
  463. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  464. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  465. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  466. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  467. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +10 -5
  468. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  469. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -1
  470. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  471. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +4 -2
  472. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  473. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -1
  474. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  475. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -1
  476. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  477. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +5 -5
  478. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -1
  479. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +4 -3
  480. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  481. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +24 -0
  482. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  483. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +3 -3
  484. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  485. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +4 -0
  486. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  487. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  488. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  489. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  490. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  491. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  492. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  493. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  494. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  495. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  496. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  497. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  498. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  499. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  500. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  501. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  502. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  503. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  504. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +8 -0
  505. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  506. package/lib/types/src/internal/secure-channel/model/Params.d.ts +86 -0
  507. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  508. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +21 -0
  509. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  510. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  511. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  512. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +21 -0
  513. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  514. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
  515. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  516. package/lib/types/src/internal/transport/service/TransportService.d.ts +2 -0
  517. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  518. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +7 -6
  519. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  520. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  521. package/package.json +13 -9
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/api/transport/model/DeviceConnectionStateMachine.ts"],
4
+ "sourcesContent": ["// import { createBrowserInspector } from \"@statelyai/inspect\";\nimport { type Either, Left, Maybe, Nothing, Right } from \"purify-ts\";\nimport { type Actor, assign, createActor, emit, setup } from \"xstate\";\n\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DmkError, UnknownDeviceExchangeError } from \"@api/Error\";\nimport { type DeviceId } from \"@api/types\";\n\nimport { type DeviceApduSender } from \"./DeviceApduSender\";\nimport {\n AlreadySendingApduError,\n DeviceDisconnectedBeforeSendingApdu,\n DeviceDisconnectedWhileSendingError,\n} from \"./Errors\";\n\n// const { inspect } = createBrowserInspector();\n\ntype DeviceDetachedEvent = {\n type: \"DeviceDetached\";\n};\n\ntype DeviceAttachedEvent = {\n type: \"DeviceAttached\";\n};\n\ntype ApduResponseReceived = {\n type: \"ApduResponseReceived\";\n apduResponse: ApduResponse;\n};\n\ntype ApduSendingError = {\n type: \"ApduSendingError\";\n error: DmkError;\n};\n\ntype SendApduCalled = {\n type: \"SendApduCalled\";\n apdu: Uint8Array;\n triggersDisconnection: boolean;\n responseCallback: (response: Either<DmkError, ApduResponse>) => void;\n};\n\ntype ReconnectionTimedOut = {\n type: \"ReconnectionTimedOut\";\n};\n\ntype CloseConnectionCalled = {\n type: \"CloseConnectionCalled\";\n};\n\nexport type DeviceConnectionEvent =\n | DeviceDetachedEvent\n | DeviceAttachedEvent\n | ApduResponseReceived\n | ApduSendingError\n | SendApduCalled\n | CloseConnectionCalled\n | ReconnectionTimedOut;\n\nexport class DeviceConnectionStateMachine<Dependencies> {\n private deviceId: DeviceId;\n private deviceAdpuSender: DeviceApduSender<Dependencies>;\n\n private machineActor: Actor<ReturnType<typeof makeStateMachine>>;\n\n private timeoutDuration: number;\n private timeout: ReturnType<typeof setTimeout> | null = null;\n\n startReconnectionTimeout() {\n this.timeout = setTimeout(() => {\n this.machineActor.send({ type: \"ReconnectionTimedOut\" });\n }, this.timeoutDuration);\n }\n\n constructor(params: {\n deviceId: DeviceId;\n deviceApduSender: DeviceApduSender<Dependencies>;\n timeoutDuration: number;\n onTerminated: () => void;\n }) {\n this.deviceId = params.deviceId;\n this.deviceAdpuSender = params.deviceApduSender;\n this.timeoutDuration = params.timeoutDuration;\n this.machineActor = createActor(\n makeStateMachine({\n sendApduFn: (apdu, triggersDisconnection) =>\n this.sendApduToDeviceConnection(apdu, triggersDisconnection),\n startReconnectionTimeout: () => this.startReconnectionTimeout(),\n cancelReconnectionTimeout: () => {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n },\n onTerminated: params.onTerminated,\n closeConnection: () => {\n this.deviceAdpuSender.closeConnection();\n },\n }),\n // {\n // // inspect,\n // },\n );\n this.machineActor.start();\n }\n\n private sendApduToDeviceConnection(\n apdu: Uint8Array,\n triggersDisconnection?: boolean,\n ) {\n console.log(\n \"[sendApduToDeviceConnection] called\",\n apdu,\n triggersDisconnection,\n );\n this.deviceAdpuSender\n .sendApdu(apdu, triggersDisconnection)\n .then((response) => {\n response.caseOf({\n Left: (error) => {\n console.log(\n \"[sendApduToDeviceConnection] got error response\",\n error,\n );\n this.machineActor.send({ type: \"ApduSendingError\", error });\n },\n Right: (apduResponse) => {\n console.log(\n \"[sendApduToDeviceConnection] got successful response\",\n apduResponse,\n );\n this.machineActor.send({\n type: \"ApduResponseReceived\",\n apduResponse,\n });\n },\n });\n })\n .catch((error) => {\n console.log(\"[sendApduToDeviceConnection] caught error\", error);\n this.machineActor.send({\n type: \"ApduSendingError\",\n error: new UnknownDeviceExchangeError(error),\n });\n });\n }\n\n /**\n * Called by the transport\n */\n\n public getDependencies(): Dependencies {\n return this.deviceAdpuSender.getDependencies();\n }\n\n public setDependencies(dependencies: Dependencies) {\n this.deviceAdpuSender.setDependencies(dependencies);\n }\n\n public getDeviceId() {\n return this.deviceId;\n }\n\n public sendApdu(\n apdu: Uint8Array,\n triggersDisconnection?: boolean,\n ): Promise<Either<DmkError, ApduResponse>> {\n return new Promise((responseCallback) => {\n this.machineActor.send({\n type: \"SendApduCalled\",\n apdu,\n triggersDisconnection: !!triggersDisconnection,\n responseCallback,\n });\n });\n }\n\n public async setupConnection() {\n await this.deviceAdpuSender.setupConnection();\n }\n\n // State Machine Events\n\n public eventDeviceAttached() {\n this.machineActor.send({ type: \"DeviceAttached\" });\n }\n\n public eventDeviceDetached() {\n this.machineActor.send({ type: \"DeviceDetached\" });\n }\n\n public closeConnection() {\n this.machineActor.send({ type: \"CloseConnectionCalled\" });\n }\n}\n\nfunction makeStateMachine({\n sendApduFn,\n startReconnectionTimeout,\n cancelReconnectionTimeout,\n onTerminated,\n closeConnection,\n}: {\n sendApduFn: (apdu: Uint8Array, triggersDisconnection: boolean) => void;\n startReconnectionTimeout: () => void;\n cancelReconnectionTimeout: () => void;\n onTerminated: () => void;\n closeConnection: () => void;\n}) {\n return setup({\n types: {} as {\n context: {\n apduInProgress: Maybe<{\n apdu: Uint8Array;\n triggersDisconnection: boolean;\n responseCallback: (response: Either<DmkError, ApduResponse>) => void;\n }>;\n };\n events: DeviceConnectionEvent;\n },\n actions: {\n // event transitions\n startTimer: () => {\n startReconnectionTimeout();\n },\n cancelTimer: () => {\n cancelReconnectionTimeout();\n },\n reconnectionTimeoutEvent: emit({ type: \"ReconnectionTimedOut\" }),\n sendApdu: ({ context }) => {\n context.apduInProgress.caseOf({\n Just: ({ apdu }) => {\n sendApduFn(apdu, false);\n },\n Nothing: () => {\n console.error(\"sendApdu called while no apdu in progress\");\n },\n });\n },\n sendApduResponse: (\n { context },\n params: { response: Either<DmkError, ApduResponse> },\n ) => {\n context.apduInProgress.caseOf({\n Just: ({ responseCallback }) => {\n responseCallback(params.response);\n },\n Nothing: () => {\n console.error(\"sendApduResponse called while no apdu in progress\");\n },\n });\n },\n cleanupContext: assign({ apduInProgress: Nothing }),\n signalTermination: () => {\n onTerminated();\n },\n closeConnection: async () => {\n try {\n await closeConnection(); // ASK: how do we handle errors ?\n } catch (e) {\n console.error(\"Error closing connection\", e);\n }\n },\n },\n guards: {\n isApduThatTriggersDisconnection: (\n { context },\n params: { apduResponse: ApduResponse },\n ) => {\n return context.apduInProgress.caseOf({\n Just: ({ triggersDisconnection, apdu }) => {\n const res =\n (triggersDisconnection ||\n CommandUtils.isApduThatTriggersDisconnection(apdu)) &&\n CommandUtils.isSuccessResponse(params.apduResponse);\n console.log(\"isApduThatTriggersDisconnection\", res, apdu);\n return res;\n },\n Nothing: () => false,\n });\n },\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QTANwJYGMwGED2AdgWJgC7qEB0+RJpkAxACJpZgukCGmAFpANoAGALqJQABzyx05QmJAAPRAA4A7AGZKywQEYAnAFYATMoAsBg6fUA2ADQgAnolUnKBjUdXXVpnUb0aAL6B9igY2DTEZBQE1IRR9BAMAMpgBBAAguIQAK44nAA2BQIi8pLSsgTySgjW6oKU6uo61kbWyh06Vsr2TgjqAZR6HUaWXcrqBmrBoawR8XQxcbRkjDgFUrgL0YT5RSWiSCDlMjHVKnrWjaO6ev6qlnp6vYim1qaN9YLqGuPKOjpVDMQGE2JFFlRUul0AQoFlcgx4TkAEpwSQEWBgVHYdCoA5lKSnORHGpNVSUPwGXQDQSmNTDF4IZTWPRDJotUw+HwAnTA0HzFaVShQiAwuHZHKIiWo2DozHYsC4gQ6Q4SQmVc79TxDIzqG6eJq+VSM94NPQ6CYuUzmQGCax8uZbQVLEVipFS3Ku2EAUQATr68L6hKrjuqziTEJNNHrTG1dIIDE8jLTGVTlJQboI2i56QZeSEQY7wTtYl7xQiWOF2GAuLx8UcThqIwh-OmdBZPF0qQCBoydIJlAZKK0jP4bHntBaHVXi0Ky+71ptZzE9sUIMGCRVw6Aau2dJQ6WZlMM-D9+89HIh++mbndVHpdNYLAnp2DtnO0qLYe6RUjV-W1S3Ykd0QABac1KFpbx3kHCxumNS9ak5SDTHNax0NUDRfFMV8BQSJYAHVOFOWEADFA2xd8YmYR0MlIWs+HXUoGzDYDFEQQx90mVozABJ9BAvPo6iuFpRgtQRdDUWNcKdfCqCIkioHI31KOdQgUk-P9CjXDcWKAqpmx0dR-gpCTaXNUxvh7RkvCHWlaWM9RfC6dCZOXeTiPIMiKJIKj1NUuSCAAFXQABbSAAHkclIXTAKJAyQIQLpBHJAEXB8AS1HvdRGT0a0D2ZZpBxjSc3L82IFK8pSfMwcqGEXTF3IIf8mJDRtt3YpLLPJZMWkmTtzJyxD+1UBofifVQOm8YyWjKtSKs8sVlICiECAImQeAARRyMAdogX8JRoqs6IYgDQ30zUjJ8CkWQmYZbOsFLGWzUyzE5bssx8ObAsoSqlpq8r1tILadr2g6ERWksQvCiAopi5i4qbRKjH7Bo4N1dsvFjOxEIeIwUPQ9o9AGSYvG+1bfsW7yVN8+agZB3bIHByUGtk1aWti874s1FGJOHYy6gTLo3lMVN7wPBNVAtbRRg0IEC35NmS0pxTltpwL6e2xn9s0w7mY5hGuaRzrAWZIYBJpc0pd1E18tNMZLOMAwnOCAsCDwFB4CORWms3bnm1AozWSgrHYMsYyEL6FGKXcDleMMO5rXJ5XZ0gP3jZqB4evaLwXEeqwnJNKYDypWlzHePwcIVotyuFT83QldOOpqWNU30A8rEmrMjPcAJk6FP7qch432rY3dxnN1onlaZ9idy5NILuCxl+UEwrH7wiqeqmnarpjatbB3Xcibser3eckfmd3xOkrnpce0DMjHMeoAgLjeqCCsBfVCmFOESE+EqdSfnmNwLJjBPBSs0QwuV3CQWPN3AwT4LTtldoEIAA */\n id: \"deviceConnection\",\n initial: \"Connected\",\n context: {\n apduInProgress: Nothing,\n },\n states: {\n Connected: {\n on: {\n DeviceDetached: {\n target: \"WaitingForReconnection\",\n },\n SendApduCalled: {\n target: \"SendingApdu\",\n actions: assign({\n apduInProgress: ({ event }) => {\n return Maybe.of({\n apdu: event.apdu,\n triggersDisconnection: event.triggersDisconnection,\n responseCallback: event.responseCallback,\n });\n },\n }),\n },\n CloseConnectionCalled: {\n target: \"Terminated\",\n },\n },\n },\n SendingApdu: {\n entry: \"sendApdu\",\n on: {\n ApduResponseReceived: [\n {\n guard: {\n type: \"isApduThatTriggersDisconnection\",\n params: ({ event }) => ({ apduResponse: event.apduResponse }),\n },\n target: \"WaitingForReconnection\",\n actions: [\n {\n type: \"sendApduResponse\",\n // https://stately.ai/docs/actions#dynamic-action-parameters\n params: ({ event }) => {\n return {\n response: Right(event.apduResponse),\n };\n },\n },\n { type: \"cleanupContext\" },\n ],\n },\n {\n target: \"Connected\",\n actions: [\n {\n type: \"sendApduResponse\",\n // https://stately.ai/docs/actions#dynamic-action-parameters\n params: ({ event }) => {\n return {\n response: Right(event.apduResponse),\n };\n },\n },\n { type: \"cleanupContext\" },\n ],\n },\n ],\n ApduSendingError: {\n target: \"Connected\",\n actions: [\n {\n type: \"sendApduResponse\",\n // https://stately.ai/docs/actions#dynamic-action-parameters\n params: ({ event }) => {\n return {\n response: Left(event.error),\n };\n },\n },\n \"cleanupContext\",\n ],\n },\n DeviceDetached: {\n target: \"WaitingForReconnection\",\n actions: [\n {\n type: \"sendApduResponse\",\n params: {\n response: Left(new DeviceDisconnectedWhileSendingError()),\n },\n },\n \"cleanupContext\",\n ],\n },\n CloseConnectionCalled: {\n target: \"Terminated\",\n actions: [\n {\n type: \"sendApduResponse\",\n params: {\n response: Left(new DeviceDisconnectedWhileSendingError()),\n },\n },\n \"cleanupContext\",\n ],\n },\n SendApduCalled: {\n actions: ({ event }) => {\n console.log(\n \"EXTRA SendApduCalled while in state: SendingApdu state\",\n );\n event.responseCallback(Left(new AlreadySendingApduError()));\n },\n },\n },\n },\n WaitingForReconnection: {\n entry: \"startTimer\",\n on: {\n DeviceAttached: {\n target: \"Connected\",\n actions: \"cancelTimer\",\n },\n SendApduCalled: {\n target: \"WaitingForReconnectionWithQueuedSendApdu\",\n actions: assign({\n apduInProgress: ({ event }) => {\n return Maybe.of({\n apdu: event.apdu,\n triggersDisconnection: event.triggersDisconnection,\n responseCallback: event.responseCallback,\n });\n },\n }),\n },\n ReconnectionTimedOut: {\n target: \"Terminated\",\n },\n CloseConnectionCalled: {\n target: \"Terminated\",\n },\n },\n },\n WaitingForReconnectionWithQueuedSendApdu: {\n on: {\n DeviceAttached: {\n target: \"SendingApdu\",\n actions: \"cancelTimer\",\n },\n ReconnectionTimedOut: {\n target: \"Terminated\",\n actions: [\n {\n type: \"sendApduResponse\",\n params: {\n response: Left(new DeviceDisconnectedBeforeSendingApdu()),\n },\n },\n {\n type: \"cleanupContext\",\n },\n ],\n },\n CloseConnectionCalled: {\n target: \"Terminated\",\n actions: [\n {\n type: \"sendApduResponse\",\n params: {\n response: Left(new DeviceDisconnectedWhileSendingError()),\n },\n },\n \"cleanupContext\",\n ],\n },\n SendApduCalled: {\n actions: ({ event }) => {\n console.log(\n \"EXTRA SendApduCalled while in state:WaitingForReconnectionWithQueuedSendApdu\",\n );\n event.responseCallback(Left(new AlreadySendingApduError()));\n },\n },\n },\n },\n // TODO: ADD INACTIVE STATE\n Terminated: {\n entry: [\"signalTermination\", \"closeConnection\"],\n type: \"final\",\n },\n },\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Maybe", "Nothing", "Right", "assign", "createActor", "emit", "setup", "CommandUtils", "UnknownDeviceExchangeError", "AlreadySendingApduError", "DeviceDisconnectedBeforeSendingApdu", "DeviceDisconnectedWhileSendingError", "DeviceConnectionStateMachine", "params", "makeStateMachine", "apdu", "triggersDisconnection", "response", "error", "apduResponse", "dependencies", "responseCallback", "sendApduFn", "startReconnectionTimeout", "cancelReconnectionTimeout", "onTerminated", "closeConnection", "context", "res", "event"]
7
+ }
@@ -1,2 +1,2 @@
1
- class n{_tag="GeneralDmkError";originalError;constructor(o){o instanceof Error?this.originalError=o:o!==void 0&&(this.originalError=new Error(String(o)))}}class t extends n{constructor(r){super(r);this.err=r}_tag="DeviceAlreadyDiscoveredError"}class s extends n{constructor(r){super(r);this.err=r}_tag="DeviceNotRecognizedError"}class d extends n{constructor(r){super(r);this.err=r}_tag="NoAccessibleDeviceError"}class c extends n{constructor(r){super(r);this.err=r}_tag="ConnectionOpeningError"}class a extends n{constructor(r){super(r);this.err=r}_tag="UnknownDeviceError"}class i extends n{constructor(r){super(r);this.err=r}_tag="TransportNotSupportedError"}class l extends n{constructor(r){super(r);this.err=r}_tag="SendApduConcurrencyError"}class p extends n{constructor(r){super(r);this.err=r}_tag="DisconnectError"}class u extends n{constructor(r){super(r);this.err=r}_tag="ReconnectionFailedError"}class E extends n{constructor(r){super(r);this.err=r}_tag="DeviceNotInitializedError"}class y extends n{constructor(r){super(r);this.err=r}_tag="NoTransportsProvidedError"}class v extends n{constructor(r){super(r);this.err=r}_tag="TransportAlreadyExistsError"}class x extends n{constructor(r){super(r);this.err=r}_tag="NoTransportProvidedError"}export{t as DeviceAlreadyConnectedError,E as DeviceNotInitializedError,s as DeviceNotRecognizedError,p as DisconnectError,n as GeneralDmkError,d as NoAccessibleDeviceError,x as NoTransportProvidedError,y as NoTransportsProvidedError,c as OpeningConnectionError,u as ReconnectionFailedError,l as SendApduConcurrencyError,v as TransportAlreadyExistsError,i as TransportNotSupportedError,a as UnknownDeviceError};
1
+ class n{_tag="GeneralDmkError";originalError;constructor(e){e instanceof Error?this.originalError=e:e!==void 0&&(this.originalError=new Error(String(e)))}}class t extends n{constructor(r){super(r);this.err=r}_tag="DeviceAlreadyDiscoveredError"}class s extends n{constructor(r){super(r);this.err=r}_tag="DeviceNotRecognizedError"}class d extends n{constructor(r){super(r);this.err=r}_tag="NoAccessibleDeviceError"}class c extends n{constructor(r){super(r);this.err=r}_tag="ConnectionOpeningError"}class a extends n{constructor(r){super(r);this.err=r}_tag="UnknownDeviceError"}class i extends n{constructor(r){super(r);this.err=r}_tag="TransportNotSupportedError"}class l extends n{constructor(r){super(r);this.err=r}_tag="SendApduConcurrencyError"}class u extends n{constructor(r){super(r);this.err=r}_tag="DisconnectError"}class p extends n{constructor(r){super(r);this.err=r}_tag="ReconnectionFailedError"}class E extends n{constructor(r){super(r);this.err=r}_tag="DeviceNotInitializedError"}class y extends n{constructor(r){super(r);this.err=r}_tag="NoTransportsProvidedError"}class v extends n{constructor(r){super(r);this.err=r}_tag="TransportAlreadyExistsError"}class x extends n{constructor(r){super(r);this.err=r}_tag="DeviceDisconnectedWhileSendingError"}class g extends n{constructor(r){super(r);this.err=r}_tag="AlreadySendingApduError"}class D extends n{constructor(r){super(r);this.err=r}_tag="DeviceDisconnectedBeforeSendingApdu"}class k extends n{constructor(r){super(r);this.err=r}_tag="NoTransportProvidedError"}export{g as AlreadySendingApduError,t as DeviceAlreadyConnectedError,D as DeviceDisconnectedBeforeSendingApdu,x as DeviceDisconnectedWhileSendingError,E as DeviceNotInitializedError,s as DeviceNotRecognizedError,u as DisconnectError,n as GeneralDmkError,d as NoAccessibleDeviceError,k as NoTransportProvidedError,y as NoTransportsProvidedError,c as OpeningConnectionError,p as ReconnectionFailedError,l as SendApduConcurrencyError,v as TransportAlreadyExistsError,i as TransportNotSupportedError,a as UnknownDeviceError};
2
2
  //# sourceMappingURL=Errors.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/transport/model/Errors.ts"],
4
- "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport type ConnectError =\n | UnknownDeviceError\n | OpeningConnectionError\n | DeviceAlreadyConnectedError;\n\nexport class GeneralDmkError implements DmkError {\n _tag = \"GeneralDmkError\";\n originalError?: unknown;\n constructor(err?: unknown) {\n if (err instanceof Error) {\n this.originalError = err;\n } else if (err !== undefined) {\n this.originalError = new Error(String(err));\n }\n }\n}\n\nexport class DeviceAlreadyConnectedError extends GeneralDmkError {\n override readonly _tag = \"DeviceAlreadyDiscoveredError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotRecognizedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotRecognizedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoAccessibleDeviceError extends GeneralDmkError {\n override readonly _tag = \"NoAccessibleDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class OpeningConnectionError extends GeneralDmkError {\n override readonly _tag = \"ConnectionOpeningError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class UnknownDeviceError extends GeneralDmkError {\n override readonly _tag = \"UnknownDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportNotSupportedError extends GeneralDmkError {\n override readonly _tag = \"TransportNotSupportedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class SendApduConcurrencyError extends GeneralDmkError {\n override readonly _tag = \"SendApduConcurrencyError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DisconnectError extends GeneralDmkError {\n override readonly _tag = \"DisconnectError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class ReconnectionFailedError extends GeneralDmkError {\n override readonly _tag = \"ReconnectionFailedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotInitializedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotInitializedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportsProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportsProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportAlreadyExistsError extends GeneralDmkError {\n override readonly _tag = \"TransportAlreadyExistsError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n"],
5
- "mappings": "AAOO,MAAMA,CAAoC,CAC/C,KAAO,kBACP,cACA,YAAYC,EAAe,CACrBA,aAAe,MACjB,KAAK,cAAgBA,EACZA,IAAQ,SACjB,KAAK,cAAgB,IAAI,MAAM,OAAOA,CAAG,CAAC,EAE9C,CACF,CAEO,MAAMC,UAAoCF,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,8BAI3B,CAEO,MAAME,UAAiCH,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMG,UAAgCJ,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMI,UAA+BL,CAAgB,CAE1D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,wBAI3B,CAEO,MAAMK,UAA2BN,CAAgB,CAEtD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,oBAI3B,CAEO,MAAMM,UAAmCP,CAAgB,CAE9D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,4BAI3B,CAEO,MAAMO,UAAiCR,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMQ,UAAwBT,CAAgB,CAEnD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,iBAI3B,CAEO,MAAMS,UAAgCV,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMU,UAAkCX,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMW,UAAkCZ,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMY,UAAoCb,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,6BAI3B,CAEO,MAAMa,UAAiCd,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B",
6
- "names": ["GeneralDmkError", "err", "DeviceAlreadyConnectedError", "DeviceNotRecognizedError", "NoAccessibleDeviceError", "OpeningConnectionError", "UnknownDeviceError", "TransportNotSupportedError", "SendApduConcurrencyError", "DisconnectError", "ReconnectionFailedError", "DeviceNotInitializedError", "NoTransportsProvidedError", "TransportAlreadyExistsError", "NoTransportProvidedError"]
4
+ "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport type ConnectError =\n | UnknownDeviceError\n | OpeningConnectionError\n | DeviceAlreadyConnectedError;\n\nexport class GeneralDmkError implements DmkError {\n _tag = \"GeneralDmkError\";\n originalError?: unknown;\n constructor(err?: unknown) {\n if (err instanceof Error) {\n this.originalError = err;\n } else if (err !== undefined) {\n this.originalError = new Error(String(err));\n }\n }\n}\n\nexport class DeviceAlreadyConnectedError extends GeneralDmkError {\n override readonly _tag = \"DeviceAlreadyDiscoveredError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotRecognizedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotRecognizedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoAccessibleDeviceError extends GeneralDmkError {\n override readonly _tag = \"NoAccessibleDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class OpeningConnectionError extends GeneralDmkError {\n override readonly _tag = \"ConnectionOpeningError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class UnknownDeviceError extends GeneralDmkError {\n override readonly _tag = \"UnknownDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportNotSupportedError extends GeneralDmkError {\n override readonly _tag = \"TransportNotSupportedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class SendApduConcurrencyError extends GeneralDmkError {\n override readonly _tag = \"SendApduConcurrencyError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DisconnectError extends GeneralDmkError {\n override readonly _tag = \"DisconnectError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class ReconnectionFailedError extends GeneralDmkError {\n override readonly _tag = \"ReconnectionFailedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotInitializedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotInitializedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportsProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportsProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportAlreadyExistsError extends GeneralDmkError {\n override readonly _tag = \"TransportAlreadyExistsError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceDisconnectedWhileSendingError extends GeneralDmkError {\n override readonly _tag = \"DeviceDisconnectedWhileSendingError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class AlreadySendingApduError extends GeneralDmkError {\n override readonly _tag = \"AlreadySendingApduError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceDisconnectedBeforeSendingApdu extends GeneralDmkError {\n override readonly _tag = \"DeviceDisconnectedBeforeSendingApdu\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n"],
5
+ "mappings": "AAOO,MAAMA,CAAoC,CAC/C,KAAO,kBACP,cACA,YAAYC,EAAe,CACrBA,aAAe,MACjB,KAAK,cAAgBA,EACZA,IAAQ,SACjB,KAAK,cAAgB,IAAI,MAAM,OAAOA,CAAG,CAAC,EAE9C,CACF,CAEO,MAAMC,UAAoCF,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,8BAI3B,CAEO,MAAME,UAAiCH,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMG,UAAgCJ,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMI,UAA+BL,CAAgB,CAE1D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,wBAI3B,CAEO,MAAMK,UAA2BN,CAAgB,CAEtD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,oBAI3B,CAEO,MAAMM,UAAmCP,CAAgB,CAE9D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,4BAI3B,CAEO,MAAMO,UAAiCR,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMQ,UAAwBT,CAAgB,CAEnD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,iBAI3B,CAEO,MAAMS,UAAgCV,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMU,UAAkCX,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMW,UAAkCZ,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMY,UAAoCb,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,6BAI3B,CAEO,MAAMa,UAA4Cd,CAAgB,CAEvE,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,qCAI3B,CAEO,MAAMc,UAAgCf,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMe,UAA4ChB,CAAgB,CAEvE,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,qCAI3B,CAEO,MAAMgB,UAAiCjB,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B",
6
+ "names": ["GeneralDmkError", "err", "DeviceAlreadyConnectedError", "DeviceNotRecognizedError", "NoAccessibleDeviceError", "OpeningConnectionError", "UnknownDeviceError", "TransportNotSupportedError", "SendApduConcurrencyError", "DisconnectError", "ReconnectionFailedError", "DeviceNotInitializedError", "NoTransportsProvidedError", "TransportAlreadyExistsError", "DeviceDisconnectedWhileSendingError", "AlreadySendingApduError", "DeviceDisconnectedBeforeSendingApdu", "NoTransportProvidedError"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Right as r}from"purify-ts";import{deviceModelStubBuilder as o}from"../../device-model/model/DeviceModel.stub";import{defaultApduResponseStubBuilder as n}from"../../device-session/ApduResponse.stub";import{TransportConnectedDevice as i}from"./TransportConnectedDevice";function u(e={}){const t=o();return new i({deviceModel:t,id:"42",type:"MOCK",transport:"USB",sendApdu:jest.fn(async()=>Promise.resolve(r(n()))),...e})}export{u as connectedDeviceStubBuilder};
1
+ import{Right as t}from"purify-ts";import{deviceModelStubBuilder as o}from"../../device-model/model/DeviceModel.stub";import{defaultApduResponseStubBuilder as n}from"../../device-session/ApduResponse.stub";import{TransportConnectedDevice as i}from"./TransportConnectedDevice";function u(e={}){const r=o();return new i({deviceModel:r,id:"42",type:"MOCK",transport:"USB",sendApdu:vi.fn(async()=>Promise.resolve(t(n()))),...e})}export{u as connectedDeviceStubBuilder};
2
2
  //# sourceMappingURL=TransportConnectedDevice.stub.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/transport/model/TransportConnectedDevice.stub.ts"],
4
- "sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\n\nimport {\n type ConnectedDeviceConstructorArgs,\n TransportConnectedDevice,\n} from \"./TransportConnectedDevice\";\n\nexport function connectedDeviceStubBuilder(\n props: Partial<ConnectedDeviceConstructorArgs> = {},\n): TransportConnectedDevice {\n const deviceModel = deviceModelStubBuilder();\n return new TransportConnectedDevice({\n deviceModel,\n id: \"42\",\n type: \"MOCK\",\n transport: \"USB\",\n sendApdu: jest.fn(async () =>\n Promise.resolve(Right(defaultApduResponseStubBuilder())),\n ),\n ...props,\n });\n}\n"],
5
- "mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,0BAAAC,MAA8B,2CACvC,OAAS,kCAAAC,MAAsC,wCAE/C,OAEE,4BAAAC,MACK,6BAEA,SAASC,EACdC,EAAiD,CAAC,EACxB,CAC1B,MAAMC,EAAcL,EAAuB,EAC3C,OAAO,IAAIE,EAAyB,CAClC,YAAAG,EACA,GAAI,KACJ,KAAM,OACN,UAAW,MACX,SAAU,KAAK,GAAG,SAChB,QAAQ,QAAQN,EAAME,EAA+B,CAAC,CAAC,CACzD,EACA,GAAGG,CACL,CAAC,CACH",
4
+ "sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\n\nimport {\n type ConnectedDeviceConstructorArgs,\n TransportConnectedDevice,\n} from \"./TransportConnectedDevice\";\n\nexport function connectedDeviceStubBuilder(\n props: Partial<ConnectedDeviceConstructorArgs> = {},\n): TransportConnectedDevice {\n const deviceModel = deviceModelStubBuilder();\n return new TransportConnectedDevice({\n deviceModel,\n id: \"42\",\n type: \"MOCK\",\n transport: \"USB\",\n sendApdu: vi.fn(async () =>\n Promise.resolve(Right(defaultApduResponseStubBuilder())),\n ),\n ...props,\n });\n}\n"],
5
+ "mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,0BAAAC,MAA8B,2CACvC,OAAS,kCAAAC,MAAsC,wCAE/C,OAEE,4BAAAC,MACK,6BAEA,SAASC,EACdC,EAAiD,CAAC,EACxB,CAC1B,MAAMC,EAAcL,EAAuB,EAC3C,OAAO,IAAIE,EAAyB,CAClC,YAAAG,EACA,GAAI,KACJ,KAAM,OACN,UAAW,MACX,SAAU,GAAG,GAAG,SACd,QAAQ,QAAQN,EAAME,EAA+B,CAAC,CAAC,CACzD,EACA,GAAGG,CACL,CAAC,CACH",
6
6
  "names": ["Right", "deviceModelStubBuilder", "defaultApduResponseStubBuilder", "TransportConnectedDevice", "connectedDeviceStubBuilder", "props", "deviceModel"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class e{constructor(){}getIdentifier=jest.fn();isSupported=jest.fn();startDiscovering=jest.fn();stopDiscovering=jest.fn();listenToKnownDevices=jest.fn();connect=jest.fn();disconnect=jest.fn()}export{e as TransportMock};
1
+ class i{constructor(){}getIdentifier=vi.fn();isSupported=vi.fn();startDiscovering=vi.fn();stopDiscovering=vi.fn();listenToKnownDevices=vi.fn();connect=vi.fn();disconnect=vi.fn()}export{i as TransportMock};
2
2
  //# sourceMappingURL=TransportMock.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/transport/model/__mocks__/TransportMock.ts"],
4
- "sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier = jest.fn();\n isSupported = jest.fn();\n startDiscovering = jest.fn();\n stopDiscovering = jest.fn();\n listenToKnownDevices = jest.fn();\n connect = jest.fn();\n disconnect = jest.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,KAAK,GAAG,EACxB,YAAc,KAAK,GAAG,EACtB,iBAAmB,KAAK,GAAG,EAC3B,gBAAkB,KAAK,GAAG,EAC1B,qBAAuB,KAAK,GAAG,EAC/B,QAAU,KAAK,GAAG,EAClB,WAAa,KAAK,GAAG,CACvB",
4
+ "sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier = vi.fn();\n isSupported = vi.fn();\n startDiscovering = vi.fn();\n stopDiscovering = vi.fn();\n listenToKnownDevices = vi.fn();\n connect = vi.fn();\n disconnect = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,iBAAmB,GAAG,GAAG,EACzB,gBAAkB,GAAG,GAAG,EACxB,qBAAuB,GAAG,GAAG,EAC7B,QAAU,GAAG,GAAG,EAChB,WAAa,GAAG,GAAG,CACrB",
6
6
  "names": ["TransportMock"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{base64StringToBuffer as l,isBase64String as s}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const t=s("Zmlyc3QgdG/zdGluZyBz+HI9");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI=");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdH==");expect(t).toBeTruthy()}),it("should return true for an empty string",()=>{const t=s("");expect(t).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const t=s("invalid base64 string");expect(t).toBeFalsy()}),it("should return false with 3 paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzd===");expect(t).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI");expect(t).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{beforeEach(()=>{jest.resetAllMocks()}),it("should convert empty input to empty buffer",()=>{const t=l("");expect(t).toStrictEqual(new Uint8Array)}),it("invalid base64 string converted to null",()=>{const t=l("invalid string");expect(t).toStrictEqual(null)}),it("should convert a base64 string to a buffer using browser's atob",()=>{const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))}),it("should convert a base64 string to a buffer using Buffer",()=>{jest.spyOn(global,"atob").mockImplementation(()=>{throw new Error("atob is not defined")});const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))})})});
1
+ import{base64StringToBuffer as l,isBase64String as s}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const t=s("Zmlyc3QgdG/zdGluZyBz+HI9");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI=");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdH==");expect(t).toBeTruthy()}),it("should return true for an empty string",()=>{const t=s("");expect(t).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const t=s("invalid base64 string");expect(t).toBeFalsy()}),it("should return false with 3 paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzd===");expect(t).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI");expect(t).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("should convert empty input to empty buffer",()=>{const t=l("");expect(t).toStrictEqual(new Uint8Array)}),it("invalid base64 string converted to null",()=>{const t=l("invalid string");expect(t).toStrictEqual(null)}),it("should convert a base64 string to a buffer using browser's atob",()=>{const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))}),it("should convert a base64 string to a buffer using Buffer",()=>{vi.spyOn(global,"atob").mockImplementation(()=>{throw new Error("atob is not defined")});const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))})})});
2
2
  //# sourceMappingURL=Base64String.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/utils/Base64String.test.ts"],
4
- "sourcesContent": ["import { base64StringToBuffer, isBase64String } from \"./Base64String\";\n\ndescribe(\"Base64String\", () => {\n describe(\"isBase64String function\", () => {\n it(\"should return true if the value is a valid base64 string\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdG/zdGluZyBz+HI9\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, one padding\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, two paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdH==\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true for an empty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false for an invalid base64 string\", () => {\n // GIVEN\n const value = \"invalid base64 string\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false with 3 paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzd===\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false on incomplete string (not multiple of 4)\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n });\n\n describe(\"base64StringToBuffer function\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"should convert empty input to empty buffer\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array());\n });\n\n it(\"invalid base64 string converted to null\", () => {\n // GIVEN\n const value = \"invalid string\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should convert a base64 string to a buffer using browser's atob\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n\n it(\"should convert a base64 string to a buffer using Buffer\", () => {\n // GIVEN\n jest.spyOn(global, \"atob\").mockImplementation(() => {\n throw new Error(\"atob is not defined\");\n });\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,wBAAAA,EAAsB,kBAAAC,MAAsB,iBAErD,SAAS,eAAgB,IAAM,CAC7B,SAAS,0BAA2B,IAAM,CACxC,GAAG,2DAA4D,IAAM,CAKnE,MAAMC,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,wEAAyE,IAAM,CAKhF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yEAA0E,IAAM,CAKjF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yCAA0C,IAAM,CAKjD,MAAMA,EAASD,EAHD,EAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,mDAAoD,IAAM,CAK3D,MAAMA,EAASD,EAHD,uBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAK9C,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,+DAAgE,IAAM,CAKvE,MAAMA,EAASD,EAHD,yBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,CACH,CAAC,EAED,SAAS,gCAAiC,IAAM,CAC9C,WAAW,IAAM,CACf,KAAK,cAAc,CACrB,CAAC,EAED,GAAG,6CAA8C,IAAM,CAKrD,MAAMA,EAASF,EAHD,EAG2B,EAGzC,OAAOE,CAAM,EAAE,cAAc,IAAI,UAAY,CAC/C,CAAC,EAED,GAAG,0CAA2C,IAAM,CAKlD,MAAMA,EAASF,EAHD,gBAG2B,EAGzC,OAAOE,CAAM,EAAE,cAAc,IAAI,CACnC,CAAC,EAED,GAAG,kEAAmE,IAAM,CAK1E,MAAMA,EAASF,EAHD,0BAG2B,EAGzC,OAAOE,CAAM,EAAE,cACb,WAAW,KAAK,CACd,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC5D,IAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,CACH,CACF,CAAC,EAED,GAAG,0DAA2D,IAAM,CAElE,KAAK,MAAM,OAAQ,MAAM,EAAE,mBAAmB,IAAM,CAClD,MAAM,IAAI,MAAM,qBAAqB,CACvC,CAAC,EAID,MAAMA,EAASF,EAHD,0BAG2B,EAGzC,OAAOE,CAAM,EAAE,cACb,WAAW,KAAK,CACd,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC5D,IAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { base64StringToBuffer, isBase64String } from \"./Base64String\";\n\ndescribe(\"Base64String\", () => {\n describe(\"isBase64String function\", () => {\n it(\"should return true if the value is a valid base64 string\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdG/zdGluZyBz+HI9\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, one padding\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI=\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if the value is a valid base64 string, two paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdH==\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true for an empty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false for an invalid base64 string\", () => {\n // GIVEN\n const value = \"invalid base64 string\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false with 3 paddings\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzd===\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false on incomplete string (not multiple of 4)\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdGluZyBzdHI\";\n\n // WHEN\n const result = isBase64String(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n });\n\n describe(\"base64StringToBuffer function\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should convert empty input to empty buffer\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array());\n });\n\n it(\"invalid base64 string converted to null\", () => {\n // GIVEN\n const value = \"invalid string\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should convert a base64 string to a buffer using browser's atob\", () => {\n // GIVEN\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n\n it(\"should convert a base64 string to a buffer using Buffer\", () => {\n // GIVEN\n vi.spyOn(global, \"atob\").mockImplementation(() => {\n throw new Error(\"atob is not defined\");\n });\n const value = \"Zmlyc3QgdGVzdCBzdHJpbmc=\";\n\n // WHEN\n const result = base64StringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n Uint8Array.from([\n 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20,\n 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,\n ]),\n );\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,wBAAAA,EAAsB,kBAAAC,MAAsB,iBAErD,SAAS,eAAgB,IAAM,CAC7B,SAAS,0BAA2B,IAAM,CACxC,GAAG,2DAA4D,IAAM,CAKnE,MAAMC,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,wEAAyE,IAAM,CAKhF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yEAA0E,IAAM,CAKjF,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,yCAA0C,IAAM,CAKjD,MAAMA,EAASD,EAHD,EAGqB,EAGnC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,mDAAoD,IAAM,CAK3D,MAAMA,EAASD,EAHD,uBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,sCAAuC,IAAM,CAK9C,MAAMA,EAASD,EAHD,0BAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,+DAAgE,IAAM,CAKvE,MAAMA,EAASD,EAHD,yBAGqB,EAGnC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,CACH,CAAC,EAED,SAAS,gCAAiC,IAAM,CAC9C,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,6CAA8C,IAAM,CAKrD,MAAMA,EAASF,EAHD,EAG2B,EAGzC,OAAOE,CAAM,EAAE,cAAc,IAAI,UAAY,CAC/C,CAAC,EAED,GAAG,0CAA2C,IAAM,CAKlD,MAAMA,EAASF,EAHD,gBAG2B,EAGzC,OAAOE,CAAM,EAAE,cAAc,IAAI,CACnC,CAAC,EAED,GAAG,kEAAmE,IAAM,CAK1E,MAAMA,EAASF,EAHD,0BAG2B,EAGzC,OAAOE,CAAM,EAAE,cACb,WAAW,KAAK,CACd,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC5D,IAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,CACH,CACF,CAAC,EAED,GAAG,0DAA2D,IAAM,CAElE,GAAG,MAAM,OAAQ,MAAM,EAAE,mBAAmB,IAAM,CAChD,MAAM,IAAI,MAAM,qBAAqB,CACvC,CAAC,EAID,MAAMA,EAASF,EAHD,0BAG2B,EAGzC,OAAOE,CAAM,EAAE,cACb,WAAW,KAAK,CACd,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC5D,IAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["base64StringToBuffer", "isBase64String", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- const i=t=>/^0x[0-9a-fA-F]*$/.test(t),e=t=>{if(t.startsWith("0x")&&(t=t.slice(2)),t.length===0)return new Uint8Array;if(t.length%2!==0&&(t="0"+t),/^[0-9a-fA-F]*$/.test(t)===!1)return null;const r=t.match(/.{1,2}/g)?.map(n=>parseInt(n,16));return!r||r.some(isNaN)?null:new Uint8Array(r)},s=t=>`0x${Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}`;export{s as bufferToHexaString,e as hexaStringToBuffer,i as isHexaString};
1
+ const i=t=>typeof t=="string"&&/^0x[0-9a-fA-F]*$/.test(t),e=t=>{if(t.startsWith("0x")&&(t=t.slice(2)),t.length===0)return new Uint8Array;if(t.length%2!==0&&(t="0"+t),/^[0-9a-fA-F]*$/.test(t)===!1)return null;const r=t.match(/.{1,2}/g)?.map(n=>parseInt(n,16));return!r||r.some(isNaN)?null:new Uint8Array(r)},s=t=>`0x${Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}`;export{s as bufferToHexaString,e as hexaStringToBuffer,i as isHexaString};
2
2
  //# sourceMappingURL=HexaString.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/utils/HexaString.ts"],
4
- "sourcesContent": ["export type HexaString = `0x${string}`;\n\nexport const isHexaString = (value: string): value is HexaString => {\n return /^0x[0-9a-fA-F]*$/.test(value);\n};\n\nexport const hexaStringToBuffer = (value: string): Uint8Array | null => {\n if (value.startsWith(\"0x\")) {\n value = value.slice(2);\n }\n if (value.length === 0) {\n return new Uint8Array();\n }\n if (value.length % 2 !== 0) {\n value = \"0\" + value;\n }\n if (/^[0-9a-fA-F]*$/.test(value) === false) {\n return null;\n }\n const bytes = value.match(/.{1,2}/g)?.map((byte) => parseInt(byte, 16));\n if (!bytes || bytes.some(isNaN)) {\n return null;\n }\n return new Uint8Array(bytes);\n};\n\nexport const bufferToHexaString = (value: Uint8Array): HexaString => {\n return `0x${Array.from(value, (byte) =>\n byte.toString(16).padStart(2, \"0\"),\n ).join(\"\")}`;\n};\n"],
5
- "mappings": "AAEO,MAAMA,EAAgBC,GACpB,mBAAmB,KAAKA,CAAK,EAGzBC,EAAsBD,GAAqC,CAItE,GAHIA,EAAM,WAAW,IAAI,IACvBA,EAAQA,EAAM,MAAM,CAAC,GAEnBA,EAAM,SAAW,EACnB,OAAO,IAAI,WAKb,GAHIA,EAAM,OAAS,IAAM,IACvBA,EAAQ,IAAMA,GAEZ,iBAAiB,KAAKA,CAAK,IAAM,GACnC,OAAO,KAET,MAAME,EAAQF,EAAM,MAAM,SAAS,GAAG,IAAKG,GAAS,SAASA,EAAM,EAAE,CAAC,EACtE,MAAI,CAACD,GAASA,EAAM,KAAK,KAAK,EACrB,KAEF,IAAI,WAAWA,CAAK,CAC7B,EAEaE,EAAsBJ,GAC1B,KAAK,MAAM,KAAKA,EAAQG,GAC7BA,EAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CACnC,EAAE,KAAK,EAAE,CAAC",
4
+ "sourcesContent": ["export type HexaString = `0x${string}`;\n\nexport const isHexaString = (value: unknown): value is HexaString => {\n return typeof value === \"string\" && /^0x[0-9a-fA-F]*$/.test(value);\n};\n\nexport const hexaStringToBuffer = (value: string): Uint8Array | null => {\n if (value.startsWith(\"0x\")) {\n value = value.slice(2);\n }\n if (value.length === 0) {\n return new Uint8Array();\n }\n if (value.length % 2 !== 0) {\n value = \"0\" + value;\n }\n if (/^[0-9a-fA-F]*$/.test(value) === false) {\n return null;\n }\n const bytes = value.match(/.{1,2}/g)?.map((byte) => parseInt(byte, 16));\n if (!bytes || bytes.some(isNaN)) {\n return null;\n }\n return new Uint8Array(bytes);\n};\n\nexport const bufferToHexaString = (value: Uint8Array): HexaString => {\n return `0x${Array.from(value, (byte) =>\n byte.toString(16).padStart(2, \"0\"),\n ).join(\"\")}`;\n};\n"],
5
+ "mappings": "AAEO,MAAMA,EAAgBC,GACpB,OAAOA,GAAU,UAAY,mBAAmB,KAAKA,CAAK,EAGtDC,EAAsBD,GAAqC,CAItE,GAHIA,EAAM,WAAW,IAAI,IACvBA,EAAQA,EAAM,MAAM,CAAC,GAEnBA,EAAM,SAAW,EACnB,OAAO,IAAI,WAKb,GAHIA,EAAM,OAAS,IAAM,IACvBA,EAAQ,IAAMA,GAEZ,iBAAiB,KAAKA,CAAK,IAAM,GACnC,OAAO,KAET,MAAME,EAAQF,EAAM,MAAM,SAAS,GAAG,IAAKG,GAAS,SAASA,EAAM,EAAE,CAAC,EACtE,MAAI,CAACD,GAASA,EAAM,KAAK,KAAK,EACrB,KAEF,IAAI,WAAWA,CAAK,CAC7B,EAEaE,EAAsBJ,GAC1B,KAAK,MAAM,KAAKA,EAAQG,GAC7BA,EAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CACnC,EAAE,KAAK,EAAE,CAAC",
6
6
  "names": ["isHexaString", "value", "hexaStringToBuffer", "bytes", "byte", "bufferToHexaString"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{bufferToHexaString as a,hexaStringToBuffer as u,isHexaString as r}from"./HexaString";describe("HexaString",()=>{describe("isHexaString function",()=>{it("should return true if the value is a valid hex string",()=>{const t=r("0x1234abc");expect(t).toBeTruthy()}),it("should return true if no data",()=>{const t=r("0x");expect(t).toBeTruthy()}),it("should return false if the value contain an invalid letter",()=>{const t=r("0x1234z");expect(t).toBeFalsy()}),it("should return false if the value does not start with 0x",()=>{const t=r("1234abc");expect(t).toBeFalsy()}),it("should return false for an epmty string",()=>{const t=r("");expect(t).toBeFalsy()})}),describe("hexaStringToBuffer function",()=>{it("should convert empty input to empty buffer",()=>{const t=u("");expect(t).toStrictEqual(new Uint8Array)}),it("should fail on invalid string",()=>{const t=u("bonjour");expect(t).toStrictEqual(null)}),it("should fail on invalid string with valid numbers",()=>{const t=u("0x012n34");expect(t).toStrictEqual(null)}),it("should convert correct hexadecimal string",()=>{const t=u("1a35669f0100");expect(t).toStrictEqual(new Uint8Array([26,53,102,159,1,0]))}),it("should support 0x prefix",()=>{const t=u("0x1a35");expect(t).toStrictEqual(new Uint8Array([26,53]))}),it("should be case insensitive",()=>{const t=u("0xcCDd");expect(t).toStrictEqual(new Uint8Array([204,221]))}),it("should pad with 0",()=>{const t=u("0xa35");expect(t).toStrictEqual(new Uint8Array([10,53]))})}),describe("bufferToHexaString function",()=>{it("should convert a buffer into a hexa string",()=>{const e=Uint8Array.from([0,1,2,255,254]),t=a(e);expect(t).toStrictEqual("0x000102fffe")})})});
1
+ import{bufferToHexaString as r,hexaStringToBuffer as u,isHexaString as n}from"./HexaString";describe("HexaString",()=>{describe("isHexaString function",()=>{it("should return true if the value is a valid hex string",()=>{const t=n("0x1234abc");expect(t).toBeTruthy()}),it("should return true if no data",()=>{const t=n("0x");expect(t).toBeTruthy()}),it("should return false if the value contain an invalid letter",()=>{const t=n("0x1234z");expect(t).toBeFalsy()}),it("should return false if the value does not start with 0x",()=>{const t=n("1234abc");expect(t).toBeFalsy()}),it("should return false for an epmty string",()=>{const t=n("");expect(t).toBeFalsy()}),it.each([123,[],{},null,void 0,!0])("should return false for invalid input %p",e=>{const t=n(e);expect(t).toBeFalsy()})}),describe("hexaStringToBuffer function",()=>{it("should convert empty input to empty buffer",()=>{const t=u("");expect(t).toStrictEqual(new Uint8Array)}),it("should fail on invalid string",()=>{const t=u("bonjour");expect(t).toStrictEqual(null)}),it("should fail on invalid string with valid numbers",()=>{const t=u("0x012n34");expect(t).toStrictEqual(null)}),it("should convert correct hexadecimal string",()=>{const t=u("1a35669f0100");expect(t).toStrictEqual(new Uint8Array([26,53,102,159,1,0]))}),it("should support 0x prefix",()=>{const t=u("0x1a35");expect(t).toStrictEqual(new Uint8Array([26,53]))}),it("should be case insensitive",()=>{const t=u("0xcCDd");expect(t).toStrictEqual(new Uint8Array([204,221]))}),it("should pad with 0",()=>{const t=u("0xa35");expect(t).toStrictEqual(new Uint8Array([10,53]))})}),describe("bufferToHexaString function",()=>{it("should convert a buffer into a hexa string",()=>{const e=Uint8Array.from([0,1,2,255,254]),t=r(e);expect(t).toStrictEqual("0x000102fffe")})})});
2
2
  //# sourceMappingURL=HexaString.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/utils/HexaString.test.ts"],
4
- "sourcesContent": ["import {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"./HexaString\";\n\ndescribe(\"HexaString\", () => {\n describe(\"isHexaString function\", () => {\n it(\"should return true if the value is a valid hex string\", () => {\n // GIVEN\n const value = \"0x1234abc\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if no data\", () => {\n // GIVEN\n const value = \"0x\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false if the value contain an invalid letter\", () => {\n // GIVEN\n const value = \"0x1234z\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false if the value does not start with 0x\", () => {\n // GIVEN\n const value = \"1234abc\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false for an epmty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n });\n\n describe(\"hexaStringToBuffer function\", () => {\n it(\"should convert empty input to empty buffer\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array());\n });\n\n it(\"should fail on invalid string\", () => {\n // GIVEN\n const value = \"bonjour\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should fail on invalid string with valid numbers\", () => {\n // GIVEN\n const value = \"0x012n34\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should convert correct hexadecimal string\", () => {\n // GIVEN\n const value = \"1a35669f0100\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n new Uint8Array([0x1a, 0x35, 0x66, 0x9f, 0x01, 0x00]),\n );\n });\n\n it(\"should support 0x prefix\", () => {\n // GIVEN\n const value = \"0x1a35\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array([0x1a, 0x35]));\n });\n\n it(\"should be case insensitive\", () => {\n // GIVEN\n const value = \"0xcCDd\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array([0xcc, 0xdd]));\n });\n\n it(\"should pad with 0\", () => {\n // GIVEN\n const value = \"0xa35\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array([0x0a, 0x35]));\n });\n });\n\n describe(\"bufferToHexaString function\", () => {\n it(\"should convert a buffer into a hexa string\", () => {\n // GIVEN\n const value = Uint8Array.from([0, 1, 2, 0xff, 0xfe]);\n\n // WHEN\n const result = bufferToHexaString(value);\n\n // THEN\n expect(result).toStrictEqual(\"0x000102fffe\");\n });\n });\n});\n"],
5
- "mappings": "AAAA,OACE,sBAAAA,EACA,sBAAAC,EACA,gBAAAC,MACK,eAEP,SAAS,aAAc,IAAM,CAC3B,SAAS,wBAAyB,IAAM,CACtC,GAAG,wDAAyD,IAAM,CAKhE,MAAMC,EAASD,EAHD,WAGmB,EAGjC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,gCAAiC,IAAM,CAKxC,MAAMA,EAASD,EAHD,IAGmB,EAGjC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,6DAA8D,IAAM,CAKrE,MAAMA,EAASD,EAHD,SAGmB,EAGjC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,0DAA2D,IAAM,CAKlE,MAAMA,EAASD,EAHD,SAGmB,EAGjC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,0CAA2C,IAAM,CAKlD,MAAMA,EAASD,EAHD,EAGmB,EAGjC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,CACH,CAAC,EAED,SAAS,8BAA+B,IAAM,CAC5C,GAAG,6CAA8C,IAAM,CAKrD,MAAMA,EAASF,EAHD,EAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,UAAY,CAC/C,CAAC,EAED,GAAG,gCAAiC,IAAM,CAKxC,MAAMA,EAASF,EAHD,SAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,CACnC,CAAC,EAED,GAAG,mDAAoD,IAAM,CAK3D,MAAMA,EAASF,EAHD,UAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,CACnC,CAAC,EAED,GAAG,4CAA6C,IAAM,CAKpD,MAAMA,EAASF,EAHD,cAGyB,EAGvC,OAAOE,CAAM,EAAE,cACb,IAAI,WAAW,CAAC,GAAM,GAAM,IAAM,IAAM,EAAM,CAAI,CAAC,CACrD,CACF,CAAC,EAED,GAAG,2BAA4B,IAAM,CAKnC,MAAMA,EAASF,EAHD,QAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,WAAW,CAAC,GAAM,EAAI,CAAC,CAAC,CAC3D,CAAC,EAED,GAAG,6BAA8B,IAAM,CAKrC,MAAMA,EAASF,EAHD,QAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,CAAC,CAC3D,CAAC,EAED,GAAG,oBAAqB,IAAM,CAK5B,MAAMA,EAASF,EAHD,OAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,WAAW,CAAC,GAAM,EAAI,CAAC,CAAC,CAC3D,CAAC,CACH,CAAC,EAED,SAAS,8BAA+B,IAAM,CAC5C,GAAG,6CAA8C,IAAM,CAErD,MAAMC,EAAQ,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,IAAM,GAAI,CAAC,EAG7CD,EAASH,EAAmBI,CAAK,EAGvC,OAAOD,CAAM,EAAE,cAAc,cAAc,CAC7C,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"./HexaString\";\n\ndescribe(\"HexaString\", () => {\n describe(\"isHexaString function\", () => {\n it(\"should return true if the value is a valid hex string\", () => {\n // GIVEN\n const value = \"0x1234abc\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return true if no data\", () => {\n // GIVEN\n const value = \"0x\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeTruthy();\n });\n\n it(\"should return false if the value contain an invalid letter\", () => {\n // GIVEN\n const value = \"0x1234z\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false if the value does not start with 0x\", () => {\n // GIVEN\n const value = \"1234abc\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it(\"should return false for an epmty string\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeFalsy();\n });\n\n it.each([123, [], {}, null, undefined, true])(\n \"should return false for invalid input %p\",\n (value) => {\n // WHEN\n const result = isHexaString(value);\n\n // THEN\n expect(result).toBeFalsy();\n },\n );\n });\n\n describe(\"hexaStringToBuffer function\", () => {\n it(\"should convert empty input to empty buffer\", () => {\n // GIVEN\n const value = \"\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array());\n });\n\n it(\"should fail on invalid string\", () => {\n // GIVEN\n const value = \"bonjour\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should fail on invalid string with valid numbers\", () => {\n // GIVEN\n const value = \"0x012n34\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(null);\n });\n\n it(\"should convert correct hexadecimal string\", () => {\n // GIVEN\n const value = \"1a35669f0100\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(\n new Uint8Array([0x1a, 0x35, 0x66, 0x9f, 0x01, 0x00]),\n );\n });\n\n it(\"should support 0x prefix\", () => {\n // GIVEN\n const value = \"0x1a35\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array([0x1a, 0x35]));\n });\n\n it(\"should be case insensitive\", () => {\n // GIVEN\n const value = \"0xcCDd\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array([0xcc, 0xdd]));\n });\n\n it(\"should pad with 0\", () => {\n // GIVEN\n const value = \"0xa35\";\n\n // WHEN\n const result = hexaStringToBuffer(value);\n\n // THEN\n expect(result).toStrictEqual(new Uint8Array([0x0a, 0x35]));\n });\n });\n\n describe(\"bufferToHexaString function\", () => {\n it(\"should convert a buffer into a hexa string\", () => {\n // GIVEN\n const value = Uint8Array.from([0, 1, 2, 0xff, 0xfe]);\n\n // WHEN\n const result = bufferToHexaString(value);\n\n // THEN\n expect(result).toStrictEqual(\"0x000102fffe\");\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,sBAAAA,EACA,sBAAAC,EACA,gBAAAC,MACK,eAEP,SAAS,aAAc,IAAM,CAC3B,SAAS,wBAAyB,IAAM,CACtC,GAAG,wDAAyD,IAAM,CAKhE,MAAMC,EAASD,EAHD,WAGmB,EAGjC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,gCAAiC,IAAM,CAKxC,MAAMA,EAASD,EAHD,IAGmB,EAGjC,OAAOC,CAAM,EAAE,WAAW,CAC5B,CAAC,EAED,GAAG,6DAA8D,IAAM,CAKrE,MAAMA,EAASD,EAHD,SAGmB,EAGjC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,0DAA2D,IAAM,CAKlE,MAAMA,EAASD,EAHD,SAGmB,EAGjC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,0CAA2C,IAAM,CAKlD,MAAMA,EAASD,EAHD,EAGmB,EAGjC,OAAOC,CAAM,EAAE,UAAU,CAC3B,CAAC,EAED,GAAG,KAAK,CAAC,IAAK,CAAC,EAAG,CAAC,EAAG,KAAM,OAAW,EAAI,CAAC,EAC1C,2CACCC,GAAU,CAET,MAAMD,EAASD,EAAaE,CAAK,EAGjC,OAAOD,CAAM,EAAE,UAAU,CAC3B,CACF,CACF,CAAC,EAED,SAAS,8BAA+B,IAAM,CAC5C,GAAG,6CAA8C,IAAM,CAKrD,MAAMA,EAASF,EAHD,EAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,UAAY,CAC/C,CAAC,EAED,GAAG,gCAAiC,IAAM,CAKxC,MAAMA,EAASF,EAHD,SAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,CACnC,CAAC,EAED,GAAG,mDAAoD,IAAM,CAK3D,MAAMA,EAASF,EAHD,UAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,CACnC,CAAC,EAED,GAAG,4CAA6C,IAAM,CAKpD,MAAMA,EAASF,EAHD,cAGyB,EAGvC,OAAOE,CAAM,EAAE,cACb,IAAI,WAAW,CAAC,GAAM,GAAM,IAAM,IAAM,EAAM,CAAI,CAAC,CACrD,CACF,CAAC,EAED,GAAG,2BAA4B,IAAM,CAKnC,MAAMA,EAASF,EAHD,QAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,WAAW,CAAC,GAAM,EAAI,CAAC,CAAC,CAC3D,CAAC,EAED,GAAG,6BAA8B,IAAM,CAKrC,MAAMA,EAASF,EAHD,QAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,CAAC,CAC3D,CAAC,EAED,GAAG,oBAAqB,IAAM,CAK5B,MAAMA,EAASF,EAHD,OAGyB,EAGvC,OAAOE,CAAM,EAAE,cAAc,IAAI,WAAW,CAAC,GAAM,EAAI,CAAC,CAAC,CAC3D,CAAC,CACH,CAAC,EAED,SAAS,8BAA+B,IAAM,CAC5C,GAAG,6CAA8C,IAAM,CAErD,MAAMC,EAAQ,WAAW,KAAK,CAAC,EAAG,EAAG,EAAG,IAAM,GAAI,CAAC,EAG7CD,EAASH,EAAmBI,CAAK,EAGvC,OAAOD,CAAM,EAAE,cAAc,cAAc,CAC7C,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["bufferToHexaString", "hexaStringToBuffer", "isHexaString", "result", "value"]
7
7
  }
package/lib/esm/src/di.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Container as i}from"inversify";import{commandModuleFactory as a}from"./api/command/di/commandModule";import{deviceActionModuleFactory as p}from"./api/device-action/di/deviceActionModule";import{configModuleFactory as c}from"./internal/config/di/configModule";import{deviceModelModuleFactory as n}from"./internal/device-model/di/deviceModelModule";import{deviceSessionModuleFactory as f}from"./internal/device-session/di/deviceSessionModule";import{discoveryModuleFactory as l}from"./internal/discovery/di/discoveryModule";import{loggerModuleFactory as d}from"./internal/logger-publisher/di/loggerModule";import{managerApiModuleFactory as y}from"./internal/manager-api/di/managerApiModule";import{DEFAULT_MANAGER_API_BASE_URL as M,DEFAULT_MOCK_SERVER_BASE_URL as F}from"./internal/manager-api/model/Const";import{sendModuleFactory as g}from"./internal/send/di/sendModule";import{transportModuleFactory as s}from"./internal/transport/di/transportModule";const P=({stub:o=!1,transports:t=[],loggers:m=[],config:r={managerApiUrl:M,mockUrl:F}})=>{const e=new i;return e.load(c({stub:o}),n({stub:o}),s({stub:o,transports:t,config:r}),y({stub:o,config:r}),l({stub:o}),d({subscribers:m}),f({stub:o}),g({stub:o}),a({stub:o}),p({stub:o})),e};export{P as makeContainer};
1
+ import{Container as i}from"inversify";import{commandModuleFactory as a}from"./api/command/di/commandModule";import{deviceActionModuleFactory as p}from"./api/device-action/di/deviceActionModule";import{configModuleFactory as c}from"./internal/config/di/configModule";import{deviceModelModuleFactory as n}from"./internal/device-model/di/deviceModelModule";import{deviceSessionModuleFactory as l}from"./internal/device-session/di/deviceSessionModule";import{discoveryModuleFactory as f}from"./internal/discovery/di/discoveryModule";import{loggerModuleFactory as d}from"./internal/logger-publisher/di/loggerModule";import{managerApiModuleFactory as y}from"./internal/manager-api/di/managerApiModule";import{DEFAULT_MANAGER_API_BASE_URL as F,DEFAULT_MOCK_SERVER_BASE_URL as M}from"./internal/manager-api/model/Const";import{secureChannelModuleFactory as s}from"./internal/secure-channel/di/secureChannelModule";import{DEFAULT_WEB_SOCKET_BASE_URL as g}from"./internal/secure-channel/model/Const";import{sendModuleFactory as A}from"./internal/send/di/sendModule";import{transportModuleFactory as _}from"./internal/transport/di/transportModule";const x=({stub:o=!1,transports:t=[],loggers:m=[],config:r={mockUrl:M,managerApiUrl:F,webSocketUrl:g}})=>{const e=new i;return e.load(c({stub:o}),n({stub:o}),_({stub:o,transports:t,config:r}),y({stub:o,config:r}),s({stub:o,config:r}),f({stub:o}),d({subscribers:m}),l({stub:o}),A({stub:o}),a({stub:o}),p({stub:o})),e};export{x as makeContainer};
2
2
  //# sourceMappingURL=di.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/di.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\n// Uncomment this line to enable the logger middleware\n// import { makeLoggerMiddleware } from \"inversify-logger-middleware\";\nimport { commandModuleFactory } from \"@api/command/di/commandModule\";\nimport { deviceActionModuleFactory } from \"@api/device-action/di/deviceActionModule\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerSubscriberService } from \"@api/logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"@api/transport/model/Transport\";\nimport { configModuleFactory } from \"@internal/config/di/configModule\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { discoveryModuleFactory } from \"@internal/discovery/di/discoveryModule\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n} from \"@internal/manager-api/model/Const\";\nimport { sendModuleFactory } from \"@internal/send/di/sendModule\";\nimport { transportModuleFactory } from \"@internal/transport//di/transportModule\";\n\n// Uncomment this line to enable the logger middleware\n// const logger = makeLoggerMiddleware();\n\nexport type MakeContainerProps = {\n stub: boolean;\n transports: TransportFactory[];\n loggers: LoggerSubscriberService[];\n config: DmkConfig;\n};\n\nexport const makeContainer = ({\n stub = false,\n transports = [],\n loggers = [],\n config = {\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n },\n}: Partial<MakeContainerProps>) => {\n const container = new Container();\n\n // Uncomment this line to enable the logger middleware\n // container.applyMiddleware(logger);\n\n container.load(\n configModuleFactory({ stub }),\n deviceModelModuleFactory({ stub }),\n transportModuleFactory({ stub, transports, config }),\n managerApiModuleFactory({ stub, config }),\n discoveryModuleFactory({ stub }),\n loggerModuleFactory({ subscribers: loggers }),\n deviceSessionModuleFactory({ stub }),\n sendModuleFactory({ stub }),\n commandModuleFactory({ stub }),\n deviceActionModuleFactory({ stub }),\n // modules go here\n );\n\n return container;\n};\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAI1B,OAAS,wBAAAC,MAA4B,gCACrC,OAAS,6BAAAC,MAAiC,2CAI1C,OAAS,uBAAAC,MAA2B,mCACpC,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,0BAAAC,MAA8B,yCACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OACE,gCAAAC,EACA,gCAAAC,MACK,oCACP,OAAS,qBAAAC,MAAyB,+BAClC,OAAS,0BAAAC,MAA8B,0CAYhC,MAAMC,EAAgB,CAAC,CAC5B,KAAAC,EAAO,GACP,WAAAC,EAAa,CAAC,EACd,QAAAC,EAAU,CAAC,EACX,OAAAC,EAAS,CACP,cAAeR,EACf,QAASC,CACX,CACF,IAAmC,CACjC,MAAMQ,EAAY,IAAIlB,EAKtB,OAAAkB,EAAU,KACRf,EAAoB,CAAE,KAAAW,CAAK,CAAC,EAC5BV,EAAyB,CAAE,KAAAU,CAAK,CAAC,EACjCF,EAAuB,CAAE,KAAAE,EAAM,WAAAC,EAAY,OAAAE,CAAO,CAAC,EACnDT,EAAwB,CAAE,KAAAM,EAAM,OAAAG,CAAO,CAAC,EACxCX,EAAuB,CAAE,KAAAQ,CAAK,CAAC,EAC/BP,EAAoB,CAAE,YAAaS,CAAQ,CAAC,EAC5CX,EAA2B,CAAE,KAAAS,CAAK,CAAC,EACnCH,EAAkB,CAAE,KAAAG,CAAK,CAAC,EAC1Bb,EAAqB,CAAE,KAAAa,CAAK,CAAC,EAC7BZ,EAA0B,CAAE,KAAAY,CAAK,CAAC,CAEpC,EAEOI,CACT",
6
- "names": ["Container", "commandModuleFactory", "deviceActionModuleFactory", "configModuleFactory", "deviceModelModuleFactory", "deviceSessionModuleFactory", "discoveryModuleFactory", "loggerModuleFactory", "managerApiModuleFactory", "DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL", "sendModuleFactory", "transportModuleFactory", "makeContainer", "stub", "transports", "loggers", "config", "container"]
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\n// Uncomment this line to enable the logger middleware\n// import { makeLoggerMiddleware } from \"inversify-logger-middleware\";\nimport { commandModuleFactory } from \"@api/command/di/commandModule\";\nimport { deviceActionModuleFactory } from \"@api/device-action/di/deviceActionModule\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerSubscriberService } from \"@api/logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"@api/transport/model/Transport\";\nimport { configModuleFactory } from \"@internal/config/di/configModule\";\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { discoveryModuleFactory } from \"@internal/discovery/di/discoveryModule\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { managerApiModuleFactory } from \"@internal/manager-api/di/managerApiModule\";\nimport {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n} from \"@internal/manager-api/model/Const\";\nimport { secureChannelModuleFactory } from \"@internal/secure-channel/di/secureChannelModule\";\nimport { DEFAULT_WEB_SOCKET_BASE_URL } from \"@internal/secure-channel/model/Const\";\nimport { sendModuleFactory } from \"@internal/send/di/sendModule\";\nimport { transportModuleFactory } from \"@internal/transport//di/transportModule\";\n\n// Uncomment this line to enable the logger middleware\n// const logger = makeLoggerMiddleware();\n\nexport type MakeContainerProps = {\n stub: boolean;\n transports: TransportFactory[];\n loggers: LoggerSubscriberService[];\n config: DmkConfig;\n};\n\nexport const makeContainer = ({\n stub = false,\n transports = [],\n loggers = [],\n config = {\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n webSocketUrl: DEFAULT_WEB_SOCKET_BASE_URL,\n },\n}: Partial<MakeContainerProps>) => {\n const container = new Container();\n\n // Uncomment this line to enable the logger middleware\n // container.applyMiddleware(logger);\n\n container.load(\n configModuleFactory({ stub }),\n deviceModelModuleFactory({ stub }),\n transportModuleFactory({ stub, transports, config }),\n managerApiModuleFactory({ stub, config }),\n secureChannelModuleFactory({ stub, config }),\n discoveryModuleFactory({ stub }),\n loggerModuleFactory({ subscribers: loggers }),\n deviceSessionModuleFactory({ stub }),\n sendModuleFactory({ stub }),\n commandModuleFactory({ stub }),\n deviceActionModuleFactory({ stub }),\n // modules go here\n );\n\n return container;\n};\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAI1B,OAAS,wBAAAC,MAA4B,gCACrC,OAAS,6BAAAC,MAAiC,2CAI1C,OAAS,uBAAAC,MAA2B,mCACpC,OAAS,4BAAAC,MAAgC,8CACzC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,0BAAAC,MAA8B,yCACvC,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,2BAAAC,MAA+B,4CACxC,OACE,gCAAAC,EACA,gCAAAC,MACK,oCACP,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,+BAAAC,MAAmC,uCAC5C,OAAS,qBAAAC,MAAyB,+BAClC,OAAS,0BAAAC,MAA8B,0CAYhC,MAAMC,EAAgB,CAAC,CAC5B,KAAAC,EAAO,GACP,WAAAC,EAAa,CAAC,EACd,QAAAC,EAAU,CAAC,EACX,OAAAC,EAAS,CACP,QAAST,EACT,cAAeD,EACf,aAAcG,CAChB,CACF,IAAmC,CACjC,MAAMQ,EAAY,IAAIpB,EAKtB,OAAAoB,EAAU,KACRjB,EAAoB,CAAE,KAAAa,CAAK,CAAC,EAC5BZ,EAAyB,CAAE,KAAAY,CAAK,CAAC,EACjCF,EAAuB,CAAE,KAAAE,EAAM,WAAAC,EAAY,OAAAE,CAAO,CAAC,EACnDX,EAAwB,CAAE,KAAAQ,EAAM,OAAAG,CAAO,CAAC,EACxCR,EAA2B,CAAE,KAAAK,EAAM,OAAAG,CAAO,CAAC,EAC3Cb,EAAuB,CAAE,KAAAU,CAAK,CAAC,EAC/BT,EAAoB,CAAE,YAAaW,CAAQ,CAAC,EAC5Cb,EAA2B,CAAE,KAAAW,CAAK,CAAC,EACnCH,EAAkB,CAAE,KAAAG,CAAK,CAAC,EAC1Bf,EAAqB,CAAE,KAAAe,CAAK,CAAC,EAC7Bd,EAA0B,CAAE,KAAAc,CAAK,CAAC,CAEpC,EAEOI,CACT",
6
+ "names": ["Container", "commandModuleFactory", "deviceActionModuleFactory", "configModuleFactory", "deviceModelModuleFactory", "deviceSessionModuleFactory", "discoveryModuleFactory", "loggerModuleFactory", "managerApiModuleFactory", "DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL", "secureChannelModuleFactory", "DEFAULT_WEB_SOCKET_BASE_URL", "sendModuleFactory", "transportModuleFactory", "makeContainer", "stub", "transports", "loggers", "config", "container"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var n=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=(f,o,i,r)=>{for(var c=r>1?void 0:r?p(o,i):o,j=f.length-1,l;j>=0;j--)(l=f[j])&&(c=(r?l(o,i,c):l(c))||c);return r&&c&&n(o,i,c),c};import{injectable as x}from"inversify";let t=class{execute=jest.fn(()=>"stub")};t=m([x()],t);export{t as StubUseCase};
1
+ var t=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var p=(f,i,l,o)=>{for(var c=o>1?void 0:o?x(i,l):i,m=f.length-1,n;m>=0;m--)(n=f[m])&&(c=(o?n(i,l,c):n(c))||c);return o&&c&&t(i,l,c),c};import{injectable as j}from"inversify";let r=class{execute=vi.fn(()=>"stub")};r=p([j()],r);export{r as StubUseCase};
2
2
  //# sourceMappingURL=di.stub.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/di.stub.ts"],
4
- "sourcesContent": ["import { injectable } from \"inversify\";\n\n@injectable()\nexport class StubUseCase {\n execute = jest.fn(() => \"stub\");\n}\n"],
5
- "mappings": "wMAAA,OAAS,cAAAA,MAAkB,YAGpB,IAAMC,EAAN,KAAkB,CACvB,QAAU,KAAK,GAAG,IAAM,MAAM,CAChC,EAFaA,EAANC,EAAA,CADNC,EAAW,GACCF",
4
+ "sourcesContent": ["import { injectable } from \"inversify\";\n\n@injectable()\nexport class StubUseCase {\n execute = vi.fn(() => \"stub\");\n}\n"],
5
+ "mappings": "wMAAA,OAAS,cAAAA,MAAkB,YAGpB,IAAMC,EAAN,KAAkB,CACvB,QAAU,GAAG,GAAG,IAAM,MAAM,CAC9B,EAFaA,EAANC,EAAA,CADNC,EAAW,GACCF",
6
6
  "names": ["injectable", "StubUseCase", "__decorateClass", "injectable"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Either as a,Left as n}from"purify-ts";import{JSONParseError as s,ReadFileError as c}from"../../config/model/Errors";import l from"../../../../package.json";import*as i from"./LocalConfigDataSource";const{FileLocalConfigDataSource:m}=i,r=jest.spyOn(i,"stubFsReadFile"),o=jest.spyOn(JSON,"parse");let t;describe("LocalConfigDataSource",()=>{describe("FileLocalConfigDataSource",()=>{beforeEach(()=>{r.mockClear(),o.mockClear(),t=new m}),afterAll(()=>{r.mockRestore(),o.mockRestore()}),it("should return an Either<never, Config>",()=>{r.mockReturnValue(JSON.stringify({name:"DeviceSDK",version:"0.0.0-spied.1"})),o.mockReturnValue({name:"DeviceSDK",version:"0.0.0-spied.1"}),expect(t.getConfig()).toStrictEqual(a.of({name:"DeviceSDK",version:"0.0.0-spied.1"}))}),it("should return an Either<ReadFileError, never> if readFileSync throws",()=>{const e=new Error("readFileSync error");r.mockImplementation(()=>{throw e}),expect(t.getConfig()).toEqual(n(new c(e)))}),it("should return an Either<JSONParseError, never> if JSON.parse throws",()=>{const e=new Error("JSON.parse error");r.mockReturnValue(JSON.stringify({name:"DeviceSDK",version:"0.0.0-spied.1"})),o.mockImplementation(()=>{throw e}),expect(t.getConfig()).toEqual(n(new s(e)))})}),describe("stubFsReadFile",()=>{it("should return a stringified version of the version object",()=>{expect(i.stubFsReadFile()).toEqual(JSON.stringify({name:"@ledgerhq/device-management-kit",version:l.version}))})})});
1
+ import{Either as a,Left as i}from"purify-ts";import{JSONParseError as s,ReadFileError as c}from"../../config/model/Errors";import l from"../../../../package.json";import*as o from"./LocalConfigDataSource";const{FileLocalConfigDataSource:f}=o,t=vi.spyOn(o,"stubFsReadFile"),n=vi.spyOn(JSON,"parse"),u=vi.spyOn(JSON,"stringify");let r;describe("LocalConfigDataSource",()=>{describe("FileLocalConfigDataSource",()=>{beforeEach(()=>{vi.resetAllMocks(),r=new f}),afterAll(()=>{vi.resetAllMocks()}),it("should return an Either<never, Config>",()=>{t.mockReturnValue(JSON.stringify({name:"DeviceSDK",version:"0.0.0-spied.1"})),n.mockReturnValue({name:"DeviceSDK",version:"0.0.0-spied.1"}),expect(r.getConfig()).toStrictEqual(a.of({name:"DeviceSDK",version:"0.0.0-spied.1"}))}),it("should return an Either<ReadFileError, never> if readFileSync throws",()=>{const e=new Error("readFileSync error");u.mockImplementation(()=>{throw e}),expect(r.getConfig()).toEqual(i(new c(e)))}),it("should return an Either<JSONParseError, never> if JSON.parse throws",()=>{const e=new Error("JSON.parse error");t.mockReturnValue(JSON.stringify({name:"DeviceSDK",version:"0.0.0-spied.1"})),n.mockImplementation(()=>{throw e}),expect(r.getConfig()).toEqual(i(new s(e)))})}),describe("stubFsReadFile",()=>{it("should return a stringified version of the version object",()=>{expect(o.stubFsReadFile()).toEqual(JSON.stringify({name:"@ledgerhq/device-management-kit",version:l.version}))})})});
2
2
  //# sourceMappingURL=LocalConfigDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/config/data/LocalConfigDataSource.test.ts"],
4
- "sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport { JSONParseError, ReadFileError } from \"@internal/config/model/Errors\";\nimport pkg from \"@root/package.json\";\n\nimport { type LocalConfigDataSource } from \"./ConfigDataSource\";\nimport * as LocalConfig from \"./LocalConfigDataSource\";\n\nconst { FileLocalConfigDataSource } = LocalConfig;\n\nconst readFileSyncSpy = jest.spyOn(LocalConfig, \"stubFsReadFile\");\nconst jsonParse = jest.spyOn(JSON, \"parse\");\n\nlet datasource: LocalConfigDataSource;\ndescribe(\"LocalConfigDataSource\", () => {\n describe(\"FileLocalConfigDataSource\", () => {\n beforeEach(() => {\n readFileSyncSpy.mockClear();\n jsonParse.mockClear();\n datasource = new FileLocalConfigDataSource();\n });\n\n afterAll(() => {\n readFileSyncSpy.mockRestore();\n jsonParse.mockRestore();\n });\n\n it(\"should return an Either<never, Config>\", () => {\n readFileSyncSpy.mockReturnValue(\n JSON.stringify({ name: \"DeviceSDK\", version: \"0.0.0-spied.1\" }),\n );\n\n jsonParse.mockReturnValue({\n name: \"DeviceSDK\",\n version: \"0.0.0-spied.1\",\n });\n\n expect(datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-spied.1\",\n }),\n );\n });\n\n it(\"should return an Either<ReadFileError, never> if readFileSync throws\", () => {\n const err = new Error(\"readFileSync error\");\n readFileSyncSpy.mockImplementation(() => {\n throw err;\n });\n\n expect(datasource.getConfig()).toEqual(Left(new ReadFileError(err)));\n });\n\n it(\"should return an Either<JSONParseError, never> if JSON.parse throws\", () => {\n const err = new Error(\"JSON.parse error\");\n readFileSyncSpy.mockReturnValue(\n JSON.stringify({ name: \"DeviceSDK\", version: \"0.0.0-spied.1\" }),\n );\n\n jsonParse.mockImplementation(() => {\n throw err;\n });\n\n expect(datasource.getConfig()).toEqual(Left(new JSONParseError(err)));\n });\n });\n\n describe(\"stubFsReadFile\", () => {\n it(\"should return a stringified version of the version object\", () => {\n expect(LocalConfig.stubFsReadFile()).toEqual(\n JSON.stringify({\n name: \"@ledgerhq/device-management-kit\",\n version: pkg.version,\n }),\n );\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAE7B,OAAS,kBAAAC,EAAgB,iBAAAC,MAAqB,gCAC9C,OAAOC,MAAS,qBAGhB,UAAYC,MAAiB,0BAE7B,KAAM,CAAE,0BAAAC,CAA0B,EAAID,EAEhCE,EAAkB,KAAK,MAAMF,EAAa,gBAAgB,EAC1DG,EAAY,KAAK,MAAM,KAAM,OAAO,EAE1C,IAAIC,EACJ,SAAS,wBAAyB,IAAM,CACtC,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfF,EAAgB,UAAU,EAC1BC,EAAU,UAAU,EACpBC,EAAa,IAAIH,CACnB,CAAC,EAED,SAAS,IAAM,CACbC,EAAgB,YAAY,EAC5BC,EAAU,YAAY,CACxB,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjDD,EAAgB,gBACd,KAAK,UAAU,CAAE,KAAM,YAAa,QAAS,eAAgB,CAAC,CAChE,EAEAC,EAAU,gBAAgB,CACxB,KAAM,YACN,QAAS,eACX,CAAC,EAED,OAAOC,EAAW,UAAU,CAAC,EAAE,cAC7BT,EAAO,GAAG,CACR,KAAM,YACN,QAAS,eACX,CAAC,CACH,CACF,CAAC,EAED,GAAG,uEAAwE,IAAM,CAC/E,MAAMU,EAAM,IAAI,MAAM,oBAAoB,EAC1CH,EAAgB,mBAAmB,IAAM,CACvC,MAAMG,CACR,CAAC,EAED,OAAOD,EAAW,UAAU,CAAC,EAAE,QAAQR,EAAK,IAAIE,EAAcO,CAAG,CAAC,CAAC,CACrE,CAAC,EAED,GAAG,sEAAuE,IAAM,CAC9E,MAAMA,EAAM,IAAI,MAAM,kBAAkB,EACxCH,EAAgB,gBACd,KAAK,UAAU,CAAE,KAAM,YAAa,QAAS,eAAgB,CAAC,CAChE,EAEAC,EAAU,mBAAmB,IAAM,CACjC,MAAME,CACR,CAAC,EAED,OAAOD,EAAW,UAAU,CAAC,EAAE,QAAQR,EAAK,IAAIC,EAAeQ,CAAG,CAAC,CAAC,CACtE,CAAC,CACH,CAAC,EAED,SAAS,iBAAkB,IAAM,CAC/B,GAAG,4DAA6D,IAAM,CACpE,OAAOL,EAAY,eAAe,CAAC,EAAE,QACnC,KAAK,UAAU,CACb,KAAM,kCACN,QAASD,EAAI,OACf,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["Either", "Left", "JSONParseError", "ReadFileError", "pkg", "LocalConfig", "FileLocalConfigDataSource", "readFileSyncSpy", "jsonParse", "datasource", "err"]
4
+ "sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport { JSONParseError, ReadFileError } from \"@internal/config/model/Errors\";\nimport pkg from \"@root/package.json\";\n\nimport { type LocalConfigDataSource } from \"./ConfigDataSource\";\nimport * as LocalConfig from \"./LocalConfigDataSource\";\n\nconst { FileLocalConfigDataSource } = LocalConfig;\n\nconst readFileSyncSpy = vi.spyOn(LocalConfig, \"stubFsReadFile\");\nconst jsonParse = vi.spyOn(JSON, \"parse\");\nconst jsonStringify = vi.spyOn(JSON, \"stringify\");\n\nlet datasource: LocalConfigDataSource;\ndescribe(\"LocalConfigDataSource\", () => {\n describe(\"FileLocalConfigDataSource\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n datasource = new FileLocalConfigDataSource();\n });\n\n afterAll(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return an Either<never, Config>\", () => {\n readFileSyncSpy.mockReturnValue(\n JSON.stringify({ name: \"DeviceSDK\", version: \"0.0.0-spied.1\" }),\n );\n\n jsonParse.mockReturnValue({\n name: \"DeviceSDK\",\n version: \"0.0.0-spied.1\",\n });\n\n expect(datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-spied.1\",\n }),\n );\n });\n\n it(\"should return an Either<ReadFileError, never> if readFileSync throws\", () => {\n const err = new Error(\"readFileSync error\");\n jsonStringify.mockImplementation(() => {\n throw err;\n });\n\n expect(datasource.getConfig()).toEqual(Left(new ReadFileError(err)));\n });\n\n it(\"should return an Either<JSONParseError, never> if JSON.parse throws\", () => {\n const err = new Error(\"JSON.parse error\");\n readFileSyncSpy.mockReturnValue(\n JSON.stringify({ name: \"DeviceSDK\", version: \"0.0.0-spied.1\" }),\n );\n\n jsonParse.mockImplementation(() => {\n throw err;\n });\n\n expect(datasource.getConfig()).toEqual(Left(new JSONParseError(err)));\n });\n });\n\n describe(\"stubFsReadFile\", () => {\n it(\"should return a stringified version of the version object\", () => {\n expect(LocalConfig.stubFsReadFile()).toEqual(\n JSON.stringify({\n name: \"@ledgerhq/device-management-kit\",\n version: pkg.version,\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAE7B,OAAS,kBAAAC,EAAgB,iBAAAC,MAAqB,gCAC9C,OAAOC,MAAS,qBAGhB,UAAYC,MAAiB,0BAE7B,KAAM,CAAE,0BAAAC,CAA0B,EAAID,EAEhCE,EAAkB,GAAG,MAAMF,EAAa,gBAAgB,EACxDG,EAAY,GAAG,MAAM,KAAM,OAAO,EAClCC,EAAgB,GAAG,MAAM,KAAM,WAAW,EAEhD,IAAIC,EACJ,SAAS,wBAAyB,IAAM,CACtC,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACf,GAAG,cAAc,EACjBA,EAAa,IAAIJ,CACnB,CAAC,EAED,SAAS,IAAM,CACb,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjDC,EAAgB,gBACd,KAAK,UAAU,CAAE,KAAM,YAAa,QAAS,eAAgB,CAAC,CAChE,EAEAC,EAAU,gBAAgB,CACxB,KAAM,YACN,QAAS,eACX,CAAC,EAED,OAAOE,EAAW,UAAU,CAAC,EAAE,cAC7BV,EAAO,GAAG,CACR,KAAM,YACN,QAAS,eACX,CAAC,CACH,CACF,CAAC,EAED,GAAG,uEAAwE,IAAM,CAC/E,MAAMW,EAAM,IAAI,MAAM,oBAAoB,EAC1CF,EAAc,mBAAmB,IAAM,CACrC,MAAME,CACR,CAAC,EAED,OAAOD,EAAW,UAAU,CAAC,EAAE,QAAQT,EAAK,IAAIE,EAAcQ,CAAG,CAAC,CAAC,CACrE,CAAC,EAED,GAAG,sEAAuE,IAAM,CAC9E,MAAMA,EAAM,IAAI,MAAM,kBAAkB,EACxCJ,EAAgB,gBACd,KAAK,UAAU,CAAE,KAAM,YAAa,QAAS,eAAgB,CAAC,CAChE,EAEAC,EAAU,mBAAmB,IAAM,CACjC,MAAMG,CACR,CAAC,EAED,OAAOD,EAAW,UAAU,CAAC,EAAE,QAAQT,EAAK,IAAIC,EAAeS,CAAG,CAAC,CAAC,CACtE,CAAC,CACH,CAAC,EAED,SAAS,iBAAkB,IAAM,CAC/B,GAAG,4DAA6D,IAAM,CACpE,OAAON,EAAY,eAAe,CAAC,EAAE,QACnC,KAAK,UAAU,CACb,KAAM,kCACN,QAASD,EAAI,OACf,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["Either", "Left", "JSONParseError", "ReadFileError", "pkg", "LocalConfig", "FileLocalConfigDataSource", "readFileSyncSpy", "jsonParse", "jsonStringify", "datasource", "err"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Either as e,Left as o}from"purify-ts";import{ApiCallError as c,JSONParseError as l,ParseResponseError as s}from"../../config/model/Errors";import{RestRemoteConfigDataSource as i}from"./RemoteConfigDataSource";let r;const t=jest.spyOn(i.prototype,"_callApi"),n=jest.spyOn(i.prototype,"_parseResponse");describe("RemoteRestConfigDataSource",()=>{describe("RestRemoteConfigDataSource",()=>{beforeEach(()=>{t.mockClear(),n.mockClear(),r=new i}),it("should return an Either<never, Config>",async()=>{t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),n.mockReturnValue(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"})),expect(await r.getConfig()).toStrictEqual(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))}),it("should return an Either<ApiCallError, never> if _callApi throws",async()=>{const a=new Error("_callApi error");t.mockResolvedValue(o(a)),expect(await r.getConfig()).toStrictEqual(o(new c(a)))}),it("should return an Either<ApiCallError, never> if _callApi returns a non-ok response",async()=>{t.mockResolvedValue(e.of({ok:!1,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),expect(await r.getConfig()).toStrictEqual(o(new c(new Error("response not ok"))))}),it("should return an Either<JSONParseError, never> if deserializing json fails",async()=>{const a=new Error("deserializing json failure");t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(o(a))})),expect(await r.getConfig()).toStrictEqual(o(new l))}),it("should return an Either<ParseResponseError, never> if _parseResponse throws",async()=>{t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),n.mockImplementation(()=>o(new s)),expect(await r.getConfig()).toStrictEqual(o(new s))}),it("should return an Either<ParseResponseError, never> if `name` is missing in Dto",async()=>{n.mockRestore(),t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({version:"0.0.0-fake.1",yolo:"yolo"}))})),expect(await r.getConfig()).toStrictEqual(o(new s))}),describe("without private methods spy",()=>{beforeEach(()=>{t.mockRestore(),n.mockRestore()}),it("should return an Either<never, Config>",async()=>{expect(await r.getConfig()).toStrictEqual(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})})})});
1
+ import{Either as e,Left as o}from"purify-ts";import{ApiCallError as c,JSONParseError as l,ParseResponseError as i}from"../../config/model/Errors";import{RestRemoteConfigDataSource as s}from"./RemoteConfigDataSource";let r;const t=vi.spyOn(s.prototype,"_callApi"),n=vi.spyOn(s.prototype,"_parseResponse");describe("RemoteRestConfigDataSource",()=>{describe("RestRemoteConfigDataSource",()=>{beforeEach(()=>{t.mockClear(),n.mockClear(),r=new s}),it("should return an Either<never, Config>",async()=>{t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),n.mockReturnValue(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"})),expect(await r.getConfig()).toStrictEqual(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))}),it("should return an Either<ApiCallError, never> if _callApi throws",async()=>{const a=new Error("_callApi error");t.mockResolvedValue(o(a)),expect(await r.getConfig()).toStrictEqual(o(new c(a)))}),it("should return an Either<ApiCallError, never> if _callApi returns a non-ok response",async()=>{t.mockResolvedValue(e.of({ok:!1,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),expect(await r.getConfig()).toStrictEqual(o(new c(new Error("response not ok"))))}),it("should return an Either<JSONParseError, never> if deserializing json fails",async()=>{const a=new Error("deserializing json failure");t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(o(a))})),expect(await r.getConfig()).toStrictEqual(o(new l))}),it("should return an Either<ParseResponseError, never> if _parseResponse throws",async()=>{t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})),n.mockImplementation(()=>o(new i)),expect(await r.getConfig()).toStrictEqual(o(new i))}),it("should return an Either<ParseResponseError, never> if `name` is missing in Dto",async()=>{n.mockRestore(),t.mockResolvedValue(e.of({ok:!0,json:()=>Promise.resolve(e.of({version:"0.0.0-fake.1",yolo:"yolo"}))})),expect(await r.getConfig()).toStrictEqual(o(new i))}),describe("without private methods spy",()=>{beforeEach(()=>{t.mockRestore(),n.mockRestore()}),it("should return an Either<never, Config>",async()=>{expect(await r.getConfig()).toStrictEqual(e.of({name:"DeviceSDK",version:"0.0.0-fake.1"}))})})})});
2
2
  //# sourceMappingURL=RemoteConfigDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/config/data/RemoteConfigDataSource.test.ts"],
4
- "sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport {\n ApiCallError,\n JSONParseError,\n ParseResponseError,\n} from \"@internal/config/model/Errors\";\n\nimport { type RemoteConfigDataSource } from \"./ConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"./RemoteConfigDataSource\";\n\nlet datasource: RemoteConfigDataSource;\n\n// Necessary to use `any` on the prototype to be able to spy on private methods\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst callApiSpy = jest.spyOn(\n RestRemoteConfigDataSource.prototype as any,\n \"_callApi\",\n);\nconst parseResponseSpy = jest.spyOn(\n RestRemoteConfigDataSource.prototype as any,\n \"_parseResponse\",\n);\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\ndescribe(\"RemoteRestConfigDataSource\", () => {\n describe(\"RestRemoteConfigDataSource\", () => {\n beforeEach(() => {\n callApiSpy.mockClear();\n parseResponseSpy.mockClear();\n datasource = new RestRemoteConfigDataSource();\n });\n\n it(\"should return an Either<never, Config>\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n parseResponseSpy.mockReturnValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n });\n\n it(\"should return an Either<ApiCallError, never> if _callApi throws\", async () => {\n const err = new Error(\"_callApi error\");\n callApiSpy.mockResolvedValue(Left(err));\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ApiCallError(err)),\n );\n });\n\n it(\"should return an Either<ApiCallError, never> if _callApi returns a non-ok response\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: false,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ApiCallError(new Error(\"response not ok\"))),\n );\n });\n\n it(\"should return an Either<JSONParseError, never> if deserializing json fails\", async () => {\n const err = new Error(\"deserializing json failure\");\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () => Promise.resolve(Left(err)),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new JSONParseError()),\n );\n });\n\n it(\"should return an Either<ParseResponseError, never> if _parseResponse throws\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n parseResponseSpy.mockImplementation(() => {\n return Left(new ParseResponseError());\n });\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ParseResponseError()),\n );\n });\n\n it(\"should return an Either<ParseResponseError, never> if `name` is missing in Dto\", async () => {\n parseResponseSpy.mockRestore();\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({\n version: \"0.0.0-fake.1\",\n yolo: \"yolo\",\n }),\n ),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ParseResponseError()),\n );\n });\n\n describe(\"without private methods spy\", () => {\n beforeEach(() => {\n callApiSpy.mockRestore();\n parseResponseSpy.mockRestore();\n });\n\n it(\"should return an Either<never, Config>\", async () => {\n expect(await datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n });\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport {\n ApiCallError,\n JSONParseError,\n ParseResponseError,\n} from \"@internal/config/model/Errors\";\n\nimport { type RemoteConfigDataSource } from \"./ConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"./RemoteConfigDataSource\";\n\nlet datasource: RemoteConfigDataSource;\n\n// Necessary to use `any` on the prototype to be able to spy on private methods\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst callApiSpy = vi.spyOn(\n RestRemoteConfigDataSource.prototype as any,\n \"_callApi\",\n);\nconst parseResponseSpy = vi.spyOn(\n RestRemoteConfigDataSource.prototype as any,\n \"_parseResponse\",\n);\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\ndescribe(\"RemoteRestConfigDataSource\", () => {\n describe(\"RestRemoteConfigDataSource\", () => {\n beforeEach(() => {\n callApiSpy.mockClear();\n parseResponseSpy.mockClear();\n datasource = new RestRemoteConfigDataSource();\n });\n\n it(\"should return an Either<never, Config>\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n parseResponseSpy.mockReturnValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n });\n\n it(\"should return an Either<ApiCallError, never> if _callApi throws\", async () => {\n const err = new Error(\"_callApi error\");\n callApiSpy.mockResolvedValue(Left(err));\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ApiCallError(err)),\n );\n });\n\n it(\"should return an Either<ApiCallError, never> if _callApi returns a non-ok response\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: false,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ApiCallError(new Error(\"response not ok\"))),\n );\n });\n\n it(\"should return an Either<JSONParseError, never> if deserializing json fails\", async () => {\n const err = new Error(\"deserializing json failure\");\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () => Promise.resolve(Left(err)),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new JSONParseError()),\n );\n });\n\n it(\"should return an Either<ParseResponseError, never> if _parseResponse throws\", async () => {\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({ name: \"DeviceSDK\", version: \"0.0.0-fake.1\" }),\n ),\n }),\n );\n\n parseResponseSpy.mockImplementation(() => {\n return Left(new ParseResponseError());\n });\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ParseResponseError()),\n );\n });\n\n it(\"should return an Either<ParseResponseError, never> if `name` is missing in Dto\", async () => {\n parseResponseSpy.mockRestore();\n callApiSpy.mockResolvedValue(\n Either.of({\n ok: true,\n json: () =>\n Promise.resolve(\n Either.of({\n version: \"0.0.0-fake.1\",\n yolo: \"yolo\",\n }),\n ),\n }),\n );\n\n expect(await datasource.getConfig()).toStrictEqual(\n Left(new ParseResponseError()),\n );\n });\n\n describe(\"without private methods spy\", () => {\n beforeEach(() => {\n callApiSpy.mockRestore();\n parseResponseSpy.mockRestore();\n });\n\n it(\"should return an Either<never, Config>\", async () => {\n expect(await datasource.getConfig()).toStrictEqual(\n Either.of({\n name: \"DeviceSDK\",\n version: \"0.0.0-fake.1\",\n }),\n );\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["Either", "Left", "ApiCallError", "JSONParseError", "ParseResponseError", "RestRemoteConfigDataSource", "datasource", "callApiSpy", "parseResponseSpy", "err"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class a{getConfig=jest.fn()}export{a as FileLocalConfigDataSource};
1
+ class a{getConfig=vi.fn()}export{a as FileLocalConfigDataSource};
2
2
  //# sourceMappingURL=LocalConfigDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/config/data/__mocks__/LocalConfigDataSource.ts"],
4
- "sourcesContent": ["import { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class FileLocalConfigDataSource implements LocalConfigDataSource {\n getConfig = jest.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAA2D,CACtE,UAAY,KAAK,GAAG,CACtB",
4
+ "sourcesContent": ["import { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class FileLocalConfigDataSource implements LocalConfigDataSource {\n getConfig = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAA2D,CACtE,UAAY,GAAG,GAAG,CACpB",
6
6
  "names": ["FileLocalConfigDataSource"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class t{getConfig=jest.fn();_parseResponse=jest.fn();_callApi=jest.fn()}export{t as RestRemoteConfigDataSource};
1
+ class o{getConfig=vi.fn();_parseResponse=vi.fn();_callApi=vi.fn()}export{o as RestRemoteConfigDataSource};
2
2
  //# sourceMappingURL=RemoteConfigDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/config/data/__mocks__/RemoteConfigDataSource.ts"],
4
- "sourcesContent": ["import { type RemoteConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class RestRemoteConfigDataSource implements RemoteConfigDataSource {\n getConfig = jest.fn();\n _parseResponse = jest.fn();\n _callApi = jest.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAA6D,CACxE,UAAY,KAAK,GAAG,EACpB,eAAiB,KAAK,GAAG,EACzB,SAAW,KAAK,GAAG,CACrB",
4
+ "sourcesContent": ["import { type RemoteConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\n\nexport class RestRemoteConfigDataSource implements RemoteConfigDataSource {\n getConfig = vi.fn();\n _parseResponse = vi.fn();\n _callApi = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAA6D,CACxE,UAAY,GAAG,GAAG,EAClB,eAAiB,GAAG,GAAG,EACvB,SAAW,GAAG,GAAG,CACnB",
6
6
  "names": ["RestRemoteConfigDataSource"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Either as r,Left as a}from"purify-ts";import{FileLocalConfigDataSource as n}from"../../config/data/LocalConfigDataSource";import{RestRemoteConfigDataSource as l}from"../../config/data/RemoteConfigDataSource";import{JSONParseError as i}from"../../config/model/Errors";import{DefaultLoggerPublisherService as s}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{DefaultConfigService as f}from"./DefaultConfigService";jest.mock("@internal/config/data/LocalConfigDataSource");jest.mock("@internal/config/data/RemoteConfigDataSource");let e,o,c,t;describe("DefaultConfigService",()=>{beforeEach(()=>{jest.clearAllMocks(),e=new n,o=new l,c=new s([],"config"),t=new f(e,o,()=>c)}),describe("when the local config is available",()=>{it("should return the `local` version",async()=>{e.getConfig.mockReturnValue(r.of({name:"DeviceSDK",version:"1.0.0-local"})),expect(await t.getDmkConfig()).toStrictEqual({name:"DeviceSDK",version:"1.0.0-local"})})}),describe("when the local config is not available, use remote",()=>{it("should return the `remote` version",async()=>{e.getConfig.mockReturnValue(a(new i)),o.getConfig.mockResolvedValue(r.of({name:"DeviceSDK",version:"1.0.0-remote"})),expect(await t.getDmkConfig()).toStrictEqual({name:"DeviceSDK",version:"1.0.0-remote"})})}),describe("when the local remote config are not available",()=>{it("should return the `default` version",async()=>{e.getConfig.mockReturnValue(a(new i)),o.getConfig.mockResolvedValue(a(new i)),expect(await t.getDmkConfig()).toStrictEqual({name:"DeadDmk",version:"0.0.0-dead.1"})})})});
1
+ import{Either as r,Left as i}from"purify-ts";import{FileLocalConfigDataSource as n}from"../../config/data/LocalConfigDataSource";import{RestRemoteConfigDataSource as l}from"../../config/data/RemoteConfigDataSource";import{JSONParseError as a}from"../../config/model/Errors";import{DefaultLoggerPublisherService as f}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{DefaultConfigService as g}from"./DefaultConfigService";vi.mock("@internal/config/data/LocalConfigDataSource");vi.mock("@internal/config/data/RemoteConfigDataSource");let e,o,c,t;describe("DefaultConfigService",()=>{beforeEach(()=>{vi.clearAllMocks(),e=new n,o=new l,c=new f([],"config"),t=new g(e,o,()=>c)}),describe("when the local config is available",()=>{it("should return the `local` version",async()=>{e.getConfig.mockReturnValue(r.of({name:"DeviceSDK",version:"1.0.0-local"})),expect(await t.getDmkConfig()).toStrictEqual({name:"DeviceSDK",version:"1.0.0-local"})})}),describe("when the local config is not available, use remote",()=>{it("should return the `remote` version",async()=>{e.getConfig.mockReturnValue(i(new a)),o.getConfig.mockResolvedValue(r.of({name:"DeviceSDK",version:"1.0.0-remote"})),expect(await t.getDmkConfig()).toStrictEqual({name:"DeviceSDK",version:"1.0.0-remote"})})}),describe("when the local remote config are not available",()=>{it("should return the `default` version",async()=>{e.getConfig.mockReturnValue(i(new a)),o.getConfig.mockResolvedValue(i(new a)),expect(await t.getDmkConfig()).toStrictEqual({name:"DeadDmk",version:"0.0.0-dead.1"})})})});
2
2
  //# sourceMappingURL=DefaultConfigService.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/config/service/DefaultConfigService.test.ts"],
4
- "sourcesContent": ["import { Either, Left } from \"purify-ts\";\n\nimport { FileLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"@internal/config/data/RemoteConfigDataSource\";\nimport { JSONParseError } from \"@internal/config/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\n\nimport { type ConfigService } from \"./ConfigService\";\nimport { DefaultConfigService } from \"./DefaultConfigService\";\n\njest.mock(\"@internal/config/data/LocalConfigDataSource\");\njest.mock(\"@internal/config/data/RemoteConfigDataSource\");\n\nlet localDataSource: jest.Mocked<FileLocalConfigDataSource>;\nlet remoteDataSource: jest.Mocked<RestRemoteConfigDataSource>;\nlet loggerService: jest.Mocked<DefaultLoggerPublisherService>;\n\nlet service: ConfigService;\ndescribe(\"DefaultConfigService\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n localDataSource =\n new FileLocalConfigDataSource() as jest.Mocked<FileLocalConfigDataSource>;\n remoteDataSource =\n new RestRemoteConfigDataSource() as jest.Mocked<RestRemoteConfigDataSource>;\n\n loggerService = new DefaultLoggerPublisherService(\n [],\n \"config\",\n ) as jest.Mocked<DefaultLoggerPublisherService>;\n\n service = new DefaultConfigService(\n localDataSource,\n remoteDataSource,\n () => loggerService,\n );\n });\n\n describe(\"when the local config is available\", () => {\n it(\"should return the `local` version\", async () => {\n localDataSource.getConfig.mockReturnValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"1.0.0-local\",\n }),\n );\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeviceSDK\",\n version: \"1.0.0-local\",\n });\n });\n });\n\n describe(\"when the local config is not available, use remote\", () => {\n it(\"should return the `remote` version\", async () => {\n localDataSource.getConfig.mockReturnValue(Left(new JSONParseError()));\n remoteDataSource.getConfig.mockResolvedValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"1.0.0-remote\",\n }),\n );\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeviceSDK\",\n version: \"1.0.0-remote\",\n });\n });\n });\n\n describe(\"when the local remote config are not available\", () => {\n it(\"should return the `default` version\", async () => {\n localDataSource.getConfig.mockReturnValue(Left(new JSONParseError()));\n remoteDataSource.getConfig.mockResolvedValue(Left(new JSONParseError()));\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeadDmk\",\n version: \"0.0.0-dead.1\",\n });\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAE7B,OAAS,6BAAAC,MAAiC,8CAC1C,OAAS,8BAAAC,MAAkC,+CAC3C,OAAS,kBAAAC,MAAsB,gCAC/B,OAAS,iCAAAC,MAAqC,mEAG9C,OAAS,wBAAAC,MAA4B,yBAErC,KAAK,KAAK,6CAA6C,EACvD,KAAK,KAAK,8CAA8C,EAExD,IAAIC,EACAC,EACAC,EAEAC,EACJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACf,KAAK,cAAc,EACnBH,EACE,IAAIL,EACNM,EACE,IAAIL,EAENM,EAAgB,IAAIJ,EAClB,CAAC,EACD,QACF,EAEAK,EAAU,IAAIJ,EACZC,EACAC,EACA,IAAMC,CACR,CACF,CAAC,EAED,SAAS,qCAAsC,IAAM,CACnD,GAAG,oCAAqC,SAAY,CAClDF,EAAgB,UAAU,gBACxBP,EAAO,GAAG,CACR,KAAM,YACN,QAAS,aACX,CAAC,CACH,EAEA,OAAO,MAAMU,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,YACN,QAAS,aACX,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,qDAAsD,IAAM,CACnE,GAAG,qCAAsC,SAAY,CACnDH,EAAgB,UAAU,gBAAgBN,EAAK,IAAIG,CAAgB,CAAC,EACpEI,EAAiB,UAAU,kBACzBR,EAAO,GAAG,CACR,KAAM,YACN,QAAS,cACX,CAAC,CACH,EAEA,OAAO,MAAMU,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,YACN,QAAS,cACX,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,iDAAkD,IAAM,CAC/D,GAAG,sCAAuC,SAAY,CACpDH,EAAgB,UAAU,gBAAgBN,EAAK,IAAIG,CAAgB,CAAC,EACpEI,EAAiB,UAAU,kBAAkBP,EAAK,IAAIG,CAAgB,CAAC,EAEvE,OAAO,MAAMM,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,UACN,QAAS,cACX,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { FileLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource\";\nimport { RestRemoteConfigDataSource } from \"@internal/config/data/RemoteConfigDataSource\";\nimport { JSONParseError } from \"@internal/config/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\n\nimport { type ConfigService } from \"./ConfigService\";\nimport { DefaultConfigService } from \"./DefaultConfigService\";\n\nvi.mock(\"@internal/config/data/LocalConfigDataSource\");\nvi.mock(\"@internal/config/data/RemoteConfigDataSource\");\n\nlet localDataSource: Mocked<FileLocalConfigDataSource>;\nlet remoteDataSource: Mocked<RestRemoteConfigDataSource>;\nlet loggerService: Mocked<DefaultLoggerPublisherService>;\n\nlet service: ConfigService;\ndescribe(\"DefaultConfigService\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n localDataSource =\n new FileLocalConfigDataSource() as Mocked<FileLocalConfigDataSource>;\n remoteDataSource =\n new RestRemoteConfigDataSource() as Mocked<RestRemoteConfigDataSource>;\n\n loggerService = new DefaultLoggerPublisherService(\n [],\n \"config\",\n ) as Mocked<DefaultLoggerPublisherService>;\n\n service = new DefaultConfigService(\n localDataSource,\n remoteDataSource,\n () => loggerService,\n );\n });\n\n describe(\"when the local config is available\", () => {\n it(\"should return the `local` version\", async () => {\n localDataSource.getConfig.mockReturnValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"1.0.0-local\",\n }),\n );\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeviceSDK\",\n version: \"1.0.0-local\",\n });\n });\n });\n\n describe(\"when the local config is not available, use remote\", () => {\n it(\"should return the `remote` version\", async () => {\n localDataSource.getConfig.mockReturnValue(Left(new JSONParseError()));\n remoteDataSource.getConfig.mockResolvedValue(\n Either.of({\n name: \"DeviceSDK\",\n version: \"1.0.0-remote\",\n }),\n );\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeviceSDK\",\n version: \"1.0.0-remote\",\n });\n });\n });\n\n describe(\"when the local remote config are not available\", () => {\n it(\"should return the `default` version\", async () => {\n localDataSource.getConfig.mockReturnValue(Left(new JSONParseError()));\n remoteDataSource.getConfig.mockResolvedValue(Left(new JSONParseError()));\n\n expect(await service.getDmkConfig()).toStrictEqual({\n name: \"DeadDmk\",\n version: \"0.0.0-dead.1\",\n });\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,UAAAA,EAAQ,QAAAC,MAAY,YAG7B,OAAS,6BAAAC,MAAiC,8CAC1C,OAAS,8BAAAC,MAAkC,+CAC3C,OAAS,kBAAAC,MAAsB,gCAC/B,OAAS,iCAAAC,MAAqC,mEAG9C,OAAS,wBAAAC,MAA4B,yBAErC,GAAG,KAAK,6CAA6C,EACrD,GAAG,KAAK,8CAA8C,EAEtD,IAAIC,EACAC,EACAC,EAEAC,EACJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACf,GAAG,cAAc,EACjBH,EACE,IAAIL,EACNM,EACE,IAAIL,EAENM,EAAgB,IAAIJ,EAClB,CAAC,EACD,QACF,EAEAK,EAAU,IAAIJ,EACZC,EACAC,EACA,IAAMC,CACR,CACF,CAAC,EAED,SAAS,qCAAsC,IAAM,CACnD,GAAG,oCAAqC,SAAY,CAClDF,EAAgB,UAAU,gBACxBP,EAAO,GAAG,CACR,KAAM,YACN,QAAS,aACX,CAAC,CACH,EAEA,OAAO,MAAMU,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,YACN,QAAS,aACX,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,qDAAsD,IAAM,CACnE,GAAG,qCAAsC,SAAY,CACnDH,EAAgB,UAAU,gBAAgBN,EAAK,IAAIG,CAAgB,CAAC,EACpEI,EAAiB,UAAU,kBACzBR,EAAO,GAAG,CACR,KAAM,YACN,QAAS,cACX,CAAC,CACH,EAEA,OAAO,MAAMU,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,YACN,QAAS,cACX,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,iDAAkD,IAAM,CAC/D,GAAG,sCAAuC,SAAY,CACpDH,EAAgB,UAAU,gBAAgBN,EAAK,IAAIG,CAAgB,CAAC,EACpEI,EAAiB,UAAU,kBAAkBP,EAAK,IAAIG,CAAgB,CAAC,EAEvE,OAAO,MAAMM,EAAQ,aAAa,CAAC,EAAE,cAAc,CACjD,KAAM,UACN,QAAS,cACX,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Either", "Left", "FileLocalConfigDataSource", "RestRemoteConfigDataSource", "JSONParseError", "DefaultLoggerPublisherService", "DefaultConfigService", "localDataSource", "remoteDataSource", "loggerService", "service"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{GetDmkVersionUseCase as t}from"./GetDmkVersionUseCase";const e=jest.fn();let s;describe("GetDmkVersionUseCase",()=>{beforeEach(()=>{e.mockClear();const o={getDmkConfig:e};s=new t(o)}),it("should return the dmk version",async()=>{e.mockResolvedValue({name:"DeviceSDK",version:"1.0.0"}),expect(await s.getDmkVersion()).toBe("1.0.0")})});
1
+ import{GetDmkVersionUseCase as i}from"./GetDmkVersionUseCase";const e=vi.fn();let o;describe("GetDmkVersionUseCase",()=>{beforeEach(()=>{e.mockClear();const s={getDmkConfig:e};o=new i(s)}),it("should return the dmk version",async()=>{e.mockResolvedValue({name:"DeviceSDK",version:"1.0.0"}),expect(await o.getDmkVersion()).toBe("1.0.0")})});
2
2
  //# sourceMappingURL=GetDmkVersionUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/config/use-case/GetDmkVersionUseCase.test.ts"],
4
- "sourcesContent": ["import { GetDmkVersionUseCase } from \"./GetDmkVersionUseCase\";\n\nconst getDmkConfigMock = jest.fn();\n\nlet usecase: GetDmkVersionUseCase;\ndescribe(\"GetDmkVersionUseCase\", () => {\n beforeEach(() => {\n getDmkConfigMock.mockClear();\n const configService = {\n getDmkConfig: getDmkConfigMock,\n };\n\n usecase = new GetDmkVersionUseCase(configService);\n });\n\n it(\"should return the dmk version\", async () => {\n getDmkConfigMock.mockResolvedValue({\n name: \"DeviceSDK\",\n version: \"1.0.0\",\n });\n expect(await usecase.getDmkVersion()).toBe(\"1.0.0\");\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,wBAAAA,MAA4B,yBAErC,MAAMC,EAAmB,KAAK,GAAG,EAEjC,IAAIC,EACJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfD,EAAiB,UAAU,EAC3B,MAAME,EAAgB,CACpB,aAAcF,CAChB,EAEAC,EAAU,IAAIF,EAAqBG,CAAa,CAClD,CAAC,EAED,GAAG,gCAAiC,SAAY,CAC9CF,EAAiB,kBAAkB,CACjC,KAAM,YACN,QAAS,OACX,CAAC,EACD,OAAO,MAAMC,EAAQ,cAAc,CAAC,EAAE,KAAK,OAAO,CACpD,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { GetDmkVersionUseCase } from \"./GetDmkVersionUseCase\";\n\nconst getDmkConfigMock = vi.fn();\n\nlet usecase: GetDmkVersionUseCase;\ndescribe(\"GetDmkVersionUseCase\", () => {\n beforeEach(() => {\n getDmkConfigMock.mockClear();\n const configService = {\n getDmkConfig: getDmkConfigMock,\n };\n\n usecase = new GetDmkVersionUseCase(configService);\n });\n\n it(\"should return the dmk version\", async () => {\n getDmkConfigMock.mockResolvedValue({\n name: \"DeviceSDK\",\n version: \"1.0.0\",\n });\n expect(await usecase.getDmkVersion()).toBe(\"1.0.0\");\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,wBAAAA,MAA4B,yBAErC,MAAMC,EAAmB,GAAG,GAAG,EAE/B,IAAIC,EACJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfD,EAAiB,UAAU,EAC3B,MAAME,EAAgB,CACpB,aAAcF,CAChB,EAEAC,EAAU,IAAIF,EAAqBG,CAAa,CAClD,CAAC,EAED,GAAG,gCAAiC,SAAY,CAC9CF,EAAiB,kBAAkB,CACjC,KAAM,YACN,QAAS,OACX,CAAC,EACD,OAAO,MAAMC,EAAQ,cAAc,CAAC,EAAE,KAAK,OAAO,CACpD,CAAC,CACH,CAAC",
6
6
  "names": ["GetDmkVersionUseCase", "getDmkConfigMock", "usecase", "configService"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as a}from"purify-ts";import{BehaviorSubject as c}from"rxjs";import{v4 as p}from"uuid";import{CommandUtils as d}from"../../../api/command/utils/CommandUtils";import{DeviceStatus as i}from"../../../api/device/DeviceStatus";import{DeviceSessionStateType as v}from"../../../api/device-session/DeviceSessionState";import{DeviceBusyError as u}from"../../../api/Error";import{DEVICE_SESSION_REFRESH_INTERVAL as S}from"../../device-session/data/DeviceSessionRefresherConst";import{DeviceSessionRefresher as m}from"./DeviceSessionRefresher";class R{_id;_connectedDevice;_deviceState;_refresher;_managerApiService;constructor({connectedDevice:e,id:s=p()},r,t){this._id=s,this._connectedDevice=e,this._deviceState=new c({sessionStateType:v.Connected,deviceStatus:i.CONNECTED}),this._refresher=new m({refreshInterval:S,deviceStatus:i.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id,sendApduFn:o=>this.sendApdu(o,{isPolling:!0,triggersDisconnection:!1}),updateStateFn:o=>{const n=this._deviceState.getValue();this.setDeviceSessionState(o(n))}},r("device-session-refresher")),this._managerApiService=t}get id(){return this._id}get connectedDevice(){return this._connectedDevice}get state(){return this._deviceState.asObservable()}setDeviceSessionState(e){this._deviceState.next(e)}updateDeviceStatus(e){const s=this._deviceState.getValue();this._refresher.setDeviceStatus(e),this._deviceState.next({...s,deviceStatus:e})}async sendApdu(e,s={isPolling:!1,triggersDisconnection:!1}){return this._deviceState.getValue().deviceStatus===i.BUSY?a(new u):(s.isPolling||this.updateDeviceStatus(i.BUSY),(await this._connectedDevice.sendApdu(e,s.triggersDisconnection)).ifRight(o=>{d.isLockedDeviceResponse(o)?this.updateDeviceStatus(i.LOCKED):this.updateDeviceStatus(i.CONNECTED)}).ifLeft(()=>{this.updateDeviceStatus(i.CONNECTED)}))}async sendCommand(e){const s=e.getApdu();return(await this.sendApdu(s.getRawApdu(),{isPolling:!1,triggersDisconnection:e.triggersDisconnection??!1})).caseOf({Left:t=>{throw t},Right:t=>e.parseResponse(t,this._connectedDevice.deviceModel.id)})}executeDeviceAction(e){const{observable:s,cancel:r}=e._execute({sendCommand:async t=>this.sendCommand(t),getDeviceSessionState:()=>this._deviceState.getValue(),getDeviceSessionStateObservable:()=>this.state,setDeviceSessionState:t=>(this.setDeviceSessionState(t),this._deviceState.getValue()),getMetadataForAppHashes:t=>this._managerApiService.getAppsByHash(t)});return{observable:s,cancel:r}}close(){this.updateDeviceStatus(i.NOT_CONNECTED),this._deviceState.complete(),this._refresher.stop()}toggleRefresher(e){e?this._refresher.start():this._refresher.stop()}}export{R as DeviceSession};
1
+ import{Left as a}from"purify-ts";import{BehaviorSubject as d}from"rxjs";import{v4 as p}from"uuid";import{CommandUtils as u}from"../../../api/command/utils/CommandUtils";import{DeviceStatus as s}from"../../../api/device/DeviceStatus";import{DeviceSessionStateType as v}from"../../../api/device-session/DeviceSessionState";import{DeviceBusyError as S}from"../../../api/Error";import{DEVICE_SESSION_REFRESH_INTERVAL as l}from"../../device-session/data/DeviceSessionRefresherConst";import{DeviceSessionRefresher as h}from"./DeviceSessionRefresher";class b{_id;_connectedDevice;_deviceState;_refresher;_managerApiService;_secureChannelService;constructor({connectedDevice:e,id:t=p()},r,i,n){this._id=t,this._connectedDevice=e,this._deviceState=new d({sessionStateType:v.Connected,deviceStatus:s.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id}),this._refresher=new h({refreshInterval:l,deviceStatus:s.CONNECTED,deviceModelId:this._connectedDevice.deviceModel.id,sendApduFn:o=>this.sendApdu(o,{isPolling:!0,triggersDisconnection:!1}),updateStateFn:o=>{const c=this._deviceState.getValue();this.setDeviceSessionState(o(c))}},r("device-session-refresher")),this._managerApiService=i,this._secureChannelService=n}get id(){return this._id}get connectedDevice(){return this._connectedDevice}get state(){return this._deviceState.asObservable()}setDeviceSessionState(e){this._deviceState.next(e)}updateDeviceStatus(e){const t=this._deviceState.getValue();this._refresher.setDeviceStatus(e),this._deviceState.next({...t,deviceStatus:e})}async sendApdu(e,t={isPolling:!1,triggersDisconnection:!1}){return t.isPolling||(this.toggleRefresher(!1),await this.waitUntilReady()),this._deviceState.getValue().deviceStatus===s.BUSY?a(new S):(this.updateDeviceStatus(s.BUSY),(await this._connectedDevice.sendApdu(e,t.triggersDisconnection)).ifRight(n=>{u.isLockedDeviceResponse(n)?this.updateDeviceStatus(s.LOCKED):this.updateDeviceStatus(s.CONNECTED),t.isPolling||this.toggleRefresher(!0)}).ifLeft(()=>{this.updateDeviceStatus(s.CONNECTED),t.isPolling||this.toggleRefresher(!0)}))}async waitUntilReady(){let e;await new Promise(t=>{e=this._deviceState.subscribe(r=>{r.deviceStatus===s.CONNECTED&&(e?.unsubscribe(),t())})})}async sendCommand(e){const t=e.getApdu();return(await this.sendApdu(t.getRawApdu(),{isPolling:!1,triggersDisconnection:e.triggersDisconnection??!1})).caseOf({Left:i=>{throw i},Right:i=>e.parseResponse(i,this._connectedDevice.deviceModel.id)})}executeDeviceAction(e){const{observable:t,cancel:r}=e._execute({sendApdu:async i=>this.sendApdu(i),sendCommand:async i=>this.sendCommand(i),getDeviceSessionState:()=>this._deviceState.getValue(),getDeviceSessionStateObservable:()=>this.state,setDeviceSessionState:i=>(this.setDeviceSessionState(i),this._deviceState.getValue()),getManagerApiService:()=>this._managerApiService,getSecureChannelService:()=>this._secureChannelService});return{observable:t,cancel:r}}close(){this.updateDeviceStatus(s.NOT_CONNECTED),this._deviceState.complete(),this._refresher.stop()}toggleRefresher(e){e?this._refresher.start():this._refresher.stop()}}export{b as DeviceSession};
2
2
  //# sourceMappingURL=DeviceSession.js.map