@ledgerhq/device-management-kit 0.5.1 → 0.6.1

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 (1104) hide show
  1. package/README.md +27 -31
  2. package/lib/cjs/package.json +18 -19
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +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/DmkConfig.js +1 -1
  12. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  13. package/lib/cjs/src/api/Error.js +1 -1
  14. package/lib/cjs/src/api/Error.js.map +3 -3
  15. package/lib/cjs/src/api/apdu/utils/ApduParser.test.js +1 -1
  16. package/lib/cjs/src/api/apdu/utils/ApduParser.test.js.map +2 -2
  17. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  18. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +2 -2
  19. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  20. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  21. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +1 -1
  22. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +2 -2
  23. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  24. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  25. package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
  26. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  27. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  28. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  29. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +2 -2
  30. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
  31. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  32. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  33. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  34. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +2 -0
  35. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +7 -0
  36. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +2 -2
  37. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  38. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  39. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  40. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +2 -2
  41. package/lib/cjs/src/api/device/DeviceModel.js +1 -1
  42. package/lib/cjs/src/api/device/DeviceModel.js.map +3 -3
  43. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  44. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  45. package/lib/cjs/src/api/device-action/__test-utils__/data.js +1 -1
  46. package/lib/cjs/src/api/device-action/__test-utils__/data.js.map +3 -3
  47. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  48. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  49. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  50. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  51. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  52. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  53. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  54. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  55. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  56. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  57. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  58. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  59. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  60. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  61. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  62. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  63. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  64. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  65. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  66. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  67. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  68. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  69. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/types.js.map +1 -1
  70. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  71. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  72. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  73. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  74. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  75. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  76. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  77. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  78. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  79. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  80. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  81. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  82. package/lib/cjs/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +2 -2
  83. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  84. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  85. package/lib/cjs/src/api/device-model/data/DeviceModelDataSource.js +2 -0
  86. package/lib/cjs/src/api/device-model/data/DeviceModelDataSource.js.map +7 -0
  87. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +2 -0
  88. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
  89. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
  90. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
  91. package/lib/cjs/src/api/device-model/model/BleDeviceInfos.js +2 -0
  92. package/lib/cjs/src/api/device-model/model/BleDeviceInfos.js.map +7 -0
  93. package/lib/cjs/src/api/device-model/model/DeviceModel.js +2 -0
  94. package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +7 -0
  95. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +2 -0
  96. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +7 -0
  97. package/lib/cjs/src/api/device-model/model/DeviceModel.test.js +2 -0
  98. package/lib/cjs/src/api/device-model/model/DeviceModel.test.js.map +7 -0
  99. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  100. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  101. package/lib/cjs/src/{internal → api}/device-session/data/FramerConst.js.map +1 -1
  102. package/lib/cjs/src/api/device-session/service/ApduReceiverService.js +2 -0
  103. package/lib/cjs/src/{internal → api}/device-session/service/ApduReceiverService.js.map +2 -2
  104. package/lib/cjs/src/api/device-session/service/ApduSenderService.js +2 -0
  105. package/lib/cjs/src/api/device-session/service/ApduSenderService.js.map +7 -0
  106. package/lib/cjs/src/api/device-session/service/DefaultApduReceiverService.stub.js +2 -0
  107. package/lib/cjs/src/api/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
  108. package/lib/cjs/src/api/device-session/service/DefaultApduSenderService.stub.js +2 -0
  109. package/lib/cjs/src/api/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
  110. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +2 -0
  111. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +7 -0
  112. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +2 -0
  113. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +7 -0
  114. package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.js.map +1 -1
  115. package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.test.js.map +1 -1
  116. package/lib/cjs/src/api/index.js +1 -1
  117. package/lib/cjs/src/api/index.js.map +3 -3
  118. package/lib/cjs/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js.map +1 -1
  119. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  120. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  121. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  122. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  123. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +2 -0
  124. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +7 -0
  125. package/lib/cjs/src/api/transport/model/ConnectedDevice.js +1 -1
  126. package/lib/cjs/src/api/transport/model/ConnectedDevice.js.map +2 -2
  127. package/lib/cjs/src/{internal → api}/transport/model/DeviceConnection.js.map +1 -1
  128. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +2 -0
  129. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +7 -0
  130. package/lib/cjs/src/api/transport/model/Errors.js +2 -0
  131. package/lib/cjs/src/api/transport/model/Errors.js.map +7 -0
  132. package/lib/cjs/src/api/transport/model/Transport.js +1 -1
  133. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  134. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js +2 -0
  135. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js.map +7 -0
  136. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +2 -0
  137. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +7 -0
  138. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js +2 -0
  139. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js.map +7 -0
  140. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +2 -0
  141. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +7 -0
  142. package/lib/cjs/src/api/transport/model/TransportIdentifier.js +1 -1
  143. package/lib/cjs/src/api/transport/model/TransportIdentifier.js.map +3 -3
  144. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +2 -0
  145. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +7 -0
  146. package/lib/cjs/src/api/types.js +1 -1
  147. package/lib/cjs/src/api/types.js.map +1 -1
  148. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  149. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  150. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  151. package/lib/cjs/src/api/utils/HexaString.js.map +2 -2
  152. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  153. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  154. package/lib/cjs/src/di.js +1 -1
  155. package/lib/cjs/src/di.js.map +3 -3
  156. package/lib/cjs/src/di.stub.js +1 -1
  157. package/lib/cjs/src/di.stub.js.map +2 -2
  158. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  159. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  160. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  161. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  162. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  163. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  164. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  165. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  166. package/lib/cjs/src/internal/config/service/DefaultConfigService.js +1 -1
  167. package/lib/cjs/src/internal/config/service/DefaultConfigService.js.map +2 -2
  168. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  169. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  170. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  171. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  172. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +1 -1
  173. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +2 -2
  174. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  175. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  176. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  177. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  178. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  179. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  180. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  181. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  182. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  183. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  184. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  185. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  186. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  187. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  188. package/lib/cjs/src/internal/device-session/model/Errors.js.map +1 -1
  189. package/lib/cjs/src/internal/device-session/model/FrameHeader.js +1 -1
  190. package/lib/cjs/src/internal/device-session/model/FrameHeader.js.map +2 -2
  191. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  192. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js.map +3 -3
  193. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  194. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +3 -3
  195. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  196. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +3 -3
  197. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  198. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +3 -3
  199. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js.map +2 -2
  200. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  201. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  202. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +2 -0
  203. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +7 -0
  204. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +2 -2
  205. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  206. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  207. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  208. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  209. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  210. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  211. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  212. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  213. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  214. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  215. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  216. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  217. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +1 -1
  218. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +2 -2
  219. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  220. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  221. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +1 -1
  222. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +2 -2
  223. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  224. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  225. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  226. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +2 -2
  227. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  228. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  229. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  230. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  231. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  232. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  233. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  234. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +3 -3
  235. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  236. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  237. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  238. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  239. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  240. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  241. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +2 -2
  242. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +2 -2
  243. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +2 -0
  244. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +7 -0
  245. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  246. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  247. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  248. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  249. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  250. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  251. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  252. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  253. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  254. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  255. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  256. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  257. package/lib/cjs/src/internal/manager-api/model/{ManagerApiType.js → Application.js} +2 -2
  258. package/lib/cjs/src/internal/manager-api/model/Application.js.map +7 -0
  259. package/lib/cjs/src/internal/manager-api/model/Device.js +2 -0
  260. package/lib/cjs/src/internal/manager-api/model/Device.js.map +7 -0
  261. package/lib/cjs/src/internal/manager-api/model/Firmware.js +2 -0
  262. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +7 -0
  263. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  264. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  265. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  266. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  267. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  268. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  269. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  270. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  271. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  272. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  273. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  274. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  275. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  276. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  277. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  278. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  279. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  280. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  281. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  282. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  283. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  284. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  285. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  286. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  287. package/lib/cjs/src/internal/secure-channel/model/Params.js +2 -0
  288. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +7 -0
  289. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  290. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  291. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  292. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  293. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  294. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  295. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  296. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +2 -2
  297. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  298. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  299. package/lib/cjs/src/internal/transport/di/transportDiTypes.js +1 -1
  300. package/lib/cjs/src/internal/transport/di/transportDiTypes.js.map +2 -2
  301. package/lib/cjs/src/internal/transport/di/transportModule.js +1 -1
  302. package/lib/cjs/src/internal/transport/di/transportModule.js.map +3 -3
  303. package/lib/cjs/src/internal/transport/di/transportModule.test.js +2 -0
  304. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +7 -0
  305. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +2 -0
  306. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +7 -0
  307. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +2 -0
  308. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +7 -0
  309. package/lib/cjs/src/internal/transport/service/TransportService.js +2 -0
  310. package/lib/cjs/src/internal/transport/service/TransportService.js.map +7 -0
  311. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +2 -0
  312. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +7 -0
  313. package/lib/esm/package.json +18 -19
  314. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  315. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  316. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  317. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  318. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  319. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  320. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  321. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  322. package/lib/esm/src/api/Error.js +1 -1
  323. package/lib/esm/src/api/Error.js.map +3 -3
  324. package/lib/esm/src/api/apdu/utils/ApduParser.test.js +1 -1
  325. package/lib/esm/src/api/apdu/utils/ApduParser.test.js.map +2 -2
  326. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  327. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +2 -2
  328. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  329. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  330. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +1 -1
  331. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +2 -2
  332. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  333. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  334. package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
  335. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  336. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  337. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  338. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  339. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  340. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  341. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  342. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  343. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +2 -0
  344. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +7 -0
  345. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +2 -2
  346. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  347. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  348. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  349. package/lib/esm/src/api/command/utils/CommandUtils.js.map +2 -2
  350. package/lib/esm/src/api/device/DeviceModel.js +1 -1
  351. package/lib/esm/src/api/device/DeviceModel.js.map +3 -3
  352. package/lib/esm/src/api/device-action/__test-utils__/data.js +1 -1
  353. package/lib/esm/src/api/device-action/__test-utils__/data.js.map +2 -2
  354. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  355. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  356. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  357. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  358. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  359. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  360. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  361. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  362. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  363. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  364. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  365. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  366. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  367. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  368. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  369. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  370. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  371. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  372. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  373. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  374. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  375. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  376. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  377. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  378. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  379. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  380. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  381. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  382. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  383. package/lib/esm/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +2 -2
  384. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  385. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  386. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +2 -0
  387. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
  388. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
  389. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
  390. package/lib/esm/src/api/device-model/model/BleDeviceInfos.js +2 -0
  391. package/lib/esm/src/api/device-model/model/BleDeviceInfos.js.map +7 -0
  392. package/lib/esm/src/api/device-model/model/DeviceModel.js +2 -0
  393. package/lib/esm/src/api/device-model/model/DeviceModel.js.map +7 -0
  394. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +2 -0
  395. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +7 -0
  396. package/lib/esm/src/api/device-model/model/DeviceModel.test.js +2 -0
  397. package/lib/esm/src/api/device-model/model/DeviceModel.test.js.map +7 -0
  398. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  399. package/lib/esm/src/{internal → api}/device-session/data/FramerConst.js.map +1 -1
  400. package/lib/esm/src/api/device-session/service/DefaultApduReceiverService.stub.js +2 -0
  401. package/lib/esm/src/api/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
  402. package/lib/esm/src/api/device-session/service/DefaultApduSenderService.stub.js +2 -0
  403. package/lib/esm/src/api/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
  404. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +2 -0
  405. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +7 -0
  406. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +2 -0
  407. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +7 -0
  408. package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.js.map +1 -1
  409. package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.test.js.map +1 -1
  410. package/lib/esm/src/api/index.js +1 -1
  411. package/lib/esm/src/api/index.js.map +3 -3
  412. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  413. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  414. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  415. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  416. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +2 -0
  417. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +7 -0
  418. package/lib/esm/src/api/transport/model/ConnectedDevice.js +1 -1
  419. package/lib/esm/src/api/transport/model/ConnectedDevice.js.map +2 -2
  420. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +2 -0
  421. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +7 -0
  422. package/lib/esm/src/api/transport/model/Errors.js +2 -0
  423. package/lib/esm/src/api/transport/model/Errors.js.map +7 -0
  424. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js +2 -0
  425. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js.map +7 -0
  426. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +2 -0
  427. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +7 -0
  428. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js +2 -0
  429. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js.map +7 -0
  430. package/lib/esm/src/api/transport/model/TransportDiscoveredDevice.js +1 -0
  431. package/lib/esm/src/api/transport/model/TransportDiscoveredDevice.js.map +7 -0
  432. package/lib/esm/src/api/transport/model/TransportIdentifier.js +0 -1
  433. package/lib/esm/src/api/transport/model/TransportIdentifier.js.map +4 -4
  434. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +2 -0
  435. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +7 -0
  436. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  437. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  438. package/lib/esm/src/api/utils/HexaString.js +1 -1
  439. package/lib/esm/src/api/utils/HexaString.js.map +2 -2
  440. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  441. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  442. package/lib/esm/src/di.js +1 -1
  443. package/lib/esm/src/di.js.map +3 -3
  444. package/lib/esm/src/di.stub.js +1 -1
  445. package/lib/esm/src/di.stub.js.map +2 -2
  446. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  447. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  448. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  449. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  450. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  451. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  452. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  453. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  454. package/lib/esm/src/internal/config/service/DefaultConfigService.js +1 -1
  455. package/lib/esm/src/internal/config/service/DefaultConfigService.js.map +2 -2
  456. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  457. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  458. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  459. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  460. package/lib/esm/src/internal/device-model/di/deviceModelModule.js +1 -1
  461. package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +2 -2
  462. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  463. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  464. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  465. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  466. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  467. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  468. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  469. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  470. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  471. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  472. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  473. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  474. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  475. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  476. package/lib/esm/src/internal/device-session/model/Errors.js.map +1 -1
  477. package/lib/esm/src/internal/device-session/model/FrameHeader.js +1 -1
  478. package/lib/esm/src/internal/device-session/model/FrameHeader.js.map +2 -2
  479. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  480. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js.map +3 -3
  481. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  482. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +3 -3
  483. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  484. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +3 -3
  485. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  486. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +3 -3
  487. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js.map +2 -2
  488. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  489. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  490. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +2 -0
  491. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +7 -0
  492. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +2 -2
  493. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  494. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  495. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  496. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  497. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  498. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  499. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  500. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  501. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  502. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  503. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  504. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  505. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +1 -1
  506. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +2 -2
  507. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  508. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  509. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +1 -1
  510. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +2 -2
  511. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  512. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  513. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  514. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +2 -2
  515. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  516. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  517. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  518. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  519. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  520. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  521. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  522. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +3 -3
  523. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  524. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  525. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  526. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  527. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  528. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  529. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +2 -2
  530. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +2 -2
  531. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +2 -0
  532. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +7 -0
  533. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  534. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  535. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  536. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  537. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  538. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  539. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  540. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  541. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  542. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  543. package/lib/esm/src/internal/manager-api/model/{ManagerApiType.js → Application.js} +1 -1
  544. package/lib/esm/src/internal/manager-api/model/Application.js.map +7 -0
  545. package/lib/esm/src/internal/manager-api/model/Device.js +1 -0
  546. package/lib/esm/src/internal/manager-api/model/Device.js.map +7 -0
  547. package/lib/esm/src/internal/manager-api/model/Firmware.js +1 -0
  548. package/lib/esm/src/internal/manager-api/model/Firmware.js.map +7 -0
  549. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  550. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  551. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  552. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  553. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  554. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  555. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  556. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  557. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  558. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  559. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  560. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  561. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  562. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  563. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  564. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  565. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  566. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  567. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  568. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  569. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  570. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  571. package/lib/esm/src/internal/secure-channel/model/Params.js +1 -0
  572. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  573. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  574. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  575. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  576. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  577. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  578. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  579. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +2 -2
  580. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  581. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  582. package/lib/esm/src/internal/transport/di/transportDiTypes.js +1 -1
  583. package/lib/esm/src/internal/transport/di/transportDiTypes.js.map +2 -2
  584. package/lib/esm/src/internal/transport/di/transportModule.js +1 -1
  585. package/lib/esm/src/internal/transport/di/transportModule.js.map +3 -3
  586. package/lib/esm/src/internal/transport/di/transportModule.test.js +2 -0
  587. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +7 -0
  588. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +2 -0
  589. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +7 -0
  590. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +2 -0
  591. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +7 -0
  592. package/lib/esm/src/internal/transport/service/TransportService.js +1 -0
  593. package/lib/esm/src/internal/transport/service/TransportService.js.map +7 -0
  594. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +2 -0
  595. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +7 -0
  596. package/lib/types/src/api/DeviceManagementKit.d.ts +9 -0
  597. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  598. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts +4 -7
  599. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  600. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  601. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  602. package/lib/types/src/api/Error.d.ts +5 -0
  603. package/lib/types/src/api/Error.d.ts.map +1 -1
  604. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +28 -0
  605. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
  606. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +24 -0
  607. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
  608. package/lib/types/src/api/command/model/CommandResult.d.ts +1 -2
  609. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  610. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +1 -1
  611. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  612. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  613. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  614. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  615. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  616. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts +4 -0
  617. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -0
  618. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +1 -1
  619. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  620. package/lib/types/src/api/device/DeviceModel.d.ts +1 -0
  621. package/lib/types/src/api/device/DeviceModel.d.ts.map +1 -1
  622. package/lib/types/src/api/device-action/DeviceAction.d.ts +6 -1
  623. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  624. package/lib/types/src/api/device-action/__test-utils__/data.d.ts +1 -1
  625. package/lib/types/src/api/device-action/__test-utils__/data.d.ts.map +1 -1
  626. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  627. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  628. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  629. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  630. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  631. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  632. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  633. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  634. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  635. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  636. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  637. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  638. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  639. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts +1 -1
  640. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts.map +1 -1
  641. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  642. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +1 -0
  643. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  644. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  645. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
  646. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  647. package/lib/types/src/api/device-action/use-case/ExecuteDeviceActionUseCase.d.ts +1 -1
  648. package/lib/types/src/api/device-action/use-case/ExecuteDeviceActionUseCase.d.ts.map +1 -1
  649. package/lib/types/src/api/device-model/data/DeviceModelDataSource.d.ts +16 -0
  650. package/lib/types/src/api/device-model/data/DeviceModelDataSource.d.ts.map +1 -0
  651. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts +21 -0
  652. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -0
  653. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.test.d.ts.map +1 -0
  654. package/lib/types/src/api/device-model/model/BleDeviceInfos.d.ts +10 -0
  655. package/lib/types/src/api/device-model/model/BleDeviceInfos.d.ts.map +1 -0
  656. package/lib/types/src/{internal → api}/device-model/model/DeviceModel.d.ts +2 -2
  657. package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -0
  658. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts +3 -0
  659. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -0
  660. package/lib/types/src/api/device-model/model/DeviceModel.test.d.ts.map +1 -0
  661. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +6 -1
  662. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  663. package/lib/types/src/api/device-session/data/FramerConst.d.ts.map +1 -0
  664. package/lib/types/src/api/device-session/service/ApduReceiverService.d.ts +11 -0
  665. package/lib/types/src/api/device-session/service/ApduReceiverService.d.ts.map +1 -0
  666. package/lib/types/src/api/device-session/service/ApduSenderService.d.ts +12 -0
  667. package/lib/types/src/api/device-session/service/ApduSenderService.d.ts.map +1 -0
  668. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts +5 -0
  669. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -0
  670. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts +5 -0
  671. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -0
  672. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts +17 -0
  673. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +1 -0
  674. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +2 -0
  675. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +1 -0
  676. package/lib/types/src/api/device-session/utils/FramerUtils.d.ts.map +1 -0
  677. package/lib/types/src/api/device-session/utils/FramerUtils.test.d.ts.map +1 -0
  678. package/lib/types/src/api/index.d.ts +25 -23
  679. package/lib/types/src/api/index.d.ts.map +1 -1
  680. package/lib/types/src/{internal → api}/logger-publisher/service/LoggerPublisherService.d.ts +2 -2
  681. package/lib/types/src/api/logger-publisher/service/LoggerPublisherService.d.ts.map +1 -0
  682. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +4 -0
  683. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -0
  684. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts +3 -3
  685. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts.map +1 -1
  686. package/lib/types/src/{internal → api}/transport/model/DeviceConnection.d.ts +3 -3
  687. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -0
  688. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +5 -0
  689. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -0
  690. package/lib/types/src/api/transport/model/Errors.d.ts +73 -0
  691. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -0
  692. package/lib/types/src/api/transport/model/Transport.d.ts +20 -7
  693. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  694. package/lib/types/src/{internal/transport/model/InternalConnectedDevice.d.ts → api/transport/model/TransportConnectedDevice.d.ts} +8 -8
  695. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts.map +1 -0
  696. package/lib/types/src/api/transport/model/TransportConnectedDevice.stub.d.ts +3 -0
  697. package/lib/types/src/api/transport/model/TransportConnectedDevice.stub.d.ts.map +1 -0
  698. package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts +2 -0
  699. package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts.map +1 -0
  700. package/lib/types/src/{internal/transport/model/InternalDiscoveredDevice.d.ts → api/transport/model/TransportDiscoveredDevice.d.ts} +6 -6
  701. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -0
  702. package/lib/types/src/api/transport/model/TransportIdentifier.d.ts +0 -5
  703. package/lib/types/src/api/transport/model/TransportIdentifier.d.ts.map +1 -1
  704. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +12 -0
  705. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -0
  706. package/lib/types/src/api/types.d.ts +21 -3
  707. package/lib/types/src/api/types.d.ts.map +1 -1
  708. package/lib/types/src/api/utils/HexaString.d.ts +1 -1
  709. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  710. package/lib/types/src/di.d.ts +3 -5
  711. package/lib/types/src/di.d.ts.map +1 -1
  712. package/lib/types/src/di.stub.d.ts +1 -1
  713. package/lib/types/src/di.stub.d.ts.map +1 -1
  714. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  715. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  716. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  717. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  718. package/lib/types/src/internal/config/service/DefaultConfigService.d.ts +1 -1
  719. package/lib/types/src/internal/config/service/DefaultConfigService.d.ts.map +1 -1
  720. package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
  721. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -0
  722. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts.map +1 -1
  723. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +15 -9
  724. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  725. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +3 -2
  726. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  727. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +9 -2
  728. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  729. package/lib/types/src/internal/device-session/model/Errors.d.ts +1 -1
  730. package/lib/types/src/internal/device-session/model/Errors.d.ts.map +1 -1
  731. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts +3 -6
  732. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts.map +1 -1
  733. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.d.ts +4 -9
  734. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.d.ts.map +1 -1
  735. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts +1 -1
  736. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts.map +1 -1
  737. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts +2 -0
  738. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts.map +1 -0
  739. package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.d.ts +1 -1
  740. package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.d.ts.map +1 -1
  741. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +6 -4
  742. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  743. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts +4 -4
  744. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts.map +1 -1
  745. package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.d.ts +1 -1
  746. package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.d.ts.map +1 -1
  747. package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.d.ts +1 -1
  748. package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.d.ts.map +1 -1
  749. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts +1 -1
  750. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts.map +1 -1
  751. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +3 -3
  752. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -1
  753. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +3 -3
  754. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  755. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +3 -3
  756. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  757. package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
  758. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.d.ts +1 -1
  759. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.d.ts.map +1 -1
  760. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +11 -0
  761. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -0
  762. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +9 -4
  763. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  764. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +29 -1
  765. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  766. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +3 -1
  767. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  768. package/lib/types/src/internal/manager-api/model/{ManagerApiType.d.ts → Application.d.ts} +2 -3
  769. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -0
  770. package/lib/types/src/internal/manager-api/model/Device.d.ts +4 -0
  771. package/lib/types/src/internal/manager-api/model/Device.d.ts.map +1 -0
  772. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +9 -0
  773. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -0
  774. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +5 -1
  775. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  776. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +6 -1
  777. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  778. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  779. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  780. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  781. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  782. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  783. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  784. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  785. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  786. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  787. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  788. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  789. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  790. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  791. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  792. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  793. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  794. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +8 -0
  795. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  796. package/lib/types/src/internal/secure-channel/model/Params.d.ts +86 -0
  797. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  798. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +20 -0
  799. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  800. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  801. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  802. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +20 -0
  803. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  804. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +1 -1
  805. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  806. package/lib/types/src/internal/transport/di/transportDiTypes.d.ts +2 -1
  807. package/lib/types/src/internal/transport/di/transportDiTypes.d.ts.map +1 -1
  808. package/lib/types/src/internal/transport/di/transportModule.d.ts +3 -5
  809. package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
  810. package/lib/types/src/internal/transport/di/transportModule.test.d.ts +2 -0
  811. package/lib/types/src/internal/transport/di/transportModule.test.d.ts.map +1 -0
  812. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +25 -0
  813. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -0
  814. package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts +2 -0
  815. package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts.map +1 -0
  816. package/lib/types/src/internal/transport/service/TransportService.d.ts +9 -0
  817. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -0
  818. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +19 -0
  819. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -0
  820. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  821. package/package.json +19 -20
  822. package/lib/cjs/src/api/logger-subscriber/__mocks__/ConsoleLogger.js +0 -2
  823. package/lib/cjs/src/api/logger-subscriber/__mocks__/ConsoleLogger.js.map +0 -7
  824. package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js +0 -2
  825. package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js.map +0 -7
  826. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js +0 -2
  827. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +0 -7
  828. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
  829. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
  830. package/lib/cjs/src/internal/device-model/model/DeviceModel.js +0 -2
  831. package/lib/cjs/src/internal/device-model/model/DeviceModel.js.map +0 -7
  832. package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js +0 -2
  833. package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js.map +0 -7
  834. package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js +0 -2
  835. package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js.map +0 -7
  836. package/lib/cjs/src/internal/device-session/service/ApduReceiverService.js +0 -2
  837. package/lib/cjs/src/internal/device-session/service/ApduSenderService.js +0 -2
  838. package/lib/cjs/src/internal/device-session/service/ApduSenderService.js.map +0 -7
  839. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js +0 -2
  840. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +0 -7
  841. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js +0 -2
  842. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +0 -7
  843. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js +0 -2
  844. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +0 -7
  845. package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js +0 -2
  846. package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +0 -7
  847. package/lib/cjs/src/internal/manager-api/model/ManagerApiType.js.map +0 -7
  848. package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js +0 -2
  849. package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js.map +0 -7
  850. package/lib/cjs/src/internal/transport/ble/di/bleModule.js +0 -2
  851. package/lib/cjs/src/internal/transport/ble/di/bleModule.js.map +0 -7
  852. package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js +0 -2
  853. package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js.map +0 -7
  854. package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js +0 -2
  855. package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js.map +0 -7
  856. package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js +0 -2
  857. package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js.map +0 -7
  858. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +0 -2
  859. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +0 -7
  860. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +0 -2
  861. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +0 -7
  862. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js +0 -2
  863. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js.map +0 -7
  864. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js +0 -2
  865. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +0 -7
  866. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js +0 -2
  867. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js.map +0 -7
  868. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js +0 -2
  869. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js.map +0 -7
  870. package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +0 -2
  871. package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +0 -7
  872. package/lib/cjs/src/internal/transport/data/TransportDataSource.js +0 -2
  873. package/lib/cjs/src/internal/transport/data/TransportDataSource.js.map +0 -7
  874. package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js +0 -2
  875. package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js.map +0 -7
  876. package/lib/cjs/src/internal/transport/model/Errors.js +0 -2
  877. package/lib/cjs/src/internal/transport/model/Errors.js.map +0 -7
  878. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js +0 -2
  879. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js.map +0 -7
  880. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js +0 -2
  881. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js.map +0 -7
  882. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js +0 -2
  883. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js.map +0 -7
  884. package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js +0 -2
  885. package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js.map +0 -7
  886. package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js +0 -2
  887. package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js.map +0 -7
  888. package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js +0 -2
  889. package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js.map +0 -7
  890. package/lib/cjs/src/internal/transport/usb/di/usbModule.js +0 -2
  891. package/lib/cjs/src/internal/transport/usb/di/usbModule.js.map +0 -7
  892. package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js +0 -2
  893. package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js.map +0 -7
  894. package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js +0 -2
  895. package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js.map +0 -7
  896. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +0 -2
  897. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +0 -7
  898. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +0 -2
  899. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +0 -7
  900. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +0 -2
  901. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +0 -7
  902. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +0 -2
  903. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +0 -7
  904. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js +0 -2
  905. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +0 -7
  906. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +0 -2
  907. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +0 -7
  908. package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +0 -2
  909. package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +0 -7
  910. package/lib/esm/src/api/logger-subscriber/__mocks__/ConsoleLogger.js +0 -2
  911. package/lib/esm/src/api/logger-subscriber/__mocks__/ConsoleLogger.js.map +0 -7
  912. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js +0 -2
  913. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +0 -7
  914. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
  915. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
  916. package/lib/esm/src/internal/device-model/model/DeviceModel.js +0 -2
  917. package/lib/esm/src/internal/device-model/model/DeviceModel.js.map +0 -7
  918. package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js +0 -2
  919. package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js.map +0 -7
  920. package/lib/esm/src/internal/device-model/model/DeviceModel.test.js +0 -2
  921. package/lib/esm/src/internal/device-model/model/DeviceModel.test.js.map +0 -7
  922. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js +0 -2
  923. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +0 -7
  924. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js +0 -2
  925. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +0 -7
  926. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js +0 -2
  927. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +0 -7
  928. package/lib/esm/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js +0 -2
  929. package/lib/esm/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +0 -7
  930. package/lib/esm/src/internal/manager-api/model/ManagerApiType.js.map +0 -7
  931. package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js +0 -2
  932. package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js.map +0 -7
  933. package/lib/esm/src/internal/transport/ble/di/bleModule.js +0 -2
  934. package/lib/esm/src/internal/transport/ble/di/bleModule.js.map +0 -7
  935. package/lib/esm/src/internal/transport/ble/di/bleModule.test.js +0 -2
  936. package/lib/esm/src/internal/transport/ble/di/bleModule.test.js.map +0 -7
  937. package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js +0 -2
  938. package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js.map +0 -7
  939. package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js +0 -2
  940. package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js.map +0 -7
  941. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +0 -2
  942. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +0 -7
  943. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +0 -2
  944. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +0 -7
  945. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js +0 -2
  946. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js.map +0 -7
  947. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js +0 -2
  948. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +0 -7
  949. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js +0 -2
  950. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js.map +0 -7
  951. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js +0 -2
  952. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js.map +0 -7
  953. package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +0 -2
  954. package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +0 -7
  955. package/lib/esm/src/internal/transport/data/TransportDataSource.js +0 -2
  956. package/lib/esm/src/internal/transport/data/TransportDataSource.js.map +0 -7
  957. package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js +0 -2
  958. package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js.map +0 -7
  959. package/lib/esm/src/internal/transport/model/Errors.js +0 -2
  960. package/lib/esm/src/internal/transport/model/Errors.js.map +0 -7
  961. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js +0 -2
  962. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js.map +0 -7
  963. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js +0 -2
  964. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js.map +0 -7
  965. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js +0 -2
  966. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js.map +0 -7
  967. package/lib/esm/src/internal/transport/model/InternalDiscoveredDevice.js +0 -1
  968. package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js +0 -2
  969. package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js.map +0 -7
  970. package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js +0 -2
  971. package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js.map +0 -7
  972. package/lib/esm/src/internal/transport/usb/di/usbModule.js +0 -2
  973. package/lib/esm/src/internal/transport/usb/di/usbModule.js.map +0 -7
  974. package/lib/esm/src/internal/transport/usb/di/usbModule.test.js +0 -2
  975. package/lib/esm/src/internal/transport/usb/di/usbModule.test.js.map +0 -7
  976. package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js +0 -2
  977. package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js.map +0 -7
  978. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +0 -2
  979. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +0 -7
  980. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +0 -2
  981. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +0 -7
  982. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +0 -2
  983. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +0 -7
  984. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +0 -2
  985. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +0 -7
  986. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js +0 -2
  987. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +0 -7
  988. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +0 -2
  989. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +0 -7
  990. package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +0 -2
  991. package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +0 -7
  992. package/lib/types/src/api/logger-subscriber/__mocks__/ConsoleLogger.d.ts +0 -4
  993. package/lib/types/src/api/logger-subscriber/__mocks__/ConsoleLogger.d.ts.map +0 -1
  994. package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts +0 -16
  995. package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts.map +0 -1
  996. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts +0 -21
  997. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts.map +0 -1
  998. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.test.d.ts.map +0 -1
  999. package/lib/types/src/internal/device-model/model/DeviceModel.d.ts.map +0 -1
  1000. package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts +0 -3
  1001. package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts.map +0 -1
  1002. package/lib/types/src/internal/device-model/model/DeviceModel.test.d.ts.map +0 -1
  1003. package/lib/types/src/internal/device-session/data/FramerConst.d.ts.map +0 -1
  1004. package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts +0 -7
  1005. package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts.map +0 -1
  1006. package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts +0 -5
  1007. package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts.map +0 -1
  1008. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts +0 -5
  1009. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts.map +0 -1
  1010. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts +0 -5
  1011. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts.map +0 -1
  1012. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts +0 -2
  1013. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts.map +0 -1
  1014. package/lib/types/src/internal/device-session/utils/FramerUtils.d.ts.map +0 -1
  1015. package/lib/types/src/internal/device-session/utils/FramerUtils.test.d.ts.map +0 -1
  1016. package/lib/types/src/internal/logger-publisher/service/LoggerPublisherService.d.ts.map +0 -1
  1017. package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts +0 -11
  1018. package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts.map +0 -1
  1019. package/lib/types/src/internal/manager-api/model/ManagerApiType.d.ts.map +0 -1
  1020. package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts +0 -4
  1021. package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts.map +0 -1
  1022. package/lib/types/src/internal/transport/ble/di/bleModule.d.ts +0 -3
  1023. package/lib/types/src/internal/transport/ble/di/bleModule.d.ts.map +0 -1
  1024. package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts +0 -2
  1025. package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts.map +0 -1
  1026. package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts +0 -3
  1027. package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts.map +0 -1
  1028. package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts +0 -10
  1029. package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts.map +0 -1
  1030. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts +0 -13
  1031. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts.map +0 -1
  1032. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts +0 -3
  1033. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts.map +0 -1
  1034. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts +0 -104
  1035. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts.map +0 -1
  1036. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts +0 -2
  1037. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts.map +0 -1
  1038. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts +0 -97
  1039. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts.map +0 -1
  1040. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts +0 -2
  1041. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts.map +0 -1
  1042. package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts +0 -14
  1043. package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts.map +0 -1
  1044. package/lib/types/src/internal/transport/data/TransportDataSource.d.ts +0 -8
  1045. package/lib/types/src/internal/transport/data/TransportDataSource.d.ts.map +0 -1
  1046. package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts +0 -33
  1047. package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts.map +0 -1
  1048. package/lib/types/src/internal/transport/model/DeviceConnection.d.ts.map +0 -1
  1049. package/lib/types/src/internal/transport/model/Errors.d.ts +0 -80
  1050. package/lib/types/src/internal/transport/model/Errors.d.ts.map +0 -1
  1051. package/lib/types/src/internal/transport/model/InternalConnectedDevice.d.ts.map +0 -1
  1052. package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts +0 -3
  1053. package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts.map +0 -1
  1054. package/lib/types/src/internal/transport/model/InternalConnectedDevice.test.d.ts +0 -2
  1055. package/lib/types/src/internal/transport/model/InternalConnectedDevice.test.d.ts.map +0 -1
  1056. package/lib/types/src/internal/transport/model/InternalDiscoveredDevice.d.ts.map +0 -1
  1057. package/lib/types/src/internal/transport/usb/data/UsbHidConfig.d.ts +0 -4
  1058. package/lib/types/src/internal/transport/usb/data/UsbHidConfig.d.ts.map +0 -1
  1059. package/lib/types/src/internal/transport/usb/di/usbDiTypes.d.ts +0 -4
  1060. package/lib/types/src/internal/transport/usb/di/usbDiTypes.d.ts.map +0 -1
  1061. package/lib/types/src/internal/transport/usb/di/usbModule.d.ts +0 -7
  1062. package/lib/types/src/internal/transport/usb/di/usbModule.d.ts.map +0 -1
  1063. package/lib/types/src/internal/transport/usb/di/usbModule.test.d.ts +0 -2
  1064. package/lib/types/src/internal/transport/usb/di/usbModule.test.d.ts.map +0 -1
  1065. package/lib/types/src/internal/transport/usb/model/HIDDevice.stub.d.ts +0 -2
  1066. package/lib/types/src/internal/transport/usb/model/HIDDevice.stub.d.ts.map +0 -1
  1067. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.d.ts +0 -20
  1068. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +0 -1
  1069. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.d.ts +0 -3
  1070. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.d.ts.map +0 -1
  1071. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.d.ts +0 -54
  1072. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.d.ts.map +0 -1
  1073. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.d.ts +0 -2
  1074. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.d.ts.map +0 -1
  1075. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts +0 -97
  1076. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts.map +0 -1
  1077. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.test.d.ts +0 -2
  1078. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.test.d.ts.map +0 -1
  1079. package/lib/types/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts +0 -12
  1080. package/lib/types/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts.map +0 -1
  1081. /package/lib/cjs/src/{internal → api}/device-session/data/FramerConst.js +0 -0
  1082. /package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.js +0 -0
  1083. /package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.test.js +0 -0
  1084. /package/lib/cjs/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js +0 -0
  1085. /package/lib/cjs/src/{internal → api}/transport/model/DeviceConnection.js +0 -0
  1086. /package/lib/esm/src/{internal/device-model/data/DeviceModelDataSource.js.map → api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map} +0 -0
  1087. /package/lib/esm/src/{internal → api}/device-model/data/DeviceModelDataSource.js +0 -0
  1088. /package/lib/esm/src/{internal/device-session/service/ApduReceiverService.js.map → api/device-model/data/DeviceModelDataSource.js.map} +0 -0
  1089. /package/lib/esm/src/{internal → api}/device-session/data/FramerConst.js +0 -0
  1090. /package/lib/esm/src/{internal → api}/device-session/service/ApduReceiverService.js +0 -0
  1091. /package/lib/esm/src/{internal/device-session/service/ApduSenderService.js.map → api/device-session/service/ApduReceiverService.js.map} +0 -0
  1092. /package/lib/esm/src/{internal → api}/device-session/service/ApduSenderService.js +0 -0
  1093. /package/lib/esm/src/{internal/logger-publisher/service/LoggerPublisherService.js.map → api/device-session/service/ApduSenderService.js.map} +0 -0
  1094. /package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.js +0 -0
  1095. /package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.test.js +0 -0
  1096. /package/lib/esm/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js +0 -0
  1097. /package/lib/esm/src/{internal/transport/model/DeviceConnection.js.map → api/logger-publisher/service/LoggerPublisherService.js.map} +0 -0
  1098. /package/lib/esm/src/{internal → api}/transport/model/DeviceConnection.js +0 -0
  1099. /package/lib/esm/src/{internal/transport/model/InternalDiscoveredDevice.js.map → api/transport/model/DeviceConnection.js.map} +0 -0
  1100. /package/lib/types/src/{internal → api}/device-model/data/StaticDeviceModelDataSource.test.d.ts +0 -0
  1101. /package/lib/types/src/{internal → api}/device-model/model/DeviceModel.test.d.ts +0 -0
  1102. /package/lib/types/src/{internal → api}/device-session/data/FramerConst.d.ts +0 -0
  1103. /package/lib/types/src/{internal → api}/device-session/utils/FramerUtils.d.ts +0 -0
  1104. /package/lib/types/src/{internal → api}/device-session/utils/FramerUtils.test.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- import{hexaStringToBuffer as s}from"../../utils/HexaString";import{APDU_MAX_PAYLOAD as r}from"./ApduBuilder";import{DataOverflowError as f,HexaStringEncodeError as x}from"./AppBuilderError";import{ByteArrayBuilder as l}from"./ByteArrayBuilder";const u=new Uint8Array([]),y=new Uint8Array([1]),A=new Uint8Array([128,129,130,131,132]),p=new Uint8Array([133,134,135,136]),E=new Uint8Array([3,161,162,163]),w=new Uint8Array([5,109,97,109,97,110]),b=new Uint8Array([2,240,241]),h=new Uint8Array([1,51,2,1,35,69,103,128,129,130,131,132,133,134,135,136,3,161,162,163,5,109,97,109,97,110,2,240,241]),i=new Uint8Array([...Array(255).fill(170)]),g=new Uint8Array([...Array(254).fill(170)]);let e;describe("ByteArrayBuilder",()=>{const d=(t,a,o,n)=>{if(n)switch(o){case 2:e.add16BitIntToData(t,a);break;case 4:e.add32BitIntToData(t,a);break;case 8:e.add64BitIntToData(t,a);break}else switch(o){case 2:e.add16BitUIntToData(t,a);break;case 4:e.add32BitUIntToData(t,a);break;case 8:e.add64BitUIntToData(t,a);break}};describe("clean",()=>{beforeEach(()=>{e=new l(r)}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(l)})}),describe("simple",()=>{beforeEach(()=>{e=new l(r)}),it("should serialize with an empty body",()=>{expect(e.build()).toEqual(u)}),it("should serialize with an single byte body",()=>{e=new l(1),e.add8BitUIntToData(1),expect(e.build()).toEqual(y),expect(e.getErrors()).toEqual([])}),it.each([[2,!1,!0,13058,"3302"],[2,!1,!1,0x3302n,"0233"],[2,!0,!0,4200n,"1068"],[2,!0,!0,-4200n,"ef98"],[2,!0,!1,4200,"6810"],[2,!0,!1,-4200,"98ef"],[4,!1,!0,0x01234567n,"01234567"],[4,!1,!1,0x01234567n,"67452301"],[4,!0,!0,123456789,"075bcd15"],[4,!0,!0,-123456789,"f8a432eb"],[4,!0,!1,123456789,"15cd5b07"],[4,!0,!1,-123456789,"eb32a4f8"],[8,!1,!0,14147778004927559n,"0032435442584447"],[8,!1,!1,14147778004927559n,"4744584254433200"],[8,!0,!0,14147778004927559n,"0032435442584447"],[8,!0,!0,-14147778004927559n,"ffcdbcabbda7bbb9"],[8,!0,!1,14147778004927559n,"4744584254433200"],[8,!0,!1,-14147778004927559n,"b9bba7bdabbccdff"]])("serialize the following number: size %i, signed %s, bigEndian %s, value %i, expected %s",(t,a,o,n,c)=>{e=new l(t),d(n,o,t,a),expect(e.build()).toEqual(s(c)),expect(e.getErrors()).toEqual([]),e=new l(t-1),d(n,o,t,a),expect(e.getErrors().length).toEqual(1),expect(e.build()).toEqual(Uint8Array.from([]))}),it.each([[2,!1,!0,0xffffn,"ffff"],[2,!0,!0,0x7fffn,"7fff"],[2,!0,!0,-0x8000n,"8000"],[4,!1,!0,0xffffffffn,"ffffffff"],[4,!0,!0,0x7fffffffn,"7fffffff"],[4,!0,!0,-0x80000000n,"80000000"],[8,!1,!0,0xffffffffffffffffn,"ffffffffffffffff"],[8,!0,!0,0x7fffffffffffffffn,"7fffffffffffffff"],[8,!0,!0,-0x8000000000000000n,"8000000000000000"]])("serialize the number to the limit: size %i, signed %s, bigEndian %s, value %i, expected %s",(t,a,o,n,c)=>{e=new l(t),d(n,o,t,a),expect(e.build()).toEqual(s(c)),expect(e.getErrors()).toEqual([])}),it("Serialize from float to bigint",()=>{e=new l(4),e.add32BitIntToData(1234567893e-1,!1),expect(e.getErrors().length).toEqual(1),expect(e.build()).toEqual(Uint8Array.from([]))}),it("should serialize with an 5 byte body from an hexastring",()=>{e.addHexaStringToData("0x8081828384"),expect(e.build()).toEqual(A),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body from an hexastring without '0x'",()=>{e.addHexaStringToData("85868788"),expect(e.build()).toEqual(p),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an hexastring",()=>{e.encodeInLVFromHexa("0xA1A2A3"),expect(e.build()).toEqual(E),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an ascci string",()=>{e.encodeInLVFromAscii("maman"),expect(e.build()).toEqual(w),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const t=new Uint8Array([240,241]);e.encodeInLVFromBuffer(t),expect(e.build()).toEqual(b),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const t=new Uint8Array([240,241]);e.encodeInLVFromBuffer(t),expect(e.build()).toEqual(b),expect(e.getErrors()).toEqual([])}),it("should serialize with an complete body of 0xAA",()=>{const t=new Uint8Array(255).fill(170,0,255);e.addBufferToData(t),expect(e.build()).toEqual(i),expect(e.getErrors()).toEqual([])})}),describe("mixed",()=>{beforeEach(()=>{e=new l(r)}),it("should serialize with all previous field",()=>{let t=r;e.add8BitUIntToData(1),t--,expect(e.getAvailablePayloadLength()).toBe(t),e.add16BitUIntToData(13058),t-=2,expect(e.getAvailablePayloadLength()).toBe(t),e.add32BitUIntToData(19088743),t-=4,expect(e.getAvailablePayloadLength()).toBe(t),e.addHexaStringToData("0x8081828384"),t-=5,expect(e.getAvailablePayloadLength()).toBe(t),e.addHexaStringToData("85868788"),t-=4,expect(e.getAvailablePayloadLength()).toBe(t),e.encodeInLVFromHexa("0xA1A2A3"),t-=4,expect(e.getAvailablePayloadLength()).toBe(t),e.encodeInLVFromAscii("maman"),t-=6,expect(e.getAvailablePayloadLength()).toBe(t);const a=new Uint8Array([240,241]);e.encodeInLVFromBuffer(a),t-=3,expect(e.getAvailablePayloadLength()).toBe(t),expect(e.build()).toEqual(h)})}),describe("error",()=>{beforeEach(()=>{e=new l(r)}),it.each([[2,!1,!0,0x10000n],[2,!0,!0,0x8000n],[2,!0,!0,-0x8001n],[4,!1,!0,0x100000000n],[4,!0,!0,0x80000000n],[4,!0,!0,-0x80000001n],[8,!1,!0,0x10000000000000000n],[8,!0,!0,0x8000000000000000n],[8,!0,!0,-0x8000000000000001n]])("serialize the number overflowed: size %i, signed %s, bigEndian %s, value %i",(t,a,o,n)=>{e=new l(t),d(n,o,t,a),expect(e.getErrors().length).toEqual(1),expect(e.build()).toEqual(Uint8Array.from([]))}),it("error due to a string not well coded",()=>{e.addHexaStringToData(":08081828384").addHexaStringToData("80818n8384").addHexaStringToData("808182838z"),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(r),expect(e.getErrors()).toEqual([new x(":08081828384"),new x("80818n8384"),new x("808182838z")])}),it("error due direct overflow",()=>{const t=new Uint8Array(256).fill(170,0,256);e.addBufferToData(t),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(r),expect(e.getErrors()).toEqual([new f(t.toString())])}),it("error due to subsequent overflow with 1-byte array",()=>{const t=new Uint8Array(r).fill(170,0,r);e.addBufferToData(t),expect(e.build()).toEqual(i),expect(e.getAvailablePayloadLength()).toBe(0);const a=new Uint8Array(1);a.set([255],0),e.addBufferToData(a),expect(e.build()).toEqual(i),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new f(a.toString())])}),it("error due to subsequent overflow with 1-char ascii",()=>{const t=new Uint8Array(r).fill(170,0,r);e.addBufferToData(t),expect(e.build()).toEqual(i),expect(e.getAvailablePayloadLength()).toBe(0);const a="a";e.addAsciiStringToData(a),expect(e.build()).toEqual(i),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new f(new TextEncoder().encode(a).toString())])}),it("error due to subsequent overflow with 1-char hexastring",()=>{const t=new Uint8Array(r).fill(170,0,r);e.addBufferToData(t),expect(e.build()).toEqual(i),expect(e.getAvailablePayloadLength()).toBe(0),e.addHexaStringToData("0xB4").addHexaStringToData("e1"),expect(e.build()).toEqual(i),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new f("180"),new f("225")])}),it("error due to empty values",()=>{const t="";e.addHexaStringToData(t).encodeInLVFromHexa(t),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(r),expect(e.getErrors()).toEqual([new x(t),new x(t)])}),it("error due to subsequent overflow with 1-char LV",()=>{const t=new Uint8Array(r-1).fill(170,0,r-1);e.addBufferToData(t),expect(e.build()).toEqual(g),expect(e.getAvailablePayloadLength()).toBe(1);const a="n",o="e1",n=new Uint8Array(1);n.set([255],0),e.encodeInLVFromAscii(a).encodeInLVFromHexa(o).encodeInLVFromBuffer(n),expect(e.build()).toEqual(g),expect(e.getAvailablePayloadLength()).toBe(1),expect(e.getErrors()).toEqual([new f(a),new f(o),new f(n.toString())])})})});
1
+ import{hexaStringToBuffer as b}from"../../utils/HexaString";import{APDU_MAX_PAYLOAD as a}from"./ApduBuilder";import{DataOverflowError as l,HexaStringEncodeError as d}from"./AppBuilderError";import{ByteArrayBuilder as n}from"./ByteArrayBuilder";const u=new Uint8Array([]),y=new Uint8Array([1]),A=new Uint8Array([128,129,130,131,132]),p=new Uint8Array([133,134,135,136]),E=new Uint8Array([3,161,162,163]),w=new Uint8Array([5,109,97,109,97,110]),s=new Uint8Array([2,240,241]),h=new Uint8Array([1,51,2,1,35,69,103,128,129,130,131,132,133,134,135,136,3,161,162,163,5,109,97,109,97,110,2,240,241]),i=new Uint8Array([...Array(255).fill(170)]),g=new Uint8Array([...Array(254).fill(170)]);let f;describe("ByteArrayBuilder",()=>{const x=(e,t,r,o)=>{if(o)switch(r){case 2:f.add16BitIntToData(e,t);break;case 4:f.add32BitIntToData(e,t);break;case 8:f.add64BitIntToData(e,t);break;case 16:f.add128BitIntToData(e,t);break;case 32:f.add256BitIntToData(e,t);break}else switch(r){case 2:f.add16BitUIntToData(e,t);break;case 4:f.add32BitUIntToData(e,t);break;case 8:f.add64BitUIntToData(e,t);break;case 16:f.add128BitUIntToData(e,t);break;case 32:f.add256BitUIntToData(e,t);break}};describe("clean",()=>{beforeEach(()=>{f=new n(a)}),it("should create an instance",()=>{expect(f).toBeDefined(),expect(f).toBeInstanceOf(n)})}),describe("simple",()=>{beforeEach(()=>{f=new n(a)}),it("should serialize with an empty body",()=>{expect(f.build()).toEqual(u)}),it("should serialize with an single byte body",()=>{f=new n(1),f.add8BitUIntToData(1),expect(f.build()).toEqual(y),expect(f.getErrors()).toEqual([])}),it.each([[2,!1,!0,13058,"3302"],[2,!1,!1,0x3302n,"0233"],[2,!0,!0,4200n,"1068"],[2,!0,!0,-4200n,"ef98"],[2,!0,!1,4200,"6810"],[2,!0,!1,-4200,"98ef"],[4,!1,!0,0x01234567n,"01234567"],[4,!1,!1,0x01234567n,"67452301"],[4,!0,!0,123456789,"075bcd15"],[4,!0,!0,-123456789,"f8a432eb"],[4,!0,!1,123456789,"15cd5b07"],[4,!0,!1,-123456789,"eb32a4f8"],[8,!1,!0,14147778004927559n,"0032435442584447"],[8,!1,!1,14147778004927559n,"4744584254433200"],[8,!0,!0,14147778004927559n,"0032435442584447"],[8,!0,!0,-14147778004927559n,"ffcdbcabbda7bbb9"],[8,!0,!1,14147778004927559n,"4744584254433200"],[8,!0,!1,-14147778004927559n,"b9bba7bdabbccdff"],[16,!1,!0,0x00324354425844470032435442584447n,"00324354425844470032435442584447"],[16,!1,!1,0x00324354425844470032435442584447n,"47445842544332004744584254433200"],[16,!0,!0,0x00324354425844470032435442584447n,"00324354425844470032435442584447"],[16,!0,!0,-0x00324354425844470032435442584447n,"ffcdbcabbda7bbb8ffcdbcabbda7bbb9"],[16,!0,!1,0x00324354425844470032435442584447n,"47445842544332004744584254433200"],[16,!0,!1,-0x00324354425844470032435442584447n,"b9bba7bdabbccdffb8bba7bdabbccdff"],[32,!1,!0,0x0032435442584447003243544258444700324354425844470032435442584447n,"0032435442584447003243544258444700324354425844470032435442584447"],[32,!1,!1,0x0032435442584447003243544258444700324354425844470032435442584447n,"4744584254433200474458425443320047445842544332004744584254433200"],[32,!0,!0,0x0032435442584447003243544258444700324354425844470032435442584447n,"0032435442584447003243544258444700324354425844470032435442584447"],[32,!0,!0,-0x0032435442584447003243544258444700324354425844470032435442584447n,"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9"],[32,!0,!1,0x0032435442584447003243544258444700324354425844470032435442584447n,"4744584254433200474458425443320047445842544332004744584254433200"],[32,!0,!1,-0x0032435442584447003243544258444700324354425844470032435442584447n,"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff"]])("serialize the following number: size %i, signed %s, bigEndian %s, value %i, expected %s",(e,t,r,o,c)=>{f=new n(e),x(o,r,e,t),expect(f.build()).toEqual(b(c)),expect(f.getErrors()).toEqual([]),f=new n(e-1),x(o,r,e,t),expect(f.getErrors().length).toEqual(1),expect(f.build()).toEqual(Uint8Array.from([]))}),it.each([[2,!1,!0,0xffffn,"ffff"],[2,!0,!0,0x7fffn,"7fff"],[2,!0,!0,-0x8000n,"8000"],[4,!1,!0,0xffffffffn,"ffffffff"],[4,!0,!0,0x7fffffffn,"7fffffff"],[4,!0,!0,-0x80000000n,"80000000"],[8,!1,!0,0xffffffffffffffffn,"ffffffffffffffff"],[8,!0,!0,0x7fffffffffffffffn,"7fffffffffffffff"],[8,!0,!0,-0x8000000000000000n,"8000000000000000"],[16,!1,!0,0xffffffffffffffffffffffffffffffffn,"ffffffffffffffffffffffffffffffff"],[16,!0,!0,0x7fffffffffffffffffffffffffffffffn,"7fffffffffffffffffffffffffffffff"],[16,!0,!0,-0x80000000000000000000000000000000n,"80000000000000000000000000000000"],[32,!1,!0,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"],[32,!0,!0,0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"],[32,!0,!0,-0x8000000000000000000000000000000000000000000000000000000000000000n,"8000000000000000000000000000000000000000000000000000000000000000"]])("serialize the number to the limit: size %i, signed %s, bigEndian %s, value %i, expected %s",(e,t,r,o,c)=>{f=new n(e),x(o,r,e,t),expect(f.build()).toEqual(b(c)),expect(f.getErrors()).toEqual([])}),it("Serialize from float to bigint",()=>{f=new n(4),f.add32BitIntToData(1234567893e-1,!1),expect(f.getErrors().length).toEqual(1),expect(f.build()).toEqual(Uint8Array.from([]))}),it("should serialize with an 5 byte body from an hexastring",()=>{f.addHexaStringToData("0x8081828384"),expect(f.build()).toEqual(A),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body from an hexastring without '0x'",()=>{f.addHexaStringToData("85868788"),expect(f.build()).toEqual(p),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an hexastring",()=>{f.encodeInLVFromHexa("0xA1A2A3"),expect(f.build()).toEqual(E),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an ascci string",()=>{f.encodeInLVFromAscii("maman"),expect(f.build()).toEqual(w),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const e=new Uint8Array([240,241]);f.encodeInLVFromBuffer(e),expect(f.build()).toEqual(s),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const e=new Uint8Array([240,241]);f.encodeInLVFromBuffer(e),expect(f.build()).toEqual(s),expect(f.getErrors()).toEqual([])}),it("should serialize with an complete body of 0xAA",()=>{const e=new Uint8Array(255).fill(170,0,255);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getErrors()).toEqual([])})}),describe("mixed",()=>{beforeEach(()=>{f=new n(a)}),it("should serialize with all previous field",()=>{let e=a;f.add8BitUIntToData(1),e--,expect(f.getAvailablePayloadLength()).toBe(e),f.add16BitUIntToData(13058),e-=2,expect(f.getAvailablePayloadLength()).toBe(e),f.add32BitUIntToData(19088743),e-=4,expect(f.getAvailablePayloadLength()).toBe(e),f.addHexaStringToData("0x8081828384"),e-=5,expect(f.getAvailablePayloadLength()).toBe(e),f.addHexaStringToData("85868788"),e-=4,expect(f.getAvailablePayloadLength()).toBe(e),f.encodeInLVFromHexa("0xA1A2A3"),e-=4,expect(f.getAvailablePayloadLength()).toBe(e),f.encodeInLVFromAscii("maman"),e-=6,expect(f.getAvailablePayloadLength()).toBe(e);const t=new Uint8Array([240,241]);f.encodeInLVFromBuffer(t),e-=3,expect(f.getAvailablePayloadLength()).toBe(e),expect(f.build()).toEqual(h)})}),describe("error",()=>{beforeEach(()=>{f=new n(a)}),it.each([[2,!1,!0,0x10000n],[2,!0,!0,0x8000n],[2,!0,!0,-0x8001n],[4,!1,!0,0x100000000n],[4,!0,!0,0x80000000n],[4,!0,!0,-0x80000001n],[8,!1,!0,0x10000000000000000n],[8,!0,!0,0x8000000000000000n],[8,!0,!0,-0x8000000000000001n]])("serialize the number overflowed: size %i, signed %s, bigEndian %s, value %i",(e,t,r,o)=>{f=new n(e),x(o,r,e,t),expect(f.getErrors().length).toEqual(1),expect(f.build()).toEqual(Uint8Array.from([]))}),it("error due to a string not well coded",()=>{f.addHexaStringToData(":08081828384").addHexaStringToData("80818n8384").addHexaStringToData("808182838z"),expect(f.build()).toEqual(u),expect(f.getAvailablePayloadLength()).toBe(a),expect(f.getErrors()).toEqual([new d(":08081828384"),new d("80818n8384"),new d("808182838z")])}),it("error due direct overflow",()=>{const e=new Uint8Array(256).fill(170,0,256);f.addBufferToData(e),expect(f.build()).toEqual(u),expect(f.getAvailablePayloadLength()).toBe(a),expect(f.getErrors()).toEqual([new l(e.toString())])}),it("error due to subsequent overflow with 1-byte array",()=>{const e=new Uint8Array(a).fill(170,0,a);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0);const t=new Uint8Array(1);t.set([255],0),f.addBufferToData(t),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),expect(f.getErrors()).toEqual([new l(t.toString())])}),it("error due to subsequent overflow with 1-char ascii",()=>{const e=new Uint8Array(a).fill(170,0,a);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0);const t="a";f.addAsciiStringToData(t),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),expect(f.getErrors()).toEqual([new l(new TextEncoder().encode(t).toString())])}),it("error due to subsequent overflow with 1-char hexastring",()=>{const e=new Uint8Array(a).fill(170,0,a);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),f.addHexaStringToData("0xB4").addHexaStringToData("e1"),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),expect(f.getErrors()).toEqual([new l("180"),new l("225")])}),it("error due to empty values",()=>{const e="";f.addHexaStringToData(e).encodeInLVFromHexa(e),expect(f.build()).toEqual(u),expect(f.getAvailablePayloadLength()).toBe(a),expect(f.getErrors()).toEqual([new d(e),new d(e)])}),it("error due to subsequent overflow with 1-char LV",()=>{const e=new Uint8Array(a-1).fill(170,0,a-1);f.addBufferToData(e),expect(f.build()).toEqual(g),expect(f.getAvailablePayloadLength()).toBe(1);const t="n",r="e1",o=new Uint8Array(1);o.set([255],0),f.encodeInLVFromAscii(t).encodeInLVFromHexa(r).encodeInLVFromBuffer(o),expect(f.build()).toEqual(g),expect(f.getAvailablePayloadLength()).toBe(1),expect(f.getErrors()).toEqual([new l(t),new l(r),new l(o.toString())])})})});
2
2
  //# sourceMappingURL=ByteArrayBuilder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/apdu/utils/ByteArrayBuilder.test.ts"],
4
- "sourcesContent": ["import { hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nimport { APDU_MAX_PAYLOAD } from \"./ApduBuilder\";\nimport { DataOverflowError, HexaStringEncodeError } from \"./AppBuilderError\";\nimport { ByteArrayBuilder } from \"./ByteArrayBuilder\";\n\nconst COMMAND_NO_BODY = new Uint8Array([]);\n\nconst COMMAND_BODY_SINGLE = new Uint8Array([0x01]);\n\nconst COMMAND_BODY_HEXA1 = new Uint8Array([0x80, 0x81, 0x82, 0x83, 0x84]);\n\nconst COMMAND_BODY_HEXA2 = new Uint8Array([0x85, 0x86, 0x87, 0x88]);\n\nconst COMMAND_BODY_LV_HEXA = new Uint8Array([0x03, 0xa1, 0xa2, 0xa3]);\n\nconst COMMAND_BODY_LV_ASCII = new Uint8Array([\n 0x05, 0x6d, 0x61, 0x6d, 0x61, 0x6e,\n]);\n\nconst COMMAND_BODY_LV_ARRAY = new Uint8Array([0x02, 0xf0, 0xf1]);\n\nconst COMMAND_BODY_COMBINED = new Uint8Array([\n 0x01, 0x33, 0x02, 0x01, 0x23, 0x45, 0x67, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85,\n 0x86, 0x87, 0x88, 0x03, 0xa1, 0xa2, 0xa3, 0x05, 0x6d, 0x61, 0x6d, 0x61, 0x6e,\n 0x02, 0xf0, 0xf1,\n]);\n\nconst COMMAND_BODY_MAX = new Uint8Array([...Array<number>(255).fill(0xaa)]);\n\nconst COMMAND_BODY_NEARLY = new Uint8Array([...Array<number>(254).fill(0xaa)]);\n\nlet builder: ByteArrayBuilder;\n\ndescribe(\"ByteArrayBuilder\", () => {\n const builderAddNumber = (\n num: number | bigint,\n bigEndian: boolean,\n sizeInBits: number,\n signed: boolean,\n ) => {\n if (signed) {\n switch (sizeInBits) {\n case 2:\n builder.add16BitIntToData(num, bigEndian);\n break;\n case 4:\n builder.add32BitIntToData(num, bigEndian);\n break;\n case 8:\n builder.add64BitIntToData(num, bigEndian);\n break;\n }\n } else {\n switch (sizeInBits) {\n case 2:\n builder.add16BitUIntToData(num, bigEndian);\n break;\n case 4:\n builder.add32BitUIntToData(num, bigEndian);\n break;\n case 8:\n builder.add64BitUIntToData(num, bigEndian);\n break;\n }\n }\n };\n\n describe(\"clean\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it(\"should create an instance\", () => {\n expect(builder).toBeDefined();\n expect(builder).toBeInstanceOf(ByteArrayBuilder);\n });\n });\n\n describe(\"simple\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it(\"should serialize with an empty body\", () => {\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n });\n\n it(\"should serialize with an single byte body\", () => {\n builder = new ByteArrayBuilder(1);\n builder.add8BitUIntToData(0x01);\n expect(builder.build()).toEqual(COMMAND_BODY_SINGLE);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it.each([\n [2, false, true, 0x3302, \"3302\"],\n [2, false, false, 0x3302n, \"0233\"],\n [2, true, true, 4200n, \"1068\"],\n [2, true, true, -4200n, \"ef98\"],\n [2, true, false, 4200, \"6810\"],\n [2, true, false, -4200, \"98ef\"],\n [4, false, true, 0x01234567n, \"01234567\"],\n [4, false, false, 0x01234567n, \"67452301\"],\n [4, true, true, 123456789, \"075bcd15\"],\n [4, true, true, -123456789, \"f8a432eb\"],\n [4, true, false, 123456789, \"15cd5b07\"],\n [4, true, false, -123456789, \"eb32a4f8\"],\n [8, false, true, 14147778004927559n, \"0032435442584447\"],\n [8, false, false, 14147778004927559n, \"4744584254433200\"],\n [8, true, true, 14147778004927559n, \"0032435442584447\"],\n [8, true, true, -14147778004927559n, \"ffcdbcabbda7bbb9\"],\n [8, true, false, 14147778004927559n, \"4744584254433200\"],\n [8, true, false, -14147778004927559n, \"b9bba7bdabbccdff\"],\n ])(\n \"serialize the following number: size %i, signed %s, bigEndian %s, value %i, expected %s\",\n (sizeInBits, signed, bigEndian, input, output) => {\n builder = new ByteArrayBuilder(sizeInBits);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.build()).toEqual(hexaStringToBuffer(output));\n expect(builder.getErrors()).toEqual([]);\n\n // Retry with a buffer too small\n builder = new ByteArrayBuilder(sizeInBits - 1);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.getErrors().length).toEqual(1);\n expect(builder.build()).toEqual(Uint8Array.from([]));\n },\n );\n\n it.each([\n [2, false, true, 0xffffn, \"ffff\"],\n [2, true, true, 0x7fffn, \"7fff\"],\n [2, true, true, -0x8000n, \"8000\"],\n [4, false, true, 0xffffffffn, \"ffffffff\"],\n [4, true, true, 0x7fffffffn, \"7fffffff\"],\n [4, true, true, -0x80000000n, \"80000000\"],\n [8, false, true, 0xffffffffffffffffn, \"ffffffffffffffff\"],\n [8, true, true, 0x7fffffffffffffffn, \"7fffffffffffffff\"],\n [8, true, true, -0x8000000000000000n, \"8000000000000000\"],\n ])(\n \"serialize the number to the limit: size %i, signed %s, bigEndian %s, value %i, expected %s\",\n (sizeInBits, signed, bigEndian, input, output) => {\n builder = new ByteArrayBuilder(sizeInBits);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.build()).toEqual(hexaStringToBuffer(output));\n expect(builder.getErrors()).toEqual([]);\n },\n );\n\n it(\"Serialize from float to bigint\", () => {\n builder = new ByteArrayBuilder(4);\n builder.add32BitIntToData(123456789.3, false);\n expect(builder.getErrors().length).toEqual(1);\n expect(builder.build()).toEqual(Uint8Array.from([]));\n });\n\n it(\"should serialize with an 5 byte body from an hexastring\", () => {\n builder.addHexaStringToData(\"0x8081828384\");\n expect(builder.build()).toEqual(COMMAND_BODY_HEXA1);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body from an hexastring without '0x'\", () => {\n builder.addHexaStringToData(\"85868788\");\n expect(builder.build()).toEqual(COMMAND_BODY_HEXA2);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from an hexastring\", () => {\n builder.encodeInLVFromHexa(\"0xA1A2A3\");\n expect(builder.build()).toEqual(COMMAND_BODY_LV_HEXA);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from an ascci string\", () => {\n builder.encodeInLVFromAscii(\"maman\");\n expect(builder.build()).toEqual(COMMAND_BODY_LV_ASCII);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from a buffer\", () => {\n const myarray = new Uint8Array([0xf0, 0xf1]);\n builder.encodeInLVFromBuffer(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_LV_ARRAY);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from a buffer\", () => {\n const myarray = new Uint8Array([0xf0, 0xf1]);\n builder.encodeInLVFromBuffer(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_LV_ARRAY);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an complete body of 0xAA\", () => {\n const myarray = new Uint8Array(255).fill(0xaa, 0, 255);\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getErrors()).toEqual([]);\n });\n });\n\n describe(\"mixed\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it(\"should serialize with all previous field\", () => {\n let available = APDU_MAX_PAYLOAD;\n builder.add8BitUIntToData(0x01);\n available--;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.add16BitUIntToData(0x3302);\n available -= 2;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.add32BitUIntToData(0x01234567);\n available -= 4;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.addHexaStringToData(\"0x8081828384\");\n available -= 5;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.addHexaStringToData(\"85868788\");\n available -= 4;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.encodeInLVFromHexa(\"0xA1A2A3\");\n available -= 4;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.encodeInLVFromAscii(\"maman\");\n available -= 6;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n const myarray = new Uint8Array([0xf0, 0xf1]);\n builder.encodeInLVFromBuffer(myarray);\n available -= 3;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n expect(builder.build()).toEqual(COMMAND_BODY_COMBINED);\n });\n });\n\n describe(\"error\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it.each([\n [2, false, true, 0x10000n],\n [2, true, true, 0x8000n],\n [2, true, true, -0x8001n],\n [4, false, true, 0x100000000n],\n [4, true, true, 0x80000000n],\n [4, true, true, -0x80000001n],\n [8, false, true, 0x10000000000000000n],\n [8, true, true, 0x8000000000000000n],\n [8, true, true, -0x8000000000000001n],\n ])(\n \"serialize the number overflowed: size %i, signed %s, bigEndian %s, value %i\",\n (sizeInBits, signed, bigEndian, input) => {\n builder = new ByteArrayBuilder(sizeInBits);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.getErrors().length).toEqual(1);\n expect(builder.build()).toEqual(Uint8Array.from([]));\n },\n );\n\n it(\"error due to a string not well coded\", () => {\n builder\n .addHexaStringToData(\":08081828384\")\n .addHexaStringToData(\"80818n8384\")\n .addHexaStringToData(\"808182838z\");\n\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n expect(builder.getAvailablePayloadLength()).toBe(APDU_MAX_PAYLOAD);\n expect(builder.getErrors()).toEqual([\n new HexaStringEncodeError(\":08081828384\"),\n new HexaStringEncodeError(\"80818n8384\"),\n new HexaStringEncodeError(\"808182838z\"),\n ]);\n });\n\n it(\"error due direct overflow\", () => {\n const myarray = new Uint8Array(256).fill(0xaa, 0, 256);\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n expect(builder.getAvailablePayloadLength()).toBe(APDU_MAX_PAYLOAD);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(myarray.toString()),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-byte array\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n\n const mybuffer = new Uint8Array(1);\n mybuffer.set([0xff], 0);\n\n builder.addBufferToData(mybuffer);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(mybuffer.toString()),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-char ascii\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n\n const mystring = \"a\";\n\n builder.addAsciiStringToData(mystring);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(new TextEncoder().encode(mystring).toString()),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-char hexastring\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n\n const firstString = \"0xB4\";\n const secondString = \"e1\";\n\n builder\n .addHexaStringToData(firstString)\n .addHexaStringToData(secondString);\n\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError((0xb4).toString()),\n new DataOverflowError((0xe1).toString()),\n ]);\n });\n\n it(\"error due to empty values\", () => {\n const mystring = \"\";\n\n builder.addHexaStringToData(mystring).encodeInLVFromHexa(mystring);\n\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n expect(builder.getAvailablePayloadLength()).toBe(APDU_MAX_PAYLOAD);\n expect(builder.getErrors()).toEqual([\n new HexaStringEncodeError(mystring),\n new HexaStringEncodeError(mystring),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-char LV\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD - 1).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD - 1,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_NEARLY);\n expect(builder.getAvailablePayloadLength()).toBe(1);\n\n const firstString = \"n\";\n const secondString = \"e1\";\n const mybuffer = new Uint8Array(1);\n mybuffer.set([0xff], 0);\n\n builder\n .encodeInLVFromAscii(firstString)\n .encodeInLVFromHexa(secondString)\n .encodeInLVFromBuffer(mybuffer);\n\n expect(builder.build()).toEqual(COMMAND_BODY_NEARLY);\n expect(builder.getAvailablePayloadLength()).toBe(1);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(firstString),\n new DataOverflowError(secondString),\n new DataOverflowError(mybuffer.toString()),\n ]);\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nimport { APDU_MAX_PAYLOAD } from \"./ApduBuilder\";\nimport { DataOverflowError, HexaStringEncodeError } from \"./AppBuilderError\";\nimport { ByteArrayBuilder } from \"./ByteArrayBuilder\";\n\nconst COMMAND_NO_BODY = new Uint8Array([]);\n\nconst COMMAND_BODY_SINGLE = new Uint8Array([0x01]);\n\nconst COMMAND_BODY_HEXA1 = new Uint8Array([0x80, 0x81, 0x82, 0x83, 0x84]);\n\nconst COMMAND_BODY_HEXA2 = new Uint8Array([0x85, 0x86, 0x87, 0x88]);\n\nconst COMMAND_BODY_LV_HEXA = new Uint8Array([0x03, 0xa1, 0xa2, 0xa3]);\n\nconst COMMAND_BODY_LV_ASCII = new Uint8Array([\n 0x05, 0x6d, 0x61, 0x6d, 0x61, 0x6e,\n]);\n\nconst COMMAND_BODY_LV_ARRAY = new Uint8Array([0x02, 0xf0, 0xf1]);\n\nconst COMMAND_BODY_COMBINED = new Uint8Array([\n 0x01, 0x33, 0x02, 0x01, 0x23, 0x45, 0x67, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85,\n 0x86, 0x87, 0x88, 0x03, 0xa1, 0xa2, 0xa3, 0x05, 0x6d, 0x61, 0x6d, 0x61, 0x6e,\n 0x02, 0xf0, 0xf1,\n]);\n\nconst COMMAND_BODY_MAX = new Uint8Array([...Array<number>(255).fill(0xaa)]);\n\nconst COMMAND_BODY_NEARLY = new Uint8Array([...Array<number>(254).fill(0xaa)]);\n\nlet builder: ByteArrayBuilder;\n\ndescribe(\"ByteArrayBuilder\", () => {\n const builderAddNumber = (\n num: number | bigint,\n bigEndian: boolean,\n sizeInBits: number,\n signed: boolean,\n ) => {\n if (signed) {\n switch (sizeInBits) {\n case 2:\n builder.add16BitIntToData(num, bigEndian);\n break;\n case 4:\n builder.add32BitIntToData(num, bigEndian);\n break;\n case 8:\n builder.add64BitIntToData(num, bigEndian);\n break;\n case 16:\n builder.add128BitIntToData(num, bigEndian);\n break;\n case 32:\n builder.add256BitIntToData(num, bigEndian);\n break;\n }\n } else {\n switch (sizeInBits) {\n case 2:\n builder.add16BitUIntToData(num, bigEndian);\n break;\n case 4:\n builder.add32BitUIntToData(num, bigEndian);\n break;\n case 8:\n builder.add64BitUIntToData(num, bigEndian);\n break;\n case 16:\n builder.add128BitUIntToData(num, bigEndian);\n break;\n case 32:\n builder.add256BitUIntToData(num, bigEndian);\n break;\n }\n }\n };\n\n describe(\"clean\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it(\"should create an instance\", () => {\n expect(builder).toBeDefined();\n expect(builder).toBeInstanceOf(ByteArrayBuilder);\n });\n });\n\n describe(\"simple\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it(\"should serialize with an empty body\", () => {\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n });\n\n it(\"should serialize with an single byte body\", () => {\n builder = new ByteArrayBuilder(1);\n builder.add8BitUIntToData(0x01);\n expect(builder.build()).toEqual(COMMAND_BODY_SINGLE);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it.each([\n [2, false, true, 0x3302, \"3302\"],\n [2, false, false, 0x3302n, \"0233\"],\n [2, true, true, 4200n, \"1068\"],\n [2, true, true, -4200n, \"ef98\"],\n [2, true, false, 4200, \"6810\"],\n [2, true, false, -4200, \"98ef\"],\n [4, false, true, 0x01234567n, \"01234567\"],\n [4, false, false, 0x01234567n, \"67452301\"],\n [4, true, true, 123456789, \"075bcd15\"],\n [4, true, true, -123456789, \"f8a432eb\"],\n [4, true, false, 123456789, \"15cd5b07\"],\n [4, true, false, -123456789, \"eb32a4f8\"],\n [8, false, true, 14147778004927559n, \"0032435442584447\"],\n [8, false, false, 14147778004927559n, \"4744584254433200\"],\n [8, true, true, 14147778004927559n, \"0032435442584447\"],\n [8, true, true, -14147778004927559n, \"ffcdbcabbda7bbb9\"],\n [8, true, false, 14147778004927559n, \"4744584254433200\"],\n [8, true, false, -14147778004927559n, \"b9bba7bdabbccdff\"],\n [\n 16,\n false,\n true,\n 0x00324354425844470032435442584447n,\n \"00324354425844470032435442584447\",\n ],\n [\n 16,\n false,\n false,\n 0x00324354425844470032435442584447n,\n \"47445842544332004744584254433200\",\n ],\n [\n 16,\n true,\n true,\n 0x00324354425844470032435442584447n,\n \"00324354425844470032435442584447\",\n ],\n [\n 16,\n true,\n true,\n -0x00324354425844470032435442584447n,\n \"ffcdbcabbda7bbb8ffcdbcabbda7bbb9\",\n ],\n [\n 16,\n true,\n false,\n 0x00324354425844470032435442584447n,\n \"47445842544332004744584254433200\",\n ],\n [\n 16,\n true,\n false,\n -0x00324354425844470032435442584447n,\n \"b9bba7bdabbccdffb8bba7bdabbccdff\",\n ],\n [\n 32,\n false,\n true,\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n \"0032435442584447003243544258444700324354425844470032435442584447\",\n ],\n [\n 32,\n false,\n false,\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n \"4744584254433200474458425443320047445842544332004744584254433200\",\n ],\n [\n 32,\n true,\n true,\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n \"0032435442584447003243544258444700324354425844470032435442584447\",\n ],\n [\n 32,\n true,\n true,\n -0x0032435442584447003243544258444700324354425844470032435442584447n,\n \"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9\",\n ],\n [\n 32,\n true,\n false,\n 0x0032435442584447003243544258444700324354425844470032435442584447n,\n \"4744584254433200474458425443320047445842544332004744584254433200\",\n ],\n [\n 32,\n true,\n false,\n -0x0032435442584447003243544258444700324354425844470032435442584447n,\n \"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff\",\n ],\n ])(\n \"serialize the following number: size %i, signed %s, bigEndian %s, value %i, expected %s\",\n (sizeInBits, signed, bigEndian, input, output) => {\n builder = new ByteArrayBuilder(sizeInBits);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.build()).toEqual(hexaStringToBuffer(output));\n expect(builder.getErrors()).toEqual([]);\n\n // Retry with a buffer too small\n builder = new ByteArrayBuilder(sizeInBits - 1);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.getErrors().length).toEqual(1);\n expect(builder.build()).toEqual(Uint8Array.from([]));\n },\n );\n\n it.each([\n [2, false, true, 0xffffn, \"ffff\"],\n [2, true, true, 0x7fffn, \"7fff\"],\n [2, true, true, -0x8000n, \"8000\"],\n [4, false, true, 0xffffffffn, \"ffffffff\"],\n [4, true, true, 0x7fffffffn, \"7fffffff\"],\n [4, true, true, -0x80000000n, \"80000000\"],\n [8, false, true, 0xffffffffffffffffn, \"ffffffffffffffff\"],\n [8, true, true, 0x7fffffffffffffffn, \"7fffffffffffffff\"],\n [8, true, true, -0x8000000000000000n, \"8000000000000000\"],\n [\n 16,\n false,\n true,\n 0xffffffffffffffffffffffffffffffffn,\n \"ffffffffffffffffffffffffffffffff\",\n ],\n [\n 16,\n true,\n true,\n 0x7fffffffffffffffffffffffffffffffn,\n \"7fffffffffffffffffffffffffffffff\",\n ],\n [\n 16,\n true,\n true,\n -0x80000000000000000000000000000000n,\n \"80000000000000000000000000000000\",\n ],\n [\n 32,\n false,\n true,\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,\n \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",\n ],\n [\n 32,\n true,\n true,\n 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,\n \"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",\n ],\n [\n 32,\n true,\n true,\n -0x8000000000000000000000000000000000000000000000000000000000000000n,\n \"8000000000000000000000000000000000000000000000000000000000000000\",\n ],\n ])(\n \"serialize the number to the limit: size %i, signed %s, bigEndian %s, value %i, expected %s\",\n (sizeInBits, signed, bigEndian, input, output) => {\n builder = new ByteArrayBuilder(sizeInBits);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.build()).toEqual(hexaStringToBuffer(output));\n expect(builder.getErrors()).toEqual([]);\n },\n );\n\n it(\"Serialize from float to bigint\", () => {\n builder = new ByteArrayBuilder(4);\n builder.add32BitIntToData(123456789.3, false);\n expect(builder.getErrors().length).toEqual(1);\n expect(builder.build()).toEqual(Uint8Array.from([]));\n });\n\n it(\"should serialize with an 5 byte body from an hexastring\", () => {\n builder.addHexaStringToData(\"0x8081828384\");\n expect(builder.build()).toEqual(COMMAND_BODY_HEXA1);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body from an hexastring without '0x'\", () => {\n builder.addHexaStringToData(\"85868788\");\n expect(builder.build()).toEqual(COMMAND_BODY_HEXA2);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from an hexastring\", () => {\n builder.encodeInLVFromHexa(\"0xA1A2A3\");\n expect(builder.build()).toEqual(COMMAND_BODY_LV_HEXA);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from an ascci string\", () => {\n builder.encodeInLVFromAscii(\"maman\");\n expect(builder.build()).toEqual(COMMAND_BODY_LV_ASCII);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from a buffer\", () => {\n const myarray = new Uint8Array([0xf0, 0xf1]);\n builder.encodeInLVFromBuffer(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_LV_ARRAY);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an 4 byte body LV encoded from a buffer\", () => {\n const myarray = new Uint8Array([0xf0, 0xf1]);\n builder.encodeInLVFromBuffer(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_LV_ARRAY);\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an complete body of 0xAA\", () => {\n const myarray = new Uint8Array(255).fill(0xaa, 0, 255);\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getErrors()).toEqual([]);\n });\n });\n\n describe(\"mixed\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it(\"should serialize with all previous field\", () => {\n let available = APDU_MAX_PAYLOAD;\n builder.add8BitUIntToData(0x01);\n available--;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.add16BitUIntToData(0x3302);\n available -= 2;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.add32BitUIntToData(0x01234567);\n available -= 4;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.addHexaStringToData(\"0x8081828384\");\n available -= 5;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.addHexaStringToData(\"85868788\");\n available -= 4;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.encodeInLVFromHexa(\"0xA1A2A3\");\n available -= 4;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n builder.encodeInLVFromAscii(\"maman\");\n available -= 6;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n const myarray = new Uint8Array([0xf0, 0xf1]);\n builder.encodeInLVFromBuffer(myarray);\n available -= 3;\n expect(builder.getAvailablePayloadLength()).toBe(available);\n\n expect(builder.build()).toEqual(COMMAND_BODY_COMBINED);\n });\n });\n\n describe(\"error\", () => {\n beforeEach(() => {\n builder = new ByteArrayBuilder(APDU_MAX_PAYLOAD);\n });\n\n it.each([\n [2, false, true, 0x10000n],\n [2, true, true, 0x8000n],\n [2, true, true, -0x8001n],\n [4, false, true, 0x100000000n],\n [4, true, true, 0x80000000n],\n [4, true, true, -0x80000001n],\n [8, false, true, 0x10000000000000000n],\n [8, true, true, 0x8000000000000000n],\n [8, true, true, -0x8000000000000001n],\n ])(\n \"serialize the number overflowed: size %i, signed %s, bigEndian %s, value %i\",\n (sizeInBits, signed, bigEndian, input) => {\n builder = new ByteArrayBuilder(sizeInBits);\n builderAddNumber(input, bigEndian, sizeInBits, signed);\n expect(builder.getErrors().length).toEqual(1);\n expect(builder.build()).toEqual(Uint8Array.from([]));\n },\n );\n\n it(\"error due to a string not well coded\", () => {\n builder\n .addHexaStringToData(\":08081828384\")\n .addHexaStringToData(\"80818n8384\")\n .addHexaStringToData(\"808182838z\");\n\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n expect(builder.getAvailablePayloadLength()).toBe(APDU_MAX_PAYLOAD);\n expect(builder.getErrors()).toEqual([\n new HexaStringEncodeError(\":08081828384\"),\n new HexaStringEncodeError(\"80818n8384\"),\n new HexaStringEncodeError(\"808182838z\"),\n ]);\n });\n\n it(\"error due direct overflow\", () => {\n const myarray = new Uint8Array(256).fill(0xaa, 0, 256);\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n expect(builder.getAvailablePayloadLength()).toBe(APDU_MAX_PAYLOAD);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(myarray.toString()),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-byte array\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n\n const mybuffer = new Uint8Array(1);\n mybuffer.set([0xff], 0);\n\n builder.addBufferToData(mybuffer);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(mybuffer.toString()),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-char ascii\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n\n const mystring = \"a\";\n\n builder.addAsciiStringToData(mystring);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(new TextEncoder().encode(mystring).toString()),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-char hexastring\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n\n const firstString = \"0xB4\";\n const secondString = \"e1\";\n\n builder\n .addHexaStringToData(firstString)\n .addHexaStringToData(secondString);\n\n expect(builder.build()).toEqual(COMMAND_BODY_MAX);\n expect(builder.getAvailablePayloadLength()).toBe(0);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError((0xb4).toString()),\n new DataOverflowError((0xe1).toString()),\n ]);\n });\n\n it(\"error due to empty values\", () => {\n const mystring = \"\";\n\n builder.addHexaStringToData(mystring).encodeInLVFromHexa(mystring);\n\n expect(builder.build()).toEqual(COMMAND_NO_BODY);\n expect(builder.getAvailablePayloadLength()).toBe(APDU_MAX_PAYLOAD);\n expect(builder.getErrors()).toEqual([\n new HexaStringEncodeError(mystring),\n new HexaStringEncodeError(mystring),\n ]);\n });\n\n it(\"error due to subsequent overflow with 1-char LV\", () => {\n const myarray = new Uint8Array(APDU_MAX_PAYLOAD - 1).fill(\n 0xaa,\n 0,\n APDU_MAX_PAYLOAD - 1,\n );\n builder.addBufferToData(myarray);\n expect(builder.build()).toEqual(COMMAND_BODY_NEARLY);\n expect(builder.getAvailablePayloadLength()).toBe(1);\n\n const firstString = \"n\";\n const secondString = \"e1\";\n const mybuffer = new Uint8Array(1);\n mybuffer.set([0xff], 0);\n\n builder\n .encodeInLVFromAscii(firstString)\n .encodeInLVFromHexa(secondString)\n .encodeInLVFromBuffer(mybuffer);\n\n expect(builder.build()).toEqual(COMMAND_BODY_NEARLY);\n expect(builder.getAvailablePayloadLength()).toBe(1);\n expect(builder.getErrors()).toEqual([\n new DataOverflowError(firstString),\n new DataOverflowError(secondString),\n new DataOverflowError(mybuffer.toString()),\n ]);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["hexaStringToBuffer", "APDU_MAX_PAYLOAD", "DataOverflowError", "HexaStringEncodeError", "ByteArrayBuilder", "COMMAND_NO_BODY", "COMMAND_BODY_SINGLE", "COMMAND_BODY_HEXA1", "COMMAND_BODY_HEXA2", "COMMAND_BODY_LV_HEXA", "COMMAND_BODY_LV_ASCII", "COMMAND_BODY_LV_ARRAY", "COMMAND_BODY_COMBINED", "COMMAND_BODY_MAX", "COMMAND_BODY_NEARLY", "builder", "builderAddNumber", "num", "bigEndian", "sizeInBits", "signed", "input", "output", "myarray", "available", "mybuffer", "mystring", "firstString", "secondString"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{bufferToHexaString as d}from"../../utils/HexaString";class s{constructor(e){this.buffer=e}index=0;testMinimalLength(e){return e<=this.buffer.length-this.index}extract8BitUInt(){if(!this.outOfRange(1))return this.buffer[this.index++]}extract16BitUInt(e=!0){const t=this.extractNumber(16n,!1,e);return t===void 0?void 0:Number(t)}extract16BitInt(e=!0){const t=this.extractNumber(16n,!0,e);return t===void 0?void 0:Number(t)}extract32BitUInt(e=!0){const t=this.extractNumber(32n,!1,e);return t===void 0?void 0:Number(t)}extract32BitInt(e=!0){const t=this.extractNumber(32n,!0,e);return t===void 0?void 0:Number(t)}extract64BitUInt(e=!0){return this.extractNumber(64n,!1,e)}extract64BitInt(e=!0){return this.extractNumber(64n,!0,e)}extractFieldByLength(e){if(this.outOfRange(e))return;if(e===0)return new Uint8Array;const t=this.buffer.slice(this.index,this.index+e);return this.index+=e,t}extractFieldLVEncoded(){const e=this.extract8BitUInt();if(e===void 0)return;if(e===0)return new Uint8Array;const t=this.extractFieldByLength(e);return t===void 0&&this.index--,t}extractFieldTLVEncoded(){if(this.outOfRange(2))return;const e=this.extract8BitUInt(),t=this.extractFieldLVEncoded();if(e===void 0||t===void 0){this.index--;return}return{tag:e,value:t}}encodeToHexaString(e,t=!1){if(e===void 0||e.length===0)return"";const r=d(e);return t?r:r.slice(2)}encodeToString(e){let t="",r=0;if(!e)return t;for(;r<=e.length;){const i=e[r];i&&(t+=String.fromCharCode(i)),r++}return t}getCurrentIndex(){return this.index}resetIndex(){this.index=0}getUnparsedRemainingLength(){return this.buffer.length-this.index}outOfRange(e){return this.index+e>this.buffer.length}extractNumber(e,t,r){const i=Number(e)/8;if(this.outOfRange(i))return;let u=0n;if(r)for(let n=0;n<i;n++)u=u<<8n|BigInt(this.buffer[n+this.index]);else for(let n=i-1;n>=0;n--)u=u<<8n|BigInt(this.buffer[n+this.index]);if(t){const n=1n<<e-1n;u&n&&(u-=n<<1n)}return this.index+=i,u}}export{s as ByteArrayParser};
1
+ import{bufferToHexaString as d}from"../../utils/HexaString";class s{constructor(e){this.buffer=e}index=0;testMinimalLength(e){return e<=this.buffer.length-this.index}extract8BitUInt(){if(!this.outOfRange(1))return this.buffer[this.index++]}extract16BitUInt(e=!0){const t=this.extractNumber(16n,!1,e);return t===void 0?void 0:Number(t)}extract16BitInt(e=!0){const t=this.extractNumber(16n,!0,e);return t===void 0?void 0:Number(t)}extract32BitUInt(e=!0){const t=this.extractNumber(32n,!1,e);return t===void 0?void 0:Number(t)}extract32BitInt(e=!0){const t=this.extractNumber(32n,!0,e);return t===void 0?void 0:Number(t)}extract64BitUInt(e=!0){return this.extractNumber(64n,!1,e)}extract64BitInt(e=!0){return this.extractNumber(64n,!0,e)}extract128BitUInt(e=!0){return this.extractNumber(128n,!1,e)}extract128BitInt(e=!0){return this.extractNumber(128n,!0,e)}extract256BitUInt(e=!0){return this.extractNumber(256n,!1,e)}extract256BitInt(e=!0){return this.extractNumber(256n,!0,e)}extractFieldByLength(e){if(this.outOfRange(e))return;if(e===0)return new Uint8Array;const t=this.buffer.slice(this.index,this.index+e);return this.index+=e,t}extractFieldLVEncoded(){const e=this.extract8BitUInt();if(e===void 0)return;if(e===0)return new Uint8Array;const t=this.extractFieldByLength(e);return t===void 0&&this.index--,t}extractFieldTLVEncoded(){if(this.outOfRange(2))return;const e=this.extract8BitUInt(),t=this.extractFieldLVEncoded();if(e===void 0||t===void 0){this.index--;return}return{tag:e,value:t}}encodeToHexaString(e,t=!1){if(e===void 0||e.length===0)return"";const r=d(e);return t?r:r.slice(2)}encodeToString(e){let t="",r=0;if(!e)return t;for(;r<=e.length;){const i=e[r];i&&(t+=String.fromCharCode(i)),r++}return t}getCurrentIndex(){return this.index}resetIndex(){this.index=0}getUnparsedRemainingLength(){return this.buffer.length-this.index}outOfRange(e){return this.index+e>this.buffer.length}extractNumber(e,t,r){const i=Number(e)/8;if(this.outOfRange(i))return;let u=0n;if(r)for(let n=0;n<i;n++)u=u<<8n|BigInt(this.buffer[n+this.index]);else for(let n=i-1;n>=0;n--)u=u<<8n|BigInt(this.buffer[n+this.index]);if(t){const n=1n<<e-1n;u&n&&(u-=n<<1n)}return this.index+=i,u}}export{s as ByteArrayParser};
2
2
  //# sourceMappingURL=ByteArrayParser.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/apdu/utils/ByteArrayParser.ts"],
4
- "sourcesContent": ["import { bufferToHexaString, type HexaString } from \"@api/utils/HexaString\";\n\nexport type TaggedField = {\n readonly tag: number;\n readonly value: Uint8Array;\n};\n\n/**\n * ByteArrayParser is a utility class to help parse a byte array.\n *\n * It provides methods to extract fields of different types from the buffer.\n *\n * @example\n * ```\n * const parser = new ByteArrayParser(buffer);\n * const targetId = parser.encodeToHexaString(parser.extractFieldByLength(4));\n * const seVersion = parser.encodeToString(parser.extractFieldLVEncoded());\n * ```\n */\nexport class ByteArrayParser {\n private index: number = 0;\n\n constructor(private readonly buffer: Uint8Array) {}\n\n // ==========\n // Public API\n // ==========\n\n /**\n * Test if the length is greater than the response length\n * @param length: number\n * @returns {boolean} - Returns false if the length is greater than the response length\n */\n testMinimalLength(length: number): boolean {\n return length <= this.buffer.length - this.index;\n }\n\n /**\n * Extract a single byte from the response\n * @returns {number | undefined} - Returns the byte extracted from the response\n */\n extract8BitUInt(): number | undefined {\n if (this.outOfRange(1)) return;\n return this.buffer[this.index++];\n }\n\n /**\n * Extract a 16-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 16-bit unsigned integer extracted from the response\n */\n extract16BitUInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(16n, false, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 16-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 16-bit signed integer extracted from the response\n */\n extract16BitInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(16n, true, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 32-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 32-bit unsigned integer extracted from the response\n */\n extract32BitUInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(32n, false, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 32-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 32-bit signed integer extracted from the response\n */\n extract32BitInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(32n, true, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 64-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 64-bit unsigned integer extracted from the response\n */\n extract64BitUInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(64n, false, bigEndian);\n }\n\n /**\n * Extract a 64-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 64-bit signed integer extracted from the response\n */\n extract64BitInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(64n, true, bigEndian);\n }\n\n /**\n * Extract a field of a specified length from the response\n * @param length: number - The length of the field to extract\n * @returns {Uint8Array | undefined} - Returns the field extracted from the response\n */\n extractFieldByLength(length: number): Uint8Array | undefined {\n if (this.outOfRange(length)) return;\n if (length === 0) return new Uint8Array();\n const field = this.buffer.slice(this.index, this.index + length);\n this.index += length;\n return field;\n }\n\n /**\n * Extract a field from the response that is length-value encoded\n * @returns {Uint8Array | undefined} - Returns the field extracted from the response\n */\n extractFieldLVEncoded(): Uint8Array | undefined {\n // extract Length field\n const length = this.extract8BitUInt();\n if (length === undefined) return;\n else if (length === 0) return new Uint8Array();\n const field = this.extractFieldByLength(length);\n // if the field is inconsistent then roll back to the initial point\n if (field === undefined) this.index--;\n return field;\n }\n\n /**\n * Extract a field from the response that is tag-length-value encoded\n * @returns {TaggedField | undefined} - Returns the field extracted from the response\n */\n extractFieldTLVEncoded(): TaggedField | undefined {\n if (this.outOfRange(2)) return;\n\n const tag = this.extract8BitUInt();\n const value = this.extractFieldLVEncoded();\n\n if (tag === undefined || value === undefined) {\n this.index--;\n return;\n }\n return { tag, value };\n }\n\n /**\n * Encode a value to a hexadecimal string\n * @param value {Uint8Array} - The value to encode\n * @param prefix {boolean} - Whether to add a prefix to the encoded value\n * @returns {string} - The encoded value as a hexadecimal string\n */\n encodeToHexaString(value?: Uint8Array, prefix?: false): string;\n encodeToHexaString(value?: Uint8Array, prefix?: true): HexaString;\n encodeToHexaString(\n value?: Uint8Array,\n prefix: boolean = false,\n ): HexaString | string {\n if (value === undefined || value.length === 0) return \"\";\n const result = bufferToHexaString(value);\n return prefix ? result : result.slice(2);\n }\n\n /**\n * Encode a value to an ASCII string\n * @param value {Uint8Array} - The value to encode\n * @returns {string} - The encoded value as an ASCII string\n */\n encodeToString(value?: Uint8Array): string {\n let result = \"\";\n let index = 0;\n\n if (!value) return result;\n\n while (index <= value.length) {\n const item = value[index];\n if (item) result += String.fromCharCode(item);\n index++;\n }\n\n return result;\n }\n\n /**\n * Get the current index of the parser\n * @returns {number} - The current index of the parser\n */\n getCurrentIndex(): number {\n return this.index;\n }\n\n /**\n * Reset the index of the parser to 0\n */\n resetIndex() {\n this.index = 0;\n }\n\n /**\n * Get the remaining length of the response\n * @returns {number} - The remaining length of the response\n */\n getUnparsedRemainingLength(): number {\n return this.buffer.length - this.index;\n }\n\n // ===========\n // Private API\n // ===========\n\n /**\n * Check whether the expected length is out of range\n * @param length: number\n * @returns {boolean} - Returns true if the expected length is out of range\n */\n private outOfRange(length: number): boolean {\n return this.index + length > this.buffer.length;\n }\n\n /**\n * Extract a number from the buffer\n * @param sizeInBits: bigint - The number size in bits, for example 16 for a uint16\n * @param signed: boolean - True is the number can be signed and converted to two's compliment\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {bigint | undefined} - Returns the number extracted from the buffer\n */\n private extractNumber(\n sizeInBits: bigint,\n signed: boolean,\n bigEndian: boolean,\n ): bigint | undefined {\n // Check the range\n const sizeInBytes: number = Number(sizeInBits) / 8;\n if (this.outOfRange(sizeInBytes)) return;\n\n // Compute the number\n let value: bigint = 0n;\n if (bigEndian) {\n for (let i = 0; i < sizeInBytes; i++) {\n value = (value << 8n) | BigInt(this.buffer[i + this.index]!);\n }\n } else {\n for (let i = sizeInBytes - 1; i >= 0; i--) {\n value = (value << 8n) | BigInt(this.buffer[i + this.index]!);\n }\n }\n\n // Convert the value to two's complement if it is negative\n // https://en.wikipedia.org/wiki/Two%27s_complement\n if (signed) {\n const limit = 1n << (sizeInBits - 1n);\n if (value & limit) {\n value -= limit << 1n;\n }\n }\n\n this.index += sizeInBytes;\n return value;\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { bufferToHexaString, type HexaString } from \"@api/utils/HexaString\";\n\nexport type TaggedField = {\n readonly tag: number;\n readonly value: Uint8Array;\n};\n\n/**\n * ByteArrayParser is a utility class to help parse a byte array.\n *\n * It provides methods to extract fields of different types from the buffer.\n *\n * @example\n * ```\n * const parser = new ByteArrayParser(buffer);\n * const targetId = parser.encodeToHexaString(parser.extractFieldByLength(4));\n * const seVersion = parser.encodeToString(parser.extractFieldLVEncoded());\n * ```\n */\nexport class ByteArrayParser {\n private index: number = 0;\n\n constructor(private readonly buffer: Uint8Array) {}\n\n // ==========\n // Public API\n // ==========\n\n /**\n * Test if the length is greater than the response length\n * @param length: number\n * @returns {boolean} - Returns false if the length is greater than the response length\n */\n testMinimalLength(length: number): boolean {\n return length <= this.buffer.length - this.index;\n }\n\n /**\n * Extract a single byte from the response\n * @returns {number | undefined} - Returns the byte extracted from the response\n */\n extract8BitUInt(): number | undefined {\n if (this.outOfRange(1)) return;\n return this.buffer[this.index++];\n }\n\n /**\n * Extract a 16-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 16-bit unsigned integer extracted from the response\n */\n extract16BitUInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(16n, false, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 16-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 16-bit signed integer extracted from the response\n */\n extract16BitInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(16n, true, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 32-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 32-bit unsigned integer extracted from the response\n */\n extract32BitUInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(32n, false, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 32-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 32-bit signed integer extracted from the response\n */\n extract32BitInt(bigEndian: boolean = true): number | undefined {\n const value = this.extractNumber(32n, true, bigEndian);\n return value === undefined ? undefined : Number(value);\n }\n\n /**\n * Extract a 64-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 64-bit unsigned integer extracted from the response\n */\n extract64BitUInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(64n, false, bigEndian);\n }\n\n /**\n * Extract a 64-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 64-bit signed integer extracted from the response\n */\n extract64BitInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(64n, true, bigEndian);\n }\n\n /**\n * Extract a 128-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 128-bit unsigned integer extracted from the response\n */\n extract128BitUInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(128n, false, bigEndian);\n }\n\n /**\n * Extract a 128-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 128-bit signed integer extracted from the response\n */\n extract128BitInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(128n, true, bigEndian);\n }\n\n /**\n * Extract a 256-bit unsigned integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 256-bit unsigned integer extracted from the response\n */\n extract256BitUInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(256n, false, bigEndian);\n }\n\n /**\n * Extract a 256-bit signed integer from the response\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {number | undefined} - Returns the 256-bit signed integer extracted from the response\n */\n extract256BitInt(bigEndian: boolean = true): bigint | undefined {\n return this.extractNumber(256n, true, bigEndian);\n }\n\n /**\n * Extract a field of a specified length from the response\n * @param length: number - The length of the field to extract\n * @returns {Uint8Array | undefined} - Returns the field extracted from the response\n */\n extractFieldByLength(length: number): Uint8Array | undefined {\n if (this.outOfRange(length)) return;\n if (length === 0) return new Uint8Array();\n const field = this.buffer.slice(this.index, this.index + length);\n this.index += length;\n return field;\n }\n\n /**\n * Extract a field from the response that is length-value encoded\n * @returns {Uint8Array | undefined} - Returns the field extracted from the response\n */\n extractFieldLVEncoded(): Uint8Array | undefined {\n // extract Length field\n const length = this.extract8BitUInt();\n if (length === undefined) return;\n else if (length === 0) return new Uint8Array();\n const field = this.extractFieldByLength(length);\n // if the field is inconsistent then roll back to the initial point\n if (field === undefined) this.index--;\n return field;\n }\n\n /**\n * Extract a field from the response that is tag-length-value encoded\n * @returns {TaggedField | undefined} - Returns the field extracted from the response\n */\n extractFieldTLVEncoded(): TaggedField | undefined {\n if (this.outOfRange(2)) return;\n\n const tag = this.extract8BitUInt();\n const value = this.extractFieldLVEncoded();\n\n if (tag === undefined || value === undefined) {\n this.index--;\n return;\n }\n return { tag, value };\n }\n\n /**\n * Encode a value to a hexadecimal string\n * @param value {Uint8Array} - The value to encode\n * @param prefix {boolean} - Whether to add a prefix to the encoded value\n * @returns {string} - The encoded value as a hexadecimal string\n */\n encodeToHexaString(value?: Uint8Array, prefix?: false): string;\n encodeToHexaString(value?: Uint8Array, prefix?: true): HexaString;\n encodeToHexaString(\n value?: Uint8Array,\n prefix: boolean = false,\n ): HexaString | string {\n if (value === undefined || value.length === 0) return \"\";\n const result = bufferToHexaString(value);\n return prefix ? result : result.slice(2);\n }\n\n /**\n * Encode a value to an ASCII string\n * @param value {Uint8Array} - The value to encode\n * @returns {string} - The encoded value as an ASCII string\n */\n encodeToString(value?: Uint8Array): string {\n let result = \"\";\n let index = 0;\n\n if (!value) return result;\n\n while (index <= value.length) {\n const item = value[index];\n if (item) result += String.fromCharCode(item);\n index++;\n }\n\n return result;\n }\n\n /**\n * Get the current index of the parser\n * @returns {number} - The current index of the parser\n */\n getCurrentIndex(): number {\n return this.index;\n }\n\n /**\n * Reset the index of the parser to 0\n */\n resetIndex() {\n this.index = 0;\n }\n\n /**\n * Get the remaining length of the response\n * @returns {number} - The remaining length of the response\n */\n getUnparsedRemainingLength(): number {\n return this.buffer.length - this.index;\n }\n\n // ===========\n // Private API\n // ===========\n\n /**\n * Check whether the expected length is out of range\n * @param length: number\n * @returns {boolean} - Returns true if the expected length is out of range\n */\n private outOfRange(length: number): boolean {\n return this.index + length > this.buffer.length;\n }\n\n /**\n * Extract a number from the buffer\n * @param sizeInBits: bigint - The number size in bits, for example 16 for a uint16\n * @param signed: boolean - True is the number can be signed and converted to two's compliment\n * @param bigEndian: boolean - True to decode in big endian, false for little endian\n * @returns {bigint | undefined} - Returns the number extracted from the buffer\n */\n private extractNumber(\n sizeInBits: bigint,\n signed: boolean,\n bigEndian: boolean,\n ): bigint | undefined {\n // Check the range\n const sizeInBytes: number = Number(sizeInBits) / 8;\n if (this.outOfRange(sizeInBytes)) return;\n\n // Compute the number\n let value: bigint = 0n;\n if (bigEndian) {\n for (let i = 0; i < sizeInBytes; i++) {\n value = (value << 8n) | BigInt(this.buffer[i + this.index]!);\n }\n } else {\n for (let i = sizeInBytes - 1; i >= 0; i--) {\n value = (value << 8n) | BigInt(this.buffer[i + this.index]!);\n }\n }\n\n // Convert the value to two's complement if it is negative\n // https://en.wikipedia.org/wiki/Two%27s_complement\n if (signed) {\n const limit = 1n << (sizeInBits - 1n);\n if (value & limit) {\n value -= limit << 1n;\n }\n }\n\n this.index += sizeInBytes;\n return value;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["bufferToHexaString", "ByteArrayParser", "buffer", "length", "bigEndian", "value", "field", "tag", "prefix", "result", "index", "item", "sizeInBits", "signed", "sizeInBytes", "i", "limit"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{hexaStringToBuffer as s}from"../../utils/HexaString";import{ByteArrayParser as a}from"./ByteArrayParser";const B=new Uint8Array([1]),u=new Uint8Array([0]),l=new Uint8Array([1,1]),U=new Uint8Array([171,0]),g=new Uint8Array([1,2,3,...Array(253).fill(170)]),E="33000004",R="0xe6000000",m=3858759680,d="2.2.3",C="2.30",S="1.16",b=0,A=1,T=0,h=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]),L="BOLOS",p=new Uint8Array([1,5,66,79,76,79,83,5,50,46,50,46,51]);let e,c=B;describe("ByteArrayParser",()=>{const f=(n,t,r)=>{if(r)switch(t){case 2:return e.extract16BitInt(n);case 4:return e.extract32BitInt(n);case 8:return e.extract64BitInt(n)}else switch(t){case 2:return e.extract16BitUInt(n);case 4:return e.extract32BitUInt(n);case 8:return e.extract64BitUInt(n)}};describe("clean",()=>{beforeEach(()=>{jest.resetAllMocks()}),it("should create an instance",()=>{e=new a(c),expect(e).toBeDefined(),expect(e).toBeInstanceOf(a)}),it("Extract a single byte",()=>{e=new a(c),expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0)}),it("Extract one byte",()=>{c=g,e=new a(c);let n=0,t=g.length;for(expect(t).toBe(256),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--,expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--,expect(e.extract8BitUInt()).toBe(2),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--,expect(e.extract8BitUInt()).toBe(3),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--;t!=0;)expect(e.extract8BitUInt()).toBe(170),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--}),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]])("Extract a number to the limit: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(n,t,r,x,o)=>{e=new a(s(x));const i=f(r,n,t);expect(i).toStrictEqual(o)}),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]])("Extract the following number: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(n,t,r,x,o)=>{e=new a(s(x));const i=f(r,n,t);expect(i).toStrictEqual(o)}),it("Extract 16-bit & 32-bit number",()=>{c=g,e=new a(c);let n=0,t=g.length;expect(t).toBe(256),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBe(258),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBe(938),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),e.resetIndex(),n=0,t=g.length,expect(e.extract32BitUInt()).toBe(16909226),n+=4,t-=4,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract32BitUInt()).toBe(2863311530),n+=4,t-=4,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)}),it("Parse a GetAppVersion response",()=>{c=p,e=new a(c);let n=0,t=p.length;expect(t).toBe(13),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);const r=e.extract8BitUInt();n++,t--,expect(r).toBe(1),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let x=e.extractFieldLVEncoded();expect(x).toStrictEqual(I),expect(e.encodeToString(x)).toBe(L),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),x=e.extractFieldLVEncoded(),expect(e.encodeToString(x)).toBe(d),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),e.resetIndex(),n=0,t=p.length,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);const o=e.extractFieldTLVEncoded();expect(o?.tag).toBe(1),expect(o?.value).toStrictEqual(I),expect(e.encodeToString(o?.value)).toBe(L),n+=7,t-=7,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),x=e.extractFieldLVEncoded(),expect(e.encodeToString(x)).toBe(d),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)}),it("Parse a GetVersion response",()=>{c=h,e=new a(c);let n=0,t=h.length;expect(t).toBe(31),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.testMinimalLength(25)).toBe(!0);let r=e.extractFieldByLength(4);expect(e.encodeToHexaString(r)).toBe(E),n+=4,t-=4,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(d),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded();const x=e.encodeToHexaString(r,!0);expect(x).toBe(R),expect(parseInt(x,16)).toBe(m),n+=5,t-=5,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(C),n+=5,t-=5,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(S),n+=5,t-=5,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r?.at(0)).toBe(b),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r?.at(0)).toBe(A),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r?.at(0)).toBe(T),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)})}),describe("errors",()=>{it("no response",()=>{c=new Uint8Array,e=new a(c);const n=0,t=0;expect(e.testMinimalLength(1)).toBe(!1),expect(e.extract8BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let r=e.extractFieldByLength(2);expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);const x=e.extractFieldTLVEncoded();expect(x).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)}),it("length error",()=>{c=B,e=new a(c);const n=0,t=B.length;expect(t).toBe(1),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let r=e.extractFieldByLength(2);expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let x=e.extractFieldTLVEncoded();expect(x).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),c=l,e=new a(c),x=e.extractFieldTLVEncoded(),expect(x).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(l.length)}),it("Test zero length",()=>{c=u,e=new a(c);const n=new Uint8Array,t=0;let r=u.length;expect(r).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(r);const x=e.extract8BitUInt();expect(x).toBe(0),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),e.resetIndex();let o=e.extractFieldByLength(0);expect(o).toStrictEqual(n),expect(e.encodeToString(o)).toBe(""),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(r),o=e.extractFieldLVEncoded(),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),expect(o).toStrictEqual(n),expect(e.encodeToString(o)).toBe(""),c=U,e=new a(c),r=U.length,expect(r).toBe(2),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(r);const i=e.extractFieldTLVEncoded();expect(i?.tag).toBe(171),expect(i?.value).toStrictEqual(n),expect(e.encodeToString(i?.value)).toBe(""),expect(e.getCurrentIndex()).toBe(2),expect(e.getUnparsedRemainingLength()).toBe(0),expect(e.encodeToHexaString()).toBe(""),expect(e.encodeToString()).toBe("")})})});
1
+ import{hexaStringToBuffer as s}from"../../utils/HexaString";import{ByteArrayParser as c}from"./ByteArrayParser";const p=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=p;describe("ByteArrayParser",()=>{const B=(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(x),expect(e).toBeDefined(),expect(e).toBeInstanceOf(c)}),it("Extract a single byte",()=>{e=new c(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(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(s(r));const o=B(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(s(r));const o=B(n,t,f);expect(o).toStrictEqual(a)}),it("Extract 16-bit & 32-bit number",()=>{x=d,e=new c(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(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(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(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=p,e=new c(x);const t=0,f=p.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(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(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(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 }\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 }\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 \"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 \"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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",
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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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,IAAInB,EAAgBD,EAAmB4B,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,IAAInB,EAAgBoB,CAAQ,EACrC,IAAIK,EAAQ,EACRC,EAASrB,EAAmB,OAEhC,OAAOqB,CAAM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",
6
6
  "names": ["hexaStringToBuffer", "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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/model/CommandResult.ts"],
4
- "sourcesContent": ["import {\n type InvalidBatteryDataError,\n type InvalidBatteryStatusTypeError,\n type InvalidResponseFormatError,\n type InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { type GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport {\n type DeviceExchangeError,\n type UnknownDeviceExchangeError,\n} from \"@api/Error\";\n\nexport enum CommandResultStatus {\n Error = \"ERROR\",\n Success = \"SUCCESS\",\n}\ntype CommandSuccessResult<Data> = {\n status: CommandResultStatus.Success;\n data: Data;\n};\nexport type CommandErrorResult<SpecificErrorCodes = void> = {\n error:\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError;\n status: CommandResultStatus.Error;\n};\nexport type CommandResult<Data, SpecificErrorCodes = void> =\n | CommandSuccessResult<Data>\n | CommandErrorResult<SpecificErrorCodes>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error:\n | DeviceExchangeError<SpecificErrorCodes>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error) {\n return {\n status: CommandResultStatus.Error,\n error,\n };\n }\n return {\n status: CommandResultStatus.Success,\n data,\n };\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return result.status === CommandResultStatus.Success;\n}\n"],
4
+ "sourcesContent": ["import {\n type InvalidBatteryDataError,\n type InvalidBatteryStatusTypeError,\n type InvalidResponseFormatError,\n type InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { type GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport {\n type DeviceExchangeError,\n type UnknownDeviceExchangeError,\n} from \"@api/Error\";\n\nexport enum CommandResultStatus {\n Error = \"ERROR\",\n Success = \"SUCCESS\",\n}\nexport type CommandSuccessResult<Data> = {\n status: CommandResultStatus.Success;\n data: Data;\n};\nexport type CommandErrorResult<SpecificErrorCodes = void> = {\n error:\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError;\n status: CommandResultStatus.Error;\n};\nexport type CommandResult<Data, SpecificErrorCodes = void> =\n | CommandSuccessResult<Data>\n | CommandErrorResult<SpecificErrorCodes>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error:\n | DeviceExchangeError<SpecificErrorCodes>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error) {\n return {\n status: CommandResultStatus.Error,\n error,\n };\n }\n return {\n status: CommandResultStatus.Success,\n data,\n };\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return result.status === CommandResultStatus.Success;\n}\n"],
5
5
  "mappings": "AAYO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAFAA,OAAA,IAsBL,SAASC,EAAsD,CACpE,KAAAC,EACA,MAAAC,CACF,EAWgD,CAC9C,OAAIA,EACK,CACL,OAAQ,QACR,MAAAA,CACF,EAEK,CACL,OAAQ,UACR,KAAAD,CACF,CACF,CAEO,SAASE,EACdC,EACsC,CACtC,OAAOA,EAAO,SAAW,SAC3B",
6
6
  "names": ["CommandResultStatus", "CommandResultFactory", "data", "error", "isSuccessCommandResult", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduBuilder as p}from"../../apdu/utils/ApduBuilder";import{ApduParser as g}from"../../apdu/utils/ApduParser";import{CommandResultFactory as t}from"../../command/model/CommandResult";import{CommandUtils as u}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as V}from"../../command/utils/GlobalCommandError";import{DeviceModelId as x}from"../../device/DeviceModel";class L{args=void 0;getApdu(){const r={cla:224,ins:1,p1:0,p2:0};return new p(r).build()}parseResponse(r,d){if(!u.isSuccessResponse(r))return t({error:V.handle(r)});const e=new g(r),s=e.encodeToHexaString(e.extractFieldByLength(4)),i=e.encodeToString(e.extractFieldLVEncoded()),a=parseInt(e.encodeToHexaString(e.extractFieldLVEncoded()).toString(),16),c=e.encodeToString(e.extractFieldLVEncoded()),l=e.encodeToString(e.extractFieldLVEncoded());let o="00";d===x.NANO_X&&(o=e.encodeToHexaString(e.extractFieldLVEncoded()));const m=e.encodeToHexaString(e.extractFieldLVEncoded()),n=e.encodeToHexaString(e.extractFieldLVEncoded());return t({data:{targetId:s,seVersion:i,seFlags:a,mcuSephVersion:c,mcuBootloaderVersion:l,hwVersion:o,langId:m,recoverState:n||"0"}})}}export{L as GetOsVersionCommand};
1
+ import{ApduBuilder as p}from"../../apdu/utils/ApduBuilder";import{ApduParser as g}from"../../apdu/utils/ApduParser";import{CommandResultFactory as t}from"../../command/model/CommandResult";import{CommandUtils as u}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as V}from"../../command/utils/GlobalCommandError";import{DeviceModelId as x}from"../../device/DeviceModel";class I{args=void 0;getApdu(){const r={cla:224,ins:1,p1:0,p2:0};return new p(r).build()}parseResponse(r,d){if(!u.isSuccessResponse(r))return t({error:V.handle(r)});const e=new g(r),s=parseInt(e.encodeToHexaString(e.extractFieldByLength(4)),16),i=e.encodeToString(e.extractFieldLVEncoded()),a=parseInt(e.encodeToHexaString(e.extractFieldLVEncoded()).toString(),16),c=e.encodeToString(e.extractFieldLVEncoded()),m=e.encodeToString(e.extractFieldLVEncoded());let o="00";d===x.NANO_X&&(o=e.encodeToHexaString(e.extractFieldLVEncoded()));const l=e.encodeToHexaString(e.extractFieldLVEncoded()),n=e.encodeToHexaString(e.extractFieldLVEncoded());return t({data:{targetId:s,seVersion:i,seFlags:a,mcuSephVersion:c,mcuBootloaderVersion:m,hwVersion:o,langId:l,recoverState:n||"0"}})}}export{I as 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: string;\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 = parser.encodeToHexaString(parser.extractFieldByLength(4));\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": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAC1C,OAAS,iBAAAC,MAAqB,0BA2DvB,MAAMC,CAA6D,CAC/D,KAAO,OAEhB,SAAgB,CACd,MAAMC,EAAwC,CAC5C,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIP,EAAYO,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEC,EACAC,EACqC,CACrC,GAAI,CAACN,EAAa,kBAAkBK,CAAY,EAC9C,OAAON,EAAqB,CAC1B,MAAOE,EAA0B,OAAOI,CAAY,CACtD,CAAC,EAEH,MAAME,EAAS,IAAIT,EAAWO,CAAY,EAEpCG,EAAWD,EAAO,mBAAmBA,EAAO,qBAAqB,CAAC,CAAC,EACnEE,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,IAAkBJ,EAAc,SAClCW,EAAYN,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,GAGtE,MAAMO,EAASP,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,EACjEQ,EAAeR,EAAO,mBAC1BA,EAAO,sBAAsB,CAC/B,EAEA,OAAOR,EAAqB,CAC1B,KAAM,CACJ,SAAAS,EACA,UAAAC,EACA,QAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,UAAAC,EACA,OAAAC,EACA,aAAcC,GAA8B,GAC9C,CACF,CAAC,CACH,CACF",
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": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAC1C,OAAS,iBAAAC,MAAqB,0BA2DvB,MAAMC,CAA6D,CAC/D,KAAO,OAEhB,SAAgB,CACd,MAAMC,EAAwC,CAC5C,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIP,EAAYO,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEC,EACAC,EACqC,CACrC,GAAI,CAACN,EAAa,kBAAkBK,CAAY,EAC9C,OAAON,EAAqB,CAC1B,MAAOE,EAA0B,OAAOI,CAAY,CACtD,CAAC,EAEH,MAAME,EAAS,IAAIT,EAAWO,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,IAAkBJ,EAAc,SAClCW,EAAYN,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,GAGtE,MAAMO,EAASP,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,EACjEQ,EAAeR,EAAO,mBAC1BA,EAAO,sBAAsB,CAC/B,EAEA,OAAOR,EAAqB,CAC1B,KAAM,CACJ,SAAAS,EACA,UAAAC,EACA,QAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,UAAAC,EACA,OAAAC,EACA,aAAcC,GAA8B,GAC9C,CACF,CAAC,CACH,CACF",
6
6
  "names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "DeviceModelId", "GetOsVersionCommand", "getOsVersionApduArgs", "apduResponse", "deviceModelId", "parser", "targetId", "seVersion", "seFlags", "mcuSephVersion", "mcuBootloaderVersion", "hwVersion", "langId", "recoverState"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as o,isSuccessCommandResult as a}from"../../command/model/CommandResult";import{DeviceModelId as t}from"../../device/DeviceModel";import{ApduResponse as r}from"../../device-session/ApduResponse";import{GetOsVersionCommand as n}from"./GetOsVersionCommand";const d=Uint8Array.from([224,1,0,0,0]),c=Uint8Array.from([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,0,1,0,144,0]),i=new r({statusCode:Uint8Array.from([144,0]),data:c}),p=Uint8Array.from([51,16,0,4,5,49,46,49,46,49,4,230,0,0,0,4,52,46,48,51,4,51,46,49,50,1,0,1,0,144,0]),m=new r({statusCode:Uint8Array.from([144,0]),data:p}),S=Uint8Array.from([51,32,0,4,5,49,46,51,46,48,4,230,0,0,0,4,53,46,50,52,4,48,46,52,56,1,0,1,0,144,0]),u=new r({statusCode:Uint8Array.from([144,0]),data:S});describe("GetOsVersionCommand",()=>{let s;beforeEach(()=>{s=new n}),describe("getApdu",()=>{it("should return the GetOsVersion apdu",()=>{const e=s.getApdu();expect(e.getRawApdu()).toStrictEqual(d)})}),describe("parseResponse",()=>{describe("Nano X",()=>{it("should parse the LNX response",()=>{const e=s.parseResponse(i,t.NANO_X),x=o({data:{targetId:"33000004",seVersion:"2.2.3",seFlags:3858759680,mcuSephVersion:"2.30",mcuBootloaderVersion:"1.16",hwVersion:"00",langId:"00",recoverState:"00"}});expect(e).toStrictEqual(x)})}),describe("Nano S Plus",()=>{it("should parse the LNSP response",()=>{const e=s.parseResponse(m,t.NANO_SP),x=o({data:{targetId:"33100004",seVersion:"1.1.1",seFlags:3858759680,mcuSephVersion:"4.03",mcuBootloaderVersion:"3.12",hwVersion:"00",langId:"00",recoverState:"00"}});expect(e).toStrictEqual(x)})}),describe("Stax",()=>{it("should parse the STAX response",()=>{const e=s.parseResponse(u,t.STAX),x=o({data:{targetId:"33200004",seVersion:"1.3.0",seFlags:3858759680,mcuSephVersion:"5.24",mcuBootloaderVersion:"0.48",hwVersion:"00",langId:"00",recoverState:"00"}});expect(e).toStrictEqual(x)})}),describe("Error handling",()=>{it("should return an error if the response is not successful",()=>{const e=new r({statusCode:Uint8Array.from([110,128]),data:Uint8Array.from([])}),x=s.parseResponse(e,t.NANO_S);expect(a(x)).toBeFalsy()})})})});
1
+ import{CommandResultFactory as o,isSuccessCommandResult as a}from"../../command/model/CommandResult";import{DeviceModelId as s}from"../../device/DeviceModel";import{ApduResponse as r}from"../../device-session/ApduResponse";import{getOsVersionCommandResponseMockBuilder as n}from"./__mocks__/GetOsVersionCommand";import{GetOsVersionCommand as d}from"./GetOsVersionCommand";const c=Uint8Array.from([224,1,0,0,0]),p=Uint8Array.from([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,0,1,0,144,0]),i=new r({statusCode:Uint8Array.from([144,0]),data:p}),m=Uint8Array.from([51,16,0,4,5,49,46,49,46,49,4,230,0,0,0,4,52,46,48,51,4,51,46,49,50,1,0,1,0,144,0]),S=new r({statusCode:Uint8Array.from([144,0]),data:m}),A=Uint8Array.from([51,32,0,4,5,49,46,51,46,48,4,230,0,0,0,4,53,46,50,52,4,48,46,52,56,1,0,1,0,144,0]),O=new r({statusCode:Uint8Array.from([144,0]),data:A});describe("GetOsVersionCommand",()=>{let t;beforeEach(()=>{t=new d}),describe("getApdu",()=>{it("should return the GetOsVersion apdu",()=>{const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(c)})}),describe("parseResponse",()=>{describe("Nano X",()=>{it("should parse the LNX response",()=>{const e=t.parseResponse(i,s.NANO_X),x=o({data:n(s.NANO_X)});expect(e).toStrictEqual(x)})}),describe("Nano S Plus",()=>{it("should parse the LNSP response",()=>{const e=t.parseResponse(S,s.NANO_SP),x=o({data:n(s.NANO_SP)});expect(e).toStrictEqual(x)})}),describe("Stax",()=>{it("should parse the STAX response",()=>{const e=t.parseResponse(O,s.STAX),x=o({data:n(s.STAX)});expect(e).toStrictEqual(x)})}),describe("Error handling",()=>{it("should return an error if the response is not successful",()=>{const e=new r({statusCode:Uint8Array.from([110,128]),data:Uint8Array.from([])}),x=t.parseResponse(e,s.NANO_S);expect(a(x)).toBeFalsy()})})})});
2
2
  //# sourceMappingURL=GetOsVersionCommand.test.js.map