@ledgerhq/device-management-kit 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (647) hide show
  1. package/lib/cjs/index.js.map +1 -1
  2. package/lib/cjs/package.json +11 -10
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +2 -2
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  9. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +1 -1
  10. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  11. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  12. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  13. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  14. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  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/os/SecureElementFlagsParser.js +2 -0
  20. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  21. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  22. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  23. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  24. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  25. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  26. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  27. package/lib/cjs/src/api/device/SecureElementFlags.js +2 -0
  28. package/lib/cjs/src/api/device/SecureElementFlags.js.map +7 -0
  29. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  30. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  31. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  32. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  33. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  34. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  35. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  36. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  37. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
  38. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  39. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  40. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  41. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  42. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  43. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  44. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  45. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  46. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  47. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  48. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  49. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  50. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  51. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  52. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  53. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  54. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  55. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  56. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  57. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  58. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  59. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  60. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  61. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +1 -1
  62. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  63. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  64. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  65. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  66. package/lib/cjs/src/api/index.js +1 -1
  67. package/lib/cjs/src/api/index.js.map +3 -3
  68. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  69. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  70. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  71. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  72. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  73. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  74. package/lib/cjs/src/api/secure-channel/constants.js +2 -0
  75. package/lib/cjs/src/api/secure-channel/constants.js.map +7 -0
  76. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  77. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  78. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  79. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  80. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js +2 -0
  81. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  82. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  83. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  84. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  85. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  86. package/lib/cjs/src/api/secure-channel/task/types.js +2 -0
  87. package/lib/cjs/src/api/secure-channel/task/types.js.map +7 -0
  88. package/lib/cjs/src/api/secure-channel/types.js +2 -0
  89. package/lib/cjs/src/api/secure-channel/types.js.map +7 -0
  90. package/lib/cjs/src/api/secure-channel/utils.js +2 -0
  91. package/lib/cjs/src/api/secure-channel/utils.js.map +7 -0
  92. package/lib/cjs/src/api/secure-channel/utils.test.js +2 -0
  93. package/lib/cjs/src/api/secure-channel/utils.test.js.map +7 -0
  94. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  95. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  96. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  97. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  98. package/lib/cjs/src/api/transport/model/Errors.js.map +2 -2
  99. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  100. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  101. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  102. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  103. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  104. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  105. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  106. package/lib/cjs/src/api/types.js +1 -1
  107. package/lib/cjs/src/api/types.js.map +1 -1
  108. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  109. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  110. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  111. package/lib/cjs/src/api/utils/HexaString.js.map +2 -2
  112. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  113. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  114. package/lib/cjs/src/di.js +1 -1
  115. package/lib/cjs/src/di.js.map +3 -3
  116. package/lib/cjs/src/di.stub.js +1 -1
  117. package/lib/cjs/src/di.stub.js.map +2 -2
  118. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  119. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  120. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  121. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  122. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  123. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  124. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  125. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  126. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  127. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  128. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  129. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  130. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  131. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  132. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  133. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  134. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  135. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  136. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  137. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  138. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  139. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  140. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  141. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  142. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  143. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  144. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  145. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  146. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  147. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  148. package/lib/cjs/src/internal/device-session/service/RefresherService.js +2 -0
  149. package/lib/cjs/src/internal/device-session/service/RefresherService.js.map +7 -0
  150. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js +2 -0
  151. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  152. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  153. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  154. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  155. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  156. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  157. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  158. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  159. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  160. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  161. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  162. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  163. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  164. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  165. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  166. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  167. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  168. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  169. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  170. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  171. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  172. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  173. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  174. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  175. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  176. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  177. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  178. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  179. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  180. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  181. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  182. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  183. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  184. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  185. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  186. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  187. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  188. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  189. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  190. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  191. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  192. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  193. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  194. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  195. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  196. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  197. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  198. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  199. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  200. package/lib/cjs/src/internal/manager-api/model/Errors.js +1 -1
  201. package/lib/cjs/src/internal/manager-api/model/Errors.js.map +3 -3
  202. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  203. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  204. package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
  205. package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
  206. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  207. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  208. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  209. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  210. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  211. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  212. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  213. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  214. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  215. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  216. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  217. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  218. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  219. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  220. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  221. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  222. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  223. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  224. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  225. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  226. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  227. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  228. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  229. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  230. package/lib/cjs/src/internal/secure-channel/model/Params.js +2 -0
  231. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +7 -0
  232. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  233. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  234. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  235. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  236. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  237. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  238. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  239. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  240. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  241. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  242. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  243. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  244. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  245. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  246. package/lib/esm/package.json +11 -10
  247. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  248. package/lib/esm/src/api/DeviceManagementKit.js.map +2 -2
  249. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  250. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  251. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  252. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +2 -2
  253. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  254. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  255. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  256. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  257. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  258. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  259. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  260. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  261. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  262. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  263. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js +2 -0
  264. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  265. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  266. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  267. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  268. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  269. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  270. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  271. package/lib/esm/src/api/device/SecureElementFlags.js +1 -0
  272. package/lib/esm/src/api/device/SecureElementFlags.js.map +7 -0
  273. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  274. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  275. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  276. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  277. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  278. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  279. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
  280. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  281. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  282. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  283. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  284. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  285. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  286. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  287. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  288. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  289. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  290. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  291. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  292. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  293. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  294. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  295. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  296. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  297. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  298. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  299. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  300. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  301. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  302. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +1 -1
  303. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  304. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  305. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  306. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  307. package/lib/esm/src/api/index.js +1 -1
  308. package/lib/esm/src/api/index.js.map +3 -3
  309. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  310. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  311. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  312. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  313. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  314. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  315. package/lib/esm/src/api/secure-channel/constants.js +2 -0
  316. package/lib/esm/src/api/secure-channel/constants.js.map +7 -0
  317. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  318. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  319. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  320. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  321. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js +1 -0
  322. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  323. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  324. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  325. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  326. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  327. package/lib/esm/src/api/secure-channel/task/types.js +2 -0
  328. package/lib/esm/src/api/secure-channel/task/types.js.map +7 -0
  329. package/lib/esm/src/api/secure-channel/types.js +1 -0
  330. package/lib/esm/src/api/secure-channel/types.js.map +7 -0
  331. package/lib/esm/src/api/secure-channel/utils.js +2 -0
  332. package/lib/esm/src/api/secure-channel/utils.js.map +7 -0
  333. package/lib/esm/src/api/secure-channel/utils.test.js +2 -0
  334. package/lib/esm/src/api/secure-channel/utils.test.js.map +7 -0
  335. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  336. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  337. package/lib/esm/src/api/transport/model/Errors.js.map +2 -2
  338. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  339. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  340. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  341. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  342. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  343. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  344. package/lib/esm/src/api/utils/HexaString.js +1 -1
  345. package/lib/esm/src/api/utils/HexaString.js.map +2 -2
  346. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  347. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  348. package/lib/esm/src/di.js +1 -1
  349. package/lib/esm/src/di.js.map +3 -3
  350. package/lib/esm/src/di.stub.js +1 -1
  351. package/lib/esm/src/di.stub.js.map +2 -2
  352. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  353. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  354. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  355. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  356. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  357. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  358. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  359. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  360. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  361. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  362. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  363. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  364. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  365. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  366. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  367. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  368. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  369. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  370. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  371. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  372. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  373. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  374. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  375. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  376. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  377. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  378. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  379. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  380. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  381. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  382. package/lib/esm/src/internal/device-session/service/RefresherService.js +2 -0
  383. package/lib/esm/src/internal/device-session/service/RefresherService.js.map +7 -0
  384. package/lib/esm/src/internal/device-session/service/RefresherService.test.js +2 -0
  385. package/lib/esm/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  386. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  387. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  388. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  389. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  390. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  391. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  392. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  393. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  394. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  395. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  396. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  397. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  398. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  399. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  400. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  401. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  402. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  403. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  404. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  405. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  406. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  407. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  408. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  409. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  410. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  411. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  412. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  413. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  414. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  415. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  416. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  417. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  418. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  419. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  420. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  421. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  422. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  423. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  424. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  425. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  426. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  427. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  428. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  429. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  430. package/lib/esm/src/internal/manager-api/model/Errors.js +1 -1
  431. package/lib/esm/src/internal/manager-api/model/Errors.js.map +3 -3
  432. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  433. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  434. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  435. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  436. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  437. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  438. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  439. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  440. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  441. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  442. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  443. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  444. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  445. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  446. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  447. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  448. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  449. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  450. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  451. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  452. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  453. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  454. package/lib/esm/src/internal/secure-channel/model/Params.js +1 -0
  455. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  456. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  457. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  458. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  459. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  460. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  461. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  462. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  463. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  464. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  465. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  466. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  467. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  468. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  469. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  470. package/lib/types/src/api/DeviceManagementKit.d.ts +10 -8
  471. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  472. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +8 -2
  473. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  474. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  475. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  476. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  477. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  478. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts +43 -0
  479. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts.map +1 -0
  480. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts +2 -0
  481. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts.map +1 -0
  482. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  483. package/lib/types/src/api/device/SecureElementFlags.d.ts +41 -0
  484. package/lib/types/src/api/device/SecureElementFlags.d.ts.map +1 -0
  485. package/lib/types/src/api/device-action/DeviceAction.d.ts +6 -0
  486. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  487. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  488. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  489. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  490. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  491. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  492. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +1 -1
  493. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  494. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  495. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  496. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  497. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  498. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  499. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  500. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  501. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +4 -0
  502. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  503. package/lib/types/src/api/device-session/use-case/{ToggleDeviceSessionRefresher.d.ts → DisableDeviceSessionRefresher.d.ts} +6 -6
  504. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.d.ts.map +1 -0
  505. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts +2 -0
  506. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts.map +1 -0
  507. package/lib/types/src/api/index.d.ts +3 -0
  508. package/lib/types/src/api/index.d.ts.map +1 -1
  509. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +1 -1
  510. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -1
  511. package/lib/types/src/api/secure-channel/constants.d.ts +2 -0
  512. package/lib/types/src/api/secure-channel/constants.d.ts.map +1 -0
  513. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts +8 -0
  514. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -0
  515. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts +1 -0
  516. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts.map +1 -0
  517. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +48 -0
  518. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -0
  519. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +23 -0
  520. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -0
  521. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts +2 -0
  522. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts.map +1 -0
  523. package/lib/types/src/api/secure-channel/task/types.d.ts +105 -0
  524. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -0
  525. package/lib/types/src/api/secure-channel/types.d.ts +4 -0
  526. package/lib/types/src/api/secure-channel/types.d.ts.map +1 -0
  527. package/lib/types/src/api/secure-channel/utils.d.ts +30 -0
  528. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -0
  529. package/lib/types/src/api/secure-channel/utils.test.d.ts +2 -0
  530. package/lib/types/src/api/secure-channel/utils.test.d.ts.map +1 -0
  531. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +1 -1
  532. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -1
  533. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
  534. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  535. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  536. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  537. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  538. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
  539. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  540. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +7 -7
  541. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  542. package/lib/types/src/api/types.d.ts +1 -0
  543. package/lib/types/src/api/types.d.ts.map +1 -1
  544. package/lib/types/src/api/utils/HexaString.d.ts +1 -1
  545. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  546. package/lib/types/src/di.d.ts.map +1 -1
  547. package/lib/types/src/di.stub.d.ts +1 -1
  548. package/lib/types/src/di.stub.d.ts.map +1 -1
  549. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  550. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  551. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  552. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  553. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -1
  554. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +13 -7
  555. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  556. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -1
  557. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  558. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  559. package/lib/types/src/internal/device-session/service/RefresherService.d.ts +10 -0
  560. package/lib/types/src/internal/device-session/service/RefresherService.d.ts.map +1 -0
  561. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts +2 -0
  562. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts.map +1 -0
  563. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -1
  564. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  565. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -1
  566. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  567. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +24 -0
  568. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -0
  569. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts +2 -0
  570. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts.map +1 -0
  571. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +5 -5
  572. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -1
  573. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +8 -16
  574. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  575. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +16 -55
  576. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  577. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +4 -1
  578. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  579. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +4 -9
  580. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  581. package/lib/types/src/internal/manager-api/model/Application.d.ts +4 -1
  582. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  583. package/lib/types/src/internal/manager-api/model/Const.d.ts +0 -1
  584. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  585. package/lib/types/src/internal/manager-api/model/Errors.d.ts +0 -6
  586. package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
  587. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +4 -0
  588. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  589. package/lib/types/src/internal/manager-api/model/Params.d.ts +25 -68
  590. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
  591. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +5 -5
  592. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  593. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +33 -2
  594. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  595. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  596. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  597. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  598. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  599. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  600. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  601. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  602. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  603. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  604. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  605. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  606. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  607. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  608. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  609. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  610. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  611. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +14 -0
  612. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  613. package/lib/types/src/internal/secure-channel/model/Params.d.ts +86 -0
  614. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  615. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +21 -0
  616. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  617. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  618. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  619. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +22 -0
  620. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  621. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +6 -6
  622. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  623. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  624. package/package.json +12 -11
  625. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  626. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  627. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  628. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  629. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  630. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  631. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  632. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  633. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  634. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  635. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  636. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  637. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  638. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  639. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  640. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  641. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +0 -1
  642. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +0 -2
  643. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +0 -1
  644. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +0 -13
  645. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +0 -1
  646. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts +0 -2
  647. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts.map +0 -1
@@ -3,5 +3,5 @@
3
3
  "sources": ["../../index.ts"],
4
4
  "sourcesContent": ["export * from \"./src\";\n"],
5
5
  "mappings": "iaAAA,IAAAA,EAAA,kBAAAC,EAAAD,GAAAE,EAAAF,EAAc,iBAAd",
6
- "names": ["device_management_kit_exports", "__toCommonJS", "__reExport"]
6
+ "names": ["index_exports", "__toCommonJS", "__reExport"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/device-management-kit",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "private": false,
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
@@ -25,39 +25,40 @@
25
25
  "postpack": "find . -name '*.tgz' -exec cp {} ../../dist/ \\; ",
26
26
  "prettier": "prettier . --check",
27
27
  "prettier:fix": "prettier . --write",
28
- "test": "jest",
29
- "test:watch": "pnpm test -- --watch",
30
- "test:coverage": "pnpm test -- --coverage",
28
+ "test": "vitest run",
29
+ "test:watch": "vitest",
30
+ "test:coverage": "vitest run --coverage",
31
31
  "typecheck": "tsc --noEmit",
32
32
  "module:create": "pnpm hygen core-module with-prompt"
33
33
  },
34
34
  "dependencies": {
35
35
  "@sentry/minimal": "^6.19.7",
36
- "@statelyai/inspect": "^0.4.0",
37
36
  "axios": "^1.7.9",
38
- "inversify": "^6.2.1",
37
+ "inversify": "^6.2.2",
39
38
  "inversify-logger-middleware": "^3.1.0",
40
39
  "isomorphic-ws": "^5.0.0",
41
40
  "purify-ts": "^2.1.0",
42
41
  "reflect-metadata": "^0.2.2",
43
42
  "semver": "^7.6.3",
43
+ "url": "^0.11.4",
44
44
  "uuid": "^11.0.3",
45
45
  "ws": "^8.18.0",
46
46
  "xstate": "^5.19.2"
47
47
  },
48
48
  "peerDependencies": {
49
- "rxjs": "^7.8.1"
49
+ "rxjs": "^7.8.2"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@ledgerhq/esbuild-tools": "workspace:*",
53
53
  "@ledgerhq/eslint-config-dsdk": "workspace:*",
54
- "@ledgerhq/jest-config-dsdk": "workspace:*",
55
54
  "@ledgerhq/prettier-config-dsdk": "workspace:*",
56
55
  "@ledgerhq/tsconfig-dsdk": "workspace:*",
56
+ "@ledgerhq/vitest-config-dmk": "workspace:*",
57
+ "@statelyai/inspect": "^0.4.0",
57
58
  "@types/semver": "^7.5.8",
58
59
  "@types/uuid": "^10.0.0",
59
- "@types/ws": "^8.5.13",
60
- "rxjs": "^7.8.1",
60
+ "@types/ws": "^8.5.14",
61
+ "rxjs": "^7.8.2",
61
62
  "ts-node": "^10.9.2"
62
63
  }
63
64
  }
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var n in e)c(t,n,{get:e[n],enumerable:!0})},g=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of D(e))!u.call(t,o)&&o!==n&&c(t,o,{get:()=>e[o],enumerable:!(i=v(e,o))||i.enumerable});return t};var y=t=>g(c({},"__esModule",{value:!0}),t);var f={};U(f,{DeviceManagementKit:()=>S});module.exports=y(f);var a=require("./command/di/commandTypes"),C=require("../internal/config/di/configTypes"),r=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),m=require("../internal/send/di/sendTypes"),p=require("../../src/di"),d=require("./device-action/di/deviceActionTypes");class S{container;constructor({stub:e,transports:n,loggers:i,config:o}={}){this.container=(0,p.makeContainer)({stub:e,transports:n,loggers:i,config:o})}getVersion(){return this.container.get(C.configTypes.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.discoveryTypes.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.discoveryTypes.StopDiscoveringUseCase).execute()}listenToKnownDevices(){return this.container.get(s.discoveryTypes.ListenToKnownDevicesUseCase).execute()}connect(e){return this.container.get(s.discoveryTypes.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.discoveryTypes.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(m.sendTypes.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(a.commandTypes.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(d.deviceActionTypes.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.discoveryTypes.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(r.deviceSessionTypes.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(r.deviceSessionTypes.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.discoveryTypes.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.discoveryTypes.ListenToConnectedDeviceUseCase).execute()}toggleDeviceSessionRefresher(e){return this.container.get(r.deviceSessionTypes.ToggleDeviceSessionRefresherUseCase).execute(e)}}0&&(module.exports={DeviceManagementKit});
1
+ "use strict";var c=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var U=(t,e)=>{for(var o in e)c(t,o,{get:e[o],enumerable:!0})},g=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of d(e))!u.call(t,i)&&i!==o&&c(t,i,{get:()=>e[i],enumerable:!(n=D(e,i))||n.enumerable});return t};var y=t=>g(c({},"__esModule",{value:!0}),t);var A={};U(A,{DeviceManagementKit:()=>S});module.exports=y(A);var a=require("./command/di/commandTypes"),C=require("../internal/config/di/configTypes"),r=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),p=require("../internal/send/di/sendTypes"),m=require("../../src/di"),v=require("./device-action/di/deviceActionTypes");class S{container;constructor({stub:e,transports:o,loggers:n,config:i}={}){this.container=(0,m.makeContainer)({stub:e,transports:o,loggers:n,config:i})}getVersion(){return this.container.get(C.configTypes.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.discoveryTypes.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.discoveryTypes.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.discoveryTypes.ListenToAvailableDevicesUseCase).execute(e)}connect(e){return this.container.get(s.discoveryTypes.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.discoveryTypes.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(p.sendTypes.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(a.commandTypes.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(v.deviceActionTypes.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.discoveryTypes.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(r.deviceSessionTypes.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(r.deviceSessionTypes.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.discoveryTypes.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.discoveryTypes.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(r.deviceSessionTypes.DisableDeviceSessionRefresherUseCase).execute(e)}}0&&(module.exports={DeviceManagementKit});
2
2
  //# sourceMappingURL=DeviceManagementKit.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKit.ts"],
4
- "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { type ListenToKnownDevicesUseCase } from \"@internal/discovery/use-case/ListenToKnownDevicesUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type ToggleDeviceSessionRefresherUseCase } from \"./device-session/use-case/ToggleDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n *\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToKnownDevices(): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToKnownDevicesUseCase>(\n discoveryTypes.ListenToKnownDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The device ID (obtained in discovery) to connect to.\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{DeviceSessionId}} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Toggle the device session refresher.\n *\n * @param {DeviceSessionId} args - The device session ID.\n */\n toggleDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n enabled: boolean;\n }) {\n return this.container\n .get<ToggleDeviceSessionRefresherUseCase>(\n deviceSessionTypes.ToggleDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAA6B,wCAsB7BC,EAA4B,2CAE5BC,EAAmC,0DAGnCC,EAA+B,iDAS/BC,EAA0B,uCAE1BC,EAAuD,wBAMvDC,EAAkC,gDAS3B,MAAMR,CAAoB,CACtB,UAET,YAAY,CACV,KAAAS,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,aAAY,iBAAc,CAC7B,KAAAH,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0B,cAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEC,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6B,iBAAe,uBAAuB,EACnE,QAAQA,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4B,iBAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,sBAAuD,CACrD,OAAO,KAAK,UACT,IACC,iBAAe,2BACjB,EACC,QAAQ,CACb,CAaA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoB,iBAAe,cAAc,EACjD,QAAQA,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuB,iBAAe,iBAAiB,EACvD,QAAQA,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqB,YAAU,eAAe,EAC9C,QAAQA,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwB,eAAa,kBAAkB,EACvD,QAAQA,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACC,oBAAkB,0BACpB,EACC,QAAQA,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+B,iBAAe,yBAAyB,EACvE,QAAQA,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACC,qBAAmB,4BACrB,EACC,QAAQA,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0B,qBAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACC,iBAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACC,iBAAe,8BACjB,EACC,QAAQ,CACb,CAOA,6BAA6BA,EAG1B,CACD,OAAO,KAAK,UACT,IACC,qBAAmB,mCACrB,EACC,QAAQA,CAAI,CACjB,CACF",
4
+ "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The device ID (obtained in discovery) to connect to.\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }) {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAA6B,wCAsB7BC,EAA4B,2CAE5BC,EAAmC,0DAGnCC,EAA+B,iDAY/BC,EAA0B,uCAE1BC,EAAuD,wBAMvDC,EAAkC,gDAS3B,MAAMR,CAAoB,CACtB,UAET,YAAY,CACV,KAAAS,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,aAAY,iBAAc,CAC7B,KAAAH,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0B,cAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEC,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6B,iBAAe,uBAAuB,EACnE,QAAQA,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4B,iBAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEA,EACgC,CAChC,OAAO,KAAK,UACT,IACC,iBAAe,+BACjB,EACC,QAAQA,CAAI,CACjB,CAaA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoB,iBAAe,cAAc,EACjD,QAAQA,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuB,iBAAe,iBAAiB,EACvD,QAAQA,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqB,YAAU,eAAe,EAC9C,QAAQA,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwB,eAAa,kBAAkB,EACvD,QAAQA,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACC,oBAAkB,0BACpB,EACC,QAAQA,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+B,iBAAe,yBAAyB,EACvE,QAAQA,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACC,qBAAmB,4BACrB,EACC,QAAQA,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0B,qBAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACC,iBAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACC,iBAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BA,EAG3B,CACD,OAAO,KAAK,UACT,IACC,qBAAmB,oCACrB,EACC,QAAQA,CAAI,CACjB,CACF",
6
6
  "names": ["DeviceManagementKit_exports", "__export", "DeviceManagementKit", "__toCommonJS", "import_commandTypes", "import_configTypes", "import_deviceSessionTypes", "import_discoveryTypes", "import_sendTypes", "import_di", "import_deviceActionTypes", "stub", "transports", "loggers", "config", "args"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var D=Object.create;var a=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var U=(t,o,n,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of b(o))!x.call(t,i)&&i!==n&&a(t,i,{get:()=>o[i],enumerable:!(r=C(o,i))||r.enumerable});return t};var k=(t,o,n)=>(n=t!=null?D(S(t)):{},U(o||!t||!t.__esModule?a(n,"default",{value:t,enumerable:!0}):n,t));var m=require("../internal/config/data/LocalConfigDataSource.stub"),p=require("../internal/config/di/configTypes"),f=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),l=require("../internal/send/di/sendTypes"),u=k(require("../../package.json")),h=require("../../src/di.stub"),g=require("./command/di/commandTypes"),v=require("./logger-subscriber/service/ConsoleLogger"),c=require("./DeviceManagementKit");jest.mock("./logger-subscriber/service/ConsoleLogger");let e,d;describe("DeviceManagementKit",()=>{describe("clean",()=>{beforeEach(()=>{d=new v.ConsoleLogger,e=new c.DeviceManagementKit({stub:!1,loggers:[d],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}})}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(c.DeviceManagementKit)}),it("should return a clean `version`",async()=>{expect(await e.getVersion()).toBe(u.default.version)}),it("should have startDiscovery method",()=>{expect(e.startDiscovering).toBeDefined()}),it("should have stopDiscovery method",()=>{expect(e.stopDiscovering).toBeDefined()}),it("should have connect method",()=>{expect(e.connect).toBeDefined()}),it("should have sendApdu method",()=>{expect(e.sendApdu).toBeDefined()}),it("should have getConnectedDevice method",()=>{expect(e.getConnectedDevice).toBeDefined()}),it("should have sendCommand method",()=>{expect(e.sendCommand).toBeDefined()}),it("should have listConnectedDevices method",()=>{expect(e.listConnectedDevices).toBeDefined()}),it("should have listenToConnectedDevice method",()=>{expect(e.listenToConnectedDevice).toBeDefined()}),it("should have toggleDeviceSessionRefresher method",()=>{expect(e.toggleDeviceSessionRefresher).toBeDefined()})}),describe("stubbed",()=>{beforeEach(()=>{e=new c.DeviceManagementKit({stub:!0,loggers:[],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}})}),it("should create a stubbed dmk",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(c.DeviceManagementKit)}),it("should return a stubbed config",()=>{expect(e.container.get(p.configTypes.LocalConfigDataSource)).toBeInstanceOf(m.StubLocalConfigDataSource)}),it("should return a stubbed version",async()=>{expect(await e.getVersion()).toBe("0.0.0-stub.1")}),it.each([[s.discoveryTypes.StartDiscoveringUseCase],[s.discoveryTypes.StopDiscoveringUseCase],[s.discoveryTypes.ConnectUseCase],[l.sendTypes.SendApduUseCase],[g.commandTypes.SendCommandUseCase],[s.discoveryTypes.GetConnectedDeviceUseCase],[s.discoveryTypes.DisconnectUseCase],[f.deviceSessionTypes.GetDeviceSessionStateUseCase],[s.discoveryTypes.ListConnectedDevicesUseCase],[s.discoveryTypes.ListenToConnectedDeviceUseCase]])("should have %p use case",t=>{const o=e.container.get(t);expect(o).toBeInstanceOf(h.StubUseCase),expect(o.execute()).toBe("stub")})})});
1
+ "use strict";var D=Object.create;var a=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var U=(t,o,i,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of b(o))!x.call(t,n)&&n!==i&&a(t,n,{get:()=>o[n],enumerable:!(r=C(o,n))||r.enumerable});return t};var k=(t,o,i)=>(i=t!=null?D(S(t)):{},U(o||!t||!t.__esModule?a(i,"default",{value:t,enumerable:!0}):i,t));var m=require("../internal/config/data/LocalConfigDataSource.stub"),p=require("../internal/config/di/configTypes"),f=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),l=require("../internal/send/di/sendTypes"),u=k(require("../../package.json")),h=require("../../src/di.stub"),v=require("./command/di/commandTypes"),g=require("./logger-subscriber/service/ConsoleLogger"),c=require("./DeviceManagementKit");vi.mock("./logger-subscriber/service/ConsoleLogger");let e,d;describe("DeviceManagementKit",()=>{describe("clean",()=>{beforeEach(()=>{d=new g.ConsoleLogger,e=new c.DeviceManagementKit({stub:!1,loggers:[d],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}})}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(c.DeviceManagementKit)}),it("should return a clean `version`",async()=>{expect(await e.getVersion()).toBe(u.default.version)}),it("should have startDiscovery method",()=>{expect(e.startDiscovering).toBeDefined()}),it("should have stopDiscovery method",()=>{expect(e.stopDiscovering).toBeDefined()}),it("should have connect method",()=>{expect(e.connect).toBeDefined()}),it("should have sendApdu method",()=>{expect(e.sendApdu).toBeDefined()}),it("should have getConnectedDevice method",()=>{expect(e.getConnectedDevice).toBeDefined()}),it("should have sendCommand method",()=>{expect(e.sendCommand).toBeDefined()}),it("should have listConnectedDevices method",()=>{expect(e.listConnectedDevices).toBeDefined()}),it("should have listenToConnectedDevice method",()=>{expect(e.listenToConnectedDevice).toBeDefined()}),it("should have disableDeviceSessionRefresher method",()=>{expect(e.disableDeviceSessionRefresher).toBeDefined()})}),describe("stubbed",()=>{beforeEach(()=>{e=new c.DeviceManagementKit({stub:!0,loggers:[],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url"}})}),it("should create a stubbed dmk",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(c.DeviceManagementKit)}),it("should return a stubbed config",()=>{expect(e.container.get(p.configTypes.LocalConfigDataSource)).toBeInstanceOf(m.StubLocalConfigDataSource)}),it("should return a stubbed version",async()=>{expect(await e.getVersion()).toBe("0.0.0-stub.1")}),it.each([[s.discoveryTypes.StartDiscoveringUseCase],[s.discoveryTypes.StopDiscoveringUseCase],[s.discoveryTypes.ConnectUseCase],[l.sendTypes.SendApduUseCase],[v.commandTypes.SendCommandUseCase],[s.discoveryTypes.GetConnectedDeviceUseCase],[s.discoveryTypes.DisconnectUseCase],[f.deviceSessionTypes.GetDeviceSessionStateUseCase],[s.discoveryTypes.ListConnectedDevicesUseCase],[s.discoveryTypes.ListenToConnectedDeviceUseCase]])("should have %s use case",t=>{const o=e.container.get(t);expect(o).toBeInstanceOf(h.StubUseCase),expect(o.execute()).toBe("stub")})})});
2
2
  //# sourceMappingURL=DeviceManagementKit.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKit.test.ts"],
4
- "sourcesContent": ["import { type interfaces } from \"inversify\";\n\nimport { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\nimport { StubLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource.stub\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport pkg from \"@root/package.json\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandTypes } from \"./command/di/commandTypes\";\nimport { ConsoleLogger } from \"./logger-subscriber/service/ConsoleLogger\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\n\njest.mock(\"./logger-subscriber/service/ConsoleLogger\");\n\nlet dmk: DeviceManagementKit;\nlet logger: ConsoleLogger;\ndescribe(\"DeviceManagementKit\", () => {\n describe(\"clean\", () => {\n beforeEach(() => {\n logger = new ConsoleLogger();\n dmk = new DeviceManagementKit({\n stub: false,\n loggers: [logger],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n },\n });\n });\n\n it(\"should create an instance\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a clean `version`\", async () => {\n expect(await dmk.getVersion()).toBe(pkg.version);\n });\n\n it(\"should have startDiscovery method\", () => {\n expect(dmk.startDiscovering).toBeDefined();\n });\n\n it(\"should have stopDiscovery method\", () => {\n expect(dmk.stopDiscovering).toBeDefined();\n });\n\n it(\"should have connect method\", () => {\n expect(dmk.connect).toBeDefined();\n });\n\n it(\"should have sendApdu method\", () => {\n expect(dmk.sendApdu).toBeDefined();\n });\n\n it(\"should have getConnectedDevice method\", () => {\n expect(dmk.getConnectedDevice).toBeDefined();\n });\n\n it(\"should have sendCommand method\", () => {\n expect(dmk.sendCommand).toBeDefined();\n });\n\n it(\"should have listConnectedDevices method\", () => {\n expect(dmk.listConnectedDevices).toBeDefined();\n });\n\n it(\"should have listenToConnectedDevice method\", () => {\n expect(dmk.listenToConnectedDevice).toBeDefined();\n });\n\n it(\"should have toggleDeviceSessionRefresher method\", () => {\n expect(dmk.toggleDeviceSessionRefresher).toBeDefined();\n });\n });\n\n describe(\"stubbed\", () => {\n beforeEach(() => {\n dmk = new DeviceManagementKit({\n stub: true,\n loggers: [],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n },\n });\n });\n\n it(\"should create a stubbed dmk\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a stubbed config\", () => {\n expect(\n dmk.container.get<LocalConfigDataSource>(\n configTypes.LocalConfigDataSource,\n ),\n ).toBeInstanceOf(StubLocalConfigDataSource);\n });\n\n it(\"should return a stubbed version\", async () => {\n expect(await dmk.getVersion()).toBe(\"0.0.0-stub.1\");\n });\n\n it.each([\n [discoveryTypes.StartDiscoveringUseCase],\n [discoveryTypes.StopDiscoveringUseCase],\n [discoveryTypes.ConnectUseCase],\n [sendTypes.SendApduUseCase],\n [commandTypes.SendCommandUseCase],\n [discoveryTypes.GetConnectedDeviceUseCase],\n [discoveryTypes.DisconnectUseCase],\n [deviceSessionTypes.GetDeviceSessionStateUseCase],\n [discoveryTypes.ListConnectedDevicesUseCase],\n [discoveryTypes.ListenToConnectedDeviceUseCase],\n ])(\n \"should have %p use case\",\n (diSymbol: interfaces.ServiceIdentifier<StubUseCase>) => {\n const uc = dmk.container.get<StubUseCase>(diSymbol);\n expect(uc).toBeInstanceOf(StubUseCase);\n expect(uc.execute()).toBe(\"stub\");\n },\n );\n });\n});\n"],
5
- "mappings": "wdAGA,IAAAA,EAA0C,4DAC1CC,EAA4B,2CAC5BC,EAAmC,0DACnCC,EAA+B,iDAC/BC,EAA0B,uCAC1BC,EAAgB,iCAChBC,EAA4B,6BAE5BC,EAA6B,qCAC7BC,EAA8B,qDAC9BC,EAAoC,iCAEpC,KAAK,KAAK,2CAA2C,EAErD,IAAIC,EACAC,EACJ,SAAS,sBAAuB,IAAM,CACpC,SAAS,QAAS,IAAM,CACtB,WAAW,IAAM,CACfA,EAAS,IAAI,gBACbD,EAAM,IAAI,sBAAoB,CAC5B,KAAM,GACN,QAAS,CAACC,CAAM,EAChB,OAAQ,CACN,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CACF,CAAC,CACH,CAAC,EAED,GAAG,4BAA6B,IAAM,CACpC,OAAOD,CAAG,EAAE,YAAY,EACxB,OAAOA,CAAG,EAAE,eAAe,qBAAmB,CAChD,CAAC,EAED,GAAG,kCAAmC,SAAY,CAChD,OAAO,MAAMA,EAAI,WAAW,CAAC,EAAE,KAAK,EAAAE,QAAI,OAAO,CACjD,CAAC,EAED,GAAG,oCAAqC,IAAM,CAC5C,OAAOF,EAAI,gBAAgB,EAAE,YAAY,CAC3C,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,EAAI,eAAe,EAAE,YAAY,CAC1C,CAAC,EAED,GAAG,6BAA8B,IAAM,CACrC,OAAOA,EAAI,OAAO,EAAE,YAAY,CAClC,CAAC,EAED,GAAG,8BAA+B,IAAM,CACtC,OAAOA,EAAI,QAAQ,EAAE,YAAY,CACnC,CAAC,EAED,GAAG,wCAAyC,IAAM,CAChD,OAAOA,EAAI,kBAAkB,EAAE,YAAY,CAC7C,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,OAAOA,EAAI,WAAW,EAAE,YAAY,CACtC,CAAC,EAED,GAAG,0CAA2C,IAAM,CAClD,OAAOA,EAAI,oBAAoB,EAAE,YAAY,CAC/C,CAAC,EAED,GAAG,6CAA8C,IAAM,CACrD,OAAOA,EAAI,uBAAuB,EAAE,YAAY,CAClD,CAAC,EAED,GAAG,kDAAmD,IAAM,CAC1D,OAAOA,EAAI,4BAA4B,EAAE,YAAY,CACvD,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,WAAW,IAAM,CACfA,EAAM,IAAI,sBAAoB,CAC5B,KAAM,GACN,QAAS,CAAC,EACV,OAAQ,CACN,cAAe,kBACf,QAAS,uBACT,aAAc,2BAChB,CACF,CAAC,CACH,CAAC,EAED,GAAG,8BAA+B,IAAM,CACtC,OAAOA,CAAG,EAAE,YAAY,EACxB,OAAOA,CAAG,EAAE,eAAe,qBAAmB,CAChD,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,OACEA,EAAI,UAAU,IACZ,cAAY,qBACd,CACF,EAAE,eAAe,2BAAyB,CAC5C,CAAC,EAED,GAAG,kCAAmC,SAAY,CAChD,OAAO,MAAMA,EAAI,WAAW,CAAC,EAAE,KAAK,cAAc,CACpD,CAAC,EAED,GAAG,KAAK,CACN,CAAC,iBAAe,uBAAuB,EACvC,CAAC,iBAAe,sBAAsB,EACtC,CAAC,iBAAe,cAAc,EAC9B,CAAC,YAAU,eAAe,EAC1B,CAAC,eAAa,kBAAkB,EAChC,CAAC,iBAAe,yBAAyB,EACzC,CAAC,iBAAe,iBAAiB,EACjC,CAAC,qBAAmB,4BAA4B,EAChD,CAAC,iBAAe,2BAA2B,EAC3C,CAAC,iBAAe,8BAA8B,CAChD,CAAC,EACC,0BACCG,GAAwD,CACvD,MAAMC,EAAKJ,EAAI,UAAU,IAAiBG,CAAQ,EAClD,OAAOC,CAAE,EAAE,eAAe,aAAW,EACrC,OAAOA,EAAG,QAAQ,CAAC,EAAE,KAAK,MAAM,CAClC,CACF,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type interfaces } from \"inversify\";\n\nimport { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\nimport { StubLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource.stub\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport pkg from \"@root/package.json\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandTypes } from \"./command/di/commandTypes\";\nimport { ConsoleLogger } from \"./logger-subscriber/service/ConsoleLogger\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\n\nvi.mock(\"./logger-subscriber/service/ConsoleLogger\");\n\nlet dmk: DeviceManagementKit;\nlet logger: ConsoleLogger;\ndescribe(\"DeviceManagementKit\", () => {\n describe(\"clean\", () => {\n beforeEach(() => {\n logger = new ConsoleLogger();\n dmk = new DeviceManagementKit({\n stub: false,\n loggers: [logger],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n },\n });\n });\n\n it(\"should create an instance\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a clean `version`\", async () => {\n expect(await dmk.getVersion()).toBe(pkg.version);\n });\n\n it(\"should have startDiscovery method\", () => {\n expect(dmk.startDiscovering).toBeDefined();\n });\n\n it(\"should have stopDiscovery method\", () => {\n expect(dmk.stopDiscovering).toBeDefined();\n });\n\n it(\"should have connect method\", () => {\n expect(dmk.connect).toBeDefined();\n });\n\n it(\"should have sendApdu method\", () => {\n expect(dmk.sendApdu).toBeDefined();\n });\n\n it(\"should have getConnectedDevice method\", () => {\n expect(dmk.getConnectedDevice).toBeDefined();\n });\n\n it(\"should have sendCommand method\", () => {\n expect(dmk.sendCommand).toBeDefined();\n });\n\n it(\"should have listConnectedDevices method\", () => {\n expect(dmk.listConnectedDevices).toBeDefined();\n });\n\n it(\"should have listenToConnectedDevice method\", () => {\n expect(dmk.listenToConnectedDevice).toBeDefined();\n });\n\n it(\"should have disableDeviceSessionRefresher method\", () => {\n expect(dmk.disableDeviceSessionRefresher).toBeDefined();\n });\n });\n\n describe(\"stubbed\", () => {\n beforeEach(() => {\n dmk = new DeviceManagementKit({\n stub: true,\n loggers: [],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n },\n });\n });\n\n it(\"should create a stubbed dmk\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a stubbed config\", () => {\n expect(\n dmk.container.get<LocalConfigDataSource>(\n configTypes.LocalConfigDataSource,\n ),\n ).toBeInstanceOf(StubLocalConfigDataSource);\n });\n\n it(\"should return a stubbed version\", async () => {\n expect(await dmk.getVersion()).toBe(\"0.0.0-stub.1\");\n });\n\n it.each([\n [discoveryTypes.StartDiscoveringUseCase],\n [discoveryTypes.StopDiscoveringUseCase],\n [discoveryTypes.ConnectUseCase],\n [sendTypes.SendApduUseCase],\n [commandTypes.SendCommandUseCase],\n [discoveryTypes.GetConnectedDeviceUseCase],\n [discoveryTypes.DisconnectUseCase],\n [deviceSessionTypes.GetDeviceSessionStateUseCase],\n [discoveryTypes.ListConnectedDevicesUseCase],\n [discoveryTypes.ListenToConnectedDeviceUseCase],\n ])(\n \"should have %s use case\",\n (diSymbol: interfaces.ServiceIdentifier<StubUseCase>) => {\n const uc = dmk.container.get<StubUseCase>(diSymbol);\n expect(uc).toBeInstanceOf(StubUseCase);\n expect(uc.execute()).toBe(\"stub\");\n },\n );\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_LocalConfigDataSource", "import_configTypes", "import_deviceSessionTypes", "import_discoveryTypes", "import_sendTypes", "import_package", "import_di", "import_commandTypes", "import_ConsoleLogger", "import_DeviceManagementKit", "dmk", "logger", "pkg", "diSymbol", "uc"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var m=(e,r)=>{for(var o in r)s(e,o,{get:r[o],enumerable:!0})},u=(e,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of c(r))!p.call(e,i)&&i!==o&&s(e,i,{get:()=>r[i],enumerable:!(a=g(r,i))||a.enumerable});return e};var l=e=>u(s({},"__esModule",{value:!0}),e);var h={};m(h,{DeviceManagementKitBuilder:()=>f});module.exports=l(h);var t=require("../internal/manager-api/model/Const"),n=require("./DeviceManagementKit");class f{stub=!1;loggers=[];transports=[];config={managerApiUrl:t.DEFAULT_MANAGER_API_BASE_URL,mockUrl:t.DEFAULT_MOCK_SERVER_BASE_URL,webSocketUrl:t.DEFAULT_WEB_SOCKET_BASE_URL};build(){return new n.DeviceManagementKit({stub:this.stub,transports:this.transports,loggers:this.loggers,config:this.config})}setStub(r){return this.stub=r,this}addTransport(r){return this.transports.push(r),this}addLogger(r){return this.loggers.push(r),this}addConfig(r){return this.config={...this.config,...r},this}}0&&(module.exports={DeviceManagementKitBuilder});
1
+ "use strict";var s=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var u=(e,r)=>{for(var i in r)s(e,i,{get:r[i],enumerable:!0})},l=(e,r,i,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of c(r))!m.call(e,t)&&t!==i&&s(e,t,{get:()=>r[t],enumerable:!(a=p(r,t))||a.enumerable});return e};var f=e=>l(s({},"__esModule",{value:!0}),e);var b={};u(b,{DeviceManagementKitBuilder:()=>h});module.exports=f(b);var o=require("../internal/manager-api/model/Const"),n=require("../internal/secure-channel/model/Const"),g=require("./DeviceManagementKit");class h{stub=!1;loggers=[];transports=[];config={managerApiUrl:o.DEFAULT_MANAGER_API_BASE_URL,mockUrl:o.DEFAULT_MOCK_SERVER_BASE_URL,webSocketUrl:n.DEFAULT_WEB_SOCKET_BASE_URL};build(){return new g.DeviceManagementKit({stub:this.stub,transports:this.transports,loggers:this.loggers,config:this.config})}setStub(r){return this.stub=r,this}addTransport(r){return this.transports.push(r),this}addLogger(r){return this.loggers.push(r),this}addConfig(r){return this.config={...this.config,...r},this}}0&&(module.exports={DeviceManagementKitBuilder});
2
2
  //# sourceMappingURL=DeviceManagementKitBuilder.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKitBuilder.ts"],
4
- "sourcesContent": ["import {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n DEFAULT_WEB_SOCKET_BASE_URL,\n} from \"@internal/manager-api/model/Const\";\n\nimport { type LoggerSubscriberService } from \"./logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"./transport/model/Transport\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { type DmkConfig } from \"./DmkConfig\";\n\n/**\n * Builder for the `DeviceManagementKit` class.\n *\n * @example\n * ```\n * const dmk = new LedgerDeviceManagementKitBuilder()\n * .setStub(false)\n * .addTransport((args) => transportFactory(args))\n * .addTransport(transportFactory)\n * .addLogger(myLogger)\n * .build();\n * ```\n */\nexport class DeviceManagementKitBuilder {\n private stub = false;\n private readonly loggers: LoggerSubscriberService[] = [];\n private readonly transports: TransportFactory[] = [];\n private config: DmkConfig = {\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n webSocketUrl: DEFAULT_WEB_SOCKET_BASE_URL,\n };\n\n build(): DeviceManagementKit {\n return new DeviceManagementKit({\n stub: this.stub,\n transports: this.transports,\n loggers: this.loggers,\n config: this.config,\n });\n }\n\n setStub(stubbed: boolean): DeviceManagementKitBuilder {\n this.stub = stubbed;\n return this;\n }\n\n addTransport(transport: TransportFactory): DeviceManagementKitBuilder {\n this.transports.push(transport);\n return this;\n }\n\n /**\n * Add a logger to the SDK that will receive its logs\n */\n addLogger(logger: LoggerSubscriberService): DeviceManagementKitBuilder {\n this.loggers.push(logger);\n return this;\n }\n\n addConfig(config: Partial<DmkConfig>): DeviceManagementKitBuilder {\n this.config = {\n ...this.config,\n ...config,\n };\n return this;\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAIO,6CAIPC,EAAoC,iCAgB7B,MAAMH,CAA2B,CAC9B,KAAO,GACE,QAAqC,CAAC,EACtC,WAAiC,CAAC,EAC3C,OAAoB,CAC1B,cAAe,+BACf,QAAS,+BACT,aAAc,6BAChB,EAEA,OAA6B,CAC3B,OAAO,IAAI,sBAAoB,CAC7B,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,QAAS,KAAK,QACd,OAAQ,KAAK,MACf,CAAC,CACH,CAEA,QAAQI,EAA8C,CACpD,YAAK,KAAOA,EACL,IACT,CAEA,aAAaC,EAAyD,CACpE,YAAK,WAAW,KAAKA,CAAS,EACvB,IACT,CAKA,UAAUC,EAA6D,CACrE,YAAK,QAAQ,KAAKA,CAAM,EACjB,IACT,CAEA,UAAUC,EAAwD,CAChE,YAAK,OAAS,CACZ,GAAG,KAAK,OACR,GAAGA,CACL,EACO,IACT,CACF",
4
+ "sourcesContent": ["import {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n} from \"@internal/manager-api/model/Const\";\nimport { DEFAULT_WEB_SOCKET_BASE_URL } from \"@internal/secure-channel/model/Const\";\n\nimport { type LoggerSubscriberService } from \"./logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"./transport/model/Transport\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { type DmkConfig } from \"./DmkConfig\";\n\n/**\n * Builder for the `DeviceManagementKit` class.\n *\n * @example\n * ```\n * const dmk = new LedgerDeviceManagementKitBuilder()\n * .setStub(false)\n * .addTransport((args) => transportFactory(args))\n * .addTransport(transportFactory)\n * .addLogger(myLogger)\n * .build();\n * ```\n */\nexport class DeviceManagementKitBuilder {\n private stub = false;\n private readonly loggers: LoggerSubscriberService[] = [];\n private readonly transports: TransportFactory[] = [];\n private config: DmkConfig = {\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n webSocketUrl: DEFAULT_WEB_SOCKET_BASE_URL,\n };\n\n build(): DeviceManagementKit {\n return new DeviceManagementKit({\n stub: this.stub,\n transports: this.transports,\n loggers: this.loggers,\n config: this.config,\n });\n }\n\n setStub(stubbed: boolean): DeviceManagementKitBuilder {\n this.stub = stubbed;\n return this;\n }\n\n addTransport(transport: TransportFactory): DeviceManagementKitBuilder {\n this.transports.push(transport);\n return this;\n }\n\n /**\n * Add a logger to the SDK that will receive its logs\n */\n addLogger(logger: LoggerSubscriberService): DeviceManagementKitBuilder {\n this.loggers.push(logger);\n return this;\n }\n\n addConfig(config: Partial<DmkConfig>): DeviceManagementKitBuilder {\n this.config = {\n ...this.config,\n ...config,\n };\n return this;\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAGO,6CACPA,EAA4C,gDAI5CC,EAAoC,iCAgB7B,MAAMH,CAA2B,CAC9B,KAAO,GACE,QAAqC,CAAC,EACtC,WAAiC,CAAC,EAC3C,OAAoB,CAC1B,cAAe,+BACf,QAAS,+BACT,aAAc,6BAChB,EAEA,OAA6B,CAC3B,OAAO,IAAI,sBAAoB,CAC7B,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,QAAS,KAAK,QACd,OAAQ,KAAK,MACf,CAAC,CACH,CAEA,QAAQI,EAA8C,CACpD,YAAK,KAAOA,EACL,IACT,CAEA,aAAaC,EAAyD,CACpE,YAAK,WAAW,KAAKA,CAAS,EACvB,IACT,CAKA,UAAUC,EAA6D,CACrE,YAAK,QAAQ,KAAKA,CAAM,EACjB,IACT,CAEA,UAAUC,EAAwD,CAChE,YAAK,OAAS,CACZ,GAAG,KAAK,OACR,GAAGA,CACL,EACO,IACT,CACF",
6
6
  "names": ["DeviceManagementKitBuilder_exports", "__export", "DeviceManagementKitBuilder", "__toCommonJS", "import_Const", "import_DeviceManagementKit", "stubbed", "transport", "logger", "config"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=require("./logger-subscriber/service/ConsoleLogger"),i=require("./DeviceManagementKit"),r=require("./DeviceManagementKitBuilder");jest.mock("./logger-subscriber/service/ConsoleLogger");let e,t;describe("LedgerDeviceManagementKitBuilder",()=>{beforeEach(()=>{e=new r.DeviceManagementKitBuilder}),it("should build a DeviceManagementKit instance",()=>{const g=e.build();expect(g).toBeInstanceOf(i.DeviceManagementKit)}),it("should set the stub flag",()=>{e.setStub(!0),expect(e.stub).toBe(!0)}),it("should add a logger",()=>{t=new o.ConsoleLogger,e.addLogger(t),expect(e.loggers).toContain(t)})});
1
+ "use strict";var i=require("./logger-subscriber/service/ConsoleLogger"),o=require("./DeviceManagementKit"),r=require("./DeviceManagementKitBuilder");vi.mock("./logger-subscriber/service/ConsoleLogger");let e,t;describe("LedgerDeviceManagementKitBuilder",()=>{beforeEach(()=>{e=new r.DeviceManagementKitBuilder}),it("should build a DeviceManagementKit instance",()=>{const g=e.build();expect(g).toBeInstanceOf(o.DeviceManagementKit)}),it("should set the stub flag",()=>{e.setStub(!0),expect(e.stub).toBe(!0)}),it("should add a logger",()=>{t=new i.ConsoleLogger,e.addLogger(t),expect(e.loggers).toContain(t)})});
2
2
  //# sourceMappingURL=DeviceManagementKitBuilder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKitBuilder.test.ts"],
4
- "sourcesContent": ["import { ConsoleLogger } from \"./logger-subscriber/service/ConsoleLogger\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { DeviceManagementKitBuilder } from \"./DeviceManagementKitBuilder\";\n\njest.mock(\"./logger-subscriber/service/ConsoleLogger\");\n\nlet builder: DeviceManagementKitBuilder;\nlet logger: ConsoleLogger;\n\ndescribe(\"LedgerDeviceManagementKitBuilder\", () => {\n beforeEach(() => {\n builder = new DeviceManagementKitBuilder();\n });\n\n it(\"should build a DeviceManagementKit instance\", () => {\n const dmk: DeviceManagementKit = builder.build();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should set the stub flag\", () => {\n builder.setStub(true);\n // @ts-expect-error Access private field stub\n expect(builder.stub).toBe(true);\n });\n\n it(\"should add a logger\", () => {\n logger = new ConsoleLogger();\n builder.addLogger(logger);\n // @ts-expect-error Access private field loggers\n expect(builder.loggers).toContain(logger);\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA8B,qDAC9BC,EAAoC,iCACpCC,EAA2C,wCAE3C,KAAK,KAAK,2CAA2C,EAErD,IAAIC,EACAC,EAEJ,SAAS,mCAAoC,IAAM,CACjD,WAAW,IAAM,CACfD,EAAU,IAAI,4BAChB,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,MAAME,EAA2BF,EAAQ,MAAM,EAC/C,OAAOE,CAAG,EAAE,eAAe,qBAAmB,CAChD,CAAC,EAED,GAAG,2BAA4B,IAAM,CACnCF,EAAQ,QAAQ,EAAI,EAEpB,OAAOA,EAAQ,IAAI,EAAE,KAAK,EAAI,CAChC,CAAC,EAED,GAAG,sBAAuB,IAAM,CAC9BC,EAAS,IAAI,gBACbD,EAAQ,UAAUC,CAAM,EAExB,OAAOD,EAAQ,OAAO,EAAE,UAAUC,CAAM,CAC1C,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { ConsoleLogger } from \"./logger-subscriber/service/ConsoleLogger\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { DeviceManagementKitBuilder } from \"./DeviceManagementKitBuilder\";\n\nvi.mock(\"./logger-subscriber/service/ConsoleLogger\");\n\nlet builder: DeviceManagementKitBuilder;\nlet logger: ConsoleLogger;\n\ndescribe(\"LedgerDeviceManagementKitBuilder\", () => {\n beforeEach(() => {\n builder = new DeviceManagementKitBuilder();\n });\n\n it(\"should build a DeviceManagementKit instance\", () => {\n const dmk: DeviceManagementKit = builder.build();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should set the stub flag\", () => {\n builder.setStub(true);\n // @ts-expect-error Access private field stub\n expect(builder.stub).toBe(true);\n });\n\n it(\"should add a logger\", () => {\n logger = new ConsoleLogger();\n builder.addLogger(logger);\n // @ts-expect-error Access private field loggers\n expect(builder.loggers).toContain(logger);\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA8B,qDAC9BC,EAAoC,iCACpCC,EAA2C,wCAE3C,GAAG,KAAK,2CAA2C,EAEnD,IAAIC,EACAC,EAEJ,SAAS,mCAAoC,IAAM,CACjD,WAAW,IAAM,CACfD,EAAU,IAAI,4BAChB,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,MAAME,EAA2BF,EAAQ,MAAM,EAC/C,OAAOE,CAAG,EAAE,eAAe,qBAAmB,CAChD,CAAC,EAED,GAAG,2BAA4B,IAAM,CACnCF,EAAQ,QAAQ,EAAI,EAEpB,OAAOA,EAAQ,IAAI,EAAE,KAAK,EAAI,CAChC,CAAC,EAED,GAAG,sBAAuB,IAAM,CAC9BC,EAAS,IAAI,gBACbD,EAAQ,UAAUC,CAAM,EAExB,OAAOD,EAAQ,OAAO,EAAE,UAAUC,CAAM,CAC1C,CAAC,CACH,CAAC",
6
6
  "names": ["import_ConsoleLogger", "import_DeviceManagementKit", "import_DeviceManagementKitBuilder", "builder", "logger", "dmk"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=require("../../utils/HexaString"),c=require("./ByteArrayParser");const B=new Uint8Array([1]),u=new Uint8Array([0]),l=new Uint8Array([1,1]),b=new Uint8Array([171,0]),d=new Uint8Array([1,2,3,...Array(253).fill(170)]),L="33000004",R="0xe6000000",E=3858759680,i="2.2.3",m="2.30",C="1.16",S=0,A=1,T=0,U=new Uint8Array([51,0,0,4,5,50,46,50,46,51,4,230,0,0,0,4,50,46,51,48,4,49,46,49,54,1,0,1,1,1,0]),I=new Uint8Array([66,79,76,79,83]),h="BOLOS",g=new Uint8Array([1,5,66,79,76,79,83,5,50,46,50,46,51]);let e,x=B;describe("ByteArrayParser",()=>{const s=(t,f,n)=>{if(n)switch(f){case 2:return e.extract16BitInt(t);case 4:return e.extract32BitInt(t);case 8:return e.extract64BitInt(t);case 16:return e.extract128BitInt(t);case 32:return e.extract256BitInt(t)}else switch(f){case 2:return e.extract16BitUInt(t);case 4:return e.extract32BitUInt(t);case 8:return e.extract64BitUInt(t);case 16:return e.extract128BitUInt(t);case 32:return e.extract256BitUInt(t)}};describe("clean",()=>{beforeEach(()=>{jest.resetAllMocks()}),it("should create an instance",()=>{e=new c.ByteArrayParser(x),expect(e).toBeDefined(),expect(e).toBeInstanceOf(c.ByteArrayParser)}),it("Extract a single byte",()=>{e=new c.ByteArrayParser(x),expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0)}),it("Extract one byte",()=>{x=d,e=new c.ByteArrayParser(x);let t=0,f=d.length;for(expect(f).toBe(256),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--,expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--,expect(e.extract8BitUInt()).toBe(2),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--,expect(e.extract8BitUInt()).toBe(3),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--;f!=0;)expect(e.extract8BitUInt()).toBe(170),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--}),it.each([[2,!1,!0,"ffff",65535],[2,!0,!0,"7fff",32767],[2,!0,!0,"8000",-32768],[4,!1,!0,"ffffffff",4294967295],[4,!0,!0,"7fffffff",2147483647],[4,!0,!0,"80000000",-2147483648],[8,!1,!0,"ffffffffffffffff",0xffffffffffffffffn],[8,!0,!0,"7fffffffffffffff",0x7fffffffffffffffn],[8,!0,!0,"8000000000000000",-0x8000000000000000n],[16,!1,!0,"ffffffffffffffffffffffffffffffff",0xffffffffffffffffffffffffffffffffn],[16,!0,!0,"7fffffffffffffffffffffffffffffff",0x7fffffffffffffffffffffffffffffffn],[16,!0,!0,"80000000000000000000000000000000",-0x80000000000000000000000000000000n],[32,!1,!0,"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn],[32,!0,!0,"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn],[32,!0,!0,"8000000000000000000000000000000000000000000000000000000000000000",-0x8000000000000000000000000000000000000000000000000000000000000000n]])("Extract a number to the limit: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(t,f,n,r,a)=>{e=new c.ByteArrayParser((0,p.hexaStringToBuffer)(r));const o=s(n,t,f);expect(o).toStrictEqual(a)}),it.each([[2,!1,!0,"3302",13058],[2,!1,!1,"0233",13058],[2,!0,!0,"1068",4200],[2,!0,!0,"ef98",-4200],[2,!0,!1,"6810",4200],[2,!0,!1,"98ef",-4200],[4,!1,!0,"01234567",19088743],[4,!1,!1,"67452301",19088743],[4,!0,!0,"075bcd15",123456789],[4,!0,!0,"f8a432eb",-123456789],[4,!0,!1,"15cd5b07",123456789],[4,!0,!1,"eb32a4f8",-123456789],[8,!1,!0,"0032435442584447",14147778004927559n],[8,!1,!1,"4744584254433200",14147778004927559n],[8,!0,!0,"0032435442584447",14147778004927559n],[8,!0,!0,"ffcdbcabbda7bbb9",-14147778004927559n],[8,!0,!1,"4744584254433200",14147778004927559n],[8,!0,!1,"b9bba7bdabbccdff",-14147778004927559n],[16,!1,!0,"00324354425844470032435442584447",0x00324354425844470032435442584447n],[16,!1,!1,"47445842544332004744584254433200",0x00324354425844470032435442584447n],[16,!0,!0,"00324354425844470032435442584447",0x00324354425844470032435442584447n],[16,!0,!0,"ffcdbcabbda7bbb8ffcdbcabbda7bbb9",-0x00324354425844470032435442584447n],[16,!0,!1,"47445842544332004744584254433200",0x00324354425844470032435442584447n],[16,!0,!1,"b9bba7bdabbccdffb8bba7bdabbccdff",-0x00324354425844470032435442584447n],[32,!1,!0,"0032435442584447003243544258444700324354425844470032435442584447",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!1,!1,"4744584254433200474458425443320047445842544332004744584254433200",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!0,"0032435442584447003243544258444700324354425844470032435442584447",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!0,"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9",-0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!1,"4744584254433200474458425443320047445842544332004744584254433200",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!1,"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff",-0x0032435442584447003243544258444700324354425844470032435442584447n]])("Extract the following number: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(t,f,n,r,a)=>{e=new c.ByteArrayParser((0,p.hexaStringToBuffer)(r));const o=s(n,t,f);expect(o).toStrictEqual(a)}),it("Extract 16-bit & 32-bit number",()=>{x=d,e=new c.ByteArrayParser(x);let t=0,f=d.length;expect(f).toBe(256),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBe(258),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBe(938),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),e.resetIndex(),t=0,f=d.length,expect(e.extract32BitUInt()).toBe(16909226),t+=4,f-=4,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract32BitUInt()).toBe(2863311530),t+=4,f-=4,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)}),it("Parse a GetAppVersion response",()=>{x=g,e=new c.ByteArrayParser(x);let t=0,f=g.length;expect(f).toBe(13),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);const n=e.extract8BitUInt();t++,f--,expect(n).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let r=e.extractFieldLVEncoded();expect(r).toStrictEqual(I),expect(e.encodeToString(r)).toBe(h),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(i),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),e.resetIndex(),t=0,f=g.length,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);const a=e.extractFieldTLVEncoded();expect(a?.tag).toBe(1),expect(a?.value).toStrictEqual(I),expect(e.encodeToString(a?.value)).toBe(h),t+=7,f-=7,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(i),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)}),it("Parse a GetVersion response",()=>{x=U,e=new c.ByteArrayParser(x);let t=0,f=U.length;expect(f).toBe(31),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.testMinimalLength(25)).toBe(!0);let n=e.extractFieldByLength(4);expect(e.encodeToHexaString(n)).toBe(L),t+=4,f-=4,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(e.encodeToString(n)).toBe(i),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded();const r=e.encodeToHexaString(n,!0);expect(r).toBe(R),expect(parseInt(r,16)).toBe(E),t+=5,f-=5,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(e.encodeToString(n)).toBe(m),t+=5,f-=5,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(e.encodeToString(n)).toBe(C),t+=5,f-=5,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n?.at(0)).toBe(S),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n?.at(0)).toBe(A),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n?.at(0)).toBe(T),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)})}),describe("errors",()=>{it("no response",()=>{x=new Uint8Array,e=new c.ByteArrayParser(x);const t=0,f=0;expect(e.testMinimalLength(1)).toBe(!1),expect(e.extract8BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let n=e.extractFieldByLength(2);expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);const r=e.extractFieldTLVEncoded();expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)}),it("length error",()=>{x=B,e=new c.ByteArrayParser(x);const t=0,f=B.length;expect(f).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let n=e.extractFieldByLength(2);expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let r=e.extractFieldTLVEncoded();expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),x=l,e=new c.ByteArrayParser(x),r=e.extractFieldTLVEncoded(),expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(l.length)}),it("Test zero length",()=>{x=u,e=new c.ByteArrayParser(x);const t=new Uint8Array,f=0;let n=u.length;expect(n).toBe(1),expect(e.getCurrentIndex()).toBe(f),expect(e.getUnparsedRemainingLength()).toBe(n);const r=e.extract8BitUInt();expect(r).toBe(0),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),e.resetIndex();let a=e.extractFieldByLength(0);expect(a).toStrictEqual(t),expect(e.encodeToString(a)).toBe(""),expect(e.getCurrentIndex()).toBe(f),expect(e.getUnparsedRemainingLength()).toBe(n),a=e.extractFieldLVEncoded(),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),expect(a).toStrictEqual(t),expect(e.encodeToString(a)).toBe(""),x=b,e=new c.ByteArrayParser(x),n=b.length,expect(n).toBe(2),expect(e.getCurrentIndex()).toBe(f),expect(e.getUnparsedRemainingLength()).toBe(n);const o=e.extractFieldTLVEncoded();expect(o?.tag).toBe(171),expect(o?.value).toStrictEqual(t),expect(e.encodeToString(o?.value)).toBe(""),expect(e.getCurrentIndex()).toBe(2),expect(e.getUnparsedRemainingLength()).toBe(0),expect(e.encodeToHexaString()).toBe(""),expect(e.encodeToString()).toBe("")})})});
1
+ "use strict";var p=require("../../utils/HexaString"),c=require("./ByteArrayParser");const B=new Uint8Array([1]),u=new Uint8Array([0]),l=new Uint8Array([1,1]),b=new Uint8Array([171,0]),d=new Uint8Array([1,2,3,...Array(253).fill(170)]),L="33000004",R="0xe6000000",E=3858759680,i="2.2.3",m="2.30",C="1.16",S=0,A=1,T=0,U=new Uint8Array([51,0,0,4,5,50,46,50,46,51,4,230,0,0,0,4,50,46,51,48,4,49,46,49,54,1,0,1,1,1,0]),I=new Uint8Array([66,79,76,79,83]),h="BOLOS",g=new Uint8Array([1,5,66,79,76,79,83,5,50,46,50,46,51]);let e,x=B;describe("ByteArrayParser",()=>{const s=(t,f,n)=>{if(n)switch(f){case 2:return e.extract16BitInt(t);case 4:return e.extract32BitInt(t);case 8:return e.extract64BitInt(t);case 16:return e.extract128BitInt(t);case 32:return e.extract256BitInt(t)}else switch(f){case 2:return e.extract16BitUInt(t);case 4:return e.extract32BitUInt(t);case 8:return e.extract64BitUInt(t);case 16:return e.extract128BitUInt(t);case 32:return e.extract256BitUInt(t)}};describe("clean",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("should create an instance",()=>{e=new c.ByteArrayParser(x),expect(e).toBeDefined(),expect(e).toBeInstanceOf(c.ByteArrayParser)}),it("Extract a single byte",()=>{e=new c.ByteArrayParser(x),expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0)}),it("Extract one byte",()=>{x=d,e=new c.ByteArrayParser(x);let t=0,f=d.length;for(expect(f).toBe(256),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--,expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--,expect(e.extract8BitUInt()).toBe(2),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--,expect(e.extract8BitUInt()).toBe(3),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--;f!=0;)expect(e.extract8BitUInt()).toBe(170),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),t++,f--}),it.each([[2,!1,!0,"ffff",65535],[2,!0,!0,"7fff",32767],[2,!0,!0,"8000",-32768],[4,!1,!0,"ffffffff",4294967295],[4,!0,!0,"7fffffff",2147483647],[4,!0,!0,"80000000",-2147483648],[8,!1,!0,"ffffffffffffffff",0xffffffffffffffffn],[8,!0,!0,"7fffffffffffffff",0x7fffffffffffffffn],[8,!0,!0,"8000000000000000",-0x8000000000000000n],[16,!1,!0,"ffffffffffffffffffffffffffffffff",0xffffffffffffffffffffffffffffffffn],[16,!0,!0,"7fffffffffffffffffffffffffffffff",0x7fffffffffffffffffffffffffffffffn],[16,!0,!0,"80000000000000000000000000000000",-0x80000000000000000000000000000000n],[32,!1,!0,"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn],[32,!0,!0,"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn],[32,!0,!0,"8000000000000000000000000000000000000000000000000000000000000000",-0x8000000000000000000000000000000000000000000000000000000000000000n]])("Extract a number to the limit: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(t,f,n,r,a)=>{e=new c.ByteArrayParser((0,p.hexaStringToBuffer)(r));const o=s(n,t,f);expect(o).toStrictEqual(a)}),it.each([[2,!1,!0,"3302",13058],[2,!1,!1,"0233",13058],[2,!0,!0,"1068",4200],[2,!0,!0,"ef98",-4200],[2,!0,!1,"6810",4200],[2,!0,!1,"98ef",-4200],[4,!1,!0,"01234567",19088743],[4,!1,!1,"67452301",19088743],[4,!0,!0,"075bcd15",123456789],[4,!0,!0,"f8a432eb",-123456789],[4,!0,!1,"15cd5b07",123456789],[4,!0,!1,"eb32a4f8",-123456789],[8,!1,!0,"0032435442584447",14147778004927559n],[8,!1,!1,"4744584254433200",14147778004927559n],[8,!0,!0,"0032435442584447",14147778004927559n],[8,!0,!0,"ffcdbcabbda7bbb9",-14147778004927559n],[8,!0,!1,"4744584254433200",14147778004927559n],[8,!0,!1,"b9bba7bdabbccdff",-14147778004927559n],[16,!1,!0,"00324354425844470032435442584447",0x00324354425844470032435442584447n],[16,!1,!1,"47445842544332004744584254433200",0x00324354425844470032435442584447n],[16,!0,!0,"00324354425844470032435442584447",0x00324354425844470032435442584447n],[16,!0,!0,"ffcdbcabbda7bbb8ffcdbcabbda7bbb9",-0x00324354425844470032435442584447n],[16,!0,!1,"47445842544332004744584254433200",0x00324354425844470032435442584447n],[16,!0,!1,"b9bba7bdabbccdffb8bba7bdabbccdff",-0x00324354425844470032435442584447n],[32,!1,!0,"0032435442584447003243544258444700324354425844470032435442584447",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!1,!1,"4744584254433200474458425443320047445842544332004744584254433200",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!0,"0032435442584447003243544258444700324354425844470032435442584447",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!0,"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9",-0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!1,"4744584254433200474458425443320047445842544332004744584254433200",0x0032435442584447003243544258444700324354425844470032435442584447n],[32,!0,!1,"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff",-0x0032435442584447003243544258444700324354425844470032435442584447n]])("Extract the following number: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(t,f,n,r,a)=>{e=new c.ByteArrayParser((0,p.hexaStringToBuffer)(r));const o=s(n,t,f);expect(o).toStrictEqual(a)}),it("Extract 16-bit & 32-bit number",()=>{x=d,e=new c.ByteArrayParser(x);let t=0,f=d.length;expect(f).toBe(256),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBe(258),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBe(938),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),e.resetIndex(),t=0,f=d.length,expect(e.extract32BitUInt()).toBe(16909226),t+=4,f-=4,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract32BitUInt()).toBe(2863311530),t+=4,f-=4,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)}),it("Parse a GetAppVersion response",()=>{x=g,e=new c.ByteArrayParser(x);let t=0,f=g.length;expect(f).toBe(13),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);const n=e.extract8BitUInt();t++,f--,expect(n).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let r=e.extractFieldLVEncoded();expect(r).toStrictEqual(I),expect(e.encodeToString(r)).toBe(h),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(i),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),e.resetIndex(),t=0,f=g.length,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);const a=e.extractFieldTLVEncoded();expect(a?.tag).toBe(1),expect(a?.value).toStrictEqual(I),expect(e.encodeToString(a?.value)).toBe(h),t+=7,f-=7,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(i),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)}),it("Parse a GetVersion response",()=>{x=U,e=new c.ByteArrayParser(x);let t=0,f=U.length;expect(f).toBe(31),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.testMinimalLength(25)).toBe(!0);let n=e.extractFieldByLength(4);expect(e.encodeToHexaString(n)).toBe(L),t+=4,f-=4,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(e.encodeToString(n)).toBe(i),t+=6,f-=6,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded();const r=e.encodeToHexaString(n,!0);expect(r).toBe(R),expect(parseInt(r,16)).toBe(E),t+=5,f-=5,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(e.encodeToString(n)).toBe(m),t+=5,f-=5,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(e.encodeToString(n)).toBe(C),t+=5,f-=5,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n?.at(0)).toBe(S),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n?.at(0)).toBe(A),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n?.at(0)).toBe(T),t+=2,f-=2,expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)})}),describe("errors",()=>{it("no response",()=>{x=new Uint8Array,e=new c.ByteArrayParser(x);const t=0,f=0;expect(e.testMinimalLength(1)).toBe(!1),expect(e.extract8BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let n=e.extractFieldByLength(2);expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);const r=e.extractFieldTLVEncoded();expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f)}),it("length error",()=>{x=B,e=new c.ByteArrayParser(x);const t=0,f=B.length;expect(f).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let n=e.extractFieldByLength(2);expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),n=e.extractFieldLVEncoded(),expect(n).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f);let r=e.extractFieldTLVEncoded();expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(f),x=l,e=new c.ByteArrayParser(x),r=e.extractFieldTLVEncoded(),expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(l.length)}),it("Test zero length",()=>{x=u,e=new c.ByteArrayParser(x);const t=new Uint8Array,f=0;let n=u.length;expect(n).toBe(1),expect(e.getCurrentIndex()).toBe(f),expect(e.getUnparsedRemainingLength()).toBe(n);const r=e.extract8BitUInt();expect(r).toBe(0),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),e.resetIndex();let a=e.extractFieldByLength(0);expect(a).toStrictEqual(t),expect(e.encodeToString(a)).toBe(""),expect(e.getCurrentIndex()).toBe(f),expect(e.getUnparsedRemainingLength()).toBe(n),a=e.extractFieldLVEncoded(),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),expect(a).toStrictEqual(t),expect(e.encodeToString(a)).toBe(""),x=b,e=new c.ByteArrayParser(x),n=b.length,expect(n).toBe(2),expect(e.getCurrentIndex()).toBe(f),expect(e.getUnparsedRemainingLength()).toBe(n);const o=e.extractFieldTLVEncoded();expect(o?.tag).toBe(171),expect(o?.value).toStrictEqual(t),expect(e.encodeToString(o?.value)).toBe(""),expect(e.getCurrentIndex()).toBe(2),expect(e.getUnparsedRemainingLength()).toBe(0),expect(e.encodeToHexaString()).toBe(""),expect(e.encodeToString()).toBe("")})})});
2
2
  //# sourceMappingURL=ByteArrayParser.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/apdu/utils/ByteArrayParser.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nimport { ByteArrayParser } from \"./ByteArrayParser\";\n\nconst RESPONSE_ONE_BYTE = new Uint8Array([0x01]);\nconst RESPONSE_LV_ZERO = new Uint8Array([0x00]);\nconst RESPONSE_TWO_BYTES = new Uint8Array([0x01, 0x01]);\nconst RESPONSE_TLV_ZERO = new Uint8Array([0xab, 0x00]);\nconst RESPONSE_ALL_BYTES = new Uint8Array([\n 0x01,\n 0x02,\n 0x03,\n ...Array<number>(253).fill(0xaa),\n]);\n\n/*\nType : 33 00 00 04 -> nanoX\nVersion SE (LV): 2.2.3\nFlag: E600000000\n PIN OK\n Factory init Ok\n Onboarding done\nVersion MCU(LV): 2.30\nVersion BootLoader(LV): 1.16\nHW rev: 0\nLanguage(LV): Fra & Eng\nRecover state (LV): 1\n*/\nconst DEVICE_TYPE = \"33000004\";\nconst DEVICE_FLAGS = \"0xe6000000\";\nconst NUMERIC_FLAGS = 0xe6000000;\nconst VERSION_FW_SE = \"2.2.3\";\nconst VERSION_FW_MCU = \"2.30\";\nconst VERSION_FW_BL = \"1.16\";\nconst HARDWARE_REV = 0;\nconst LANGUAGE_PACK = 1;\nconst RECOVER_STATE = 0;\nconst RESPONSE_GET_VERSION = new Uint8Array([\n 0x33, 0x00, 0x00, 0x04, 0x05, 0x32, 0x2e, 0x32, 0x2e, 0x33, 0x04, 0xe6, 0x00,\n 0x00, 0x00, 0x04, 0x32, 0x2e, 0x33, 0x30, 0x04, 0x31, 0x2e, 0x31, 0x36, 0x01,\n 0x00, 0x01, 0x01, 0x01, 0x00,\n]);\n\n/*\nFormat version: 1\nName: BOLOS\nVersion: 2.2.3\n*/\nconst DASHBOARD_HEX = new Uint8Array([0x42, 0x4f, 0x4c, 0x4f, 0x53]);\nconst DASHBOARD_NAME = \"BOLOS\";\nconst RESPONSE_GET_APP_VERSION = new Uint8Array([\n 0x01, 0x05, 0x42, 0x4f, 0x4c, 0x4f, 0x53, 0x05, 0x32, 0x2e, 0x32, 0x2e, 0x33,\n]);\n\nlet parser: ByteArrayParser;\nlet response = RESPONSE_ONE_BYTE;\n\ndescribe(\"ByteArrayParser\", () => {\n const parserExtractNumber = (\n bigEndian: boolean,\n sizeInBits: number,\n signed: boolean,\n ): bigint | number | undefined => {\n if (signed) {\n switch (sizeInBits) {\n case 2:\n return parser.extract16BitInt(bigEndian);\n case 4:\n return parser.extract32BitInt(bigEndian);\n case 8:\n return parser.extract64BitInt(bigEndian);\n case 16:\n return parser.extract128BitInt(bigEndian);\n case 32:\n return parser.extract256BitInt(bigEndian);\n }\n } else {\n switch (sizeInBits) {\n case 2:\n return parser.extract16BitUInt(bigEndian);\n case 4:\n return parser.extract32BitUInt(bigEndian);\n case 8:\n return parser.extract64BitUInt(bigEndian);\n case 16:\n return parser.extract128BitUInt(bigEndian);\n case 32:\n return parser.extract256BitUInt(bigEndian);\n }\n }\n return undefined;\n };\n\n describe(\"clean\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"should create an instance\", () => {\n parser = new ByteArrayParser(response);\n expect(parser).toBeDefined();\n expect(parser).toBeInstanceOf(ByteArrayParser);\n });\n\n it(\"Extract a single byte\", () => {\n parser = new ByteArrayParser(response);\n expect(parser.extract8BitUInt()).toBe(0x01);\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n });\n\n it(\"Extract one byte\", () => {\n response = RESPONSE_ALL_BYTES;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_ALL_BYTES.length;\n\n expect(length).toBe(256);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x01);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x02);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x03);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n while (length != 0) {\n expect(parser.extract8BitUInt()).toBe(0xaa);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n }\n });\n\n it.each([\n [2, false, true, \"ffff\", 0xffff],\n [2, true, true, \"7fff\", 0x7fff],\n [2, true, true, \"8000\", -0x8000],\n [4, false, true, \"ffffffff\", 0xffffffff],\n [4, true, true, \"7fffffff\", 0x7fffffff],\n [4, true, true, \"80000000\", -0x80000000],\n [8, false, true, \"ffffffffffffffff\", 0xffffffffffffffffn],\n [8, true, true, \"7fffffffffffffff\", 0x7fffffffffffffffn],\n [8, true, true, \"8000000000000000\", -0x8000000000000000n],\n [\n 16,\n false,\n true,\n \"ffffffffffffffffffffffffffffffff\",\n 0xffffffffffffffffffffffffffffffffn,\n ],\n [\n 16,\n true,\n true,\n \"7fffffffffffffffffffffffffffffff\",\n 0x7fffffffffffffffffffffffffffffffn,\n ],\n [\n 16,\n true,\n true,\n \"80000000000000000000000000000000\",\n -0x80000000000000000000000000000000n,\n ],\n [\n 32,\n false,\n true,\n \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,\n ],\n [\n 32,\n true,\n true,\n \"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,\n ],\n [\n 32,\n true,\n true,\n \"8000000000000000000000000000000000000000000000000000000000000000\",\n -0x8000000000000000000000000000000000000000000000000000000000000000n,\n ],\n ])(\n \"Extract a number to the limit: size %i, signed %s, bigEndian %s, buffer %s, expected %i\",\n (sizeInBits, signed, bigEndian, input, output) => {\n parser = new ByteArrayParser(hexaStringToBuffer(input)!);\n const result = parserExtractNumber(bigEndian, sizeInBits, signed);\n expect(result).toStrictEqual(output);\n },\n );\n\n it.each([\n [2, false, true, \"3302\", 0x3302],\n [2, false, false, \"0233\", 0x3302],\n [2, true, true, \"1068\", 4200],\n [2, true, true, \"ef98\", -4200],\n [2, true, false, \"6810\", 4200],\n [2, true, false, \"98ef\", -4200],\n [4, false, true, \"01234567\", 0x01234567],\n [4, false, false, \"67452301\", 0x01234567],\n [4, true, true, \"075bcd15\", 123456789],\n [4, true, true, \"f8a432eb\", -123456789],\n [4, true, false, \"15cd5b07\", 123456789],\n [4, true, false, \"eb32a4f8\", -123456789],\n [8, false, true, \"0032435442584447\", 14147778004927559n],\n [8, false, false, \"4744584254433200\", 14147778004927559n],\n [8, true, true, \"0032435442584447\", 14147778004927559n],\n [8, true, true, \"ffcdbcabbda7bbb9\", -14147778004927559n],\n [8, true, false, \"4744584254433200\", 14147778004927559n],\n [8, true, false, \"b9bba7bdabbccdff\", -14147778004927559n],\n [\n 16,\n false,\n true,\n \"00324354425844470032435442584447\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n false,\n false,\n \"47445842544332004744584254433200\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n true,\n \"00324354425844470032435442584447\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n true,\n \"ffcdbcabbda7bbb8ffcdbcabbda7bbb9\",\n -0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n false,\n \"47445842544332004744584254433200\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n false,\n \"b9bba7bdabbccdffb8bba7bdabbccdff\",\n -0x00324354425844470032435442584447n,\n ],\n [\n 32,\n false,\n true,\n \"0032435442584447003243544258444700324354425844470032435442584447\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n false,\n false,\n \"4744584254433200474458425443320047445842544332004744584254433200\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n true,\n \"0032435442584447003243544258444700324354425844470032435442584447\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n true,\n \"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9\",\n -0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n false,\n \"4744584254433200474458425443320047445842544332004744584254433200\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n false,\n \"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff\",\n -0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n ])(\n \"Extract the following number: size %i, signed %s, bigEndian %s, buffer %s, expected %i\",\n (sizeInBits, signed, bigEndian, input, output) => {\n parser = new ByteArrayParser(hexaStringToBuffer(input)!);\n const result = parserExtractNumber(bigEndian, sizeInBits, signed);\n expect(result).toStrictEqual(output);\n },\n );\n\n it(\"Extract 16-bit & 32-bit number\", () => {\n response = RESPONSE_ALL_BYTES;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_ALL_BYTES.length;\n\n expect(length).toBe(256);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBe(0x0102);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBe(0x03aa);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n parser.resetIndex();\n index = 0;\n length = RESPONSE_ALL_BYTES.length;\n\n expect(parser.extract32BitUInt()).toBe(0x010203aa);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBe(0xaaaaaaaa);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"Parse a GetAppVersion response\", () => {\n response = RESPONSE_GET_APP_VERSION;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_GET_APP_VERSION.length;\n\n // Parse the response considering the first field to be the format field\n expect(length).toBe(13);\n\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const value = parser.extract8BitUInt();\n index++;\n length--;\n expect(value).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldLVEncoded();\n expect(array).toStrictEqual(DASHBOARD_HEX);\n expect(parser.encodeToString(array)).toBe(DASHBOARD_NAME);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n // Reparse the response considering the first field to be the TLV formatted\n parser.resetIndex();\n index = 0;\n length = RESPONSE_GET_APP_VERSION.length;\n\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field?.tag).toBe(0x01);\n expect(field?.value).toStrictEqual(DASHBOARD_HEX);\n expect(parser.encodeToString(field?.value)).toBe(DASHBOARD_NAME);\n index += 7;\n length -= 7;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"Parse a GetVersion response\", () => {\n response = RESPONSE_GET_VERSION;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_GET_VERSION.length;\n\n expect(length).toBe(31);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n expect(parser.testMinimalLength(25)).toBe(true);\n\n let array = parser.extractFieldByLength(4);\n expect(parser.encodeToHexaString(array)).toBe(DEVICE_TYPE);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n const flags = parser.encodeToHexaString(array, true);\n expect(flags).toBe(DEVICE_FLAGS);\n expect(parseInt(flags, 16)).toBe(NUMERIC_FLAGS);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_MCU);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_BL);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(HARDWARE_REV);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(LANGUAGE_PACK);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(RECOVER_STATE);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n });\n\n describe(\"errors\", () => {\n it(\"no response\", () => {\n response = new Uint8Array();\n parser = new ByteArrayParser(response);\n const index = 0;\n const length = 0;\n\n expect(parser.testMinimalLength(1)).toBe(false);\n\n expect(parser.extract8BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldByLength(2);\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"length error\", () => {\n response = RESPONSE_ONE_BYTE;\n parser = new ByteArrayParser(response);\n const index = 0;\n const length = RESPONSE_ONE_BYTE.length;\n\n expect(length).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldByLength(2);\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n response = RESPONSE_TWO_BYTES;\n parser = new ByteArrayParser(response);\n\n field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(\n RESPONSE_TWO_BYTES.length,\n );\n });\n\n it(\"Test zero length\", () => {\n response = RESPONSE_LV_ZERO;\n parser = new ByteArrayParser(response);\n const zero = new Uint8Array();\n\n const index = 0;\n let length = RESPONSE_LV_ZERO.length;\n\n expect(length).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const value = parser.extract8BitUInt();\n expect(value).toBe(0);\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n\n parser.resetIndex();\n\n let array = parser.extractFieldByLength(0);\n expect(array).toStrictEqual(zero);\n expect(parser.encodeToString(array)).toBe(\"\");\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n expect(array).toStrictEqual(zero);\n expect(parser.encodeToString(array)).toBe(\"\");\n\n response = RESPONSE_TLV_ZERO;\n parser = new ByteArrayParser(response);\n length = RESPONSE_TLV_ZERO.length;\n\n expect(length).toBe(2);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field?.tag).toBe(0xab);\n expect(field?.value).toStrictEqual(zero);\n expect(parser.encodeToString(field?.value)).toBe(\"\");\n expect(parser.getCurrentIndex()).toBe(2);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n\n expect(parser.encodeToHexaString()).toBe(\"\");\n expect(parser.encodeToString()).toBe(\"\");\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAmC,iCAEnCC,EAAgC,6BAEhC,MAAMC,EAAoB,IAAI,WAAW,CAAC,CAAI,CAAC,EACzCC,EAAmB,IAAI,WAAW,CAAC,CAAI,CAAC,EACxCC,EAAqB,IAAI,WAAW,CAAC,EAAM,CAAI,CAAC,EAChDC,EAAoB,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EAC/CC,EAAqB,IAAI,WAAW,CACxC,EACA,EACA,EACA,GAAG,MAAc,GAAG,EAAE,KAAK,GAAI,CACjC,CAAC,EAeKC,EAAc,WACdC,EAAe,aACfC,EAAgB,WAChBC,EAAgB,QAChBC,EAAiB,OACjBC,EAAgB,OAChBC,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAuB,IAAI,WAAW,CAC1C,GAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAM,IAAM,EACxE,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,GAAM,GAAM,EACxE,EAAM,EAAM,EAAM,EAAM,CAC1B,CAAC,EAOKC,EAAgB,IAAI,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EAC7DC,EAAiB,QACjBC,EAA2B,IAAI,WAAW,CAC9C,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,GAAM,GAAM,EAC1E,CAAC,EAED,IAAIC,EACAC,EAAWnB,EAEf,SAAS,kBAAmB,IAAM,CAChC,MAAMoB,EAAsB,CAC1BC,EACAC,EACAC,IACgC,CAChC,GAAIA,EACF,OAAQD,EAAY,CAClB,IAAK,GACH,OAAOJ,EAAO,gBAAgBG,CAAS,EACzC,IAAK,GACH,OAAOH,EAAO,gBAAgBG,CAAS,EACzC,IAAK,GACH,OAAOH,EAAO,gBAAgBG,CAAS,EACzC,IAAK,IACH,OAAOH,EAAO,iBAAiBG,CAAS,EAC1C,IAAK,IACH,OAAOH,EAAO,iBAAiBG,CAAS,CAC5C,KAEA,QAAQC,EAAY,CAClB,IAAK,GACH,OAAOJ,EAAO,iBAAiBG,CAAS,EAC1C,IAAK,GACH,OAAOH,EAAO,iBAAiBG,CAAS,EAC1C,IAAK,GACH,OAAOH,EAAO,iBAAiBG,CAAS,EAC1C,IAAK,IACH,OAAOH,EAAO,kBAAkBG,CAAS,EAC3C,IAAK,IACH,OAAOH,EAAO,kBAAkBG,CAAS,CAC7C,CAGJ,EAEA,SAAS,QAAS,IAAM,CACtB,WAAW,IAAM,CACf,KAAK,cAAc,CACrB,CAAC,EAED,GAAG,4BAA6B,IAAM,CACpCH,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,OAAOD,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,eAAe,iBAAe,CAC/C,CAAC,EAED,GAAG,wBAAyB,IAAM,CAChCA,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,OAAOD,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAI,EAC1C,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAC,EACvC,OAAOA,EAAO,2BAA2B,CAAC,EAAE,KAAK,CAAC,CACpD,CAAC,EAED,GAAG,mBAAoB,IAAM,CAC3BC,EAAWf,EACXc,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,IAAIK,EAAQ,EACRC,EAASrB,EAAmB,OA0BhC,IAxBA,OAAOqB,CAAM,EAAE,KAAK,GAAG,EACvB,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EACvDD,IACAC,IAEA,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAI,EAC1C,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EACvDD,IACAC,IAEA,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAI,EAC1C,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EACvDD,IACAC,IAEA,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAI,EAC1C,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EACvDD,IACAC,IAEOA,GAAU,GACf,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAK,GAAI,EAC1C,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EACvDD,IACAC,GAEJ,CAAC,EAED,GAAG,KAAK,CACN,CAAC,EAAG,GAAO,GAAM,OAAQ,KAAM,EAC/B,CAAC,EAAG,GAAM,GAAM,OAAQ,KAAM,EAC9B,CAAC,EAAG,GAAM,GAAM,OAAQ,MAAO,EAC/B,CAAC,EAAG,GAAO,GAAM,WAAY,UAAU,EACvC,CAAC,EAAG,GAAM,GAAM,WAAY,UAAU,EACtC,CAAC,EAAG,GAAM,GAAM,WAAY,WAAW,EACvC,CAAC,EAAG,GAAO,GAAM,mBAAoB,mBAAmB,EACxD,CAAC,EAAG,GAAM,GAAM,mBAAoB,mBAAmB,EACvD,CAAC,EAAG,GAAM,GAAM,mBAAoB,CAAC,mBAAmB,EACxD,CACE,GACA,GACA,GACA,mCACA,mCACF,EACA,CACE,GACA,GACA,GACA,mCACA,mCACF,EACA,CACE,GACA,GACA,GACA,mCACA,CAAC,mCACH,EACA,CACE,GACA,GACA,GACA,mEACA,mEACF,EACA,CACE,GACA,GACA,GACA,mEACA,mEACF,EACA,CACE,GACA,GACA,GACA,mEACA,CAAC,mEACH,CACF,CAAC,EACC,0FACA,CAACH,EAAYC,EAAQF,EAAWK,EAAOC,IAAW,CAChDT,EAAS,IAAI,qBAAgB,sBAAmBQ,CAAK,CAAE,EACvD,MAAME,EAASR,EAAoBC,EAAWC,EAAYC,CAAM,EAChE,OAAOK,CAAM,EAAE,cAAcD,CAAM,CACrC,CACF,EAEA,GAAG,KAAK,CACN,CAAC,EAAG,GAAO,GAAM,OAAQ,KAAM,EAC/B,CAAC,EAAG,GAAO,GAAO,OAAQ,KAAM,EAChC,CAAC,EAAG,GAAM,GAAM,OAAQ,IAAI,EAC5B,CAAC,EAAG,GAAM,GAAM,OAAQ,KAAK,EAC7B,CAAC,EAAG,GAAM,GAAO,OAAQ,IAAI,EAC7B,CAAC,EAAG,GAAM,GAAO,OAAQ,KAAK,EAC9B,CAAC,EAAG,GAAO,GAAM,WAAY,QAAU,EACvC,CAAC,EAAG,GAAO,GAAO,WAAY,QAAU,EACxC,CAAC,EAAG,GAAM,GAAM,WAAY,SAAS,EACrC,CAAC,EAAG,GAAM,GAAM,WAAY,UAAU,EACtC,CAAC,EAAG,GAAM,GAAO,WAAY,SAAS,EACtC,CAAC,EAAG,GAAM,GAAO,WAAY,UAAU,EACvC,CAAC,EAAG,GAAO,GAAM,mBAAoB,kBAAkB,EACvD,CAAC,EAAG,GAAO,GAAO,mBAAoB,kBAAkB,EACxD,CAAC,EAAG,GAAM,GAAM,mBAAoB,kBAAkB,EACtD,CAAC,EAAG,GAAM,GAAM,mBAAoB,CAAC,kBAAkB,EACvD,CAAC,EAAG,GAAM,GAAO,mBAAoB,kBAAkB,EACvD,CAAC,EAAG,GAAM,GAAO,mBAAoB,CAAC,kBAAkB,EACxD,CACE,GACA,GACA,GACA,mCACA,mCACF,EACA,CACE,GACA,GACA,GACA,mCACA,mCACF,EACA,CACE,GACA,GACA,GACA,mCACA,mCACF,EACA,CACE,GACA,GACA,GACA,mCACA,CAAC,mCACH,EACA,CACE,GACA,GACA,GACA,mCACA,mCACF,EACA,CACE,GACA,GACA,GACA,mCACA,CAAC,mCACH,EACA,CACE,GACA,GACA,GACA,mEACA,mEACF,EACA,CACE,GACA,GACA,GACA,mEACA,mEACF,EACA,CACE,GACA,GACA,GACA,mEACA,mEACF,EACA,CACE,GACA,GACA,GACA,mEACA,CAAC,mEACH,EACA,CACE,GACA,GACA,GACA,mEACA,mEACF,EACA,CACE,GACA,GACA,GACA,mEACA,CAAC,mEACH,CACF,CAAC,EACC,yFACA,CAACL,EAAYC,EAAQF,EAAWK,EAAOC,IAAW,CAChDT,EAAS,IAAI,qBAAgB,sBAAmBQ,CAAK,CAAE,EACvD,MAAME,EAASR,EAAoBC,EAAWC,EAAYC,CAAM,EAChE,OAAOK,CAAM,EAAE,cAAcD,CAAM,CACrC,CACF,EAEA,GAAG,iCAAkC,IAAM,CACzCR,EAAWf,EACXc,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,IAAIK,EAAQ,EACRC,EAASrB,EAAmB,OAEhC,OAAOqB,CAAM,EAAE,KAAK,GAAG,EACvB,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,OAAOP,EAAO,iBAAiB,CAAC,EAAE,KAAK,GAAM,EAC7CM,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,OAAOP,EAAO,iBAAiB,CAAC,EAAE,KAAK,GAAM,EAC7CM,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDP,EAAO,WAAW,EAClBM,EAAQ,EACRC,EAASrB,EAAmB,OAE5B,OAAOc,EAAO,iBAAiB,CAAC,EAAE,KAAK,QAAU,EACjDM,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,OAAOP,EAAO,iBAAiB,CAAC,EAAE,KAAK,UAAU,EACjDM,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,CACzD,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzCN,EAAWF,EACXC,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,IAAIK,EAAQ,EACRC,EAASR,EAAyB,OAGtC,OAAOQ,CAAM,EAAE,KAAK,EAAE,EAEtB,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,MAAMI,EAAQX,EAAO,gBAAgB,EACrCM,IACAC,IACA,OAAOI,CAAK,EAAE,KAAK,CAAC,EACpB,OAAOX,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,IAAIK,EAAQZ,EAAO,sBAAsB,EACzC,OAAOY,CAAK,EAAE,cAAcf,CAAa,EACzC,OAAOG,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAKd,CAAc,EACxDQ,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOA,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAKtB,CAAa,EACvDgB,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAGvDP,EAAO,WAAW,EAClBM,EAAQ,EACRC,EAASR,EAAyB,OAElC,OAAOC,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,MAAMM,EAAQb,EAAO,uBAAuB,EAC5C,OAAOa,GAAO,GAAG,EAAE,KAAK,CAAI,EAC5B,OAAOA,GAAO,KAAK,EAAE,cAAchB,CAAa,EAChD,OAAOG,EAAO,eAAea,GAAO,KAAK,CAAC,EAAE,KAAKf,CAAc,EAC/DQ,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOA,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAKtB,CAAa,EACvDgB,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,CACzD,CAAC,EAED,GAAG,8BAA+B,IAAM,CACtCN,EAAWL,EACXI,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,IAAIK,EAAQ,EACRC,EAASX,EAAqB,OAElC,OAAOW,CAAM,EAAE,KAAK,EAAE,EACtB,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EACvD,OAAOP,EAAO,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAI,EAE9C,IAAIY,EAAQZ,EAAO,qBAAqB,CAAC,EACzC,OAAOA,EAAO,mBAAmBY,CAAK,CAAC,EAAE,KAAKzB,CAAW,EACzDmB,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOA,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAKtB,CAAa,EACvDgB,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,MAAMc,EAAQd,EAAO,mBAAmBY,EAAO,EAAI,EACnD,OAAOE,CAAK,EAAE,KAAK1B,CAAY,EAC/B,OAAO,SAAS0B,EAAO,EAAE,CAAC,EAAE,KAAKzB,CAAa,EAC9CiB,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOA,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAKrB,CAAc,EACxDe,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOA,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAKpB,CAAa,EACvDc,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOY,GAAO,GAAG,CAAC,CAAC,EAAE,KAAKnB,CAAY,EACtCa,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOY,GAAO,GAAG,CAAC,CAAC,EAAE,KAAKlB,CAAa,EACvCY,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOY,GAAO,GAAG,CAAC,CAAC,EAAE,KAAKjB,CAAa,EACvCW,GAAS,EACTC,GAAU,EACV,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,CACzD,CAAC,CACH,CAAC,EAED,SAAS,SAAU,IAAM,CACvB,GAAG,cAAe,IAAM,CACtBN,EAAW,IAAI,WACfD,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,MAAMK,EAAQ,EACRC,EAAS,EAEf,OAAOP,EAAO,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAK,EAE9C,OAAOA,EAAO,gBAAgB,CAAC,EAAE,cAAc,EAC/C,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,OAAOP,EAAO,iBAAiB,CAAC,EAAE,cAAc,EAChD,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,OAAOP,EAAO,iBAAiB,CAAC,EAAE,cAAc,EAChD,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,IAAIK,EAAQZ,EAAO,qBAAqB,CAAC,EACzC,OAAOY,CAAK,EAAE,cAAc,EAC5B,OAAOZ,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOY,CAAK,EAAE,cAAc,EAC5B,OAAOZ,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,MAAMM,EAAQb,EAAO,uBAAuB,EAC5C,OAAOa,CAAK,EAAE,cAAc,EAC5B,OAAOb,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,CACzD,CAAC,EAED,GAAG,eAAgB,IAAM,CACvBN,EAAWnB,EACXkB,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,MAAMK,EAAQ,EACRC,EAASzB,EAAkB,OAEjC,OAAOyB,CAAM,EAAE,KAAK,CAAC,EACrB,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,OAAOP,EAAO,iBAAiB,CAAC,EAAE,cAAc,EAChD,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,OAAOP,EAAO,iBAAiB,CAAC,EAAE,cAAc,EAChD,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,IAAIK,EAAQZ,EAAO,qBAAqB,CAAC,EACzC,OAAOY,CAAK,EAAE,cAAc,EAC5B,OAAOZ,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOY,CAAK,EAAE,cAAc,EAC5B,OAAOZ,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,IAAIM,EAAQb,EAAO,uBAAuB,EAC1C,OAAOa,CAAK,EAAE,cAAc,EAC5B,OAAOb,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDN,EAAWjB,EACXgB,EAAS,IAAI,kBAAgBC,CAAQ,EAErCY,EAAQb,EAAO,uBAAuB,EACtC,OAAOa,CAAK,EAAE,cAAc,EAC5B,OAAOb,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAC1ChB,EAAmB,MACrB,CACF,CAAC,EAED,GAAG,mBAAoB,IAAM,CAC3BiB,EAAWlB,EACXiB,EAAS,IAAI,kBAAgBC,CAAQ,EACrC,MAAMc,EAAO,IAAI,WAEXT,EAAQ,EACd,IAAIC,EAASxB,EAAiB,OAE9B,OAAOwB,CAAM,EAAE,KAAK,CAAC,EACrB,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,MAAMI,EAAQX,EAAO,gBAAgB,EACrC,OAAOW,CAAK,EAAE,KAAK,CAAC,EACpB,OAAOX,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAC,EACvC,OAAOA,EAAO,2BAA2B,CAAC,EAAE,KAAK,CAAC,EAElDA,EAAO,WAAW,EAElB,IAAIY,EAAQZ,EAAO,qBAAqB,CAAC,EACzC,OAAOY,CAAK,EAAE,cAAcG,CAAI,EAChC,OAAOf,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAK,EAAE,EAC5C,OAAOZ,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvDK,EAAQZ,EAAO,sBAAsB,EACrC,OAAOA,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAC,EACvC,OAAOA,EAAO,2BAA2B,CAAC,EAAE,KAAK,CAAC,EAClD,OAAOY,CAAK,EAAE,cAAcG,CAAI,EAChC,OAAOf,EAAO,eAAeY,CAAK,CAAC,EAAE,KAAK,EAAE,EAE5CX,EAAWhB,EACXe,EAAS,IAAI,kBAAgBC,CAAQ,EACrCM,EAAStB,EAAkB,OAE3B,OAAOsB,CAAM,EAAE,KAAK,CAAC,EACrB,OAAOP,EAAO,gBAAgB,CAAC,EAAE,KAAKM,CAAK,EAC3C,OAAON,EAAO,2BAA2B,CAAC,EAAE,KAAKO,CAAM,EAEvD,MAAMM,EAAQb,EAAO,uBAAuB,EAC5C,OAAOa,GAAO,GAAG,EAAE,KAAK,GAAI,EAC5B,OAAOA,GAAO,KAAK,EAAE,cAAcE,CAAI,EACvC,OAAOf,EAAO,eAAea,GAAO,KAAK,CAAC,EAAE,KAAK,EAAE,EACnD,OAAOb,EAAO,gBAAgB,CAAC,EAAE,KAAK,CAAC,EACvC,OAAOA,EAAO,2BAA2B,CAAC,EAAE,KAAK,CAAC,EAElD,OAAOA,EAAO,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAC3C,OAAOA,EAAO,eAAe,CAAC,EAAE,KAAK,EAAE,CACzC,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nimport { ByteArrayParser } from \"./ByteArrayParser\";\n\nconst RESPONSE_ONE_BYTE = new Uint8Array([0x01]);\nconst RESPONSE_LV_ZERO = new Uint8Array([0x00]);\nconst RESPONSE_TWO_BYTES = new Uint8Array([0x01, 0x01]);\nconst RESPONSE_TLV_ZERO = new Uint8Array([0xab, 0x00]);\nconst RESPONSE_ALL_BYTES = new Uint8Array([\n 0x01,\n 0x02,\n 0x03,\n ...Array<number>(253).fill(0xaa),\n]);\n\n/*\nType : 33 00 00 04 -> nanoX\nVersion SE (LV): 2.2.3\nFlag: E600000000\n PIN OK\n Factory init Ok\n Onboarding done\nVersion MCU(LV): 2.30\nVersion BootLoader(LV): 1.16\nHW rev: 0\nLanguage(LV): Fra & Eng\nRecover state (LV): 1\n*/\nconst DEVICE_TYPE = \"33000004\";\nconst DEVICE_FLAGS = \"0xe6000000\";\nconst NUMERIC_FLAGS = 0xe6000000;\nconst VERSION_FW_SE = \"2.2.3\";\nconst VERSION_FW_MCU = \"2.30\";\nconst VERSION_FW_BL = \"1.16\";\nconst HARDWARE_REV = 0;\nconst LANGUAGE_PACK = 1;\nconst RECOVER_STATE = 0;\nconst RESPONSE_GET_VERSION = new Uint8Array([\n 0x33, 0x00, 0x00, 0x04, 0x05, 0x32, 0x2e, 0x32, 0x2e, 0x33, 0x04, 0xe6, 0x00,\n 0x00, 0x00, 0x04, 0x32, 0x2e, 0x33, 0x30, 0x04, 0x31, 0x2e, 0x31, 0x36, 0x01,\n 0x00, 0x01, 0x01, 0x01, 0x00,\n]);\n\n/*\nFormat version: 1\nName: BOLOS\nVersion: 2.2.3\n*/\nconst DASHBOARD_HEX = new Uint8Array([0x42, 0x4f, 0x4c, 0x4f, 0x53]);\nconst DASHBOARD_NAME = \"BOLOS\";\nconst RESPONSE_GET_APP_VERSION = new Uint8Array([\n 0x01, 0x05, 0x42, 0x4f, 0x4c, 0x4f, 0x53, 0x05, 0x32, 0x2e, 0x32, 0x2e, 0x33,\n]);\n\nlet parser: ByteArrayParser;\nlet response = RESPONSE_ONE_BYTE;\n\ndescribe(\"ByteArrayParser\", () => {\n const parserExtractNumber = (\n bigEndian: boolean,\n sizeInBits: number,\n signed: boolean,\n ): bigint | number | undefined => {\n if (signed) {\n switch (sizeInBits) {\n case 2:\n return parser.extract16BitInt(bigEndian);\n case 4:\n return parser.extract32BitInt(bigEndian);\n case 8:\n return parser.extract64BitInt(bigEndian);\n case 16:\n return parser.extract128BitInt(bigEndian);\n case 32:\n return parser.extract256BitInt(bigEndian);\n }\n } else {\n switch (sizeInBits) {\n case 2:\n return parser.extract16BitUInt(bigEndian);\n case 4:\n return parser.extract32BitUInt(bigEndian);\n case 8:\n return parser.extract64BitUInt(bigEndian);\n case 16:\n return parser.extract128BitUInt(bigEndian);\n case 32:\n return parser.extract256BitUInt(bigEndian);\n }\n }\n return undefined;\n };\n\n describe(\"clean\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should create an instance\", () => {\n parser = new ByteArrayParser(response);\n expect(parser).toBeDefined();\n expect(parser).toBeInstanceOf(ByteArrayParser);\n });\n\n it(\"Extract a single byte\", () => {\n parser = new ByteArrayParser(response);\n expect(parser.extract8BitUInt()).toBe(0x01);\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n });\n\n it(\"Extract one byte\", () => {\n response = RESPONSE_ALL_BYTES;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_ALL_BYTES.length;\n\n expect(length).toBe(256);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x01);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x02);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x03);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n while (length != 0) {\n expect(parser.extract8BitUInt()).toBe(0xaa);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n }\n });\n\n it.each([\n [2, false, true, \"ffff\", 0xffff],\n [2, true, true, \"7fff\", 0x7fff],\n [2, true, true, \"8000\", -0x8000],\n [4, false, true, \"ffffffff\", 0xffffffff],\n [4, true, true, \"7fffffff\", 0x7fffffff],\n [4, true, true, \"80000000\", -0x80000000],\n [8, false, true, \"ffffffffffffffff\", 0xffffffffffffffffn],\n [8, true, true, \"7fffffffffffffff\", 0x7fffffffffffffffn],\n [8, true, true, \"8000000000000000\", -0x8000000000000000n],\n [\n 16,\n false,\n true,\n \"ffffffffffffffffffffffffffffffff\",\n 0xffffffffffffffffffffffffffffffffn,\n ],\n [\n 16,\n true,\n true,\n \"7fffffffffffffffffffffffffffffff\",\n 0x7fffffffffffffffffffffffffffffffn,\n ],\n [\n 16,\n true,\n true,\n \"80000000000000000000000000000000\",\n -0x80000000000000000000000000000000n,\n ],\n [\n 32,\n false,\n true,\n \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,\n ],\n [\n 32,\n true,\n true,\n \"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,\n ],\n [\n 32,\n true,\n true,\n \"8000000000000000000000000000000000000000000000000000000000000000\",\n -0x8000000000000000000000000000000000000000000000000000000000000000n,\n ],\n ])(\n \"Extract a number to the limit: size %i, signed %s, bigEndian %s, buffer %s, expected %i\",\n (sizeInBits, signed, bigEndian, input, output) => {\n parser = new ByteArrayParser(hexaStringToBuffer(input)!);\n const result = parserExtractNumber(bigEndian, sizeInBits, signed);\n expect(result).toStrictEqual(output);\n },\n );\n\n it.each([\n [2, false, true, \"3302\", 0x3302],\n [2, false, false, \"0233\", 0x3302],\n [2, true, true, \"1068\", 4200],\n [2, true, true, \"ef98\", -4200],\n [2, true, false, \"6810\", 4200],\n [2, true, false, \"98ef\", -4200],\n [4, false, true, \"01234567\", 0x01234567],\n [4, false, false, \"67452301\", 0x01234567],\n [4, true, true, \"075bcd15\", 123456789],\n [4, true, true, \"f8a432eb\", -123456789],\n [4, true, false, \"15cd5b07\", 123456789],\n [4, true, false, \"eb32a4f8\", -123456789],\n [8, false, true, \"0032435442584447\", 14147778004927559n],\n [8, false, false, \"4744584254433200\", 14147778004927559n],\n [8, true, true, \"0032435442584447\", 14147778004927559n],\n [8, true, true, \"ffcdbcabbda7bbb9\", -14147778004927559n],\n [8, true, false, \"4744584254433200\", 14147778004927559n],\n [8, true, false, \"b9bba7bdabbccdff\", -14147778004927559n],\n [\n 16,\n false,\n true,\n \"00324354425844470032435442584447\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n false,\n false,\n \"47445842544332004744584254433200\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n true,\n \"00324354425844470032435442584447\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n true,\n \"ffcdbcabbda7bbb8ffcdbcabbda7bbb9\",\n -0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n false,\n \"47445842544332004744584254433200\",\n 0x00324354425844470032435442584447n,\n ],\n [\n 16,\n true,\n false,\n \"b9bba7bdabbccdffb8bba7bdabbccdff\",\n -0x00324354425844470032435442584447n,\n ],\n [\n 32,\n false,\n true,\n \"0032435442584447003243544258444700324354425844470032435442584447\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n false,\n false,\n \"4744584254433200474458425443320047445842544332004744584254433200\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n true,\n \"0032435442584447003243544258444700324354425844470032435442584447\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n true,\n \"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9\",\n -0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n false,\n \"4744584254433200474458425443320047445842544332004744584254433200\",\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n [\n 32,\n true,\n false,\n \"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff\",\n -0x0032435442584447003243544258444700324354425844470032435442584447n,\n ],\n ])(\n \"Extract the following number: size %i, signed %s, bigEndian %s, buffer %s, expected %i\",\n (sizeInBits, signed, bigEndian, input, output) => {\n parser = new ByteArrayParser(hexaStringToBuffer(input)!);\n const result = parserExtractNumber(bigEndian, sizeInBits, signed);\n expect(result).toStrictEqual(output);\n },\n );\n\n it(\"Extract 16-bit & 32-bit number\", () => {\n response = RESPONSE_ALL_BYTES;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_ALL_BYTES.length;\n\n expect(length).toBe(256);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBe(0x0102);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBe(0x03aa);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n parser.resetIndex();\n index = 0;\n length = RESPONSE_ALL_BYTES.length;\n\n expect(parser.extract32BitUInt()).toBe(0x010203aa);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBe(0xaaaaaaaa);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"Parse a GetAppVersion response\", () => {\n response = RESPONSE_GET_APP_VERSION;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_GET_APP_VERSION.length;\n\n // Parse the response considering the first field to be the format field\n expect(length).toBe(13);\n\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const value = parser.extract8BitUInt();\n index++;\n length--;\n expect(value).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldLVEncoded();\n expect(array).toStrictEqual(DASHBOARD_HEX);\n expect(parser.encodeToString(array)).toBe(DASHBOARD_NAME);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n // Reparse the response considering the first field to be the TLV formatted\n parser.resetIndex();\n index = 0;\n length = RESPONSE_GET_APP_VERSION.length;\n\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field?.tag).toBe(0x01);\n expect(field?.value).toStrictEqual(DASHBOARD_HEX);\n expect(parser.encodeToString(field?.value)).toBe(DASHBOARD_NAME);\n index += 7;\n length -= 7;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"Parse a GetVersion response\", () => {\n response = RESPONSE_GET_VERSION;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_GET_VERSION.length;\n\n expect(length).toBe(31);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n expect(parser.testMinimalLength(25)).toBe(true);\n\n let array = parser.extractFieldByLength(4);\n expect(parser.encodeToHexaString(array)).toBe(DEVICE_TYPE);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n const flags = parser.encodeToHexaString(array, true);\n expect(flags).toBe(DEVICE_FLAGS);\n expect(parseInt(flags, 16)).toBe(NUMERIC_FLAGS);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_MCU);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_BL);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(HARDWARE_REV);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(LANGUAGE_PACK);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(RECOVER_STATE);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n });\n\n describe(\"errors\", () => {\n it(\"no response\", () => {\n response = new Uint8Array();\n parser = new ByteArrayParser(response);\n const index = 0;\n const length = 0;\n\n expect(parser.testMinimalLength(1)).toBe(false);\n\n expect(parser.extract8BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldByLength(2);\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"length error\", () => {\n response = RESPONSE_ONE_BYTE;\n parser = new ByteArrayParser(response);\n const index = 0;\n const length = RESPONSE_ONE_BYTE.length;\n\n expect(length).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldByLength(2);\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n response = RESPONSE_TWO_BYTES;\n parser = new ByteArrayParser(response);\n\n field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(\n RESPONSE_TWO_BYTES.length,\n );\n });\n\n it(\"Test zero length\", () => {\n response = RESPONSE_LV_ZERO;\n parser = new ByteArrayParser(response);\n const zero = new Uint8Array();\n\n const index = 0;\n let length = RESPONSE_LV_ZERO.length;\n\n expect(length).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const value = parser.extract8BitUInt();\n expect(value).toBe(0);\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n\n parser.resetIndex();\n\n let array = parser.extractFieldByLength(0);\n expect(array).toStrictEqual(zero);\n expect(parser.encodeToString(array)).toBe(\"\");\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n expect(array).toStrictEqual(zero);\n expect(parser.encodeToString(array)).toBe(\"\");\n\n response = RESPONSE_TLV_ZERO;\n parser = new ByteArrayParser(response);\n length = RESPONSE_TLV_ZERO.length;\n\n expect(length).toBe(2);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field?.tag).toBe(0xab);\n expect(field?.value).toStrictEqual(zero);\n expect(parser.encodeToString(field?.value)).toBe(\"\");\n expect(parser.getCurrentIndex()).toBe(2);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n\n expect(parser.encodeToHexaString()).toBe(\"\");\n expect(parser.encodeToString()).toBe(\"\");\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_HexaString", "import_ByteArrayParser", "RESPONSE_ONE_BYTE", "RESPONSE_LV_ZERO", "RESPONSE_TWO_BYTES", "RESPONSE_TLV_ZERO", "RESPONSE_ALL_BYTES", "DEVICE_TYPE", "DEVICE_FLAGS", "NUMERIC_FLAGS", "VERSION_FW_SE", "VERSION_FW_MCU", "VERSION_FW_BL", "HARDWARE_REV", "LANGUAGE_PACK", "RECOVER_STATE", "RESPONSE_GET_VERSION", "DASHBOARD_HEX", "DASHBOARD_NAME", "RESPONSE_GET_APP_VERSION", "parser", "response", "parserExtractNumber", "bigEndian", "sizeInBits", "signed", "index", "length", "input", "output", "result", "value", "array", "field", "flags", "zero"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var C=(o,r)=>{for(var t in r)d(o,t,{get:r[t],enumerable:!0})},E=(o,r,t,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of f(r))!F.call(o,n)&&n!==t&&d(o,n,{get:()=>r[n],enumerable:!(e=A(r,n))||e.enumerable});return o};var I=o=>E(d({},"__esModule",{value:!0}),o);var R={};C(R,{GetOsVersionCommand:()=>L});module.exports=I(R);var c=require("../../apdu/utils/ApduBuilder"),m=require("../../apdu/utils/ApduParser"),s=require("../../command/model/CommandResult"),l=require("../../command/utils/CommandUtils"),p=require("../../command/utils/GlobalCommandError"),g=require("../../device/DeviceModel");class L{args=void 0;getApdu(){const r={cla:224,ins:1,p1:0,p2:0};return new c.ApduBuilder(r).build()}parseResponse(r,t){if(!l.CommandUtils.isSuccessResponse(r))return(0,s.CommandResultFactory)({error:p.GlobalCommandErrorHandler.handle(r)});const e=new m.ApduParser(r),n=parseInt(e.encodeToHexaString(e.extractFieldByLength(4)),16),u=e.encodeToString(e.extractFieldLVEncoded()),V=parseInt(e.encodeToHexaString(e.extractFieldLVEncoded()).toString(),16),x=e.encodeToString(e.extractFieldLVEncoded()),y=e.encodeToString(e.extractFieldLVEncoded());let i="00";t===g.DeviceModelId.NANO_X&&(i=e.encodeToHexaString(e.extractFieldLVEncoded()));const S=e.encodeToHexaString(e.extractFieldLVEncoded()),a=e.encodeToHexaString(e.extractFieldLVEncoded());return(0,s.CommandResultFactory)({data:{targetId:n,seVersion:u,seFlags:V,mcuSephVersion:x,mcuBootloaderVersion:y,hwVersion:i,langId:S,recoverState:a||"0"}})}}0&&(module.exports={GetOsVersionCommand});
1
+ "use strict";var s=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var C=(o,r)=>{for(var n in r)s(o,n,{get:r[n],enumerable:!0})},O=(o,r,n,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of E(r))!I.call(o,t)&&t!==n&&s(o,t,{get:()=>r[t],enumerable:!(e=F(r,t))||e.enumerable});return o};var R=o=>O(s({},"__esModule",{value:!0}),o);var v={};C(v,{GetOsVersionCommand:()=>G});module.exports=R(v);var l=require("../../apdu/utils/ApduBuilder"),c=require("../../apdu/utils/ApduParser"),d=require("../../command/model/CommandResult"),p=require("../../command/utils/CommandUtils"),g=require("../../command/utils/GlobalCommandError"),u=require("../../device/DeviceModel"),y=require("./SecureElementFlagsParser");class G{args=void 0;getApdu(){const r={cla:224,ins:1,p1:0,p2:0};return new l.ApduBuilder(r).build()}parseResponse(r,n){if(!p.CommandUtils.isSuccessResponse(r))return(0,d.CommandResultFactory)({error:g.GlobalCommandErrorHandler.handle(r)});const e=new c.ApduParser(r),t=parseInt(e.encodeToHexaString(e.extractFieldByLength(4)),16),V=e.encodeToString(e.extractFieldLVEncoded()),a=e.extractFieldLVEncoded()??new Uint8Array(0),x={...new y.SecureElementFlagsParser(a).generalDeviceState()},S=e.encodeToString(e.extractFieldLVEncoded()),f=e.encodeToString(e.extractFieldLVEncoded());let i="00";n===u.DeviceModelId.NANO_X&&(i=e.encodeToHexaString(e.extractFieldLVEncoded()));const A=e.encodeToHexaString(e.extractFieldLVEncoded()),m=e.encodeToHexaString(e.extractFieldLVEncoded());return(0,d.CommandResultFactory)({data:{targetId:t,seVersion:V,seFlags:a,mcuSephVersion:S,mcuBootloaderVersion:f,hwVersion:i,langId:A,recoverState:m||"0",secureElementFlags:x}})}}0&&(module.exports={GetOsVersionCommand});
2
2
  //# sourceMappingURL=GetOsVersionCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/GetOsVersionCommand.ts"],
4
- "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * Response of the GetOsVersionCommand.\n */\nexport type GetOsVersionResponse = {\n /**\n * Target identifier.\n */\n readonly targetId: number;\n\n /**\n * Version of BOLOS on the secure element (SE).\n * {@link https://developers.ledger.com/docs/device-app/architecture/bolos/hardware-architecture | Hardware Architecture}\n */\n readonly seVersion: string;\n\n /**\n * Secure element flags.\n * Used to represent the current state of the secure element.\n */\n readonly seFlags: number;\n\n /**\n * Version of the microcontroller unit (MCU) SEPH, which is the SE-MCU link protocol.\n * {@link https://developers.ledger.com/docs/device-app/architecture/bolos/hardware-architecture | Hardware Architecture}\n */\n readonly mcuSephVersion: string;\n\n /**\n * Version of the MCU bootloader.\n */\n readonly mcuBootloaderVersion: string;\n\n /**\n * Hardware revision version.\n * Only available for Ledger Nano X in which case it's \"00\" or \"01\".\n */\n readonly hwVersion: string;\n\n /**\n * Identifier of the installed language pack.\n * Can be one of:\n * - \"00\": English\n * - \"01\": French\n * - \"02\": Spanish\n */\n readonly langId: string; // [SHOULD] be an enum\n\n /**\n * State for Ledger Recover. // [SHOULD] Add more information about this field\n */\n readonly recoverState: string;\n};\n\n/**\n * Command to get information about the device firmware.\n */\nexport class GetOsVersionCommand implements Command<GetOsVersionResponse> {\n readonly args = undefined;\n\n getApdu(): Apdu {\n const getOsVersionApduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getOsVersionApduArgs).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n deviceModelId: DeviceModelId,\n ): CommandResult<GetOsVersionResponse> {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n\n const targetId = parseInt(\n parser.encodeToHexaString(parser.extractFieldByLength(4)),\n 16,\n );\n const seVersion = parser.encodeToString(parser.extractFieldLVEncoded());\n const seFlags = parseInt(\n parser.encodeToHexaString(parser.extractFieldLVEncoded()).toString(),\n 16,\n );\n const mcuSephVersion = parser.encodeToString(\n parser.extractFieldLVEncoded(),\n );\n const mcuBootloaderVersion = parser.encodeToString(\n parser.extractFieldLVEncoded(),\n );\n\n let hwVersion = \"00\";\n if (deviceModelId === DeviceModelId.NANO_X) {\n hwVersion = parser.encodeToHexaString(parser.extractFieldLVEncoded());\n }\n\n const langId = parser.encodeToHexaString(parser.extractFieldLVEncoded());\n const recoverState = parser.encodeToHexaString(\n parser.extractFieldLVEncoded(),\n );\n\n return CommandResultFactory({\n data: {\n targetId,\n seVersion,\n seFlags,\n mcuSephVersion,\n mcuBootloaderVersion,\n hwVersion,\n langId,\n recoverState: recoverState ? recoverState : \"0\",\n },\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAkD,uCAClDC,EAA2B,sCAE3BC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAC1CC,EAA8B,mCA2DvB,MAAMP,CAA6D,CAC/D,KAAO,OAEhB,SAAgB,CACd,MAAMQ,EAAwC,CAC5C,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEC,EACAC,EACqC,CACrC,GAAI,CAAC,eAAa,kBAAkBD,CAAY,EAC9C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,EAEH,MAAME,EAAS,IAAI,aAAWF,CAAY,EAEpCG,EAAW,SACfD,EAAO,mBAAmBA,EAAO,qBAAqB,CAAC,CAAC,EACxD,EACF,EACME,EAAYF,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAChEG,EAAU,SACdH,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,EAAE,SAAS,EACnE,EACF,EACMI,EAAiBJ,EAAO,eAC5BA,EAAO,sBAAsB,CAC/B,EACMK,EAAuBL,EAAO,eAClCA,EAAO,sBAAsB,CAC/B,EAEA,IAAIM,EAAY,KACZP,IAAkB,gBAAc,SAClCO,EAAYN,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,GAGtE,MAAMO,EAASP,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,EACjEQ,EAAeR,EAAO,mBAC1BA,EAAO,sBAAsB,CAC/B,EAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,UAAAC,EACA,OAAAC,EACA,aAAcC,GAA8B,GAC9C,CACF,CAAC,CACH,CACF",
6
- "names": ["GetOsVersionCommand_exports", "__export", "GetOsVersionCommand", "__toCommonJS", "import_ApduBuilder", "import_ApduParser", "import_CommandResult", "import_CommandUtils", "import_GlobalCommandError", "import_DeviceModel", "getOsVersionApduArgs", "apduResponse", "deviceModelId", "parser", "targetId", "seVersion", "seFlags", "mcuSephVersion", "mcuBootloaderVersion", "hwVersion", "langId", "recoverState"]
4
+ "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport {\n type DeviceGeneralState,\n type EndorsementInformation,\n type OnboardingStatus,\n type WordsInformation,\n} from \"@api/device/SecureElementFlags\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport { SecureElementFlagsParser } from \"./SecureElementFlagsParser\";\n\n/**\n * Response of the GetOsVersionCommand.\n */\nexport type GetOsVersionResponse = {\n /**\n * Target identifier.\n */\n readonly targetId: number;\n\n /**\n * Version of BOLOS on the secure element (SE).\n * {@link https://developers.ledger.com/docs/device-app/architecture/bolos/hardware-architecture | Hardware Architecture}\n */\n readonly seVersion: string;\n\n /**\n * Secure element flags.\n * Used to represent the current state of the secure element.\n */\n readonly seFlags: Uint8Array;\n\n /**\n * Version of the microcontroller unit (MCU) SEPH, which is the SE-MCU link protocol.\n * {@link https://developers.ledger.com/docs/device-app/architecture/bolos/hardware-architecture | Hardware Architecture}\n */\n readonly mcuSephVersion: string;\n\n /**\n * Version of the MCU bootloader.\n */\n readonly mcuBootloaderVersion: string;\n\n /**\n * Hardware revision version.\n * Only available for Ledger Nano X in which case it's \"00\" or \"01\".\n */\n readonly hwVersion: string;\n\n /**\n * Identifier of the installed language pack.\n * Can be one of:\n * - \"00\": English\n * - \"01\": French\n * - \"02\": Spanish\n */\n readonly langId: string; // [SHOULD] be an enum\n\n /**\n * State for Ledger Recover. // [SHOULD] Add more information about this field\n */\n readonly recoverState: string;\n\n /**\n * The parsed secure element flags.\n */\n readonly secureElementFlags: DeviceGeneralState &\n EndorsementInformation &\n WordsInformation &\n OnboardingStatus;\n};\n\nexport type GetOsVersionCommandResult = CommandResult<GetOsVersionResponse>;\n\n/**\n * Command to get information about the device firmware.\n */\nexport class GetOsVersionCommand implements Command<GetOsVersionResponse> {\n readonly args = undefined;\n\n getApdu(): Apdu {\n const getOsVersionApduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getOsVersionApduArgs).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n deviceModelId: DeviceModelId,\n ): GetOsVersionCommandResult {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n\n const targetId = parseInt(\n parser.encodeToHexaString(parser.extractFieldByLength(4)),\n 16,\n );\n const seVersion = parser.encodeToString(parser.extractFieldLVEncoded());\n const seFlags = parser.extractFieldLVEncoded() ?? new Uint8Array(0);\n const seFlagsParser = new SecureElementFlagsParser(seFlags);\n // This is the parsed secure element flags.\n const secureElementFlags = { ...seFlagsParser.generalDeviceState() };\n\n const mcuSephVersion = parser.encodeToString(\n parser.extractFieldLVEncoded(),\n );\n const mcuBootloaderVersion = parser.encodeToString(\n parser.extractFieldLVEncoded(),\n );\n\n let hwVersion = \"00\";\n if (deviceModelId === DeviceModelId.NANO_X) {\n hwVersion = parser.encodeToHexaString(parser.extractFieldLVEncoded());\n }\n\n const langId = parser.encodeToHexaString(parser.extractFieldLVEncoded());\n const recoverState = parser.encodeToHexaString(\n parser.extractFieldLVEncoded(),\n );\n\n return CommandResultFactory({\n data: {\n targetId,\n seVersion,\n seFlags,\n mcuSephVersion,\n mcuBootloaderVersion,\n hwVersion,\n langId,\n recoverState: recoverState ? recoverState : \"0\",\n secureElementFlags,\n },\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAkD,uCAClDC,EAA2B,sCAE3BC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAC1CC,EAA8B,mCAS9BC,EAAyC,sCAoElC,MAAMR,CAA6D,CAC/D,KAAO,OAEhB,SAAgB,CACd,MAAMS,EAAwC,CAC5C,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEC,EACAC,EAC2B,CAC3B,GAAI,CAAC,eAAa,kBAAkBD,CAAY,EAC9C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,EAEH,MAAME,EAAS,IAAI,aAAWF,CAAY,EAEpCG,EAAW,SACfD,EAAO,mBAAmBA,EAAO,qBAAqB,CAAC,CAAC,EACxD,EACF,EACME,EAAYF,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAChEG,EAAUH,EAAO,sBAAsB,GAAK,IAAI,WAAW,CAAC,EAG5DI,EAAqB,CAAE,GAFP,IAAI,2BAAyBD,CAAO,EAEZ,mBAAmB,CAAE,EAE7DE,EAAiBL,EAAO,eAC5BA,EAAO,sBAAsB,CAC/B,EACMM,EAAuBN,EAAO,eAClCA,EAAO,sBAAsB,CAC/B,EAEA,IAAIO,EAAY,KACZR,IAAkB,gBAAc,SAClCQ,EAAYP,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,GAGtE,MAAMQ,EAASR,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,EACjES,EAAeT,EAAO,mBAC1BA,EAAO,sBAAsB,CAC/B,EAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,eAAAE,EACA,qBAAAC,EACA,UAAAC,EACA,OAAAC,EACA,aAAcC,GAA8B,IAC5C,mBAAAL,CACF,CACF,CAAC,CACH,CACF",
6
+ "names": ["GetOsVersionCommand_exports", "__export", "GetOsVersionCommand", "__toCommonJS", "import_ApduBuilder", "import_ApduParser", "import_CommandResult", "import_CommandUtils", "import_GlobalCommandError", "import_DeviceModel", "import_SecureElementFlagsParser", "getOsVersionApduArgs", "apduResponse", "deviceModelId", "parser", "targetId", "seVersion", "seFlags", "secureElementFlags", "mcuSephVersion", "mcuBootloaderVersion", "hwVersion", "langId", "recoverState"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var i=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var A=(r,e)=>{for(var t in e)i(r,t,{get:e[t],enumerable:!0})},E=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of l(e))!y.call(r,a)&&a!==t&&i(r,a,{get:()=>e[a],enumerable:!(o=u(e,a))||o.enumerable});return r};var k=r=>E(i({},"__esModule",{value:!0}),r);var h={};A(h,{LoadCertificateCommand:()=>L,LoadCertificateCommandError:()=>C});module.exports=k(h);var d=require("../../apdu/utils/ApduBuilder"),m=require("../../apdu/utils/ApduParser"),s=require("../../command/model/CommandResult"),c=require("../../command/utils/CommandErrors"),f=require("../../command/utils/CommandUtils"),g=require("../../command/utils/GlobalCommandError"),p=require("../../Error");const n={"422f":{message:"Incorrect structure type"},4230:{message:"Incorrect certificate version"},4231:{message:"Incorrect certificate validity"},4232:{message:"Incorrect certificate validity index"},4233:{message:"Unknown signer key ID"},4234:{message:"Unknown signature algorithm"},4235:{message:"Unknown public key ID"},4236:{message:"Unknown public key usage"},4237:{message:"Incorrect elliptic curve ID"},4238:{message:"Incorrect signature algorithm associated to the public key"},4239:{message:"Unknown target device"},"422d":{message:"Unknown certificate tag"},3301:{message:"Failed to hash data"},"422e":{message:"expected_key_usage doesn't match certificate key usage"},5720:{message:"Failed to verify signature"},4118:{message:"trusted_name buffer is too small to contain the trusted name"},ffff:{message:"Cryptography-related error"}};class C extends p.DeviceExchangeError{constructor({message:e,errorCode:t}){super({tag:"ProvidePkiCertificateCommandError",message:e,errorCode:t})}}class L{args;triggersDisconnection=!1;constructor(e){this.args=e}getApdu(){const e={cla:176,ins:6,p1:this.args.keyUsage,p2:0};return new d.ApduBuilder(e).addBufferToData(this.args.certificate).build()}parseResponse(e){if(f.CommandUtils.isSuccessResponse(e))return(0,s.CommandResultFactory)({data:void 0});const o=new m.ApduParser(e).encodeToHexaString(e.statusCode);return(0,c.isCommandErrorCode)(o,n)?(0,s.CommandResultFactory)({error:new C({...n[o],errorCode:o})}):(0,s.CommandResultFactory)({error:g.GlobalCommandErrorHandler.handle(e)})}}0&&(module.exports={LoadCertificateCommand,LoadCertificateCommandError});
2
+ //# sourceMappingURL=LoadCertificateCommand.js.map