@ledgerhq/device-management-kit 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-solana-signer-20251204160729

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 (942) hide show
  1. package/README.md +43 -6
  2. package/lib/cjs/package.json +46 -42
  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 +3 -3
  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/DmkConfig.js +1 -1
  10. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  11. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  12. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
  13. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  14. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  15. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +1 -1
  16. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
  17. package/lib/cjs/src/api/command/Command.js +1 -1
  18. package/lib/cjs/src/api/command/Command.js.map +1 -1
  19. package/lib/cjs/src/api/command/Errors.js +1 -1
  20. package/lib/cjs/src/api/command/Errors.js.map +3 -3
  21. package/lib/cjs/src/api/command/di/commandModule.js +1 -1
  22. package/lib/cjs/src/api/command/di/commandModule.js.map +3 -3
  23. package/lib/cjs/src/api/command/di/commandModule.test.js +1 -1
  24. package/lib/cjs/src/api/command/di/commandModule.test.js.map +2 -2
  25. package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
  26. package/lib/cjs/src/api/command/model/CommandResult.js.map +2 -2
  27. package/lib/cjs/src/api/command/os/CloseAppCommand.js +1 -1
  28. package/lib/cjs/src/api/command/os/CloseAppCommand.js.map +2 -2
  29. package/lib/cjs/src/api/command/os/CloseAppCommand.test.js +1 -1
  30. package/lib/cjs/src/api/command/os/CloseAppCommand.test.js.map +2 -2
  31. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js +1 -1
  32. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js.map +2 -2
  33. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js +1 -1
  34. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js.map +2 -2
  35. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js +1 -1
  36. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js.map +2 -2
  37. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
  38. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
  39. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  40. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  41. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  42. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  43. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  44. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  45. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  46. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  47. package/lib/cjs/src/api/command/os/ListAppsCommand.js +1 -1
  48. package/lib/cjs/src/api/command/os/ListAppsCommand.js.map +2 -2
  49. package/lib/cjs/src/api/command/os/ListAppsCommand.test.js +1 -1
  50. package/lib/cjs/src/api/command/os/ListAppsCommand.test.js.map +2 -2
  51. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js +2 -0
  52. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  53. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  54. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  55. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +1 -1
  56. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +2 -2
  57. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +1 -1
  58. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +3 -3
  59. package/lib/cjs/src/api/command/os/OpenAppCommand.js +1 -1
  60. package/lib/cjs/src/api/command/os/OpenAppCommand.js.map +2 -2
  61. package/lib/cjs/src/api/command/os/OpenAppCommand.test.js +1 -1
  62. package/lib/cjs/src/api/command/os/OpenAppCommand.test.js.map +2 -2
  63. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  64. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  65. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js +1 -1
  66. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  67. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  68. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  69. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  70. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
  71. package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
  72. package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
  73. package/lib/cjs/src/api/command/utils/GlobalCommandError.js +1 -1
  74. package/lib/cjs/src/api/command/utils/GlobalCommandError.js.map +2 -2
  75. package/lib/cjs/src/api/device/DeviceModel.js +1 -1
  76. package/lib/cjs/src/api/device/DeviceModel.js.map +2 -2
  77. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  78. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  79. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  80. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  81. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  82. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  83. package/lib/cjs/src/api/device-action/di/deviceActionModule.js +1 -1
  84. package/lib/cjs/src/api/device-action/di/deviceActionModule.js.map +3 -3
  85. package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js +1 -1
  86. package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
  87. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js +1 -1
  88. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  89. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  90. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
  91. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  92. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  93. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -1
  94. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +1 -1
  95. package/lib/cjs/src/api/device-action/os/Errors.js +1 -1
  96. package/lib/cjs/src/api/device-action/os/Errors.js.map +3 -3
  97. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  98. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  99. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  100. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  101. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +2 -0
  102. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  103. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  104. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  105. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  106. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  107. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
  108. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
  109. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js +1 -1
  110. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js.map +1 -1
  111. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  112. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  113. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  114. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  115. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js +2 -0
  116. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  117. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  118. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  119. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  120. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  121. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  122. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +2 -2
  123. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  124. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  125. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  126. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  127. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  128. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  129. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js +2 -0
  130. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  131. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  132. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  133. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  134. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  135. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  136. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  137. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  138. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  139. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  140. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  141. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  142. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  143. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  144. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  145. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  146. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  147. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  148. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  149. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  150. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  151. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  152. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  153. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  154. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
  155. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  156. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  157. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  158. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  159. package/lib/cjs/src/api/device-model/model/DeviceModel.js +1 -1
  160. package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +2 -2
  161. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +1 -1
  162. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  163. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  164. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  165. package/lib/cjs/src/api/index.js +1 -1
  166. package/lib/cjs/src/api/index.js.map +3 -3
  167. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js +1 -1
  168. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js.map +3 -3
  169. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  170. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  171. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +1 -1
  172. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  173. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +3 -3
  174. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js +1 -1
  175. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js.map +1 -1
  176. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  177. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  178. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
  179. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  180. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
  181. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +3 -3
  182. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js +1 -1
  183. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js.map +1 -1
  184. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
  185. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
  186. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
  187. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
  188. package/lib/cjs/src/api/secure-channel/task/types.js +1 -1
  189. package/lib/cjs/src/api/secure-channel/task/types.js.map +2 -2
  190. package/lib/cjs/src/api/secure-channel/utils.js +1 -1
  191. package/lib/cjs/src/api/secure-channel/utils.js.map +3 -3
  192. package/lib/cjs/src/api/secure-channel/utils.test.js +1 -1
  193. package/lib/cjs/src/api/secure-channel/utils.test.js.map +3 -3
  194. package/lib/cjs/src/api/transport/model/ConnectedDevice.js +1 -1
  195. package/lib/cjs/src/api/transport/model/ConnectedDevice.js.map +3 -3
  196. package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
  197. package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
  198. package/lib/cjs/src/api/transport/model/DeviceConnection.js +1 -1
  199. package/lib/cjs/src/api/transport/model/DeviceConnection.js.map +1 -1
  200. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  201. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  202. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
  203. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
  204. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  205. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  206. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  207. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  208. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js +1 -1
  209. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js.map +3 -3
  210. package/lib/cjs/src/api/types.js +1 -1
  211. package/lib/cjs/src/api/types.js.map +1 -1
  212. package/lib/cjs/src/api/utils/AppName.js +2 -0
  213. package/lib/cjs/src/api/utils/AppName.js.map +7 -0
  214. package/lib/cjs/src/api/utils/AppName.test.js +2 -0
  215. package/lib/cjs/src/api/utils/AppName.test.js.map +7 -0
  216. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  217. package/lib/cjs/src/api/utils/HexaString.js.map +3 -3
  218. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  219. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  220. package/lib/cjs/src/di.js +1 -1
  221. package/lib/cjs/src/di.js.map +2 -2
  222. package/lib/cjs/src/internal/config/di/configModule.js +1 -1
  223. package/lib/cjs/src/internal/config/di/configModule.js.map +3 -3
  224. package/lib/cjs/src/internal/config/di/configModule.test.js +1 -1
  225. package/lib/cjs/src/internal/config/di/configModule.test.js.map +2 -2
  226. package/lib/cjs/src/internal/crypto/CryptoService.js +2 -0
  227. package/lib/cjs/src/internal/crypto/CryptoService.js.map +7 -0
  228. package/lib/cjs/src/internal/crypto/NobleCryptoService.js +2 -0
  229. package/lib/cjs/src/internal/crypto/NobleCryptoService.js.map +7 -0
  230. package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js +2 -0
  231. package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js.map +7 -0
  232. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +1 -1
  233. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +3 -3
  234. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  235. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  236. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js +1 -1
  237. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  238. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  239. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  240. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
  241. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
  242. package/lib/cjs/src/internal/device-session/model/DevicePinger.js +1 -1
  243. package/lib/cjs/src/internal/device-session/model/DevicePinger.js.map +3 -3
  244. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  245. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  246. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  247. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
  248. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  249. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +3 -3
  250. package/lib/cjs/src/internal/device-session/model/Frame.js +1 -1
  251. package/lib/cjs/src/internal/device-session/model/Frame.js.map +3 -3
  252. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  253. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js.map +2 -2
  254. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  255. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  256. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  257. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  258. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js +1 -1
  259. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js.map +3 -3
  260. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  261. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  262. package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js +1 -1
  263. package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js.map +1 -1
  264. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  265. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  266. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  267. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  268. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  269. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  270. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  271. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  272. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  273. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  274. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  275. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  276. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  277. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  278. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  279. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  280. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  281. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  282. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  283. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  284. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.js +2 -0
  285. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.js.map +7 -0
  286. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js +2 -0
  287. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +7 -0
  288. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  289. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  290. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  291. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  292. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  293. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  294. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  295. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  296. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js +1 -1
  297. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
  298. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
  299. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
  300. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  301. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  302. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  303. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  304. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  305. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  306. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  307. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  308. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  309. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  310. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  311. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  312. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  313. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  314. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
  315. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  316. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  317. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  318. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  319. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  320. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  321. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  322. package/lib/cjs/src/internal/manager-api/model/Language.js +2 -0
  323. package/lib/cjs/src/internal/manager-api/model/Language.js.map +7 -0
  324. package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
  325. package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
  326. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  327. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  328. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  329. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  330. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  331. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  332. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  333. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  334. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  335. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  336. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  337. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  338. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  339. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +2 -2
  340. package/lib/cjs/src/internal/secure-channel/model/Errors.js +1 -1
  341. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +3 -3
  342. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  343. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  344. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  345. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  346. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +1 -1
  347. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +1 -1
  348. package/lib/cjs/src/internal/send/di/sendModule.js +1 -1
  349. package/lib/cjs/src/internal/send/di/sendModule.js.map +3 -3
  350. package/lib/cjs/src/internal/send/di/sendModule.test.js +1 -1
  351. package/lib/cjs/src/internal/send/di/sendModule.test.js.map +2 -2
  352. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  353. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  354. package/lib/cjs/src/internal/transport/di/transportModule.js +1 -1
  355. package/lib/cjs/src/internal/transport/di/transportModule.js.map +3 -3
  356. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  357. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  358. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  359. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  360. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  361. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  362. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  363. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  364. package/lib/esm/package.json +46 -42
  365. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  366. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  367. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  368. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  369. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  370. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  371. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  372. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
  373. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  374. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  375. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +1 -1
  376. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
  377. package/lib/esm/src/api/command/Errors.js +1 -1
  378. package/lib/esm/src/api/command/Errors.js.map +3 -3
  379. package/lib/esm/src/api/command/di/commandModule.js +1 -1
  380. package/lib/esm/src/api/command/di/commandModule.js.map +3 -3
  381. package/lib/esm/src/api/command/di/commandModule.test.js +1 -1
  382. package/lib/esm/src/api/command/di/commandModule.test.js.map +2 -2
  383. package/lib/esm/src/api/command/model/CommandResult.js.map +2 -2
  384. package/lib/esm/src/api/command/os/CloseAppCommand.js +1 -1
  385. package/lib/esm/src/api/command/os/CloseAppCommand.js.map +2 -2
  386. package/lib/esm/src/api/command/os/CloseAppCommand.test.js +1 -1
  387. package/lib/esm/src/api/command/os/CloseAppCommand.test.js.map +2 -2
  388. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js +1 -1
  389. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js.map +2 -2
  390. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js +1 -1
  391. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js.map +2 -2
  392. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js +1 -1
  393. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js.map +2 -2
  394. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
  395. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
  396. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  397. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  398. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  399. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  400. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  401. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  402. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  403. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  404. package/lib/esm/src/api/command/os/ListAppsCommand.js +1 -1
  405. package/lib/esm/src/api/command/os/ListAppsCommand.js.map +2 -2
  406. package/lib/esm/src/api/command/os/ListAppsCommand.test.js +1 -1
  407. package/lib/esm/src/api/command/os/ListAppsCommand.test.js.map +2 -2
  408. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js +2 -0
  409. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  410. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  411. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  412. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +1 -1
  413. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +2 -2
  414. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +1 -1
  415. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +3 -3
  416. package/lib/esm/src/api/command/os/OpenAppCommand.js +1 -1
  417. package/lib/esm/src/api/command/os/OpenAppCommand.js.map +2 -2
  418. package/lib/esm/src/api/command/os/OpenAppCommand.test.js +1 -1
  419. package/lib/esm/src/api/command/os/OpenAppCommand.test.js.map +2 -2
  420. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  421. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  422. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js +1 -1
  423. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  424. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  425. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  426. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  427. package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
  428. package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
  429. package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
  430. package/lib/esm/src/api/command/utils/GlobalCommandError.js +1 -1
  431. package/lib/esm/src/api/command/utils/GlobalCommandError.js.map +2 -2
  432. package/lib/esm/src/api/device/DeviceModel.js +1 -1
  433. package/lib/esm/src/api/device/DeviceModel.js.map +2 -2
  434. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  435. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  436. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  437. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  438. package/lib/esm/src/api/device-action/di/deviceActionModule.js +1 -1
  439. package/lib/esm/src/api/device-action/di/deviceActionModule.js.map +3 -3
  440. package/lib/esm/src/api/device-action/di/deviceActionModule.test.js +1 -1
  441. package/lib/esm/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
  442. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js +1 -1
  443. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  444. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  445. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
  446. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  447. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  448. package/lib/esm/src/api/device-action/os/Errors.js +1 -1
  449. package/lib/esm/src/api/device-action/os/Errors.js.map +3 -3
  450. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  451. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  452. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  453. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  454. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js +1 -0
  455. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  456. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  457. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  458. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  459. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  460. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
  461. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
  462. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  463. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  464. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  465. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  466. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -0
  467. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  468. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  469. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  470. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  471. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  472. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  473. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  474. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  475. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  476. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  477. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  478. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -0
  479. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  480. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  481. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  482. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  483. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  484. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  485. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  486. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  487. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  488. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  489. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  490. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  491. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  492. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  493. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  494. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  495. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  496. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  497. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  498. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  499. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  500. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  501. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
  502. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  503. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  504. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  505. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  506. package/lib/esm/src/api/device-model/model/DeviceModel.js +1 -1
  507. package/lib/esm/src/api/device-model/model/DeviceModel.js.map +2 -2
  508. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +1 -1
  509. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  510. package/lib/esm/src/api/device-session/DeviceSessionState.js +1 -1
  511. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  512. package/lib/esm/src/api/index.js +1 -1
  513. package/lib/esm/src/api/index.js.map +3 -3
  514. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js +1 -1
  515. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js.map +3 -3
  516. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  517. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  518. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  519. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +3 -3
  520. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  521. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  522. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
  523. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  524. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
  525. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +3 -3
  526. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
  527. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
  528. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
  529. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
  530. package/lib/esm/src/api/secure-channel/task/types.js +1 -1
  531. package/lib/esm/src/api/secure-channel/task/types.js.map +2 -2
  532. package/lib/esm/src/api/secure-channel/utils.js +1 -1
  533. package/lib/esm/src/api/secure-channel/utils.js.map +3 -3
  534. package/lib/esm/src/api/secure-channel/utils.test.js +1 -1
  535. package/lib/esm/src/api/secure-channel/utils.test.js.map +3 -3
  536. package/lib/esm/src/api/transport/model/ConnectedDevice.js +1 -1
  537. package/lib/esm/src/api/transport/model/ConnectedDevice.js.map +3 -3
  538. package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
  539. package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
  540. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  541. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  542. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
  543. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
  544. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  545. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  546. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js +1 -1
  547. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js.map +3 -3
  548. package/lib/esm/src/api/utils/AppName.js +2 -0
  549. package/lib/esm/src/api/utils/AppName.js.map +7 -0
  550. package/lib/esm/src/api/utils/AppName.test.js +2 -0
  551. package/lib/esm/src/api/utils/AppName.test.js.map +7 -0
  552. package/lib/esm/src/api/utils/HexaString.js +1 -1
  553. package/lib/esm/src/api/utils/HexaString.js.map +3 -3
  554. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  555. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  556. package/lib/esm/src/di.js +1 -1
  557. package/lib/esm/src/di.js.map +3 -3
  558. package/lib/esm/src/internal/config/di/configModule.js +1 -1
  559. package/lib/esm/src/internal/config/di/configModule.js.map +3 -3
  560. package/lib/esm/src/internal/config/di/configModule.test.js +1 -1
  561. package/lib/esm/src/internal/config/di/configModule.test.js.map +2 -2
  562. package/lib/esm/src/internal/crypto/CryptoService.js +1 -0
  563. package/lib/esm/src/internal/crypto/CryptoService.js.map +7 -0
  564. package/lib/esm/src/internal/crypto/NobleCryptoService.js +2 -0
  565. package/lib/esm/src/internal/crypto/NobleCryptoService.js.map +7 -0
  566. package/lib/esm/src/internal/crypto/NobleCryptoService.test.js +2 -0
  567. package/lib/esm/src/internal/crypto/NobleCryptoService.test.js.map +7 -0
  568. package/lib/esm/src/internal/device-model/di/deviceModelModule.js +1 -1
  569. package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +3 -3
  570. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  571. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  572. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js +1 -1
  573. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  574. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  575. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  576. package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
  577. package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
  578. package/lib/esm/src/internal/device-session/model/DevicePinger.js +1 -1
  579. package/lib/esm/src/internal/device-session/model/DevicePinger.js.map +3 -3
  580. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  581. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  582. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  583. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
  584. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  585. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +3 -3
  586. package/lib/esm/src/internal/device-session/model/Frame.js +1 -1
  587. package/lib/esm/src/internal/device-session/model/Frame.js.map +3 -3
  588. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  589. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js.map +2 -2
  590. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  591. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  592. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  593. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  594. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js +1 -1
  595. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js.map +3 -3
  596. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  597. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  598. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  599. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  600. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  601. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  602. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  603. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  604. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  605. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  606. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  607. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  608. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  609. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  610. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  611. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  612. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  613. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  614. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  615. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  616. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  617. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  618. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.js +2 -0
  619. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.js.map +7 -0
  620. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js +2 -0
  621. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +7 -0
  622. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  623. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  624. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  625. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  626. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  627. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  628. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  629. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  630. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js +1 -1
  631. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
  632. package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
  633. package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
  634. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  635. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  636. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  637. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  638. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  639. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  640. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  641. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  642. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  643. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  644. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  645. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  646. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
  647. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  648. package/lib/esm/src/internal/manager-api/model/Application.js +1 -1
  649. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  650. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  651. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  652. package/lib/esm/src/internal/manager-api/model/Language.js +1 -0
  653. package/lib/esm/src/internal/manager-api/model/Language.js.map +7 -0
  654. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  655. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  656. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  657. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  658. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  659. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  660. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  661. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  662. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  663. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  664. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  665. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +2 -2
  666. package/lib/esm/src/internal/secure-channel/model/Errors.js +1 -1
  667. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +3 -3
  668. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  669. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  670. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  671. package/lib/esm/src/internal/send/di/sendModule.js +1 -1
  672. package/lib/esm/src/internal/send/di/sendModule.js.map +3 -3
  673. package/lib/esm/src/internal/send/di/sendModule.test.js +1 -1
  674. package/lib/esm/src/internal/send/di/sendModule.test.js.map +2 -2
  675. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js +1 -1
  676. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  677. package/lib/esm/src/internal/transport/di/transportModule.js +1 -1
  678. package/lib/esm/src/internal/transport/di/transportModule.js.map +3 -3
  679. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  680. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  681. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  682. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  683. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  684. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  685. package/lib/types/src/api/DeviceManagementKit.d.ts +27 -1
  686. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  687. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  688. package/lib/types/src/api/DmkConfig.d.ts +2 -0
  689. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  690. package/lib/types/src/api/apdu/utils/ApduBuilder.d.ts.map +1 -1
  691. package/lib/types/src/api/apdu/utils/ApduParser.d.ts.map +1 -1
  692. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +66 -0
  693. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
  694. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +1 -0
  695. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
  696. package/lib/types/src/api/command/Command.d.ts +4 -0
  697. package/lib/types/src/api/command/Command.d.ts.map +1 -1
  698. package/lib/types/src/api/command/Errors.d.ts +5 -0
  699. package/lib/types/src/api/command/Errors.d.ts.map +1 -1
  700. package/lib/types/src/api/command/di/commandModule.d.ts.map +1 -1
  701. package/lib/types/src/api/command/model/CommandResult.d.ts +3 -3
  702. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  703. package/lib/types/src/api/command/os/CloseAppCommand.d.ts +1 -0
  704. package/lib/types/src/api/command/os/CloseAppCommand.d.ts.map +1 -1
  705. package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts +1 -0
  706. package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts.map +1 -1
  707. package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts +1 -0
  708. package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts.map +1 -1
  709. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts +17 -0
  710. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts.map +1 -0
  711. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts +2 -0
  712. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts.map +1 -0
  713. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +31 -2
  714. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  715. package/lib/types/src/api/command/os/ListAppsCommand.d.ts +1 -0
  716. package/lib/types/src/api/command/os/ListAppsCommand.d.ts.map +1 -1
  717. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +25 -0
  718. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts.map +1 -0
  719. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts +2 -0
  720. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts.map +1 -0
  721. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +1 -0
  722. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -1
  723. package/lib/types/src/api/command/os/OpenAppCommand.d.ts +1 -0
  724. package/lib/types/src/api/command/os/OpenAppCommand.d.ts.map +1 -1
  725. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  726. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +5 -1
  727. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  728. package/lib/types/src/api/command/utils/CommandErrors.d.ts.map +1 -1
  729. package/lib/types/src/api/command/utils/CommandUtils.d.ts +4 -0
  730. package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
  731. package/lib/types/src/api/command/utils/GlobalCommandError.d.ts +1 -1
  732. package/lib/types/src/api/command/utils/GlobalCommandError.d.ts.map +1 -1
  733. package/lib/types/src/api/device/DeviceModel.d.ts +2 -1
  734. package/lib/types/src/api/device/DeviceModel.d.ts.map +1 -1
  735. package/lib/types/src/api/device-action/DeviceAction.d.ts +3 -1
  736. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  737. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  738. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +5 -0
  739. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  740. package/lib/types/src/api/device-action/di/deviceActionModule.d.ts.map +1 -1
  741. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +3 -1
  742. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts.map +1 -1
  743. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
  744. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +1 -1
  745. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
  746. package/lib/types/src/api/device-action/os/Errors.d.ts +25 -0
  747. package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
  748. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts +58 -0
  749. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -0
  750. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts +2 -0
  751. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts.map +1 -0
  752. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +29 -0
  753. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -0
  754. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts +1 -1
  755. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  756. package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.d.ts.map +1 -1
  757. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts +3 -4
  758. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts.map +1 -1
  759. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts +40 -0
  760. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts.map +1 -0
  761. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts +2 -0
  762. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts.map +1 -0
  763. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts +66 -0
  764. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts.map +1 -0
  765. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  766. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +0 -1
  767. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  768. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts +15 -0
  769. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts.map +1 -0
  770. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts +2 -0
  771. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts.map +1 -0
  772. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts +25 -0
  773. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts.map +1 -0
  774. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  775. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -1
  776. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  777. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts +30 -0
  778. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts.map +1 -0
  779. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts +2 -0
  780. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts.map +1 -0
  781. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +31 -0
  782. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -0
  783. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts +2 -0
  784. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts.map +1 -0
  785. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +18 -0
  786. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -0
  787. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts +2 -0
  788. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts.map +1 -0
  789. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts +21 -0
  790. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts.map +1 -0
  791. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts +2 -0
  792. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts.map +1 -0
  793. package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts +1 -0
  794. package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts.map +1 -1
  795. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -1
  796. package/lib/types/src/api/device-model/model/DeviceModel.d.ts +2 -0
  797. package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -1
  798. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -1
  799. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +93 -0
  800. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  801. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -1
  802. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -1
  803. package/lib/types/src/api/index.d.ts +7 -2
  804. package/lib/types/src/api/index.d.ts.map +1 -1
  805. package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts +1 -0
  806. package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts.map +1 -1
  807. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -1
  808. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +3 -1
  809. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -1
  810. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -1
  811. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts +3 -1
  812. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts.map +1 -1
  813. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -1
  814. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +3 -1
  815. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -1
  816. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts.map +1 -1
  817. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts +3 -1
  818. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts.map +1 -1
  819. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +9 -2
  820. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -1
  821. package/lib/types/src/api/secure-channel/task/types.d.ts +13 -1
  822. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -1
  823. package/lib/types/src/api/secure-channel/utils.d.ts +14 -8
  824. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -1
  825. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts +3 -2
  826. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts.map +1 -1
  827. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
  828. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
  829. package/lib/types/src/api/transport/model/DeviceConnection.d.ts +2 -1
  830. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -1
  831. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +63 -0
  832. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
  833. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts +2 -0
  834. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts.map +1 -0
  835. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +1 -1
  836. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  837. package/lib/types/src/api/transport/model/Errors.d.ts +27 -3
  838. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  839. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  840. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  841. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts +3 -1
  842. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts.map +1 -1
  843. package/lib/types/src/api/types.d.ts +6 -2
  844. package/lib/types/src/api/types.d.ts.map +1 -1
  845. package/lib/types/src/api/utils/AppName.d.ts +2 -0
  846. package/lib/types/src/api/utils/AppName.d.ts.map +1 -0
  847. package/lib/types/src/api/utils/AppName.test.d.ts +2 -0
  848. package/lib/types/src/api/utils/AppName.test.d.ts.map +1 -0
  849. package/lib/types/src/api/utils/HexaString.d.ts +4 -3
  850. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  851. package/lib/types/src/di.d.ts.map +1 -1
  852. package/lib/types/src/internal/config/di/configModule.d.ts.map +1 -1
  853. package/lib/types/src/internal/crypto/CryptoService.d.ts +12 -0
  854. package/lib/types/src/internal/crypto/CryptoService.d.ts.map +1 -0
  855. package/lib/types/src/internal/crypto/NobleCryptoService.d.ts +8 -0
  856. package/lib/types/src/internal/crypto/NobleCryptoService.d.ts.map +1 -0
  857. package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts +2 -0
  858. package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts.map +1 -0
  859. package/lib/types/src/internal/device-model/di/deviceModelModule.d.ts.map +1 -1
  860. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts +1 -0
  861. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts.map +1 -1
  862. package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
  863. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts +1 -1
  864. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts.map +1 -1
  865. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +3 -1
  866. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  867. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  868. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts.map +1 -1
  869. package/lib/types/src/internal/device-session/model/Frame.d.ts.map +1 -1
  870. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts.map +1 -1
  871. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts +7 -5
  872. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts.map +1 -1
  873. package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts +28 -1
  874. package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts.map +1 -1
  875. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +3 -1
  876. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  877. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts.map +1 -1
  878. package/lib/types/src/internal/discovery/di/discoveryModule.d.ts.map +1 -1
  879. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -0
  880. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  881. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -2
  882. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  883. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts.map +1 -1
  884. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +1 -1
  885. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -1
  886. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.d.ts +32 -0
  887. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.d.ts.map +1 -0
  888. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts +2 -0
  889. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts.map +1 -0
  890. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +1 -1
  891. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  892. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +4 -2
  893. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  894. package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
  895. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +24 -5
  896. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  897. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +51 -6
  898. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  899. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +104 -18
  900. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  901. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +7 -0
  902. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  903. package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
  904. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
  905. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
  906. package/lib/types/src/internal/manager-api/model/Application.d.ts +12 -12
  907. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  908. package/lib/types/src/internal/manager-api/model/Const.d.ts +2 -0
  909. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  910. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +17 -3
  911. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  912. package/lib/types/src/internal/manager-api/model/Language.d.ts +12 -0
  913. package/lib/types/src/internal/manager-api/model/Language.d.ts.map +1 -0
  914. package/lib/types/src/internal/manager-api/model/Params.d.ts +20 -6
  915. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
  916. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +9 -3
  917. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  918. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +42 -7
  919. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  920. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts +13 -0
  921. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts.map +1 -0
  922. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +2 -0
  923. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +1 -0
  924. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -1
  925. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +22 -2
  926. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -1
  927. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +2 -2
  928. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -1
  929. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +3 -3
  930. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -1
  931. package/lib/types/src/internal/send/di/sendModule.d.ts.map +1 -1
  932. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +9 -1
  933. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  934. package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
  935. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
  936. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  937. package/lib/types/src/internal/transport/service/TransportService.d.ts +3 -1
  938. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  939. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +1 -0
  940. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  941. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  942. package/package.json +43 -39
@@ -1,2 +1,2 @@
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())])})})});
1
+ import{hexaStringToBuffer as b}from"../../utils/HexaString";import{APDU_MAX_PAYLOAD as a}from"./ApduBuilder";import{DataOverflowError as x,HexaStringEncodeError as i}from"./AppBuilderError";import{ByteArrayBuilder as n}from"./ByteArrayBuilder";const u=new Uint8Array([]),y=new Uint8Array([1]),A=new Uint8Array([128,129,130,131,132]),E=new Uint8Array([133,134,135,136]),p=new Uint8Array([3,161,162,163]),h=new Uint8Array([5,109,97,109,97,110]),s=new Uint8Array([2,240,241]),w=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]),l=new Uint8Array([...Array(255).fill(170)]),g=new Uint8Array([...Array(254).fill(170)]);let e;describe("ByteArrayBuilder",()=>{const d=(f,t,r,o)=>{if(o)switch(r){case 2:e.add16BitIntToData(f,t);break;case 4:e.add32BitIntToData(f,t);break;case 8:e.add64BitIntToData(f,t);break;case 16:e.add128BitIntToData(f,t);break;case 32:e.add256BitIntToData(f,t);break}else switch(r){case 2:e.add16BitUIntToData(f,t);break;case 4:e.add32BitUIntToData(f,t);break;case 8:e.add64BitUIntToData(f,t);break;case 16:e.add128BitUIntToData(f,t);break;case 32:e.add256BitUIntToData(f,t);break}};describe("clean",()=>{beforeEach(()=>{e=new n(a)}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(n)})}),describe("simple",()=>{beforeEach(()=>{e=new n(a)}),it("should serialize with an empty body",()=>{expect(e.build()).toEqual(u)}),it("should serialize with an single byte body",()=>{e=new n(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"],[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",(f,t,r,o,c)=>{e=new n(f),d(o,r,f,t),expect(e.build()).toEqual(b(c)),expect(e.getErrors()).toEqual([]),e=new n(f-1),d(o,r,f,t),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"],[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",(f,t,r,o,c)=>{e=new n(f),d(o,r,f,t),expect(e.build()).toEqual(b(c)),expect(e.getErrors()).toEqual([])}),it("Serialize from float to bigint",()=>{e=new n(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(E),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an hexastring",()=>{e.encodeInLVFromHexa("0xA1A2A3"),expect(e.build()).toEqual(p),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(h),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const f=new Uint8Array([240,241]);e.encodeInLVFromBuffer(f),expect(e.build()).toEqual(s),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const f=new Uint8Array([240,241]);e.encodeInLVFromBuffer(f),expect(e.build()).toEqual(s),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an ascii string",()=>{e.encodeInTLVFromAscii(5,"coucou"),expect(e.build()).toEqual(Uint8Array.from([5,6,99,111,117,99,111,117])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an hexastring",()=>{e.encodeInTLVFromHexa(5,"0xA1A2A3"),expect(e.build()).toEqual(Uint8Array.from([5,3,161,162,163])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from a buffer",()=>{e.encodeInTLVFromBuffer(6,Uint8Array.from([161,162,163,164])),expect(e.build()).toEqual(Uint8Array.from([6,4,161,162,163,164])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an uint8",()=>{e.encodeInTLVFromUInt8(6,86),expect(e.build()).toEqual(Uint8Array.from([6,1,86])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an uint16",()=>{e.encodeInTLVFromUInt16(6,13398),expect(e.build()).toEqual(Uint8Array.from([6,2,52,86])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an uint32",()=>{e.encodeInTLVFromUInt32(6,2417112150),expect(e.build()).toEqual(Uint8Array.from([6,4,144,18,52,86])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an uint64",()=>{e.encodeInTLVFromUInt64(6,95075813176406),expect(e.build()).toEqual(Uint8Array.from([6,8,0,0,86,120,144,18,52,86])),expect(e.getErrors()).toEqual([])}),it("should serialize with an complete body of 0xAA",()=>{const f=new Uint8Array(255).fill(170,0,255);e.addBufferToData(f),expect(e.build()).toEqual(l),expect(e.getErrors()).toEqual([])})}),describe("mixed",()=>{beforeEach(()=>{e=new n(a)}),it("should serialize with all previous field",()=>{let f=a;e.add8BitUIntToData(1),f--,expect(e.getAvailablePayloadLength()).toBe(f),e.add16BitUIntToData(13058),f-=2,expect(e.getAvailablePayloadLength()).toBe(f),e.add32BitUIntToData(19088743),f-=4,expect(e.getAvailablePayloadLength()).toBe(f),e.addHexaStringToData("0x8081828384"),f-=5,expect(e.getAvailablePayloadLength()).toBe(f),e.addHexaStringToData("85868788"),f-=4,expect(e.getAvailablePayloadLength()).toBe(f),e.encodeInLVFromHexa("0xA1A2A3"),f-=4,expect(e.getAvailablePayloadLength()).toBe(f),e.encodeInLVFromAscii("maman"),f-=6,expect(e.getAvailablePayloadLength()).toBe(f);const t=new Uint8Array([240,241]);e.encodeInLVFromBuffer(t),f-=3,expect(e.getAvailablePayloadLength()).toBe(f),expect(e.build()).toEqual(w)})}),describe("error",()=>{beforeEach(()=>{e=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",(f,t,r,o)=>{e=new n(f),d(o,r,f,t),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(a),expect(e.getErrors()).toEqual([new i(":08081828384"),new i("80818n8384"),new i("808182838z")])}),it("error due direct overflow",()=>{const f=new Uint8Array(256).fill(170,0,256);e.addBufferToData(f),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(a),expect(e.getErrors()).toEqual([new x(f.toString())])}),it("error due to subsequent overflow with 1-byte array",()=>{const f=new Uint8Array(a).fill(170,0,a);e.addBufferToData(f),expect(e.build()).toEqual(l),expect(e.getAvailablePayloadLength()).toBe(0);const t=new Uint8Array(1);t.set([255],0),e.addBufferToData(t),expect(e.build()).toEqual(l),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new x(t.toString())])}),it("error due to subsequent overflow with 1-char ascii",()=>{const f=new Uint8Array(a).fill(170,0,a);e.addBufferToData(f),expect(e.build()).toEqual(l),expect(e.getAvailablePayloadLength()).toBe(0);const t="a";e.addAsciiStringToData(t),expect(e.build()).toEqual(l),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new x(new TextEncoder().encode(t).toString())])}),it("error due to subsequent overflow with 1-char hexastring",()=>{const f=new Uint8Array(a).fill(170,0,a);e.addBufferToData(f),expect(e.build()).toEqual(l),expect(e.getAvailablePayloadLength()).toBe(0),e.addHexaStringToData("0xB4").addHexaStringToData("e1"),expect(e.build()).toEqual(l),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new x("180"),new x("225")])}),it("error due to empty values",()=>{const f="";e.addHexaStringToData(f).encodeInLVFromHexa(f),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(a),expect(e.getErrors()).toEqual([new i(f),new i(f)])}),it("error due to subsequent overflow with 1-char LV",()=>{const f=new Uint8Array(a-1).fill(170,0,a-1);e.addBufferToData(f),expect(e.build()).toEqual(g),expect(e.getAvailablePayloadLength()).toBe(1);const t="n",r="e1",o=new Uint8Array(1);o.set([255],0),e.encodeInLVFromAscii(t).encodeInLVFromHexa(r).encodeInLVFromBuffer(o),expect(e.build()).toEqual(g),expect(e.getAvailablePayloadLength()).toBe(1),expect(e.getErrors()).toEqual([new x(t),new x(r),new x(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 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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",
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 TLV encoded from an ascii string\", () => {\n builder.encodeInTLVFromAscii(0x05, \"coucou\");\n expect(builder.build()).toEqual(\n Uint8Array.from([0x05, 0x06, 0x63, 0x6f, 0x75, 0x63, 0x6f, 0x75]),\n );\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an TLV encoded from an hexastring\", () => {\n builder.encodeInTLVFromHexa(0x05, \"0xA1A2A3\");\n expect(builder.build()).toEqual(\n Uint8Array.from([0x05, 0x03, 0xa1, 0xa2, 0xa3]),\n );\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an TLV encoded from a buffer\", () => {\n builder.encodeInTLVFromBuffer(\n 0x06,\n Uint8Array.from([0xa1, 0xa2, 0xa3, 0xa4]),\n );\n expect(builder.build()).toEqual(\n Uint8Array.from([0x06, 0x04, 0xa1, 0xa2, 0xa3, 0xa4]),\n );\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an TLV encoded from an uint8\", () => {\n builder.encodeInTLVFromUInt8(0x06, 0x56);\n expect(builder.build()).toEqual(Uint8Array.from([0x06, 0x01, 0x56]));\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an TLV encoded from an uint16\", () => {\n builder.encodeInTLVFromUInt16(0x06, 0x3456);\n expect(builder.build()).toEqual(\n Uint8Array.from([0x06, 0x02, 0x34, 0x56]),\n );\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an TLV encoded from an uint32\", () => {\n builder.encodeInTLVFromUInt32(0x06, 0x90123456);\n expect(builder.build()).toEqual(\n Uint8Array.from([0x06, 0x04, 0x90, 0x12, 0x34, 0x56]),\n );\n expect(builder.getErrors()).toEqual([]);\n });\n\n it(\"should serialize with an TLV encoded from an uint64\", () => {\n builder.encodeInTLVFromUInt64(0x06, 0x567890123456);\n expect(builder.build()).toEqual(\n Uint8Array.from([\n 0x06, 0x08, 0x00, 0x00, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56,\n ]),\n );\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)}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};
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.index,t=this.extract8BitUInt(),n=this.extractFieldLVEncoded();if(t===void 0||n===void 0){this.index--;return}const i=this.index;return{tag:t,value:n,tlv:this.buffer.slice(e,i)}}encodeToHexaString(e,t=!1){if(e===void 0||e.length===0)return"";const n=d(e);return t?n:n.slice(2)}encodeToString(e){let t="",n=0;if(!e)return t;for(;n<=e.length;){const i=e[n];i&&(t+=String.fromCharCode(i)),n++}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,n){const i=Number(e)/8;if(this.outOfRange(i))return;let u=0n;if(n)for(let r=0;r<i;r++)u=u<<8n|BigInt(this.buffer[r+this.index]);else for(let r=i-1;r>=0;r--)u=u<<8n|BigInt(this.buffer[r+this.index]);if(t){const r=1n<<e-1n;u&r&&(u-=r<<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 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
- "names": ["bufferToHexaString", "ByteArrayParser", "buffer", "length", "bigEndian", "value", "field", "tag", "prefix", "result", "index", "item", "sizeInBits", "signed", "sizeInBytes", "i", "limit"]
4
+ "sourcesContent": ["import { bufferToHexaString, type HexaString } from \"@api/utils/HexaString\";\n\nexport type TaggedField = {\n readonly tag: number;\n readonly value: Uint8Array;\n readonly tlv: 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 startIndex = this.index;\n const tag = this.extract8BitUInt();\n const value = this.extractFieldLVEncoded();\n\n if (tag === undefined || value === undefined) {\n this.index--;\n return;\n }\n const endIndex = this.index;\n return { tag, value, tlv: this.buffer.slice(startIndex, endIndex) };\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
+ "names": ["bufferToHexaString", "ByteArrayParser", "buffer", "length", "bigEndian", "value", "field", "startIndex", "tag", "endIndex", "prefix", "result", "index", "item", "sizeInBits", "signed", "sizeInBytes", "i", "limit"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class t{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class a{_tag="InvalidBatteryStatusTypeError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery status type.")}}class n{_tag="InvalidBatteryDataError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery data.")}}class i{_tag="InvalidBatteryFlagsError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery flags.")}}class e{_tag="InvalidResponseFormatError";originalError;constructor(r){this.originalError=new Error(r??"Invalid response format.")}}export{n as InvalidBatteryDataError,i as InvalidBatteryFlagsError,a as InvalidBatteryStatusTypeError,e as InvalidResponseFormatError,t as InvalidStatusWordError};
1
+ class a{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class t{_tag="InvalidBatteryStatusTypeError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery status type.")}}class n{_tag="InvalidBatteryDataError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery data.")}}class e{_tag="InvalidBatteryFlagsError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery flags.")}}class i{_tag="InvalidResponseFormatError";originalError;constructor(r){this.originalError=new Error(r??"Invalid response format.")}}class s{_tag="InvalidGetFirmwareMetadataResponseError";originalError;constructor(r){this.originalError=new Error(r??"Invalid Firmware Metadata response error.")}}export{n as InvalidBatteryDataError,e as InvalidBatteryFlagsError,t as InvalidBatteryStatusTypeError,s as InvalidGetFirmwareMetadataResponseError,i as InvalidResponseFormatError,a as InvalidStatusWordError};
2
2
  //# sourceMappingURL=Errors.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/command/Errors.ts"],
4
- "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class InvalidBatteryStatusTypeError implements DmkError {\n readonly _tag = \"InvalidBatteryStatusTypeError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery status type.\");\n }\n}\n\nexport class InvalidBatteryDataError implements DmkError {\n readonly _tag = \"InvalidBatteryDataError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery data.\");\n }\n}\n\nexport class InvalidBatteryFlagsError implements DmkError {\n readonly _tag = \"InvalidBatteryFlagsError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery flags.\");\n }\n}\n\nexport class InvalidResponseFormatError implements DmkError {\n readonly _tag = \"InvalidResponseFormatError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid response format.\");\n }\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAMC,CAAkD,CACpD,KAAO,gCACP,cAET,YAAYD,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,8BAA8B,CAC1E,CACF,CAEO,MAAME,CAA4C,CAC9C,KAAO,0BACP,cAET,YAAYF,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,uBAAuB,CACnE,CACF,CAEO,MAAMG,CAA6C,CAC/C,KAAO,2BACP,cAET,YAAYH,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,wBAAwB,CACpE,CACF,CAEO,MAAMI,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYJ,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,0BAA0B,CACtE,CACF",
6
- "names": ["InvalidStatusWordError", "message", "InvalidBatteryStatusTypeError", "InvalidBatteryDataError", "InvalidBatteryFlagsError", "InvalidResponseFormatError"]
4
+ "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class InvalidBatteryStatusTypeError implements DmkError {\n readonly _tag = \"InvalidBatteryStatusTypeError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery status type.\");\n }\n}\n\nexport class InvalidBatteryDataError implements DmkError {\n readonly _tag = \"InvalidBatteryDataError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery data.\");\n }\n}\n\nexport class InvalidBatteryFlagsError implements DmkError {\n readonly _tag = \"InvalidBatteryFlagsError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery flags.\");\n }\n}\n\nexport class InvalidResponseFormatError implements DmkError {\n readonly _tag = \"InvalidResponseFormatError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid response format.\");\n }\n}\n\nexport class InvalidGetFirmwareMetadataResponseError implements DmkError {\n readonly _tag = \"InvalidGetFirmwareMetadataResponseError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Invalid Firmware Metadata response error.\",\n );\n }\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAMC,CAAkD,CACpD,KAAO,gCACP,cAET,YAAYD,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,8BAA8B,CAC1E,CACF,CAEO,MAAME,CAA4C,CAC9C,KAAO,0BACP,cAET,YAAYF,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,uBAAuB,CACnE,CACF,CAEO,MAAMG,CAA6C,CAC/C,KAAO,2BACP,cAET,YAAYH,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,wBAAwB,CACpE,CACF,CAEO,MAAMI,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYJ,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,0BAA0B,CACtE,CACF,CAEO,MAAMK,CAA4D,CAC9D,KAAO,0CACP,cAET,YAAYL,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,2CACb,CACF,CACF",
6
+ "names": ["InvalidStatusWordError", "message", "InvalidBatteryStatusTypeError", "InvalidBatteryDataError", "InvalidBatteryFlagsError", "InvalidResponseFormatError", "InvalidGetFirmwareMetadataResponseError"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as a}from"inversify";import{SendCommandUseCase as d}from"../../command/use-case/SendCommandUseCase";import{StubUseCase as t}from"../../../../src/di.stub";import{commandTypes as o}from"./commandTypes";const b=({stub:n=!1}={})=>new a((e,s,r,m,i,C,u)=>{e(o.SendCommandUseCase).to(d),n&&m(o.SendCommandUseCase).to(t)});export{b as commandModuleFactory};
1
+ import{ContainerModule as n}from"inversify";import{SendCommandUseCase as d}from"../../command/use-case/SendCommandUseCase";import{StubUseCase as r}from"../../../../src/di.stub";import{commandTypes as o}from"./commandTypes";const i=({stub:e=!1}={})=>new n(({bind:m,rebindSync:a})=>{m(o.SendCommandUseCase).to(d),e&&a(o.SendCommandUseCase).to(r)});export{i as commandModuleFactory};
2
2
  //# sourceMappingURL=commandModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/di/commandModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { SendCommandUseCase } from \"@api/command/use-case/SendCommandUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandTypes } from \"./commandTypes\";\n\ntype CommandModuleArgs = Partial<{\n readonly stub: boolean;\n}>;\n\nexport const commandModuleFactory = ({\n stub = false,\n}: CommandModuleArgs = {}) =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(commandTypes.SendCommandUseCase).to(SendCommandUseCase);\n if (stub) {\n rebind(commandTypes.SendCommandUseCase).to(StubUseCase);\n }\n },\n );\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,sBAAAC,MAA0B,2CACnC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,gBAAAC,MAAoB,iBAMtB,MAAMC,EAAuB,CAAC,CACnC,KAAAC,EAAO,EACT,EAAuB,CAAC,IACtB,IAAIL,EACF,CACEM,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAKH,EAAa,kBAAkB,EAAE,GAAGF,CAAkB,EACvDI,GACFI,EAAON,EAAa,kBAAkB,EAAE,GAAGD,CAAW,CAE1D,CACF",
6
- "names": ["ContainerModule", "SendCommandUseCase", "StubUseCase", "commandTypes", "commandModuleFactory", "stub", "bind", "_unbind", "_isBound", "rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { SendCommandUseCase } from \"@api/command/use-case/SendCommandUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandTypes } from \"./commandTypes\";\n\ntype CommandModuleArgs = Partial<{\n readonly stub: boolean;\n}>;\n\nexport const commandModuleFactory = ({\n stub = false,\n}: CommandModuleArgs = {}) =>\n new ContainerModule(({ bind, rebindSync }) => {\n bind(commandTypes.SendCommandUseCase).to(SendCommandUseCase);\n if (stub) {\n rebindSync(commandTypes.SendCommandUseCase).to(StubUseCase);\n }\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,sBAAAC,MAA0B,2CACnC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,gBAAAC,MAAoB,iBAMtB,MAAMC,EAAuB,CAAC,CACnC,KAAAC,EAAO,EACT,EAAuB,CAAC,IACtB,IAAIL,EAAgB,CAAC,CAAE,KAAAM,EAAM,WAAAC,CAAW,IAAM,CAC5CD,EAAKH,EAAa,kBAAkB,EAAE,GAAGF,CAAkB,EACvDI,GACFE,EAAWJ,EAAa,kBAAkB,EAAE,GAAGD,CAAW,CAE9D,CAAC",
6
+ "names": ["ContainerModule", "SendCommandUseCase", "StubUseCase", "commandTypes", "commandModuleFactory", "stub", "bind", "rebindSync"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as n}from"inversify";import{SendCommandUseCase as r}from"../../command/use-case/SendCommandUseCase";import{deviceSessionModuleFactory as a}from"../../../internal/device-session/di/deviceSessionModule";import{loggerModuleFactory as s}from"../../../internal/logger-publisher/di/loggerModule";import{StubUseCase as c}from"../../../../src/di.stub";import{commandModuleFactory as d}from"./commandModule";import{commandTypes as m}from"./commandTypes";describe("commandModuleFactory",()=>{describe("Default",()=>{let e,o;beforeEach(()=>{o=d(),e=new n,e.load(o,a(),s())}),it("should return the config module",()=>{expect(o).toBeDefined()}),it("should return non-stubbed sendCommand usecase",()=>{const t=e.get(m.SendCommandUseCase);expect(t).toBeInstanceOf(r)})}),describe("Stubbed",()=>{let e,o;beforeEach(()=>{o=d({stub:!0}),e=new n,e.load(o)}),it("should return the config module",()=>{expect(o).toBeDefined()}),it("should return stubbed sendCommand usecase",()=>{const t=e.get(m.SendCommandUseCase);expect(t).toBeInstanceOf(c)})})});
1
+ import{Container as n}from"inversify";import{SendCommandUseCase as r}from"../../command/use-case/SendCommandUseCase";import{deviceSessionModuleFactory as a}from"../../../internal/device-session/di/deviceSessionModule";import{loggerModuleFactory as s}from"../../../internal/logger-publisher/di/loggerModule";import{StubUseCase as c}from"../../../../src/di.stub";import{commandModuleFactory as d}from"./commandModule";import{commandTypes as m}from"./commandTypes";describe("commandModuleFactory",()=>{describe("Default",()=>{let e,o;beforeEach(()=>{o=d(),e=new n,e.loadSync(o,a(),s())}),it("should return the config module",()=>{expect(o).toBeDefined()}),it("should return non-stubbed sendCommand usecase",()=>{const t=e.get(m.SendCommandUseCase);expect(t).toBeInstanceOf(r)})}),describe("Stubbed",()=>{let e,o;beforeEach(()=>{o=d({stub:!0}),e=new n,e.loadSync(o)}),it("should return the config module",()=>{expect(o).toBeDefined()}),it("should return stubbed sendCommand usecase",()=>{const t=e.get(m.SendCommandUseCase);expect(t).toBeInstanceOf(c)})})});
2
2
  //# sourceMappingURL=commandModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/di/commandModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { SendCommandUseCase } from \"@api/command/use-case/SendCommandUseCase\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandModuleFactory } from \"./commandModule\";\nimport { commandTypes } from \"./commandTypes\";\n\ndescribe(\"commandModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof commandModuleFactory>;\n beforeEach(() => {\n mod = commandModuleFactory();\n container = new Container();\n container.load(mod, deviceSessionModuleFactory(), loggerModuleFactory());\n });\n\n it(\"should return the config module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return non-stubbed sendCommand usecase\", () => {\n const sendCommandUseCase = container.get<SendCommandUseCase>(\n commandTypes.SendCommandUseCase,\n );\n expect(sendCommandUseCase).toBeInstanceOf(SendCommandUseCase);\n });\n });\n\n describe(\"Stubbed\", () => {\n let container: Container;\n let mod: ReturnType<typeof commandModuleFactory>;\n beforeEach(() => {\n mod = commandModuleFactory({ stub: true });\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the config module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return stubbed sendCommand usecase\", () => {\n const sendCommandUseCase = container.get(commandTypes.SendCommandUseCase);\n expect(sendCommandUseCase).toBeInstanceOf(StubUseCase);\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,sBAAAC,MAA0B,2CACnC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,wBAAAC,MAA4B,kBACrC,OAAS,gBAAAC,MAAoB,iBAE7B,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAqB,EAC3BE,EAAY,IAAIP,EAChBO,EAAU,KAAKC,EAAKN,EAA2B,EAAGC,EAAoB,CAAC,CACzE,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOK,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,MAAMC,EAAqBF,EAAU,IACnCD,EAAa,kBACf,EACA,OAAOG,CAAkB,EAAE,eAAeR,CAAkB,CAC9D,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,IAAIM,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAqB,CAAE,KAAM,EAAK,CAAC,EACzCE,EAAY,IAAIP,EAChBO,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,4CAA6C,IAAM,CACpD,MAAMC,EAAqBF,EAAU,IAAID,EAAa,kBAAkB,EACxE,OAAOG,CAAkB,EAAE,eAAeL,CAAW,CACvD,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { SendCommandUseCase } from \"@api/command/use-case/SendCommandUseCase\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandModuleFactory } from \"./commandModule\";\nimport { commandTypes } from \"./commandTypes\";\n\ndescribe(\"commandModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof commandModuleFactory>;\n beforeEach(() => {\n mod = commandModuleFactory();\n container = new Container();\n container.loadSync(\n mod,\n deviceSessionModuleFactory(),\n loggerModuleFactory(),\n );\n });\n\n it(\"should return the config module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return non-stubbed sendCommand usecase\", () => {\n const sendCommandUseCase = container.get<SendCommandUseCase>(\n commandTypes.SendCommandUseCase,\n );\n expect(sendCommandUseCase).toBeInstanceOf(SendCommandUseCase);\n });\n });\n\n describe(\"Stubbed\", () => {\n let container: Container;\n let mod: ReturnType<typeof commandModuleFactory>;\n beforeEach(() => {\n mod = commandModuleFactory({ stub: true });\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the config module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return stubbed sendCommand usecase\", () => {\n const sendCommandUseCase = container.get(commandTypes.SendCommandUseCase);\n expect(sendCommandUseCase).toBeInstanceOf(StubUseCase);\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,sBAAAC,MAA0B,2CACnC,OAAS,8BAAAC,MAAkC,kDAC3C,OAAS,uBAAAC,MAA2B,6CACpC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,wBAAAC,MAA4B,kBACrC,OAAS,gBAAAC,MAAoB,iBAE7B,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAqB,EAC3BE,EAAY,IAAIP,EAChBO,EAAU,SACRC,EACAN,EAA2B,EAC3BC,EAAoB,CACtB,CACF,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOK,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,MAAMC,EAAqBF,EAAU,IACnCD,EAAa,kBACf,EACA,OAAOG,CAAkB,EAAE,eAAeR,CAAkB,CAC9D,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,IAAIM,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAqB,CAAE,KAAM,EAAK,CAAC,EACzCE,EAAY,IAAIP,EAChBO,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,kCAAmC,IAAM,CAC1C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,4CAA6C,IAAM,CACpD,MAAMC,EAAqBF,EAAU,IAAID,EAAa,kBAAkB,EACxE,OAAOG,CAAkB,EAAE,eAAeL,CAAW,CACvD,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "SendCommandUseCase", "deviceSessionModuleFactory", "loggerModuleFactory", "StubUseCase", "commandModuleFactory", "commandTypes", "container", "mod", "sendCommandUseCase"]
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}\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
- "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",
4
+ "sourcesContent": ["import {\n type InvalidBatteryDataError,\n type InvalidBatteryStatusTypeError,\n type InvalidGetFirmwareMetadataResponseError,\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 | InvalidGetFirmwareMetadataResponseError\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 | InvalidGetFirmwareMetadataResponseError\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
+ "mappings": "AAaO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAFAA,OAAA,IAuBL,SAASC,EAAsD,CACpE,KAAAC,EACA,MAAAC,CACF,EAYgD,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 r}from"../../apdu/utils/ApduBuilder";import{CommandResultFactory as o}from"../../command/model/CommandResult";import{CommandUtils as m}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as p}from"../../command/utils/GlobalCommandError";class u{args=void 0;triggersDisconnection=!0;getApdu(){const e={cla:176,ins:167,p1:0,p2:0};return new r(e).build()}parseResponse(e){return m.isSuccessResponse(e)?o({data:void 0}):o({error:p.handle(e)})}}export{u as CloseAppCommand};
1
+ import{ApduBuilder as r}from"../../apdu/utils/ApduBuilder";import{CommandResultFactory as o}from"../../command/model/CommandResult";import{CommandUtils as p}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as m}from"../../command/utils/GlobalCommandError";class i{name="closeApp";args=void 0;triggersDisconnection=!0;getApdu(){const e={cla:176,ins:167,p1:0,p2:0};return new r(e).build()}parseResponse(e){return p.isSuccessResponse(e)?o({data:void 0}):o({error:m.handle(e)})}}export{i as CloseAppCommand};
2
2
  //# sourceMappingURL=CloseAppCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/CloseAppCommand.ts"],
4
- "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\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 { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type CloseAppCommandResult = CommandResult<void>;\n\n/**\n * The command to close a runnint application on the device.\n */\nexport class CloseAppCommand implements Command<void> {\n readonly args = undefined;\n\n readonly triggersDisconnection = true;\n\n getApdu(): Apdu {\n const closeAppApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0xa7,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(closeAppApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): CommandResult<void> {\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n data: undefined,\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n}\n"],
5
- "mappings": "AACA,OAAS,eAAAA,MAAyC,8BAElD,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAQnC,MAAMC,CAAyC,CAC3C,KAAO,OAEP,sBAAwB,GAEjC,SAAgB,CACd,MAAMC,EAAoC,CACxC,IAAK,IACL,IAAK,IACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIL,EAAYK,CAAgB,EAAE,MAAM,CACjD,CAEA,cAAcC,EAAiD,CAC7D,OAAIJ,EAAa,kBAAkBI,CAAY,EACtCL,EAAqB,CAC1B,KAAM,MACR,CAAC,EAEIA,EAAqB,CAC1B,MAAOE,EAA0B,OAAOG,CAAY,CACtD,CAAC,CACH,CACF",
4
+ "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\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 { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type CloseAppCommandResult = CommandResult<void>;\n\n/**\n * The command to close a runnint application on the device.\n */\nexport class CloseAppCommand implements Command<void> {\n readonly name = \"closeApp\";\n readonly args = undefined;\n\n readonly triggersDisconnection = true;\n\n getApdu(): Apdu {\n const closeAppApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0xa7,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(closeAppApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): CommandResult<void> {\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n data: undefined,\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n}\n"],
5
+ "mappings": "AACA,OAAS,eAAAA,MAAyC,8BAElD,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAQnC,MAAMC,CAAyC,CAC3C,KAAO,WACP,KAAO,OAEP,sBAAwB,GAEjC,SAAgB,CACd,MAAMC,EAAoC,CACxC,IAAK,IACL,IAAK,IACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIL,EAAYK,CAAgB,EAAE,MAAM,CACjD,CAEA,cAAcC,EAAiD,CAC7D,OAAIJ,EAAa,kBAAkBI,CAAY,EACtCL,EAAqB,CAC1B,KAAM,MACR,CAAC,EAEIA,EAAqB,CAC1B,MAAOE,EAA0B,OAAOG,CAAY,CACtD,CAAC,CACH,CACF",
6
6
  "names": ["ApduBuilder", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "CloseAppCommand", "closeAppApduArgs", "apduResponse"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{isSuccessCommandResult as o}from"../../command/model/CommandResult";import{CloseAppCommand as n}from"../../command/os/CloseAppCommand";import{ApduResponse as t}from"../../device-session/ApduResponse";const r=new Uint8Array([176,167,0,0,0]);describe("CloseAppCommand",()=>{let s;beforeEach(()=>{s=new n}),it("should return the correct APDU",()=>{const e=s.getApdu();expect(e.getRawApdu()).toStrictEqual(r)}),it("should not be error when command is sucessful",()=>{const e=new t({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])});expect(o(s.parseResponse(e))).toBeTruthy()}),it("should throw error when command is unsuccessful",()=>{const e=new t({statusCode:new Uint8Array([106,129]),data:new Uint8Array([])});expect(o(s.parseResponse(e))).toBeFalsy()})});
1
+ import{isSuccessCommandResult as o}from"../../command/model/CommandResult";import{CloseAppCommand as n}from"../../command/os/CloseAppCommand";import{ApduResponse as t}from"../../device-session/ApduResponse";const p=new Uint8Array([176,167,0,0,0]);describe("CloseAppCommand",()=>{let e;beforeEach(()=>{e=new n}),describe("name",()=>{it("should be 'closeApp'",()=>{expect(e.name).toBe("closeApp")})}),it("should return the correct APDU",()=>{const s=e.getApdu();expect(s.getRawApdu()).toStrictEqual(p)}),it("should not be error when command is sucessful",()=>{const s=new t({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])});expect(o(e.parseResponse(s))).toBeTruthy()}),it("should throw error when command is unsuccessful",()=>{const s=new t({statusCode:new Uint8Array([106,129]),data:new Uint8Array([])});expect(o(e.parseResponse(s))).toBeFalsy()})});
2
2
  //# sourceMappingURL=CloseAppCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/CloseAppCommand.test.ts"],
4
- "sourcesContent": ["import { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nconst CLOSE_APP_APDU = new Uint8Array([0xb0, 0xa7, 0x00, 0x00, 0x00]);\n\ndescribe(\"CloseAppCommand\", () => {\n let closeAppCommand: CloseAppCommand;\n\n beforeEach(() => {\n closeAppCommand = new CloseAppCommand();\n });\n\n it(\"should return the correct APDU\", () => {\n const apdu = closeAppCommand.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(CLOSE_APP_APDU);\n });\n\n it(\"should not be error when command is sucessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeTruthy();\n });\n\n it(\"should throw error when command is unsuccessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x6a, 0x81]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeFalsy();\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,0BAAAA,MAA8B,mCACvC,OAAS,mBAAAC,MAAuB,kCAChC,OAAS,gBAAAC,MAAoB,mCAE7B,MAAMC,EAAiB,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,EAAM,CAAI,CAAC,EAEpE,SAAS,kBAAmB,IAAM,CAChC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAkB,IAAIH,CACxB,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,MAAMI,EAAOD,EAAgB,QAAQ,EACrC,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAc,CACxD,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,MAAMG,EAA6B,IAAIJ,EAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,OACEF,EAAuBI,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,WAAW,CACf,CAAC,EAED,GAAG,kDAAmD,IAAM,CAC1D,MAAMA,EAA6B,IAAIJ,EAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,OACEF,EAAuBI,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,UAAU,CACd,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nconst CLOSE_APP_APDU = new Uint8Array([0xb0, 0xa7, 0x00, 0x00, 0x00]);\n\ndescribe(\"CloseAppCommand\", () => {\n let closeAppCommand: CloseAppCommand;\n\n beforeEach(() => {\n closeAppCommand = new CloseAppCommand();\n });\n\n describe(\"name\", () => {\n it(\"should be 'closeApp'\", () => {\n expect(closeAppCommand.name).toBe(\"closeApp\");\n });\n });\n\n it(\"should return the correct APDU\", () => {\n const apdu = closeAppCommand.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(CLOSE_APP_APDU);\n });\n\n it(\"should not be error when command is sucessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeTruthy();\n });\n\n it(\"should throw error when command is unsuccessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x6a, 0x81]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeFalsy();\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,0BAAAA,MAA8B,mCACvC,OAAS,mBAAAC,MAAuB,kCAChC,OAAS,gBAAAC,MAAoB,mCAE7B,MAAMC,EAAiB,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,EAAM,CAAI,CAAC,EAEpE,SAAS,kBAAmB,IAAM,CAChC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAkB,IAAIH,CACxB,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,uBAAwB,IAAM,CAC/B,OAAOG,EAAgB,IAAI,EAAE,KAAK,UAAU,CAC9C,CAAC,CACH,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,MAAMC,EAAOD,EAAgB,QAAQ,EACrC,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAc,CACxD,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,MAAMG,EAA6B,IAAIJ,EAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,OACEF,EAAuBI,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,WAAW,CACf,CAAC,EAED,GAAG,kDAAmD,IAAM,CAC1D,MAAMA,EAA6B,IAAIJ,EAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,OACEF,EAAuBI,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,UAAU,CACd,CAAC,CACH,CAAC",
6
6
  "names": ["isSuccessCommandResult", "CloseAppCommand", "ApduResponse", "CLOSE_APP_APDU", "closeAppCommand", "apdu", "apduResponse"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduBuilder as d}from"../../apdu/utils/ApduBuilder";import{ApduParser as s}from"../../apdu/utils/ApduParser";import{InvalidResponseFormatError as m}from"../../command/Errors";import{CommandResultFactory as n}from"../../command/model/CommandResult";import{CommandUtils as i}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as a}from"../../command/utils/GlobalCommandError";class R{args=void 0;getApdu(){const r={cla:176,ins:1,p1:0,p2:0};return new d(r).build()}parseResponse(r){if(!i.isSuccessResponse(r))return n({error:a.handle(r)});const e=new s(r);if(e.extract8BitUInt()!==1)return n({error:new m("getAppAndVersion: format not supported")});const o=e.encodeToString(e.extractFieldLVEncoded()),t=e.encodeToString(e.extractFieldLVEncoded());if(e.getUnparsedRemainingLength()===0)return n({data:{name:o,version:t}});const p=e.extractFieldLVEncoded();return n({data:{name:o,version:t,flags:p}})}}export{R as GetAppAndVersionCommand};
1
+ import{ApduBuilder as d}from"../../apdu/utils/ApduBuilder";import{ApduParser as s}from"../../apdu/utils/ApduParser";import{InvalidResponseFormatError as m}from"../../command/Errors";import{CommandResultFactory as n}from"../../command/model/CommandResult";import{CommandUtils as i}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as a}from"../../command/utils/GlobalCommandError";class R{name="getAppAndVersion";args=void 0;getApdu(){const r={cla:176,ins:1,p1:0,p2:0};return new d(r).build()}parseResponse(r){if(!i.isSuccessResponse(r))return n({error:a.handle(r)});const e=new s(r);if(e.extract8BitUInt()!==1)return n({error:new m("getAppAndVersion: format not supported")});const o=e.encodeToString(e.extractFieldLVEncoded()),t=e.encodeToString(e.extractFieldLVEncoded());if(e.getUnparsedRemainingLength()===0)return n({data:{name:o,version:t}});const p=e.extractFieldLVEncoded();return n({data:{name:o,version:t,flags:p}})}}export{R as GetAppAndVersionCommand};
2
2
  //# sourceMappingURL=GetAppAndVersionCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/GetAppAndVersionCommand.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 { InvalidResponseFormatError } from \"@api/command/Errors\";\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 { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type GetAppAndVersionResponse = {\n /**\n * The name of the application currently running on the device.\n */\n readonly name: string;\n /**\n * The version of the application currently running on the device.\n */\n readonly version: string;\n /**\n * Flags that are used to provide additional information about the application.\n */\n readonly flags?: number | Uint8Array;\n};\n\nexport type GetAppAndVersionCommandResult =\n CommandResult<GetAppAndVersionResponse>;\n\n/**\n * Command to get information about the application currently running on the\n * device.\n */\nexport class GetAppAndVersionCommand\n implements Command<GetAppAndVersionResponse>\n{\n readonly args = undefined;\n\n getApdu(): Apdu {\n const getAppAndVersionApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getAppAndVersionApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): GetAppAndVersionCommandResult {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n\n if (parser.extract8BitUInt() !== 1) {\n return CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getAppAndVersion: format not supported\",\n ),\n });\n }\n\n const name = parser.encodeToString(parser.extractFieldLVEncoded());\n const version = parser.encodeToString(parser.extractFieldLVEncoded());\n\n if (parser.getUnparsedRemainingLength() === 0) {\n return CommandResultFactory({\n data: { name, version },\n });\n }\n\n const flags = parser.extractFieldLVEncoded();\n return CommandResultFactory({\n data: { name, version, flags },\n });\n }\n}\n"],
5
- "mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAAS,8BAAAC,MAAkC,sBAC3C,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAyBnC,MAAMC,CAEb,CACW,KAAO,OAEhB,SAAgB,CACd,MAAMC,EAA4C,CAChD,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIP,EAAYO,CAAwB,EAAE,MAAM,CACzD,CAEA,cAAcC,EAA2D,CACvE,GAAI,CAACJ,EAAa,kBAAkBI,CAAY,EAC9C,OAAOL,EAAqB,CAC1B,MAAOE,EAA0B,OAAOG,CAAY,CACtD,CAAC,EAEH,MAAMC,EAAS,IAAIR,EAAWO,CAAY,EAE1C,GAAIC,EAAO,gBAAgB,IAAM,EAC/B,OAAON,EAAqB,CAC1B,MAAO,IAAID,EACT,wCACF,CACF,CAAC,EAGH,MAAMQ,EAAOD,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAC3DE,EAAUF,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAEpE,GAAIA,EAAO,2BAA2B,IAAM,EAC1C,OAAON,EAAqB,CAC1B,KAAM,CAAE,KAAAO,EAAM,QAAAC,CAAQ,CACxB,CAAC,EAGH,MAAMC,EAAQH,EAAO,sBAAsB,EAC3C,OAAON,EAAqB,CAC1B,KAAM,CAAE,KAAAO,EAAM,QAAAC,EAAS,MAAAC,CAAM,CAC/B,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 { InvalidResponseFormatError } from \"@api/command/Errors\";\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 { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type GetAppAndVersionResponse = {\n /**\n * The name of the application currently running on the device.\n */\n readonly name: string;\n /**\n * The version of the application currently running on the device.\n */\n readonly version: string;\n /**\n * Flags that are used to provide additional information about the application.\n */\n readonly flags?: number | Uint8Array;\n};\n\nexport type GetAppAndVersionCommandResult =\n CommandResult<GetAppAndVersionResponse>;\n\n/**\n * Command to get information about the application currently running on the\n * device.\n */\nexport class GetAppAndVersionCommand\n implements Command<GetAppAndVersionResponse>\n{\n readonly name = \"getAppAndVersion\";\n readonly args = undefined;\n\n getApdu(): Apdu {\n const getAppAndVersionApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getAppAndVersionApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): GetAppAndVersionCommandResult {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n\n if (parser.extract8BitUInt() !== 1) {\n return CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getAppAndVersion: format not supported\",\n ),\n });\n }\n\n const name = parser.encodeToString(parser.extractFieldLVEncoded());\n const version = parser.encodeToString(parser.extractFieldLVEncoded());\n\n if (parser.getUnparsedRemainingLength() === 0) {\n return CommandResultFactory({\n data: { name, version },\n });\n }\n\n const flags = parser.extractFieldLVEncoded();\n return CommandResultFactory({\n data: { name, version, flags },\n });\n }\n}\n"],
5
+ "mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAAS,8BAAAC,MAAkC,sBAC3C,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAyBnC,MAAMC,CAEb,CACW,KAAO,mBACP,KAAO,OAEhB,SAAgB,CACd,MAAMC,EAA4C,CAChD,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIP,EAAYO,CAAwB,EAAE,MAAM,CACzD,CAEA,cAAcC,EAA2D,CACvE,GAAI,CAACJ,EAAa,kBAAkBI,CAAY,EAC9C,OAAOL,EAAqB,CAC1B,MAAOE,EAA0B,OAAOG,CAAY,CACtD,CAAC,EAEH,MAAMC,EAAS,IAAIR,EAAWO,CAAY,EAE1C,GAAIC,EAAO,gBAAgB,IAAM,EAC/B,OAAON,EAAqB,CAC1B,MAAO,IAAID,EACT,wCACF,CACF,CAAC,EAGH,MAAMQ,EAAOD,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAC3DE,EAAUF,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAEpE,GAAIA,EAAO,2BAA2B,IAAM,EAC1C,OAAON,EAAqB,CAC1B,KAAM,CAAE,KAAAO,EAAM,QAAAC,CAAQ,CACxB,CAAC,EAGH,MAAMC,EAAQH,EAAO,sBAAsB,EAC3C,OAAON,EAAqB,CAC1B,KAAM,CAAE,KAAAO,EAAM,QAAAC,EAAS,MAAAC,CAAM,CAC/B,CAAC,CACH,CACF",
6
6
  "names": ["ApduBuilder", "ApduParser", "InvalidResponseFormatError", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "GetAppAndVersionCommand", "getAppAndVersionApduArgs", "apduResponse", "parser", "name", "version", "flags"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as r,isSuccessCommandResult as x}from"../../command/model/CommandResult";import{ApduResponse as o}from"../../device-session/ApduResponse";import{GetAppAndVersionCommand as i}from"./GetAppAndVersionCommand";const E=Uint8Array.from([176,1,0,0,0]),a=Uint8Array.from([1,5,66,79,76,79,83,9,49,46,52,46,48,45,114,99,50,144,0]),c=Uint8Array.from([1,7,66,105,116,99,111,105,110,11,50,46,49,46,53,45,97,108,112,104,97,1,2,144,0]),p=Uint8Array.from([103,0]),d=Uint8Array.from([4,144,0]);describe("GetAppAndVersionCommand",()=>{let t;beforeEach(()=>{t=new i}),describe("getApdu",()=>{it("should return the GetAppAndVersion APDU",()=>{const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(E)})}),describe("parseResponse",()=>{it("should parse the response when launching OS (dashboard)",()=>{const e=new o({statusCode:a.slice(-2),data:a.slice(0,-2)}),s=t.parseResponse(e),n=r({data:{name:"BOLOS",version:"1.4.0-rc2"}});expect(s).toStrictEqual(n)}),it("should parse the response when launching App",()=>{const e=new o({statusCode:c.slice(-2),data:c.slice(0,-2)}),s=t.parseResponse(e),n=r({data:{name:"Bitcoin",version:"2.1.5-alpha",flags:Uint8Array.from([2])}});expect(s).toStrictEqual(n)}),it("should throw an error if the command failed",()=>{const e=new o({statusCode:p.slice(-2),data:p.slice(0,-2)}),s=t.parseResponse(e);expect(x(s)).toBeFalsy()}),it("should return an error if the response returned unsupported format",()=>{const e=new o({statusCode:d.slice(-2),data:d.slice(0,-2)}),s=t.parseResponse(e);expect(x(s)).toBeFalsy()})})});
1
+ import{CommandResultFactory as r,isSuccessCommandResult as a}from"../../command/model/CommandResult";import{ApduResponse as o}from"../../device-session/ApduResponse";import{GetAppAndVersionCommand as i}from"./GetAppAndVersionCommand";const m=Uint8Array.from([176,1,0,0,0]),x=Uint8Array.from([1,5,66,79,76,79,83,9,49,46,52,46,48,45,114,99,50,144,0]),p=Uint8Array.from([1,7,66,105,116,99,111,105,110,11,50,46,49,46,53,45,97,108,112,104,97,1,2,144,0]),c=Uint8Array.from([103,0]),d=Uint8Array.from([4,144,0]);describe("GetAppAndVersionCommand",()=>{let t;beforeEach(()=>{t=new i}),describe("name",()=>{it("should be 'getAppAndVersion'",()=>{expect(t.name).toBe("getAppAndVersion")})}),describe("getApdu",()=>{it("should return the GetAppAndVersion APDU",()=>{const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(m)})}),describe("parseResponse",()=>{it("should parse the response when launching OS (dashboard)",()=>{const e=new o({statusCode:x.slice(-2),data:x.slice(0,-2)}),s=t.parseResponse(e),n=r({data:{name:"BOLOS",version:"1.4.0-rc2"}});expect(s).toStrictEqual(n)}),it("should parse the response when launching App",()=>{const e=new o({statusCode:p.slice(-2),data:p.slice(0,-2)}),s=t.parseResponse(e),n=r({data:{name:"Bitcoin",version:"2.1.5-alpha",flags:Uint8Array.from([2])}});expect(s).toStrictEqual(n)}),it("should throw an error if the command failed",()=>{const e=new o({statusCode:c.slice(-2),data:c.slice(0,-2)}),s=t.parseResponse(e);expect(a(s)).toBeFalsy()}),it("should return an error if the response returned unsupported format",()=>{const e=new o({statusCode:d.slice(-2),data:d.slice(0,-2)}),s=t.parseResponse(e);expect(a(s)).toBeFalsy()})})});
2
2
  //# sourceMappingURL=GetAppAndVersionCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/GetAppAndVersionCommand.test.ts"],
4
- "sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport { GetAppAndVersionCommand } from \"./GetAppAndVersionCommand\";\n\nconst GET_APP_AND_VERSION_APDU = Uint8Array.from([\n 0xb0, 0x01, 0x00, 0x00, 0x00,\n]);\n\nconst OS_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x05, 0x42, 0x4f, 0x4c, 0x4f, 0x53, 0x09, 0x31, 0x2e, 0x34, 0x2e, 0x30,\n 0x2d, 0x72, 0x63, 0x32, 0x90, 0x00,\n]);\n\nconst APP_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x07, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x0b, 0x32, 0x2e, 0x31,\n 0x2e, 0x35, 0x2d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x01, 0x02, 0x90, 0x00,\n]);\n\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\nconst ERROR_RESPONSE_HEX = Uint8Array.from([0x04, 0x90, 0x00]);\n\ndescribe(\"GetAppAndVersionCommand\", () => {\n let command: GetAppAndVersionCommand;\n\n beforeEach(() => {\n command = new GetAppAndVersionCommand();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAppAndVersion APDU\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_APP_AND_VERSION_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response when launching OS (dashboard)\", () => {\n const OS_RESPONSE = new ApduResponse({\n statusCode: OS_RESPONSE_HEX.slice(-2),\n data: OS_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(OS_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"1.4.0-rc2\",\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should parse the response when launching App\", () => {\n const APP_RESPONSE = new ApduResponse({\n statusCode: APP_RESPONSE_HEX.slice(-2),\n data: APP_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(APP_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"Bitcoin\",\n version: \"2.1.5-alpha\",\n flags: Uint8Array.from([2]),\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should throw an error if the command failed\", () => {\n // given\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const result = command.parseResponse(FAILED_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n // given\n const ERROR_RESPONSE = new ApduResponse({\n statusCode: ERROR_RESPONSE_HEX.slice(-2),\n data: ERROR_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const response = command.parseResponse(ERROR_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(response)).toBeFalsy();\n });\n });\n});\n"],
5
- "mappings": "AAAA,OACE,wBAAAA,EACA,0BAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,mCAE7B,OAAS,2BAAAC,MAA+B,4BAExC,MAAMC,EAA2B,WAAW,KAAK,CAC/C,IAAM,EAAM,EAAM,EAAM,CAC1B,CAAC,EAEKC,EAAkB,WAAW,KAAK,CACtC,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GACxE,GAAM,IAAM,GAAM,GAAM,IAAM,CAChC,CAAC,EAEKC,EAAmB,WAAW,KAAK,CACvC,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,EAAM,EAAM,IAAM,CACpE,CAAC,EAEKC,EAAsB,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EAElDC,EAAqB,WAAW,KAAK,CAAC,EAAM,IAAM,CAAI,CAAC,EAE7D,SAAS,0BAA2B,IAAM,CACxC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAIN,CAChB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,0CAA2C,IAAM,CAClD,MAAMO,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcN,CAAwB,CAClE,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0DAA2D,IAAM,CAClE,MAAMO,EAAc,IAAIT,EAAa,CACnC,WAAYG,EAAgB,MAAM,EAAE,EACpC,KAAMA,EAAgB,MAAM,EAAG,EAAE,CACnC,CAAC,EACKO,EAASH,EAAQ,cAAcE,CAAW,EAC1CE,EAAWb,EAAqB,CACpC,KAAM,CACJ,KAAM,QACN,QAAS,WACX,CACF,CAAC,EACD,OAAOY,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,+CAAgD,IAAM,CACvD,MAAMC,EAAe,IAAIZ,EAAa,CACpC,WAAYI,EAAiB,MAAM,EAAE,EACrC,KAAMA,EAAiB,MAAM,EAAG,EAAE,CACpC,CAAC,EACKM,EAASH,EAAQ,cAAcK,CAAY,EAC3CD,EAAWb,EAAqB,CACpC,KAAM,CACJ,KAAM,UACN,QAAS,cACT,MAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAC5B,CACF,CAAC,EACD,OAAOY,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,8CAA+C,IAAM,CAEtD,MAAME,EAAkB,IAAIb,EAAa,CACvC,WAAYK,EAAoB,MAAM,EAAE,EACxC,KAAMA,EAAoB,MAAM,EAAG,EAAE,CACvC,CAAC,EAEKS,EAASP,EAAQ,cAAcM,CAAe,EAGpD,OAAOd,EAAuBe,CAAM,CAAC,EAAE,UAAU,CACnD,CAAC,EACD,GAAG,qEAAsE,IAAM,CAE7E,MAAMC,EAAiB,IAAIf,EAAa,CACtC,WAAYM,EAAmB,MAAM,EAAE,EACvC,KAAMA,EAAmB,MAAM,EAAG,EAAE,CACtC,CAAC,EAEKU,EAAWT,EAAQ,cAAcQ,CAAc,EAGrD,OAAOhB,EAAuBiB,CAAQ,CAAC,EAAE,UAAU,CACrD,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport { GetAppAndVersionCommand } from \"./GetAppAndVersionCommand\";\n\nconst GET_APP_AND_VERSION_APDU = Uint8Array.from([\n 0xb0, 0x01, 0x00, 0x00, 0x00,\n]);\n\nconst OS_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x05, 0x42, 0x4f, 0x4c, 0x4f, 0x53, 0x09, 0x31, 0x2e, 0x34, 0x2e, 0x30,\n 0x2d, 0x72, 0x63, 0x32, 0x90, 0x00,\n]);\n\nconst APP_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x07, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x0b, 0x32, 0x2e, 0x31,\n 0x2e, 0x35, 0x2d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x01, 0x02, 0x90, 0x00,\n]);\n\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\nconst ERROR_RESPONSE_HEX = Uint8Array.from([0x04, 0x90, 0x00]);\n\ndescribe(\"GetAppAndVersionCommand\", () => {\n let command: GetAppAndVersionCommand;\n\n beforeEach(() => {\n command = new GetAppAndVersionCommand();\n });\n\n describe(\"name\", () => {\n it(\"should be 'getAppAndVersion'\", () => {\n expect(command.name).toBe(\"getAppAndVersion\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAppAndVersion APDU\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_APP_AND_VERSION_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response when launching OS (dashboard)\", () => {\n const OS_RESPONSE = new ApduResponse({\n statusCode: OS_RESPONSE_HEX.slice(-2),\n data: OS_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(OS_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"1.4.0-rc2\",\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should parse the response when launching App\", () => {\n const APP_RESPONSE = new ApduResponse({\n statusCode: APP_RESPONSE_HEX.slice(-2),\n data: APP_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(APP_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"Bitcoin\",\n version: \"2.1.5-alpha\",\n flags: Uint8Array.from([2]),\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should throw an error if the command failed\", () => {\n // given\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const result = command.parseResponse(FAILED_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n // given\n const ERROR_RESPONSE = new ApduResponse({\n statusCode: ERROR_RESPONSE_HEX.slice(-2),\n data: ERROR_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const response = command.parseResponse(ERROR_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(response)).toBeFalsy();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,wBAAAA,EACA,0BAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,mCAE7B,OAAS,2BAAAC,MAA+B,4BAExC,MAAMC,EAA2B,WAAW,KAAK,CAC/C,IAAM,EAAM,EAAM,EAAM,CAC1B,CAAC,EAEKC,EAAkB,WAAW,KAAK,CACtC,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GACxE,GAAM,IAAM,GAAM,GAAM,IAAM,CAChC,CAAC,EAEKC,EAAmB,WAAW,KAAK,CACvC,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,EAAM,EAAM,IAAM,CACpE,CAAC,EAEKC,EAAsB,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EAElDC,EAAqB,WAAW,KAAK,CAAC,EAAM,IAAM,CAAI,CAAC,EAE7D,SAAS,0BAA2B,IAAM,CACxC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAIN,CAChB,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,+BAAgC,IAAM,CACvC,OAAOM,EAAQ,IAAI,EAAE,KAAK,kBAAkB,CAC9C,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,0CAA2C,IAAM,CAClD,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcN,CAAwB,CAClE,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0DAA2D,IAAM,CAClE,MAAMO,EAAc,IAAIT,EAAa,CACnC,WAAYG,EAAgB,MAAM,EAAE,EACpC,KAAMA,EAAgB,MAAM,EAAG,EAAE,CACnC,CAAC,EACKO,EAASH,EAAQ,cAAcE,CAAW,EAC1CE,EAAWb,EAAqB,CACpC,KAAM,CACJ,KAAM,QACN,QAAS,WACX,CACF,CAAC,EACD,OAAOY,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,+CAAgD,IAAM,CACvD,MAAMC,EAAe,IAAIZ,EAAa,CACpC,WAAYI,EAAiB,MAAM,EAAE,EACrC,KAAMA,EAAiB,MAAM,EAAG,EAAE,CACpC,CAAC,EACKM,EAASH,EAAQ,cAAcK,CAAY,EAC3CD,EAAWb,EAAqB,CACpC,KAAM,CACJ,KAAM,UACN,QAAS,cACT,MAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAC5B,CACF,CAAC,EACD,OAAOY,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,8CAA+C,IAAM,CAEtD,MAAME,EAAkB,IAAIb,EAAa,CACvC,WAAYK,EAAoB,MAAM,EAAE,EACxC,KAAMA,EAAoB,MAAM,EAAG,EAAE,CACvC,CAAC,EAEKS,EAASP,EAAQ,cAAcM,CAAe,EAGpD,OAAOd,EAAuBe,CAAM,CAAC,EAAE,UAAU,CACnD,CAAC,EACD,GAAG,qEAAsE,IAAM,CAE7E,MAAMC,EAAiB,IAAIf,EAAa,CACtC,WAAYM,EAAmB,MAAM,EAAE,EACvC,KAAMA,EAAmB,MAAM,EAAG,EAAE,CACtC,CAAC,EAEKU,EAAWT,EAAQ,cAAcQ,CAAc,EAGrD,OAAOhB,EAAuBiB,CAAQ,CAAC,EAAE,UAAU,CACrD,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["CommandResultFactory", "isSuccessCommandResult", "ApduResponse", "GetAppAndVersionCommand", "GET_APP_AND_VERSION_APDU", "OS_RESPONSE_HEX", "APP_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "ERROR_RESPONSE_HEX", "command", "apdu", "OS_RESPONSE", "parsed", "expected", "APP_RESPONSE", "FAILED_RESPONSE", "result", "ERROR_RESPONSE", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduBuilder as u}from"../../apdu/utils/ApduBuilder";import{ApduParser as p}from"../../apdu/utils/ApduParser";import{InvalidBatteryDataError as a,InvalidBatteryStatusTypeError as E}from"../../command/Errors";import{CommandResultFactory as r}from"../../command/model/CommandResult";var A=(t=>(t[t.BATTERY_PERCENTAGE=0]="BATTERY_PERCENTAGE",t[t.BATTERY_VOLTAGE=1]="BATTERY_VOLTAGE",t[t.BATTERY_TEMPERATURE=2]="BATTERY_TEMPERATURE",t[t.BATTERY_CURRENT=3]="BATTERY_CURRENT",t[t.BATTERY_FLAGS=4]="BATTERY_FLAGS",t))(A||{}),i=(e=>(e[e.NONE=0]="NONE",e[e.USB=1]="USB",e[e.QI=2]="QI",e))(i||{});class c{args;constructor(n){this.args=n}getApdu(){const n={cla:224,ins:16,p1:0,p2:this.args.statusType};return new u(n).build()}parseResponse(n){const s=new p(n);switch(this.args.statusType){case 0:{const e=s.extract8BitUInt();return e===void 0?r({error:new a("Cannot parse APDU response")}):r({data:e>100?-1:e})}case 1:{const e=s.extract16BitUInt();return e===void 0?r({error:new a("Cannot parse APDU response")}):r({data:e})}case 2:case 3:{const e=s.extract8BitUInt();return e===void 0?r({error:new a("Cannot parse APDU response")}):r({data:e<<24>>24})}case 4:{const e=s.extract32BitUInt();if(e===void 0)return r({error:new a("Cannot parse APDU response")});const o=!!(e&8),t=!o&&!!(e&1);return r({data:{charging:t?2:o?1:0,issueCharging:!!(e&16),issueTemperature:!!(e&32),issueBattery:!!(e&128)}})}default:return r({error:new E("One or some case(s) not covered")})}}}export{A as BatteryStatusType,i as ChargingMode,c as GetBatteryStatusCommand};
1
+ import{ApduBuilder as u}from"../../apdu/utils/ApduBuilder";import{ApduParser as p}from"../../apdu/utils/ApduParser";import{InvalidBatteryDataError as a,InvalidBatteryStatusTypeError as E}from"../../command/Errors";import{CommandResultFactory as r}from"../../command/model/CommandResult";var A=(t=>(t[t.BATTERY_PERCENTAGE=0]="BATTERY_PERCENTAGE",t[t.BATTERY_VOLTAGE=1]="BATTERY_VOLTAGE",t[t.BATTERY_TEMPERATURE=2]="BATTERY_TEMPERATURE",t[t.BATTERY_CURRENT=3]="BATTERY_CURRENT",t[t.BATTERY_FLAGS=4]="BATTERY_FLAGS",t))(A||{}),i=(e=>(e[e.NONE=0]="NONE",e[e.USB=1]="USB",e[e.QI=2]="QI",e))(i||{});class c{name="getBatteryStatus";args;constructor(n){this.args=n}getApdu(){const n={cla:224,ins:16,p1:0,p2:this.args.statusType};return new u(n).build()}parseResponse(n){const s=new p(n);switch(this.args.statusType){case 0:{const e=s.extract8BitUInt();return e===void 0?r({error:new a("Cannot parse APDU response")}):r({data:e>100?-1:e})}case 1:{const e=s.extract16BitUInt();return e===void 0?r({error:new a("Cannot parse APDU response")}):r({data:e})}case 2:case 3:{const e=s.extract8BitUInt();return e===void 0?r({error:new a("Cannot parse APDU response")}):r({data:e<<24>>24})}case 4:{const e=s.extract32BitUInt();if(e===void 0)return r({error:new a("Cannot parse APDU response")});const o=!!(e&8),t=!o&&!!(e&1);return r({data:{charging:t?2:o?1:0,issueCharging:!!(e&16),issueTemperature:!!(e&32),issueBattery:!!(e&128)}})}default:return r({error:new E("One or some case(s) not covered")})}}}export{A as BatteryStatusType,i as ChargingMode,c as GetBatteryStatusCommand};
2
2
  //# sourceMappingURL=GetBatteryStatusCommand.js.map