@ledgerhq/device-management-kit 0.0.0-develop-20241017000946 → 0.5.0
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.
- package/lib/cjs/index.js +1 -6126
- package/lib/cjs/index.js.map +4 -4
- package/lib/cjs/package.json +64 -0
- package/lib/cjs/src/api/DeviceManagementKit.js +2 -0
- package/lib/cjs/src/api/DeviceManagementKit.js.map +7 -0
- package/lib/cjs/src/api/DeviceManagementKit.test.js +2 -0
- package/lib/cjs/src/api/DeviceManagementKit.test.js.map +7 -0
- package/lib/cjs/src/api/DeviceManagementKitBuilder.js +2 -0
- package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +7 -0
- package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +2 -0
- package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +7 -0
- package/lib/cjs/src/api/DmkConfig.js +2 -0
- package/lib/cjs/src/api/DmkConfig.js.map +7 -0
- package/lib/cjs/src/api/Error.js +2 -0
- package/lib/cjs/src/api/Error.js.map +7 -0
- package/lib/cjs/src/api/apdu/model/Apdu.js +2 -0
- package/lib/cjs/src/api/apdu/model/Apdu.js.map +7 -0
- package/lib/cjs/src/api/apdu/model/Apdu.test.js +2 -0
- package/lib/cjs/src/api/apdu/model/Apdu.test.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.test.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.test.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ApduParser.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ApduParser.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ApduParser.test.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ApduParser.test.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/AppBuilderError.js +2 -0
- package/lib/cjs/src/api/apdu/utils/AppBuilderError.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +7 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +2 -0
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +7 -0
- package/lib/cjs/src/api/command/Command.js +2 -0
- package/lib/cjs/src/api/command/Command.js.map +7 -0
- package/lib/cjs/src/api/command/Errors.js +2 -0
- package/lib/cjs/src/api/command/Errors.js.map +7 -0
- package/lib/cjs/src/api/command/di/commandModule.js +2 -0
- package/lib/cjs/src/api/command/di/commandModule.js.map +7 -0
- package/lib/cjs/src/api/command/di/commandModule.test.js +2 -0
- package/lib/cjs/src/api/command/di/commandModule.test.js.map +7 -0
- package/lib/cjs/src/api/command/di/commandTypes.js +2 -0
- package/lib/cjs/src/api/command/di/commandTypes.js.map +7 -0
- package/lib/cjs/src/api/command/model/CommandResult.js +2 -0
- package/lib/cjs/src/api/command/model/CommandResult.js.map +7 -0
- package/lib/cjs/src/api/command/model/CommandResult.test.js +2 -0
- package/lib/cjs/src/api/command/model/CommandResult.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/CloseAppCommand.js +2 -0
- package/lib/cjs/src/api/command/os/CloseAppCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/CloseAppCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/CloseAppCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js +2 -0
- package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js +2 -0
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +2 -0
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/ListAppsCommand.js +2 -0
- package/lib/cjs/src/api/command/os/ListAppsCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/ListAppsCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/ListAppsCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/OpenAppCommand.js +2 -0
- package/lib/cjs/src/api/command/os/OpenAppCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/OpenAppCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/OpenAppCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js +2 -0
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +7 -0
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +2 -0
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +7 -0
- package/lib/cjs/src/api/command/utils/CommandErrors.js +2 -0
- package/lib/cjs/src/api/command/utils/CommandErrors.js.map +7 -0
- package/lib/cjs/src/api/command/utils/CommandUtils.js +2 -0
- package/lib/cjs/src/api/command/utils/CommandUtils.js.map +7 -0
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js +2 -0
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +7 -0
- package/lib/cjs/src/api/command/utils/GlobalCommandError.js +2 -0
- package/lib/cjs/src/api/command/utils/GlobalCommandError.js.map +7 -0
- package/lib/cjs/src/api/command/utils/GlobalCommandError.test.js +2 -0
- package/lib/cjs/src/api/command/utils/GlobalCommandError.test.js.map +7 -0
- package/lib/cjs/src/api/device/DeviceModel.js +2 -0
- package/lib/cjs/src/api/device/DeviceModel.js.map +7 -0
- package/lib/cjs/src/api/device/DeviceStatus.js +2 -0
- package/lib/cjs/src/api/device/DeviceStatus.js.map +7 -0
- package/lib/cjs/src/api/device-action/DeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/DeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/__test-utils__/data.js +2 -0
- package/lib/cjs/src/api/device-action/__test-utils__/data.js.map +7 -0
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +2 -0
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +7 -0
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +2 -0
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +7 -0
- package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +2 -0
- package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +7 -0
- package/lib/cjs/src/api/device-action/di/deviceActionModule.js +2 -0
- package/lib/cjs/src/api/device-action/di/deviceActionModule.js.map +7 -0
- package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js +2 -0
- package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/di/deviceActionTypes.js +2 -0
- package/lib/cjs/src/api/device-action/di/deviceActionTypes.js.map +7 -0
- package/lib/cjs/src/api/device-action/model/DeviceActionState.js +2 -0
- package/lib/cjs/src/api/device-action/model/DeviceActionState.js.map +7 -0
- package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js +2 -0
- package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/Const.js +2 -0
- package/lib/cjs/src/api/device-action/os/Const.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/Errors.js +2 -0
- package/lib/cjs/src/api/device-action/os/Errors.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/ListApps/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/ListApps/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +2 -0
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +7 -0
- package/lib/cjs/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js +2 -0
- package/lib/cjs/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +7 -0
- package/lib/cjs/src/api/device-action/xstate-utils/StateMachineTypes.js +2 -0
- package/lib/cjs/src/api/device-action/xstate-utils/StateMachineTypes.js.map +7 -0
- package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-session/ApduResponse.js +2 -0
- package/lib/cjs/src/api/device-session/ApduResponse.js.map +7 -0
- package/lib/cjs/src/api/device-session/ApduResponse.stub.js +2 -0
- package/lib/cjs/src/api/device-session/ApduResponse.stub.js.map +7 -0
- package/lib/cjs/src/api/device-session/DeviceSessionState.js +2 -0
- package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +7 -0
- package/lib/cjs/src/api/device-session/types.js +2 -0
- package/lib/cjs/src/api/device-session/types.js.map +7 -0
- package/lib/cjs/src/api/discovery/ConnectionType.js +2 -0
- package/lib/cjs/src/api/discovery/ConnectionType.js.map +7 -0
- package/lib/cjs/src/api/index.js +2 -0
- package/lib/cjs/src/api/index.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/__mocks__/ConsoleLogger.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/__mocks__/ConsoleLogger.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/model/LogLevel.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/model/LogLevel.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/model/LogSubscriberOptions.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/model/LogSubscriberOptions.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/service/LoggerSubscriberService.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/service/LoggerSubscriberService.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.js.map +7 -0
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +2 -0
- package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +7 -0
- package/lib/cjs/src/api/transport/model/ConnectedDevice.js +2 -0
- package/lib/cjs/src/api/transport/model/ConnectedDevice.js.map +7 -0
- package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +2 -0
- package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +7 -0
- package/lib/cjs/src/api/transport/model/Transport.js +2 -0
- package/lib/cjs/src/api/transport/model/Transport.js.map +7 -0
- package/lib/cjs/src/api/transport/model/TransportIdentifier.js +2 -0
- package/lib/cjs/src/api/transport/model/TransportIdentifier.js.map +7 -0
- package/lib/cjs/src/api/types.js +2 -0
- package/lib/cjs/src/api/types.js.map +7 -0
- package/lib/cjs/src/api/utils/Base64String.js +2 -0
- package/lib/cjs/src/api/utils/Base64String.js.map +7 -0
- package/lib/cjs/src/api/utils/Base64String.test.js +2 -0
- package/lib/cjs/src/api/utils/Base64String.test.js.map +7 -0
- package/lib/cjs/src/api/utils/HexaString.js +2 -0
- package/lib/cjs/src/api/utils/HexaString.js.map +7 -0
- package/lib/cjs/src/api/utils/HexaString.test.js +2 -0
- package/lib/cjs/src/api/utils/HexaString.test.js.map +7 -0
- package/lib/cjs/src/di.js +2 -0
- package/lib/cjs/src/di.js.map +7 -0
- package/lib/cjs/src/di.stub.js +2 -0
- package/lib/cjs/src/di.stub.js.map +7 -0
- package/lib/cjs/src/index.js +2 -0
- package/lib/cjs/src/index.js.map +7 -0
- package/lib/cjs/src/internal/config/data/ConfigDataSource.js +2 -0
- package/lib/cjs/src/internal/config/data/ConfigDataSource.js.map +7 -0
- package/lib/cjs/src/internal/config/data/Dto.js +2 -0
- package/lib/cjs/src/internal/config/data/Dto.js.map +7 -0
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.js +2 -0
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.js.map +7 -0
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.stub.js +2 -0
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.stub.js.map +7 -0
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +2 -0
- package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +7 -0
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.js +2 -0
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.js.map +7 -0
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.stub.js +2 -0
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.stub.js.map +7 -0
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +2 -0
- package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +7 -0
- package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +2 -0
- package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +7 -0
- package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +2 -0
- package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +7 -0
- package/lib/cjs/src/internal/config/di/configModule.js +2 -0
- package/lib/cjs/src/internal/config/di/configModule.js.map +7 -0
- package/lib/cjs/src/internal/config/di/configModule.test.js +2 -0
- package/lib/cjs/src/internal/config/di/configModule.test.js.map +7 -0
- package/lib/cjs/src/internal/config/di/configTypes.js +2 -0
- package/lib/cjs/src/internal/config/di/configTypes.js.map +7 -0
- package/lib/cjs/src/internal/config/model/Config.js +2 -0
- package/lib/cjs/src/internal/config/model/Config.js.map +7 -0
- package/lib/cjs/src/internal/config/model/Errors.js +2 -0
- package/lib/cjs/src/internal/config/model/Errors.js.map +7 -0
- package/lib/cjs/src/internal/config/service/ConfigService.js +2 -0
- package/lib/cjs/src/internal/config/service/ConfigService.js.map +7 -0
- package/lib/cjs/src/internal/config/service/DefaultConfigService.js +2 -0
- package/lib/cjs/src/internal/config/service/DefaultConfigService.js.map +7 -0
- package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +2 -0
- package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +7 -0
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.js +2 -0
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.js.map +7 -0
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +2 -0
- package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js +2 -0
- package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js.map +7 -0
- package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js +2 -0
- package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
- package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
- package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +2 -0
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +7 -0
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +2 -0
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +7 -0
- package/lib/cjs/src/internal/device-model/di/deviceModelTypes.js +2 -0
- package/lib/cjs/src/internal/device-model/di/deviceModelTypes.js.map +7 -0
- package/lib/cjs/src/internal/device-model/model/DeviceModel.js +2 -0
- package/lib/cjs/src/internal/device-model/model/DeviceModel.js.map +7 -0
- package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js +2 -0
- package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js.map +7 -0
- package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js +2 -0
- package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js +2 -0
- package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js.map +7 -0
- package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js +2 -0
- package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +7 -0
- package/lib/cjs/src/internal/device-session/data/FramerConst.js +2 -0
- package/lib/cjs/src/internal/device-session/data/FramerConst.js.map +7 -0
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +2 -0
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +7 -0
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js +2 -0
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +2 -0
- package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +7 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js +2 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +7 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +2 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +7 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +2 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +7 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +2 -0
- package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/model/Errors.js +2 -0
- package/lib/cjs/src/internal/device-session/model/Errors.js.map +7 -0
- package/lib/cjs/src/internal/device-session/model/Frame.js +2 -0
- package/lib/cjs/src/internal/device-session/model/Frame.js.map +7 -0
- package/lib/cjs/src/internal/device-session/model/FrameHeader.js +2 -0
- package/lib/cjs/src/internal/device-session/model/FrameHeader.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/ApduReceiverService.js +2 -0
- package/lib/cjs/src/internal/device-session/service/ApduReceiverService.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/ApduSenderService.js +2 -0
- package/lib/cjs/src/internal/device-session/service/ApduSenderService.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js +2 -0
- package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js.map +7 -0
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +2 -0
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +7 -0
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js +2 -0
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js +2 -0
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +7 -0
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +2 -0
- package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/device-session/utils/FramerUtils.js +2 -0
- package/lib/cjs/src/internal/device-session/utils/FramerUtils.js.map +7 -0
- package/lib/cjs/src/internal/device-session/utils/FramerUtils.test.js +2 -0
- package/lib/cjs/src/internal/device-session/utils/FramerUtils.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/di/discoveryModule.js +2 -0
- package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +7 -0
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +2 -0
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +2 -0
- package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +7 -0
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +2 -0
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/di/loggerTypes.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/di/loggerTypes.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/model/LogPublisherOptions.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/model/LogPublisherOptions.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/service/LoggerPublisherService.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/service/LoggerPublisherService.js.map +7 -0
- package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js +2 -0
- package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +2 -0
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +2 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +2 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +2 -0
- package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/model/Const.js +2 -0
- package/lib/cjs/src/internal/manager-api/model/Const.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/model/Errors.js +2 -0
- package/lib/cjs/src/internal/manager-api/model/Errors.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/model/ManagerApiType.js +2 -0
- package/lib/cjs/src/internal/manager-api/model/ManagerApiType.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +2 -0
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +2 -0
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +2 -0
- package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +7 -0
- package/lib/cjs/src/internal/send/di/sendModule.js +2 -0
- package/lib/cjs/src/internal/send/di/sendModule.js.map +7 -0
- package/lib/cjs/src/internal/send/di/sendModule.test.js +2 -0
- package/lib/cjs/src/internal/send/di/sendModule.test.js.map +7 -0
- package/lib/cjs/src/internal/send/di/sendTypes.js +2 -0
- package/lib/cjs/src/internal/send/di/sendTypes.js.map +7 -0
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +2 -0
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +7 -0
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +2 -0
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js +2 -0
- package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/di/bleModule.js +2 -0
- package/lib/cjs/src/internal/transport/ble/di/bleModule.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js +2 -0
- package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js +2 -0
- package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js +2 -0
- package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +2 -0
- package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +2 -0
- package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js +2 -0
- package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js +2 -0
- package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js +2 -0
- package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js +2 -0
- package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +2 -0
- package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +7 -0
- package/lib/cjs/src/internal/transport/data/TransportDataSource.js +2 -0
- package/lib/cjs/src/internal/transport/data/TransportDataSource.js.map +7 -0
- package/lib/cjs/src/internal/transport/di/transportDiTypes.js +2 -0
- package/lib/cjs/src/internal/transport/di/transportDiTypes.js.map +7 -0
- package/lib/cjs/src/internal/transport/di/transportModule.js +2 -0
- package/lib/cjs/src/internal/transport/di/transportModule.js.map +7 -0
- package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js +2 -0
- package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js.map +7 -0
- package/lib/cjs/src/internal/transport/model/DeviceConnection.js +2 -0
- package/lib/cjs/src/internal/transport/model/DeviceConnection.js.map +7 -0
- package/lib/cjs/src/internal/transport/model/Errors.js +2 -0
- package/lib/cjs/src/internal/transport/model/Errors.js.map +7 -0
- package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js +2 -0
- package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js.map +7 -0
- package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js +2 -0
- package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js.map +7 -0
- package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js +2 -0
- package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js +2 -0
- package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js +2 -0
- package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js +2 -0
- package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/di/usbModule.js +2 -0
- package/lib/cjs/src/internal/transport/usb/di/usbModule.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js +2 -0
- package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js +2 -0
- package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +2 -0
- package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +2 -0
- package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +2 -0
- package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +2 -0
- package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js +2 -0
- package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +2 -0
- package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +7 -0
- package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +2 -0
- package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +7 -0
- package/lib/esm/index.js +1 -26507
- package/lib/esm/index.js.map +4 -4
- package/lib/esm/package.json +64 -0
- package/lib/esm/src/api/DeviceManagementKit.js +2 -0
- package/lib/esm/src/api/DeviceManagementKit.js.map +7 -0
- package/lib/esm/src/api/DeviceManagementKit.test.js +2 -0
- package/lib/esm/src/api/DeviceManagementKit.test.js.map +7 -0
- package/lib/esm/src/api/DeviceManagementKitBuilder.js +2 -0
- package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +7 -0
- package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +2 -0
- package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +7 -0
- package/lib/esm/src/api/DmkConfig.js +1 -0
- package/lib/esm/src/api/DmkConfig.js.map +7 -0
- package/lib/esm/src/api/Error.js +2 -0
- package/lib/esm/src/api/Error.js.map +7 -0
- package/lib/esm/src/api/apdu/model/Apdu.js +2 -0
- package/lib/esm/src/api/apdu/model/Apdu.js.map +7 -0
- package/lib/esm/src/api/apdu/model/Apdu.test.js +2 -0
- package/lib/esm/src/api/apdu/model/Apdu.test.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ApduBuilder.js +2 -0
- package/lib/esm/src/api/apdu/utils/ApduBuilder.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ApduBuilder.test.js +2 -0
- package/lib/esm/src/api/apdu/utils/ApduBuilder.test.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ApduParser.js +2 -0
- package/lib/esm/src/api/apdu/utils/ApduParser.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ApduParser.test.js +2 -0
- package/lib/esm/src/api/apdu/utils/ApduParser.test.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/AppBuilderError.js +2 -0
- package/lib/esm/src/api/apdu/utils/AppBuilderError.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +2 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +2 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +2 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +7 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +2 -0
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +7 -0
- package/lib/esm/src/api/command/Command.js +1 -0
- package/lib/esm/src/api/command/Command.js.map +7 -0
- package/lib/esm/src/api/command/Errors.js +2 -0
- package/lib/esm/src/api/command/Errors.js.map +7 -0
- package/lib/esm/src/api/command/di/commandModule.js +2 -0
- package/lib/esm/src/api/command/di/commandModule.js.map +7 -0
- package/lib/esm/src/api/command/di/commandModule.test.js +2 -0
- package/lib/esm/src/api/command/di/commandModule.test.js.map +7 -0
- package/lib/esm/src/api/command/di/commandTypes.js +2 -0
- package/lib/esm/src/api/command/di/commandTypes.js.map +7 -0
- package/lib/esm/src/api/command/model/CommandResult.js +2 -0
- package/lib/esm/src/api/command/model/CommandResult.js.map +7 -0
- package/lib/esm/src/api/command/model/CommandResult.test.js +2 -0
- package/lib/esm/src/api/command/model/CommandResult.test.js.map +7 -0
- package/lib/esm/src/api/command/os/CloseAppCommand.js +2 -0
- package/lib/esm/src/api/command/os/CloseAppCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/CloseAppCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/CloseAppCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js +2 -0
- package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js +2 -0
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/GetOsVersionCommand.js +2 -0
- package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/ListAppsCommand.js +2 -0
- package/lib/esm/src/api/command/os/ListAppsCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/ListAppsCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/ListAppsCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/OpenAppCommand.js +2 -0
- package/lib/esm/src/api/command/os/OpenAppCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/OpenAppCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/OpenAppCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.js +2 -0
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +7 -0
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +2 -0
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +7 -0
- package/lib/esm/src/api/command/utils/CommandErrors.js +2 -0
- package/lib/esm/src/api/command/utils/CommandErrors.js.map +7 -0
- package/lib/esm/src/api/command/utils/CommandUtils.js +2 -0
- package/lib/esm/src/api/command/utils/CommandUtils.js.map +7 -0
- package/lib/esm/src/api/command/utils/CommandUtils.test.js +2 -0
- package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +7 -0
- package/lib/esm/src/api/command/utils/GlobalCommandError.js +2 -0
- package/lib/esm/src/api/command/utils/GlobalCommandError.js.map +7 -0
- package/lib/esm/src/api/command/utils/GlobalCommandError.test.js +2 -0
- package/lib/esm/src/api/command/utils/GlobalCommandError.test.js.map +7 -0
- package/lib/esm/src/api/device/DeviceModel.js +2 -0
- package/lib/esm/src/api/device/DeviceModel.js.map +7 -0
- package/lib/esm/src/api/device/DeviceStatus.js +2 -0
- package/lib/esm/src/api/device/DeviceStatus.js.map +7 -0
- package/lib/esm/src/api/device-action/DeviceAction.js +1 -0
- package/lib/esm/src/api/device-action/DeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/__test-utils__/data.js +2 -0
- package/lib/esm/src/api/device-action/__test-utils__/data.js.map +7 -0
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +2 -0
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +7 -0
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +2 -0
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +7 -0
- package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +2 -0
- package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +7 -0
- package/lib/esm/src/api/device-action/di/deviceActionModule.js +2 -0
- package/lib/esm/src/api/device-action/di/deviceActionModule.js.map +7 -0
- package/lib/esm/src/api/device-action/di/deviceActionModule.test.js +2 -0
- package/lib/esm/src/api/device-action/di/deviceActionModule.test.js.map +7 -0
- package/lib/esm/src/api/device-action/di/deviceActionTypes.js +2 -0
- package/lib/esm/src/api/device-action/di/deviceActionTypes.js.map +7 -0
- package/lib/esm/src/api/device-action/model/DeviceActionState.js +2 -0
- package/lib/esm/src/api/device-action/model/DeviceActionState.js.map +7 -0
- package/lib/esm/src/api/device-action/model/UserInteractionRequired.js +2 -0
- package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +7 -0
- package/lib/esm/src/api/device-action/os/Const.js +2 -0
- package/lib/esm/src/api/device-action/os/Const.js.map +7 -0
- package/lib/esm/src/api/device-action/os/Errors.js +2 -0
- package/lib/esm/src/api/device-action/os/Errors.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/types.js +1 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GoToDashboard/types.js +1 -0
- package/lib/esm/src/api/device-action/os/GoToDashboard/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/ListApps/types.js +1 -0
- package/lib/esm/src/api/device-action/os/ListApps/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/types.js +1 -0
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -0
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +7 -0
- package/lib/esm/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js +2 -0
- package/lib/esm/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +7 -0
- package/lib/esm/src/api/device-action/xstate-utils/StateMachineTypes.js +1 -0
- package/lib/esm/src/api/device-action/xstate-utils/StateMachineTypes.js.map +7 -0
- package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-session/ApduResponse.js +2 -0
- package/lib/esm/src/api/device-session/ApduResponse.js.map +7 -0
- package/lib/esm/src/api/device-session/ApduResponse.stub.js +2 -0
- package/lib/esm/src/api/device-session/ApduResponse.stub.js.map +7 -0
- package/lib/esm/src/api/device-session/DeviceSessionState.js +2 -0
- package/lib/esm/src/api/device-session/DeviceSessionState.js.map +7 -0
- package/lib/esm/src/api/device-session/types.js +1 -0
- package/lib/esm/src/api/device-session/types.js.map +7 -0
- package/lib/esm/src/api/discovery/ConnectionType.js +1 -0
- package/lib/esm/src/api/discovery/ConnectionType.js.map +7 -0
- package/lib/esm/src/api/index.js +2 -0
- package/lib/esm/src/api/index.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/__mocks__/ConsoleLogger.js +2 -0
- package/lib/esm/src/api/logger-subscriber/__mocks__/ConsoleLogger.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/model/LogLevel.js +2 -0
- package/lib/esm/src/api/logger-subscriber/model/LogLevel.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/model/LogSubscriberOptions.js +1 -0
- package/lib/esm/src/api/logger-subscriber/model/LogSubscriberOptions.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js +2 -0
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +2 -0
- package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/service/LoggerSubscriberService.js +1 -0
- package/lib/esm/src/api/logger-subscriber/service/LoggerSubscriberService.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.js +2 -0
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.js.map +7 -0
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +2 -0
- package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +7 -0
- package/lib/esm/src/api/transport/model/ConnectedDevice.js +2 -0
- package/lib/esm/src/api/transport/model/ConnectedDevice.js.map +7 -0
- package/lib/esm/src/api/transport/model/DiscoveredDevice.js +1 -0
- package/lib/esm/src/api/transport/model/DiscoveredDevice.js.map +7 -0
- package/lib/esm/src/api/transport/model/Transport.js +1 -0
- package/lib/esm/src/api/transport/model/Transport.js.map +7 -0
- package/lib/esm/src/api/transport/model/TransportIdentifier.js +2 -0
- package/lib/esm/src/api/transport/model/TransportIdentifier.js.map +7 -0
- package/lib/esm/src/api/types.js +1 -0
- package/lib/esm/src/api/types.js.map +7 -0
- package/lib/esm/src/api/utils/Base64String.js +2 -0
- package/lib/esm/src/api/utils/Base64String.js.map +7 -0
- package/lib/esm/src/api/utils/Base64String.test.js +2 -0
- package/lib/esm/src/api/utils/Base64String.test.js.map +7 -0
- package/lib/esm/src/api/utils/HexaString.js +2 -0
- package/lib/esm/src/api/utils/HexaString.js.map +7 -0
- package/lib/esm/src/api/utils/HexaString.test.js +2 -0
- package/lib/esm/src/api/utils/HexaString.test.js.map +7 -0
- package/lib/esm/src/di.js +2 -0
- package/lib/esm/src/di.js.map +7 -0
- package/lib/esm/src/di.stub.js +2 -0
- package/lib/esm/src/di.stub.js.map +7 -0
- package/lib/esm/src/index.js +2 -0
- package/lib/esm/src/index.js.map +7 -0
- package/lib/esm/src/internal/config/data/ConfigDataSource.js +1 -0
- package/lib/esm/src/internal/config/data/ConfigDataSource.js.map +7 -0
- package/lib/esm/src/internal/config/data/Dto.js +1 -0
- package/lib/esm/src/internal/config/data/Dto.js.map +7 -0
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.js +2 -0
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.js.map +7 -0
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.stub.js +2 -0
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.stub.js.map +7 -0
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +2 -0
- package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +7 -0
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.js +2 -0
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.js.map +7 -0
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.stub.js +2 -0
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.stub.js.map +7 -0
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +2 -0
- package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +7 -0
- package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +2 -0
- package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +7 -0
- package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +2 -0
- package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +7 -0
- package/lib/esm/src/internal/config/di/configModule.js +2 -0
- package/lib/esm/src/internal/config/di/configModule.js.map +7 -0
- package/lib/esm/src/internal/config/di/configModule.test.js +2 -0
- package/lib/esm/src/internal/config/di/configModule.test.js.map +7 -0
- package/lib/esm/src/internal/config/di/configTypes.js +2 -0
- package/lib/esm/src/internal/config/di/configTypes.js.map +7 -0
- package/lib/esm/src/internal/config/model/Config.js +2 -0
- package/lib/esm/src/internal/config/model/Config.js.map +7 -0
- package/lib/esm/src/internal/config/model/Errors.js +2 -0
- package/lib/esm/src/internal/config/model/Errors.js.map +7 -0
- package/lib/esm/src/internal/config/service/ConfigService.js +1 -0
- package/lib/esm/src/internal/config/service/ConfigService.js.map +7 -0
- package/lib/esm/src/internal/config/service/DefaultConfigService.js +2 -0
- package/lib/esm/src/internal/config/service/DefaultConfigService.js.map +7 -0
- package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +2 -0
- package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +7 -0
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.js +2 -0
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.js.map +7 -0
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +2 -0
- package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/device-model/data/DeviceModelDataSource.js +1 -0
- package/lib/esm/src/internal/device-model/data/DeviceModelDataSource.js.map +7 -0
- package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js +2 -0
- package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
- package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
- package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
- package/lib/esm/src/internal/device-model/di/deviceModelModule.js +2 -0
- package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +7 -0
- package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +2 -0
- package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +7 -0
- package/lib/esm/src/internal/device-model/di/deviceModelTypes.js +2 -0
- package/lib/esm/src/internal/device-model/di/deviceModelTypes.js.map +7 -0
- package/lib/esm/src/internal/device-model/model/DeviceModel.js +2 -0
- package/lib/esm/src/internal/device-model/model/DeviceModel.js.map +7 -0
- package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js +2 -0
- package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js.map +7 -0
- package/lib/esm/src/internal/device-model/model/DeviceModel.test.js +2 -0
- package/lib/esm/src/internal/device-model/model/DeviceModel.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/data/ApduResponseConst.js +2 -0
- package/lib/esm/src/internal/device-session/data/ApduResponseConst.js.map +7 -0
- package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js +2 -0
- package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +7 -0
- package/lib/esm/src/internal/device-session/data/FramerConst.js +2 -0
- package/lib/esm/src/internal/device-session/data/FramerConst.js.map +7 -0
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +2 -0
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +7 -0
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js +2 -0
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +2 -0
- package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +7 -0
- package/lib/esm/src/internal/device-session/model/DeviceSession.js +2 -0
- package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +7 -0
- package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +2 -0
- package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +7 -0
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +2 -0
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +7 -0
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +2 -0
- package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/model/Errors.js +2 -0
- package/lib/esm/src/internal/device-session/model/Errors.js.map +7 -0
- package/lib/esm/src/internal/device-session/model/Frame.js +2 -0
- package/lib/esm/src/internal/device-session/model/Frame.js.map +7 -0
- package/lib/esm/src/internal/device-session/model/FrameHeader.js +2 -0
- package/lib/esm/src/internal/device-session/model/FrameHeader.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/ApduReceiverService.js +1 -0
- package/lib/esm/src/internal/device-session/service/ApduReceiverService.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/ApduSenderService.js +1 -0
- package/lib/esm/src/internal/device-session/service/ApduSenderService.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +2 -0
- package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/service/DeviceSessionService.js +1 -0
- package/lib/esm/src/internal/device-session/service/DeviceSessionService.js.map +7 -0
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +2 -0
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +7 -0
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js +2 -0
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js +2 -0
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +7 -0
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +2 -0
- package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/device-session/utils/FramerUtils.js +2 -0
- package/lib/esm/src/internal/device-session/utils/FramerUtils.js.map +7 -0
- package/lib/esm/src/internal/device-session/utils/FramerUtils.test.js +2 -0
- package/lib/esm/src/internal/device-session/utils/FramerUtils.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/di/discoveryModule.js +2 -0
- package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +7 -0
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +2 -0
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/di/discoveryTypes.js +2 -0
- package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +7 -0
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +2 -0
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.js +2 -0
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js +2 -0
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/di/loggerTypes.js +2 -0
- package/lib/esm/src/internal/logger-publisher/di/loggerTypes.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/model/LogPublisherOptions.js +1 -0
- package/lib/esm/src/internal/logger-publisher/model/LogPublisherOptions.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js +2 -0
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +2 -0
- package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/service/LoggerPublisherService.js +1 -0
- package/lib/esm/src/internal/logger-publisher/service/LoggerPublisherService.js.map +7 -0
- package/lib/esm/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js +2 -0
- package/lib/esm/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +2 -0
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +2 -0
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/ManagerApiDataSource.js +1 -0
- package/lib/esm/src/internal/manager-api/data/ManagerApiDataSource.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js +2 -0
- package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +7 -0
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +2 -0
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +7 -0
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js +2 -0
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +7 -0
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +2 -0
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +7 -0
- package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +2 -0
- package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +7 -0
- package/lib/esm/src/internal/manager-api/model/Const.js +2 -0
- package/lib/esm/src/internal/manager-api/model/Const.js.map +7 -0
- package/lib/esm/src/internal/manager-api/model/Errors.js +2 -0
- package/lib/esm/src/internal/manager-api/model/Errors.js.map +7 -0
- package/lib/esm/src/internal/manager-api/model/ManagerApiType.js +2 -0
- package/lib/esm/src/internal/manager-api/model/ManagerApiType.js.map +7 -0
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +2 -0
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +7 -0
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +2 -0
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +7 -0
- package/lib/esm/src/internal/manager-api/service/ManagerApiService.js +1 -0
- package/lib/esm/src/internal/manager-api/service/ManagerApiService.js.map +7 -0
- package/lib/esm/src/internal/send/di/sendModule.js +2 -0
- package/lib/esm/src/internal/send/di/sendModule.js.map +7 -0
- package/lib/esm/src/internal/send/di/sendModule.test.js +2 -0
- package/lib/esm/src/internal/send/di/sendModule.test.js.map +7 -0
- package/lib/esm/src/internal/send/di/sendTypes.js +2 -0
- package/lib/esm/src/internal/send/di/sendTypes.js.map +7 -0
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.js +2 -0
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +7 -0
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +2 -0
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js +2 -0
- package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/di/bleModule.js +2 -0
- package/lib/esm/src/internal/transport/ble/di/bleModule.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/di/bleModule.test.js +2 -0
- package/lib/esm/src/internal/transport/ble/di/bleModule.test.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js +2 -0
- package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js +2 -0
- package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +2 -0
- package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +2 -0
- package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js +2 -0
- package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js +2 -0
- package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js +2 -0
- package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js +2 -0
- package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js.map +7 -0
- package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +2 -0
- package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +7 -0
- package/lib/esm/src/internal/transport/data/TransportDataSource.js +2 -0
- package/lib/esm/src/internal/transport/data/TransportDataSource.js.map +7 -0
- package/lib/esm/src/internal/transport/di/transportDiTypes.js +2 -0
- package/lib/esm/src/internal/transport/di/transportDiTypes.js.map +7 -0
- package/lib/esm/src/internal/transport/di/transportModule.js +2 -0
- package/lib/esm/src/internal/transport/di/transportModule.js.map +7 -0
- package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js +2 -0
- package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js.map +7 -0
- package/lib/esm/src/internal/transport/model/DeviceConnection.js +1 -0
- package/lib/esm/src/internal/transport/model/DeviceConnection.js.map +7 -0
- package/lib/esm/src/internal/transport/model/Errors.js +2 -0
- package/lib/esm/src/internal/transport/model/Errors.js.map +7 -0
- package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js +2 -0
- package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js.map +7 -0
- package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js +2 -0
- package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js.map +7 -0
- package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js +2 -0
- package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js.map +7 -0
- package/lib/esm/src/internal/transport/model/InternalDiscoveredDevice.js +1 -0
- package/lib/esm/src/internal/transport/model/InternalDiscoveredDevice.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js +2 -0
- package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js +2 -0
- package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/di/usbModule.js +2 -0
- package/lib/esm/src/internal/transport/usb/di/usbModule.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/di/usbModule.test.js +2 -0
- package/lib/esm/src/internal/transport/usb/di/usbModule.test.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js +2 -0
- package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +2 -0
- package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +2 -0
- package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +2 -0
- package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +2 -0
- package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js +2 -0
- package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +2 -0
- package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +7 -0
- package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +2 -0
- package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +7 -0
- package/lib/types/src/api/{DeviceSdk.d.ts → DeviceManagementKit.d.ts} +38 -23
- package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -0
- package/lib/types/src/api/DeviceManagementKit.test.d.ts +2 -0
- package/lib/types/src/api/DeviceManagementKit.test.d.ts.map +1 -0
- package/lib/types/src/api/DeviceManagementKitBuilder.d.ts +35 -0
- package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -0
- package/lib/types/src/api/DeviceManagementKitBuilder.test.d.ts +2 -0
- package/lib/types/src/api/DeviceManagementKitBuilder.test.d.ts.map +1 -0
- package/lib/types/src/api/DmkConfig.d.ts +5 -0
- package/lib/types/src/api/DmkConfig.d.ts.map +1 -0
- package/lib/types/src/api/Error.d.ts +2 -2
- package/lib/types/src/api/apdu/utils/ApduBuilder.d.ts +1 -1
- package/lib/types/src/api/apdu/utils/ApduBuilder.d.ts.map +1 -1
- package/lib/types/src/api/apdu/utils/ApduParser.d.ts +2 -2
- package/lib/types/src/api/apdu/utils/ApduParser.d.ts.map +1 -1
- package/lib/types/src/api/apdu/utils/AppBuilderError.d.ts +5 -5
- package/lib/types/src/api/apdu/utils/AppBuilderError.d.ts.map +1 -1
- package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +1 -1
- package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
- package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +1 -1
- package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
- package/lib/types/src/api/command/Command.d.ts +4 -4
- package/lib/types/src/api/command/Command.d.ts.map +1 -1
- package/lib/types/src/api/command/Errors.d.ts +6 -6
- package/lib/types/src/api/command/Errors.d.ts.map +1 -1
- package/lib/types/src/api/command/model/CommandResult.d.ts +3 -3
- package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
- package/lib/types/src/api/command/os/CloseAppCommand.d.ts +4 -4
- package/lib/types/src/api/command/os/CloseAppCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts +4 -4
- package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts +4 -4
- package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +4 -4
- package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/os/ListAppsCommand.d.ts +5 -5
- package/lib/types/src/api/command/os/ListAppsCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/os/OpenAppCommand.d.ts +5 -5
- package/lib/types/src/api/command/os/OpenAppCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/utils/CommandErrors.d.ts +1 -1
- package/lib/types/src/api/command/utils/CommandErrors.d.ts.map +1 -1
- package/lib/types/src/api/command/utils/CommandUtils.d.ts +1 -1
- package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
- package/lib/types/src/api/command/utils/GlobalCommandError.d.ts +4 -4
- package/lib/types/src/api/command/utils/GlobalCommandError.d.ts.map +1 -1
- package/lib/types/src/api/device-action/DeviceAction.d.ts +8 -8
- package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +1 -1
- package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +4 -4
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +4 -4
- package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/Errors.d.ts +4 -4
- package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts +5 -5
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceStatus/types.d.ts +6 -6
- package/lib/types/src/api/device-action/os/GetDeviceStatus/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.d.ts +5 -5
- package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts +5 -5
- package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListApps/ListAppsDeviceAction.d.ts +4 -4
- package/lib/types/src/api/device-action/os/ListApps/ListAppsDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListApps/types.d.ts +6 -6
- package/lib/types/src/api/device-action/os/ListApps/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +9 -9
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts +8 -8
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts +7 -9
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +7 -6
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts +6 -6
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +3 -3
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-action/use-case/ExecuteDeviceActionUseCase.d.ts +3 -3
- package/lib/types/src/api/device-action/xstate-utils/StateMachineTypes.d.ts +1 -1
- package/lib/types/src/api/device-action/xstate-utils/StateMachineTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts +6 -6
- package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-session/ApduResponse.stub.d.ts +1 -1
- package/lib/types/src/api/device-session/ApduResponse.stub.d.ts.map +1 -1
- package/lib/types/src/api/device-session/DeviceSessionState.d.ts +4 -4
- package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
- package/lib/types/src/api/index.d.ts +3 -3
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts +2 -2
- package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts.map +1 -1
- package/lib/types/src/api/logger-subscriber/service/LoggerSubscriberService.d.ts +9 -4
- package/lib/types/src/api/logger-subscriber/service/LoggerSubscriberService.d.ts.map +1 -1
- package/lib/types/src/api/logger-subscriber/service/WebLogsExporterLogger.d.ts +2 -2
- package/lib/types/src/api/logger-subscriber/service/WebLogsExporterLogger.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/ConnectedDevice.d.ts +7 -4
- package/lib/types/src/api/transport/model/ConnectedDevice.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -2
- package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/Transport.d.ts +10 -9
- package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/TransportIdentifier.d.ts +1 -0
- package/lib/types/src/api/transport/model/TransportIdentifier.d.ts.map +1 -1
- package/lib/types/src/api/types.d.ts +1 -1
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/src/di.d.ts +5 -5
- package/lib/types/src/di.d.ts.map +1 -1
- package/lib/types/src/internal/config/data/ConfigDataSource.d.ts +3 -3
- package/lib/types/src/internal/config/data/ConfigDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
- package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +1 -1
- package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/config/di/configTypes.d.ts +1 -1
- package/lib/types/src/internal/config/service/ConfigService.d.ts +2 -2
- package/lib/types/src/internal/config/service/ConfigService.d.ts.map +1 -1
- package/lib/types/src/internal/config/service/DefaultConfigService.d.ts +1 -1
- package/lib/types/src/internal/config/use-case/GetDmkVersionUseCase.d.ts +12 -0
- package/lib/types/src/internal/config/use-case/{GetSdkVersionUseCase.d.ts.map → GetDmkVersionUseCase.d.ts.map} +1 -1
- package/lib/types/src/internal/config/use-case/GetDmkVersionUseCase.test.d.ts +2 -0
- package/lib/types/src/internal/config/use-case/GetDmkVersionUseCase.test.d.ts.map +1 -0
- package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts +5 -2
- package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts +3 -0
- package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts +1 -1
- package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts +2 -0
- package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts.map +1 -0
- package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +0 -1
- package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +11 -11
- package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -2
- package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +28 -4
- package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/Errors.d.ts +6 -6
- package/lib/types/src/internal/device-session/model/Errors.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/Frame.d.ts +1 -1
- package/lib/types/src/internal/device-session/model/Frame.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/FrameHeader.d.ts +1 -1
- package/lib/types/src/internal/device-session/model/FrameHeader.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts +4 -4
- package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts +1 -1
- package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts +3 -3
- package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts +3 -3
- package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts +4 -1
- package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts +7 -5
- package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts +2 -0
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts.map +1 -0
- package/lib/types/src/internal/discovery/di/discoveryModule.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +3 -0
- package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts +1 -1
- package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/{device-session/use-case/ListDeviceSessionsUseCase.d.ts → discovery/use-case/ListConnectedDevicesUseCase.d.ts} +5 -5
- package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.d.ts.map +1 -0
- package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.d.ts +2 -0
- package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.d.ts.map +1 -0
- package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts +14 -0
- package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts.map +1 -0
- package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.d.ts +2 -0
- package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.d.ts.map +1 -0
- package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +13 -0
- package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -0
- package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts +2 -0
- package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts.map +1 -0
- package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts +1 -1
- package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
- package/lib/types/src/internal/logger-publisher/service/LoggerPublisherService.d.ts +2 -2
- package/lib/types/src/internal/logger-publisher/service/LoggerPublisherService.d.ts.map +1 -1
- package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts +1 -1
- package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +2 -2
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +3 -3
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +1 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts +2 -2
- package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -1
- package/lib/types/src/internal/manager-api/model/Errors.d.ts +2 -2
- package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +4 -4
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
- package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +1 -1
- package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts +4 -0
- package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/di/bleModule.d.ts +3 -0
- package/lib/types/src/internal/transport/ble/di/bleModule.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts +2 -0
- package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts +3 -0
- package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts +10 -0
- package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts +13 -0
- package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts +3 -0
- package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts +104 -0
- package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts +2 -0
- package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts +97 -0
- package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts +2 -0
- package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts.map +1 -0
- package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts +14 -0
- package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts.map +1 -0
- package/lib/types/src/internal/transport/data/TransportDataSource.d.ts +2 -2
- package/lib/types/src/internal/transport/data/TransportDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/transport/di/transportDiTypes.d.ts +1 -1
- package/lib/types/src/internal/transport/di/transportModule.d.ts +4 -4
- package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
- package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts +6 -5
- package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts.map +1 -1
- package/lib/types/src/internal/transport/model/DeviceConnection.d.ts +5 -5
- package/lib/types/src/internal/transport/model/DeviceConnection.d.ts.map +1 -1
- package/lib/types/src/internal/transport/model/Errors.d.ts +34 -14
- package/lib/types/src/internal/transport/model/Errors.d.ts.map +1 -1
- package/lib/types/src/internal/transport/model/InternalConnectedDevice.d.ts +5 -5
- package/lib/types/src/internal/transport/model/InternalConnectedDevice.d.ts.map +1 -1
- package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts +1 -1
- package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts.map +1 -1
- package/lib/types/src/internal/transport/model/InternalDiscoveredDevice.d.ts +3 -3
- package/lib/types/src/internal/transport/model/InternalDiscoveredDevice.d.ts.map +1 -1
- package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.d.ts +2 -2
- package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts +27 -33
- package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts.map +1 -1
- package/lib/types/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts +2 -1
- package/lib/types/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +17 -13
- package/lib/types/src/api/DeviceSdk.d.ts.map +0 -1
- package/lib/types/src/api/DeviceSdk.test.d.ts +0 -2
- package/lib/types/src/api/DeviceSdk.test.d.ts.map +0 -1
- package/lib/types/src/api/DeviceSdkBuilder.d.ts +0 -35
- package/lib/types/src/api/DeviceSdkBuilder.d.ts.map +0 -1
- package/lib/types/src/api/DeviceSdkBuilder.test.d.ts +0 -2
- package/lib/types/src/api/DeviceSdkBuilder.test.d.ts.map +0 -1
- package/lib/types/src/api/SdkConfig.d.ts +0 -5
- package/lib/types/src/api/SdkConfig.d.ts.map +0 -1
- package/lib/types/src/internal/config/use-case/GetSdkVersionUseCase.d.ts +0 -12
- package/lib/types/src/internal/config/use-case/GetSdkVersionUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/config/use-case/GetSdkVersionUseCase.test.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/use-case/ListDeviceSessionsUseCase.d.ts.map +0 -1
- package/lib/types/src/internal/device-session/use-case/ListDeviceSessionsUseCase.test.d.ts +0 -2
- package/lib/types/src/internal/device-session/use-case/ListDeviceSessionsUseCase.test.d.ts.map +0 -1
@@ -0,0 +1,2 @@
|
|
1
|
+
import{hexaStringToBuffer as s}from"../../utils/HexaString";import{ByteArrayParser as a}from"./ByteArrayParser";const B=new Uint8Array([1]),u=new Uint8Array([0]),l=new Uint8Array([1,1]),U=new Uint8Array([171,0]),g=new Uint8Array([1,2,3,...Array(253).fill(170)]),E="33000004",R="0xe6000000",m=3858759680,d="2.2.3",C="2.30",S="1.16",b=0,A=1,T=0,h=new Uint8Array([51,0,0,4,5,50,46,50,46,51,4,230,0,0,0,4,50,46,51,48,4,49,46,49,54,1,0,1,1,1,0]),I=new Uint8Array([66,79,76,79,83]),L="BOLOS",p=new Uint8Array([1,5,66,79,76,79,83,5,50,46,50,46,51]);let e,c=B;describe("ByteArrayParser",()=>{const f=(n,t,r)=>{if(r)switch(t){case 2:return e.extract16BitInt(n);case 4:return e.extract32BitInt(n);case 8:return e.extract64BitInt(n)}else switch(t){case 2:return e.extract16BitUInt(n);case 4:return e.extract32BitUInt(n);case 8:return e.extract64BitUInt(n)}};describe("clean",()=>{beforeEach(()=>{jest.resetAllMocks()}),it("should create an instance",()=>{e=new a(c),expect(e).toBeDefined(),expect(e).toBeInstanceOf(a)}),it("Extract a single byte",()=>{e=new a(c),expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0)}),it("Extract one byte",()=>{c=g,e=new a(c);let n=0,t=g.length;for(expect(t).toBe(256),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--,expect(e.extract8BitUInt()).toBe(1),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--,expect(e.extract8BitUInt()).toBe(2),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--,expect(e.extract8BitUInt()).toBe(3),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--;t!=0;)expect(e.extract8BitUInt()).toBe(170),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),n++,t--}),it.each([[2,!1,!0,"ffff",65535],[2,!0,!0,"7fff",32767],[2,!0,!0,"8000",-32768],[4,!1,!0,"ffffffff",4294967295],[4,!0,!0,"7fffffff",2147483647],[4,!0,!0,"80000000",-2147483648],[8,!1,!0,"ffffffffffffffff",0xffffffffffffffffn],[8,!0,!0,"7fffffffffffffff",0x7fffffffffffffffn],[8,!0,!0,"8000000000000000",-0x8000000000000000n]])("Extract a number to the limit: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(n,t,r,x,o)=>{e=new a(s(x));const i=f(r,n,t);expect(i).toStrictEqual(o)}),it.each([[2,!1,!0,"3302",13058],[2,!1,!1,"0233",13058],[2,!0,!0,"1068",4200],[2,!0,!0,"ef98",-4200],[2,!0,!1,"6810",4200],[2,!0,!1,"98ef",-4200],[4,!1,!0,"01234567",19088743],[4,!1,!1,"67452301",19088743],[4,!0,!0,"075bcd15",123456789],[4,!0,!0,"f8a432eb",-123456789],[4,!0,!1,"15cd5b07",123456789],[4,!0,!1,"eb32a4f8",-123456789],[8,!1,!0,"0032435442584447",14147778004927559n],[8,!1,!1,"4744584254433200",14147778004927559n],[8,!0,!0,"0032435442584447",14147778004927559n],[8,!0,!0,"ffcdbcabbda7bbb9",-14147778004927559n],[8,!0,!1,"4744584254433200",14147778004927559n],[8,!0,!1,"b9bba7bdabbccdff",-14147778004927559n]])("Extract the following number: size %i, signed %s, bigEndian %s, buffer %s, expected %i",(n,t,r,x,o)=>{e=new a(s(x));const i=f(r,n,t);expect(i).toStrictEqual(o)}),it("Extract 16-bit & 32-bit number",()=>{c=g,e=new a(c);let n=0,t=g.length;expect(t).toBe(256),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBe(258),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBe(938),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),e.resetIndex(),n=0,t=g.length,expect(e.extract32BitUInt()).toBe(16909226),n+=4,t-=4,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract32BitUInt()).toBe(2863311530),n+=4,t-=4,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)}),it("Parse a GetAppVersion response",()=>{c=p,e=new a(c);let n=0,t=p.length;expect(t).toBe(13),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);const r=e.extract8BitUInt();n++,t--,expect(r).toBe(1),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let x=e.extractFieldLVEncoded();expect(x).toStrictEqual(I),expect(e.encodeToString(x)).toBe(L),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),x=e.extractFieldLVEncoded(),expect(e.encodeToString(x)).toBe(d),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),e.resetIndex(),n=0,t=p.length,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);const o=e.extractFieldTLVEncoded();expect(o?.tag).toBe(1),expect(o?.value).toStrictEqual(I),expect(e.encodeToString(o?.value)).toBe(L),n+=7,t-=7,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),x=e.extractFieldLVEncoded(),expect(e.encodeToString(x)).toBe(d),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)}),it("Parse a GetVersion response",()=>{c=h,e=new a(c);let n=0,t=h.length;expect(t).toBe(31),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.testMinimalLength(25)).toBe(!0);let r=e.extractFieldByLength(4);expect(e.encodeToHexaString(r)).toBe(E),n+=4,t-=4,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(d),n+=6,t-=6,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded();const x=e.encodeToHexaString(r,!0);expect(x).toBe(R),expect(parseInt(x,16)).toBe(m),n+=5,t-=5,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(C),n+=5,t-=5,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(e.encodeToString(r)).toBe(S),n+=5,t-=5,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r?.at(0)).toBe(b),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r?.at(0)).toBe(A),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r?.at(0)).toBe(T),n+=2,t-=2,expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)})}),describe("errors",()=>{it("no response",()=>{c=new Uint8Array,e=new a(c);const n=0,t=0;expect(e.testMinimalLength(1)).toBe(!1),expect(e.extract8BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let r=e.extractFieldByLength(2);expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);const x=e.extractFieldTLVEncoded();expect(x).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t)}),it("length error",()=>{c=B,e=new a(c);const n=0,t=B.length;expect(t).toBe(1),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract16BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),expect(e.extract32BitUInt()).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let r=e.extractFieldByLength(2);expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),r=e.extractFieldLVEncoded(),expect(r).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t);let x=e.extractFieldTLVEncoded();expect(x).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(t),c=l,e=new a(c),x=e.extractFieldTLVEncoded(),expect(x).toBeUndefined(),expect(e.getCurrentIndex()).toBe(n),expect(e.getUnparsedRemainingLength()).toBe(l.length)}),it("Test zero length",()=>{c=u,e=new a(c);const n=new Uint8Array,t=0;let r=u.length;expect(r).toBe(1),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(r);const x=e.extract8BitUInt();expect(x).toBe(0),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),e.resetIndex();let o=e.extractFieldByLength(0);expect(o).toStrictEqual(n),expect(e.encodeToString(o)).toBe(""),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(r),o=e.extractFieldLVEncoded(),expect(e.getCurrentIndex()).toBe(1),expect(e.getUnparsedRemainingLength()).toBe(0),expect(o).toStrictEqual(n),expect(e.encodeToString(o)).toBe(""),c=U,e=new a(c),r=U.length,expect(r).toBe(2),expect(e.getCurrentIndex()).toBe(t),expect(e.getUnparsedRemainingLength()).toBe(r);const i=e.extractFieldTLVEncoded();expect(i?.tag).toBe(171),expect(i?.value).toStrictEqual(n),expect(e.encodeToString(i?.value)).toBe(""),expect(e.getCurrentIndex()).toBe(2),expect(e.getUnparsedRemainingLength()).toBe(0),expect(e.encodeToHexaString()).toBe(""),expect(e.encodeToString()).toBe("")})})});
|
2
|
+
//# sourceMappingURL=ByteArrayParser.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/apdu/utils/ByteArrayParser.test.ts"],
|
4
|
+
"sourcesContent": ["import { hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nimport { ByteArrayParser } from \"./ByteArrayParser\";\n\nconst RESPONSE_ONE_BYTE = new Uint8Array([0x01]);\nconst RESPONSE_LV_ZERO = new Uint8Array([0x00]);\nconst RESPONSE_TWO_BYTES = new Uint8Array([0x01, 0x01]);\nconst RESPONSE_TLV_ZERO = new Uint8Array([0xab, 0x00]);\nconst RESPONSE_ALL_BYTES = new Uint8Array([\n 0x01,\n 0x02,\n 0x03,\n ...Array<number>(253).fill(0xaa),\n]);\n\n/*\nType : 33 00 00 04 -> nanoX\nVersion SE (LV): 2.2.3\nFlag: E600000000\n PIN OK\n Factory init Ok\n Onboarding done\nVersion MCU(LV): 2.30\nVersion BootLoader(LV): 1.16\nHW rev: 0\nLanguage(LV): Fra & Eng\nRecover state (LV): 1\n*/\nconst DEVICE_TYPE = \"33000004\";\nconst DEVICE_FLAGS = \"0xe6000000\";\nconst NUMERIC_FLAGS = 0xe6000000;\nconst VERSION_FW_SE = \"2.2.3\";\nconst VERSION_FW_MCU = \"2.30\";\nconst VERSION_FW_BL = \"1.16\";\nconst HARDWARE_REV = 0;\nconst LANGUAGE_PACK = 1;\nconst RECOVER_STATE = 0;\nconst RESPONSE_GET_VERSION = new Uint8Array([\n 0x33, 0x00, 0x00, 0x04, 0x05, 0x32, 0x2e, 0x32, 0x2e, 0x33, 0x04, 0xe6, 0x00,\n 0x00, 0x00, 0x04, 0x32, 0x2e, 0x33, 0x30, 0x04, 0x31, 0x2e, 0x31, 0x36, 0x01,\n 0x00, 0x01, 0x01, 0x01, 0x00,\n]);\n\n/*\nFormat version: 1\nName: BOLOS\nVersion: 2.2.3\n*/\nconst DASHBOARD_HEX = new Uint8Array([0x42, 0x4f, 0x4c, 0x4f, 0x53]);\nconst DASHBOARD_NAME = \"BOLOS\";\nconst RESPONSE_GET_APP_VERSION = new Uint8Array([\n 0x01, 0x05, 0x42, 0x4f, 0x4c, 0x4f, 0x53, 0x05, 0x32, 0x2e, 0x32, 0x2e, 0x33,\n]);\n\nlet parser: ByteArrayParser;\nlet response = RESPONSE_ONE_BYTE;\n\ndescribe(\"ByteArrayParser\", () => {\n const parserExtractNumber = (\n bigEndian: boolean,\n sizeInBits: number,\n signed: boolean,\n ): bigint | number | undefined => {\n if (signed) {\n switch (sizeInBits) {\n case 2:\n return parser.extract16BitInt(bigEndian);\n case 4:\n return parser.extract32BitInt(bigEndian);\n case 8:\n return parser.extract64BitInt(bigEndian);\n }\n } else {\n switch (sizeInBits) {\n case 2:\n return parser.extract16BitUInt(bigEndian);\n case 4:\n return parser.extract32BitUInt(bigEndian);\n case 8:\n return parser.extract64BitUInt(bigEndian);\n }\n }\n return undefined;\n };\n\n describe(\"clean\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"should create an instance\", () => {\n parser = new ByteArrayParser(response);\n expect(parser).toBeDefined();\n expect(parser).toBeInstanceOf(ByteArrayParser);\n });\n\n it(\"Extract a single byte\", () => {\n parser = new ByteArrayParser(response);\n expect(parser.extract8BitUInt()).toBe(0x01);\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n });\n\n it(\"Extract one byte\", () => {\n response = RESPONSE_ALL_BYTES;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_ALL_BYTES.length;\n\n expect(length).toBe(256);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x01);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x02);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n expect(parser.extract8BitUInt()).toBe(0x03);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n\n while (length != 0) {\n expect(parser.extract8BitUInt()).toBe(0xaa);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n index++;\n length--;\n }\n });\n\n it.each([\n [2, false, true, \"ffff\", 0xffff],\n [2, true, true, \"7fff\", 0x7fff],\n [2, true, true, \"8000\", -0x8000],\n [4, false, true, \"ffffffff\", 0xffffffff],\n [4, true, true, \"7fffffff\", 0x7fffffff],\n [4, true, true, \"80000000\", -0x80000000],\n [8, false, true, \"ffffffffffffffff\", 0xffffffffffffffffn],\n [8, true, true, \"7fffffffffffffff\", 0x7fffffffffffffffn],\n [8, true, true, \"8000000000000000\", -0x8000000000000000n],\n ])(\n \"Extract a number to the limit: size %i, signed %s, bigEndian %s, buffer %s, expected %i\",\n (sizeInBits, signed, bigEndian, input, output) => {\n parser = new ByteArrayParser(hexaStringToBuffer(input)!);\n const result = parserExtractNumber(bigEndian, sizeInBits, signed);\n expect(result).toStrictEqual(output);\n },\n );\n\n it.each([\n [2, false, true, \"3302\", 0x3302],\n [2, false, false, \"0233\", 0x3302],\n [2, true, true, \"1068\", 4200],\n [2, true, true, \"ef98\", -4200],\n [2, true, false, \"6810\", 4200],\n [2, true, false, \"98ef\", -4200],\n [4, false, true, \"01234567\", 0x01234567],\n [4, false, false, \"67452301\", 0x01234567],\n [4, true, true, \"075bcd15\", 123456789],\n [4, true, true, \"f8a432eb\", -123456789],\n [4, true, false, \"15cd5b07\", 123456789],\n [4, true, false, \"eb32a4f8\", -123456789],\n [8, false, true, \"0032435442584447\", 14147778004927559n],\n [8, false, false, \"4744584254433200\", 14147778004927559n],\n [8, true, true, \"0032435442584447\", 14147778004927559n],\n [8, true, true, \"ffcdbcabbda7bbb9\", -14147778004927559n],\n [8, true, false, \"4744584254433200\", 14147778004927559n],\n [8, true, false, \"b9bba7bdabbccdff\", -14147778004927559n],\n ])(\n \"Extract the following number: size %i, signed %s, bigEndian %s, buffer %s, expected %i\",\n (sizeInBits, signed, bigEndian, input, output) => {\n parser = new ByteArrayParser(hexaStringToBuffer(input)!);\n const result = parserExtractNumber(bigEndian, sizeInBits, signed);\n expect(result).toStrictEqual(output);\n },\n );\n\n it(\"Extract 16-bit & 32-bit number\", () => {\n response = RESPONSE_ALL_BYTES;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_ALL_BYTES.length;\n\n expect(length).toBe(256);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBe(0x0102);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBe(0x03aa);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n parser.resetIndex();\n index = 0;\n length = RESPONSE_ALL_BYTES.length;\n\n expect(parser.extract32BitUInt()).toBe(0x010203aa);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBe(0xaaaaaaaa);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"Parse a GetAppVersion response\", () => {\n response = RESPONSE_GET_APP_VERSION;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_GET_APP_VERSION.length;\n\n // Parse the response considering the first field to be the format field\n expect(length).toBe(13);\n\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const value = parser.extract8BitUInt();\n index++;\n length--;\n expect(value).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldLVEncoded();\n expect(array).toStrictEqual(DASHBOARD_HEX);\n expect(parser.encodeToString(array)).toBe(DASHBOARD_NAME);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n // Reparse the response considering the first field to be the TLV formatted\n parser.resetIndex();\n index = 0;\n length = RESPONSE_GET_APP_VERSION.length;\n\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field?.tag).toBe(0x01);\n expect(field?.value).toStrictEqual(DASHBOARD_HEX);\n expect(parser.encodeToString(field?.value)).toBe(DASHBOARD_NAME);\n index += 7;\n length -= 7;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"Parse a GetVersion response\", () => {\n response = RESPONSE_GET_VERSION;\n parser = new ByteArrayParser(response);\n let index = 0;\n let length = RESPONSE_GET_VERSION.length;\n\n expect(length).toBe(31);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n expect(parser.testMinimalLength(25)).toBe(true);\n\n let array = parser.extractFieldByLength(4);\n expect(parser.encodeToHexaString(array)).toBe(DEVICE_TYPE);\n index += 4;\n length -= 4;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_SE);\n index += 6;\n length -= 6;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n const flags = parser.encodeToHexaString(array, true);\n expect(flags).toBe(DEVICE_FLAGS);\n expect(parseInt(flags, 16)).toBe(NUMERIC_FLAGS);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_MCU);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.encodeToString(array)).toBe(VERSION_FW_BL);\n index += 5;\n length -= 5;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(HARDWARE_REV);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(LANGUAGE_PACK);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array?.at(0)).toBe(RECOVER_STATE);\n index += 2;\n length -= 2;\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n });\n\n describe(\"errors\", () => {\n it(\"no response\", () => {\n response = new Uint8Array();\n parser = new ByteArrayParser(response);\n const index = 0;\n const length = 0;\n\n expect(parser.testMinimalLength(1)).toBe(false);\n\n expect(parser.extract8BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldByLength(2);\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n });\n\n it(\"length error\", () => {\n response = RESPONSE_ONE_BYTE;\n parser = new ByteArrayParser(response);\n const index = 0;\n const length = RESPONSE_ONE_BYTE.length;\n\n expect(length).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract16BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n expect(parser.extract32BitUInt()).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let array = parser.extractFieldByLength(2);\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(array).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n let field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n response = RESPONSE_TWO_BYTES;\n parser = new ByteArrayParser(response);\n\n field = parser.extractFieldTLVEncoded();\n expect(field).toBeUndefined();\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(\n RESPONSE_TWO_BYTES.length,\n );\n });\n\n it(\"Test zero length\", () => {\n response = RESPONSE_LV_ZERO;\n parser = new ByteArrayParser(response);\n const zero = new Uint8Array();\n\n const index = 0;\n let length = RESPONSE_LV_ZERO.length;\n\n expect(length).toBe(1);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const value = parser.extract8BitUInt();\n expect(value).toBe(0);\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n\n parser.resetIndex();\n\n let array = parser.extractFieldByLength(0);\n expect(array).toStrictEqual(zero);\n expect(parser.encodeToString(array)).toBe(\"\");\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n array = parser.extractFieldLVEncoded();\n expect(parser.getCurrentIndex()).toBe(1);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n expect(array).toStrictEqual(zero);\n expect(parser.encodeToString(array)).toBe(\"\");\n\n response = RESPONSE_TLV_ZERO;\n parser = new ByteArrayParser(response);\n length = RESPONSE_TLV_ZERO.length;\n\n expect(length).toBe(2);\n expect(parser.getCurrentIndex()).toBe(index);\n expect(parser.getUnparsedRemainingLength()).toBe(length);\n\n const field = parser.extractFieldTLVEncoded();\n expect(field?.tag).toBe(0xab);\n expect(field?.value).toStrictEqual(zero);\n expect(parser.encodeToString(field?.value)).toBe(\"\");\n expect(parser.getCurrentIndex()).toBe(2);\n expect(parser.getUnparsedRemainingLength()).toBe(0);\n\n expect(parser.encodeToHexaString()).toBe(\"\");\n expect(parser.encodeToString()).toBe(\"\");\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["hexaStringToBuffer", "ByteArrayParser", "RESPONSE_ONE_BYTE", "RESPONSE_LV_ZERO", "RESPONSE_TWO_BYTES", "RESPONSE_TLV_ZERO", "RESPONSE_ALL_BYTES", "DEVICE_TYPE", "DEVICE_FLAGS", "NUMERIC_FLAGS", "VERSION_FW_SE", "VERSION_FW_MCU", "VERSION_FW_BL", "HARDWARE_REV", "LANGUAGE_PACK", "RECOVER_STATE", "RESPONSE_GET_VERSION", "DASHBOARD_HEX", "DASHBOARD_NAME", "RESPONSE_GET_APP_VERSION", "parser", "response", "parserExtractNumber", "bigEndian", "sizeInBits", "signed", "index", "length", "input", "output", "result", "value", "array", "field", "flags", "zero"]
|
7
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=Command.js.map
|
@@ -0,0 +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};
|
2
|
+
//# sourceMappingURL=Errors.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 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"]
|
7
|
+
}
|
@@ -0,0 +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};
|
2
|
+
//# sourceMappingURL=commandModule.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 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"]
|
7
|
+
}
|
@@ -0,0 +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)})})});
|
2
|
+
//# sourceMappingURL=commandModule.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 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",
|
6
|
+
"names": ["Container", "SendCommandUseCase", "deviceSessionModuleFactory", "loggerModuleFactory", "StubUseCase", "commandModuleFactory", "commandTypes", "container", "mod", "sendCommandUseCase"]
|
7
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/di/commandTypes.ts"],
|
4
|
+
"sourcesContent": ["export const commandTypes = {\n SendCommandUseCase: Symbol.for(\"SendCommandUseCase\"),\n};\n"],
|
5
|
+
"mappings": "AAAO,MAAMA,EAAe,CAC1B,mBAAoB,OAAO,IAAI,oBAAoB,CACrD",
|
6
|
+
"names": ["commandTypes"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var a=(e=>(e.Error="ERROR",e.Success="SUCCESS",e))(a||{});function o({data:r,error:t}){return t?{status:"ERROR",error:t}:{status:"SUCCESS",data:r}}function s(r){return r.status==="SUCCESS"}export{o as CommandResultFactory,a as CommandResultStatus,s as isSuccessCommandResult};
|
2
|
+
//# sourceMappingURL=CommandResult.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/model/CommandResult.ts"],
|
4
|
+
"sourcesContent": ["import {\n type InvalidBatteryDataError,\n type InvalidBatteryStatusTypeError,\n type InvalidResponseFormatError,\n type InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { type GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport {\n type DeviceExchangeError,\n type UnknownDeviceExchangeError,\n} from \"@api/Error\";\n\nexport enum CommandResultStatus {\n Error = \"ERROR\",\n Success = \"SUCCESS\",\n}\ntype CommandSuccessResult<Data> = {\n status: CommandResultStatus.Success;\n data: Data;\n};\nexport type CommandErrorResult<SpecificErrorCodes = void> = {\n error:\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError;\n status: CommandResultStatus.Error;\n};\nexport type CommandResult<Data, SpecificErrorCodes = void> =\n | CommandSuccessResult<Data>\n | CommandErrorResult<SpecificErrorCodes>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error:\n | DeviceExchangeError<SpecificErrorCodes>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error) {\n return {\n status: CommandResultStatus.Error,\n error,\n };\n }\n return {\n status: CommandResultStatus.Success,\n data,\n };\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return result.status === CommandResultStatus.Success;\n}\n"],
|
5
|
+
"mappings": "AAYO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAFAA,OAAA,IAsBL,SAASC,EAAsD,CACpE,KAAAC,EACA,MAAAC,CACF,EAWgD,CAC9C,OAAIA,EACK,CACL,OAAQ,QACR,MAAAA,CACF,EAEK,CACL,OAAQ,UACR,KAAAD,CACF,CACF,CAEO,SAASE,EACdC,EACsC,CACtC,OAAOA,EAAO,SAAW,SAC3B",
|
6
|
+
"names": ["CommandResultStatus", "CommandResultFactory", "data", "error", "isSuccessCommandResult", "result"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{GlobalCommandErrorHandler as r}from"../../command/utils/GlobalCommandError";import{ApduResponse as o}from"../../device-session/ApduResponse";import{CommandResultFactory as s,CommandResultStatus as a,isSuccessCommandResult as u}from"./CommandResult";describe("CommandResult",()=>{describe("CommandResultFactory",()=>{it("should create a success command result with given data",()=>{const t={lorem:"ipsum"},e=s({data:t});expect(e).toStrictEqual({status:a.Success,data:t})}),it("should create a failure command result with given error",()=>{const t=r.handle(new o({statusCode:Uint8Array.from([66,0]),data:Uint8Array.from([])})),e=s({error:t});expect(e).toStrictEqual({status:a.Error,error:t})})}),describe("isSuccessCommandResult",()=>{it("should return true if command result success",()=>{const e=s({data:{test:"ttest"}});expect(u(e)).toBeTruthy()}),it("should return false if command result fails",()=>{const t=r.handle(new o({statusCode:Uint8Array.from([66,0]),data:Uint8Array.from([])})),e=s({error:t});expect(u(e)).toBeFalsy()})})});
|
2
|
+
//# sourceMappingURL=CommandResult.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/model/CommandResult.test.ts"],
|
4
|
+
"sourcesContent": ["import { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n CommandResultFactory,\n CommandResultStatus,\n isSuccessCommandResult,\n} from \"./CommandResult\";\n\ndescribe(\"CommandResult\", () => {\n describe(\"CommandResultFactory\", () => {\n it(\"should create a success command result with given data\", () => {\n // given\n const data = { lorem: \"ipsum\" };\n // when\n const result = CommandResultFactory({ data });\n // then\n expect(result).toStrictEqual({\n status: CommandResultStatus.Success,\n data,\n });\n });\n it(\"should create a failure command result with given error\", () => {\n // given\n const error = GlobalCommandErrorHandler.handle(\n new ApduResponse({\n statusCode: Uint8Array.from([0x42, 0x00]),\n data: Uint8Array.from([]),\n }),\n );\n\n // when\n const result = CommandResultFactory({ error });\n\n // then\n expect(result).toStrictEqual({\n status: CommandResultStatus.Error,\n error,\n });\n });\n });\n\n describe(\"isSuccessCommandResult\", () => {\n it(\"should return true if command result success\", () => {\n // given\n const data = { test: \"ttest\" };\n // when\n const result = CommandResultFactory({ data });\n // then\n expect(isSuccessCommandResult(result)).toBeTruthy();\n });\n it(\"should return false if command result fails\", () => {\n // given\n const error = GlobalCommandErrorHandler.handle(\n new ApduResponse({\n statusCode: Uint8Array.from([0x42, 0x00]),\n data: Uint8Array.from([]),\n }),\n );\n // when\n const result = CommandResultFactory({ error });\n // then\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n });\n});\n"],
|
5
|
+
"mappings": "AAAA,OAAS,6BAAAA,MAAiC,wCAC1C,OAAS,gBAAAC,MAAoB,mCAE7B,OACE,wBAAAC,EACA,uBAAAC,EACA,0BAAAC,MACK,kBAEP,SAAS,gBAAiB,IAAM,CAC9B,SAAS,uBAAwB,IAAM,CACrC,GAAG,yDAA0D,IAAM,CAEjE,MAAMC,EAAO,CAAE,MAAO,OAAQ,EAExBC,EAASJ,EAAqB,CAAE,KAAAG,CAAK,CAAC,EAE5C,OAAOC,CAAM,EAAE,cAAc,CAC3B,OAAQH,EAAoB,QAC5B,KAAAE,CACF,CAAC,CACH,CAAC,EACD,GAAG,0DAA2D,IAAM,CAElE,MAAME,EAAQP,EAA0B,OACtC,IAAIC,EAAa,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,EAGMK,EAASJ,EAAqB,CAAE,MAAAK,CAAM,CAAC,EAG7C,OAAOD,CAAM,EAAE,cAAc,CAC3B,OAAQH,EAAoB,MAC5B,MAAAI,CACF,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,yBAA0B,IAAM,CACvC,GAAG,+CAAgD,IAAM,CAIvD,MAAMD,EAASJ,EAAqB,CAAE,KAFzB,CAAE,KAAM,OAAQ,CAEc,CAAC,EAE5C,OAAOE,EAAuBE,CAAM,CAAC,EAAE,WAAW,CACpD,CAAC,EACD,GAAG,8CAA+C,IAAM,CAEtD,MAAMC,EAAQP,EAA0B,OACtC,IAAIC,EAAa,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,CAAI,CAAC,EACxC,KAAM,WAAW,KAAK,CAAC,CAAC,CAC1B,CAAC,CACH,EAEMK,EAASJ,EAAqB,CAAE,MAAAK,CAAM,CAAC,EAE7C,OAAOH,EAAuBE,CAAM,CAAC,EAAE,UAAU,CACnD,CAAC,CACH,CAAC,CACH,CAAC",
|
6
|
+
"names": ["GlobalCommandErrorHandler", "ApduResponse", "CommandResultFactory", "CommandResultStatus", "isSuccessCommandResult", "data", "result", "error"]
|
7
|
+
}
|
@@ -0,0 +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};
|
2
|
+
//# sourceMappingURL=CloseAppCommand.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 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",
|
6
|
+
"names": ["ApduBuilder", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "CloseAppCommand", "closeAppApduArgs", "apduResponse"]
|
7
|
+
}
|
@@ -0,0 +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()})});
|
2
|
+
//# sourceMappingURL=CloseAppCommand.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 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",
|
6
|
+
"names": ["isSuccessCommandResult", "CloseAppCommand", "ApduResponse", "CLOSE_APP_APDU", "closeAppCommand", "apdu", "apduResponse"]
|
7
|
+
}
|
@@ -0,0 +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};
|
2
|
+
//# sourceMappingURL=GetAppAndVersionCommand.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 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",
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "InvalidResponseFormatError", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "GetAppAndVersionCommand", "getAppAndVersionApduArgs", "apduResponse", "parser", "name", "version", "flags"]
|
7
|
+
}
|
@@ -0,0 +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()})})});
|
2
|
+
//# sourceMappingURL=GetAppAndVersionCommand.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 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",
|
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
|
+
}
|
@@ -0,0 +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};
|
2
|
+
//# sourceMappingURL=GetBatteryStatusCommand.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.ts"],
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n InvalidBatteryDataError,\n InvalidBatteryStatusTypeError,\n} from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * The type of battery information to retrieve.\n */\nexport enum BatteryStatusType {\n /**\n * The command response will be the battery percentage.\n */\n BATTERY_PERCENTAGE = 0x00,\n /**\n * The command response will be the battery voltage in mV.\n */\n BATTERY_VOLTAGE = 0x01,\n /**\n * The command response will be the battery temperature in degree celsius\n */\n BATTERY_TEMPERATURE = 0x02,\n /**\n * The command response will be the battery current in mA.\n */\n BATTERY_CURRENT = 0x03,\n /**\n * The command response will be the battery status (cf. `BatteryStatusFlags`)\n */\n BATTERY_FLAGS = 0x04,\n}\n\nexport enum ChargingMode {\n NONE = 0x00,\n USB = 0x01,\n QI = 0x02,\n}\n\nenum FlagMasks {\n CHARGING = 0x00000001,\n USB = 0x00000002,\n USB_POWERED = 0x00000008,\n BLE = 0x00000004,\n ISSUE_BATTERY = 0x00000080,\n ISSUE_CHARGING = 0x00000010,\n ISSUE_TEMPERATURE = 0x00000020,\n}\n\nexport type BatteryStatusFlags = {\n readonly charging: ChargingMode;\n readonly issueCharging: boolean;\n readonly issueTemperature: boolean;\n readonly issueBattery: boolean;\n};\n\n/**\n * The response type depends on the `statusType` parameter sent with the command,\n * cf. `BatteryStatusType`.\n */\nexport type GetBatteryStatusResponse = number | BatteryStatusFlags;\n\nexport type GetBatteryStatusArgs = {\n readonly statusType: BatteryStatusType;\n};\n\n/**\n * Command to get the battery status of the device.\n * The parameter statusType defines the type of information to retrieve, cf.\n * `BatteryStatusType`.\n *\n * WARNING: this command should not be sent within a logic of polling as it is\n * going to decrease the overall performance of the communication with the device.\n */\nexport class GetBatteryStatusCommand\n implements Command<GetBatteryStatusResponse, GetBatteryStatusArgs>\n{\n readonly args: GetBatteryStatusArgs;\n\n constructor(args: GetBatteryStatusArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getBatteryStatusArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x10,\n p1: 0x00,\n p2: this.args.statusType,\n };\n return new ApduBuilder(getBatteryStatusArgs).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetBatteryStatusResponse> {\n const parser = new ApduParser(apduResponse);\n\n switch (this.args.statusType) {\n case BatteryStatusType.BATTERY_PERCENTAGE: {\n const percentage = parser.extract8BitUInt();\n if (percentage === undefined) {\n return CommandResultFactory({\n error: new InvalidBatteryDataError(\"Cannot parse APDU response\"),\n });\n }\n return CommandResultFactory({\n data: percentage > 100 ? -1 : percentage,\n });\n }\n case BatteryStatusType.BATTERY_VOLTAGE: {\n const data = parser.extract16BitUInt();\n if (data === undefined) {\n return CommandResultFactory({\n error: new InvalidBatteryDataError(\"Cannot parse APDU response\"),\n });\n }\n return CommandResultFactory({\n data,\n });\n }\n case BatteryStatusType.BATTERY_TEMPERATURE:\n case BatteryStatusType.BATTERY_CURRENT: {\n const data = parser.extract8BitUInt();\n if (data === undefined) {\n return CommandResultFactory({\n error: new InvalidBatteryDataError(\"Cannot parse APDU response\"),\n });\n }\n return CommandResultFactory({\n data: (data << 24) >> 24,\n });\n }\n case BatteryStatusType.BATTERY_FLAGS: {\n const flags = parser.extract32BitUInt();\n if (flags === undefined) {\n return CommandResultFactory({\n error: new InvalidBatteryDataError(\"Cannot parse APDU response\"),\n });\n }\n const chargingUSB = !!(flags & FlagMasks.USB_POWERED);\n const chargingQi = !chargingUSB && !!(flags & FlagMasks.CHARGING);\n return CommandResultFactory({\n data: {\n charging: chargingQi\n ? ChargingMode.QI\n : chargingUSB\n ? ChargingMode.USB\n : ChargingMode.NONE,\n issueCharging: !!(flags & FlagMasks.ISSUE_CHARGING),\n issueTemperature: !!(flags & FlagMasks.ISSUE_TEMPERATURE),\n issueBattery: !!(flags & FlagMasks.ISSUE_BATTERY),\n },\n });\n }\n default:\n return CommandResultFactory({\n error: new InvalidBatteryStatusTypeError(\n \"One or some case(s) not covered\",\n ),\n });\n }\n }\n}\n"],
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OACE,2BAAAC,EACA,iCAAAC,MACK,sBACP,OAEE,wBAAAC,MACK,mCAMA,IAAKC,OAIVA,IAAA,mBAAqB,GAArB,qBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,oBAAsB,GAAtB,sBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,cAAgB,GAAhB,gBApBUA,OAAA,IAuBAC,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,IAAM,GAAN,MACAA,IAAA,GAAK,GAAL,KAHUA,OAAA,IAyCL,MAAMC,CAEb,CACW,KAET,YAAYC,EAA4B,CACtC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAwC,CAC5C,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,KAAK,KAAK,UAChB,EACA,OAAO,IAAIC,EAAYD,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEE,EACyC,CACzC,MAAMC,EAAS,IAAIC,EAAWF,CAAY,EAE1C,OAAQ,KAAK,KAAK,WAAY,CAC5B,IAAK,GAAsC,CACzC,MAAMG,EAAaF,EAAO,gBAAgB,EAC1C,OAAIE,IAAe,OACVC,EAAqB,CAC1B,MAAO,IAAIC,EAAwB,4BAA4B,CACjE,CAAC,EAEID,EAAqB,CAC1B,KAAMD,EAAa,IAAM,GAAKA,CAChC,CAAC,CACH,CACA,IAAK,GAAmC,CACtC,MAAMG,EAAOL,EAAO,iBAAiB,EACrC,OAAIK,IAAS,OACJF,EAAqB,CAC1B,MAAO,IAAIC,EAAwB,4BAA4B,CACjE,CAAC,EAEID,EAAqB,CAC1B,KAAAE,CACF,CAAC,CACH,CACA,IAAK,GACL,IAAK,GAAmC,CACtC,MAAMA,EAAOL,EAAO,gBAAgB,EACpC,OAAIK,IAAS,OACJF,EAAqB,CAC1B,MAAO,IAAIC,EAAwB,4BAA4B,CACjE,CAAC,EAEID,EAAqB,CAC1B,KAAOE,GAAQ,IAAO,EACxB,CAAC,CACH,CACA,IAAK,GAAiC,CACpC,MAAMC,EAAQN,EAAO,iBAAiB,EACtC,GAAIM,IAAU,OACZ,OAAOH,EAAqB,CAC1B,MAAO,IAAIC,EAAwB,4BAA4B,CACjE,CAAC,EAEH,MAAMG,EAAc,CAAC,EAAED,EAAQ,GACzBE,EAAa,CAACD,GAAe,CAAC,EAAED,EAAQ,GAC9C,OAAOH,EAAqB,CAC1B,KAAM,CACJ,SAAUK,EACN,EACAD,EACE,EACA,EACN,cAAe,CAAC,EAAED,EAAQ,IAC1B,iBAAkB,CAAC,EAAEA,EAAQ,IAC7B,aAAc,CAAC,EAAEA,EAAQ,IAC3B,CACF,CAAC,CACH,CACA,QACE,OAAOH,EAAqB,CAC1B,MAAO,IAAIM,EACT,iCACF,CACF,CAAC,CACL,CACF,CACF",
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "InvalidBatteryDataError", "InvalidBatteryStatusTypeError", "CommandResultFactory", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "args", "getBatteryStatusArgs", "ApduBuilder", "apduResponse", "parser", "ApduParser", "percentage", "CommandResultFactory", "InvalidBatteryDataError", "data", "flags", "chargingUSB", "chargingQi", "InvalidBatteryStatusTypeError"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{CommandResultFactory as o,isSuccessCommandResult as u}from"../../command/model/CommandResult";import{ApduResponse as r}from"../../device-session/ApduResponse";import{BatteryStatusType as t,ChargingMode as R,GetBatteryStatusCommand as e}from"./GetBatteryStatusCommand";const d=Uint8Array.from([224,16,0,0,0]),i=Uint8Array.from([224,16,0,1,0]),x=Uint8Array.from([224,16,0,2,0]),S=Uint8Array.from([224,16,0,3,0]),m=Uint8Array.from([224,16,0,4,0]),n=Uint8Array.from([55,144,0]),T=Uint8Array.from([15,255,144,0]),c=Uint8Array.from([16,144,0]),A=Uint8Array.from([0,0,0,15,144,0]),p=Uint8Array.from([103,0]);describe("GetBatteryStatus",()=>{describe("getApdu",()=>{it("should return the GetBatteryStatus APDU",()=>{expect(new e({statusType:t.BATTERY_PERCENTAGE}).getApdu().getRawApdu()).toStrictEqual(d),expect(new e({statusType:t.BATTERY_VOLTAGE}).getApdu().getRawApdu()).toStrictEqual(i),expect(new e({statusType:t.BATTERY_TEMPERATURE}).getApdu().getRawApdu()).toStrictEqual(x),expect(new e({statusType:t.BATTERY_CURRENT}).getApdu().getRawApdu()).toStrictEqual(S),expect(new e({statusType:t.BATTERY_FLAGS}).getApdu().getRawApdu()).toStrictEqual(m)})}),describe("parseResponse",()=>{it("should parse the response when querying percentage",()=>{const s=new r({statusCode:n.slice(-2),data:n.slice(0,-2)}),a=new e({statusType:t.BATTERY_PERCENTAGE}).parseResponse(s);expect(a).toStrictEqual(o({data:55}))}),it("should parse the response when querying voltage",()=>{const s=new r({statusCode:T.slice(-2),data:T.slice(0,-2)}),a=new e({statusType:t.BATTERY_VOLTAGE}).parseResponse(s);expect(a).toStrictEqual(o({data:4095}))}),it("should parse the response when querying temperature",()=>{const s=new r({statusCode:c.slice(-2),data:c.slice(0,-2)}),a=new e({statusType:t.BATTERY_TEMPERATURE}).parseResponse(s);expect(a).toStrictEqual(o({data:16}))}),it("should parse the response when querying flags",()=>{const s=new r({statusCode:A.slice(-2),data:A.slice(0,-2)}),a=new e({statusType:t.BATTERY_FLAGS}).parseResponse(s);expect(a).toStrictEqual(o({data:{charging:R.USB,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should return an error if the response returned unsupported format",()=>{const s=new r({statusCode:p.slice(-2),data:p.slice(0,-2)}),a=new e({statusType:t.BATTERY_PERCENTAGE}).parseResponse(s);expect(u(a)).toBeFalsy()})})});
|
2
|
+
//# sourceMappingURL=GetBatteryStatusCommand.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.test.ts"],
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n BatteryStatusType,\n ChargingMode,\n GetBatteryStatusCommand,\n} from \"./GetBatteryStatusCommand\";\n\nconst GET_BATTERY_STATUS_APDU_PERCENTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x00, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_VOLTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x01, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_TEMPERATURE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x02, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_CURRENT = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x03, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_FLAGS = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x04, 0x00,\n]);\n\nconst PERCENTAGE_RESPONSE_HEX = Uint8Array.from([0x37, 0x90, 0x00]);\nconst VOLTAGE_RESPONSE_HEX = Uint8Array.from([0x0f, 0xff, 0x90, 0x00]);\nconst TEMPERATURE_RESPONSE_HEX = Uint8Array.from([0x10, 0x90, 0x00]);\nconst FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x0f, 0x90, 0x00,\n]);\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\ndescribe(\"GetBatteryStatus\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the GetBatteryStatus APDU\", () => {\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_PERCENTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_VOLTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_TEMPERATURE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_CURRENT);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_FLAGS);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should parse the response when querying percentage\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 55 }));\n });\n it(\"should parse the response when querying voltage\", () => {\n const VOLTAGE_RESPONSE = new ApduResponse({\n statusCode: VOLTAGE_RESPONSE_HEX.slice(-2),\n data: VOLTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const parsed = command.parseResponse(VOLTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 4095 }));\n });\n it(\"should parse the response when querying temperature\", () => {\n const TEMPERATURE_RESPONSE = new ApduResponse({\n statusCode: TEMPERATURE_RESPONSE_HEX.slice(-2),\n data: TEMPERATURE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const parsed = command.parseResponse(TEMPERATURE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 16 }));\n });\n it(\"should parse the response when querying flags\", () => {\n const FLAGS_RESPONSE = new ApduResponse({\n statusCode: FLAGS_RESPONSE_HEX.slice(-2),\n data: FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.USB,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(FAILED_RESPONSE);\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["CommandResultFactory", "isSuccessCommandResult", "ApduResponse", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "GET_BATTERY_STATUS_APDU_PERCENTAGE", "GET_BATTERY_STATUS_APDU_VOLTAGE", "GET_BATTERY_STATUS_APDU_TEMPERATURE", "GET_BATTERY_STATUS_APDU_CURRENT", "GET_BATTERY_STATUS_APDU_FLAGS", "PERCENTAGE_RESPONSE_HEX", "VOLTAGE_RESPONSE_HEX", "TEMPERATURE_RESPONSE_HEX", "FLAGS_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "PERCENTAGE_RESPONSE", "parsed", "VOLTAGE_RESPONSE", "TEMPERATURE_RESPONSE", "FLAGS_RESPONSE", "FAILED_RESPONSE", "result"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{ApduBuilder as p}from"../../apdu/utils/ApduBuilder";import{ApduParser as g}from"../../apdu/utils/ApduParser";import{CommandResultFactory as t}from"../../command/model/CommandResult";import{CommandUtils as u}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as V}from"../../command/utils/GlobalCommandError";import{DeviceModelId as x}from"../../device/DeviceModel";class L{args=void 0;getApdu(){const r={cla:224,ins:1,p1:0,p2:0};return new p(r).build()}parseResponse(r,d){if(!u.isSuccessResponse(r))return t({error:V.handle(r)});const e=new g(r),s=e.encodeToHexaString(e.extractFieldByLength(4)),i=e.encodeToString(e.extractFieldLVEncoded()),a=parseInt(e.encodeToHexaString(e.extractFieldLVEncoded()).toString(),16),c=e.encodeToString(e.extractFieldLVEncoded()),l=e.encodeToString(e.extractFieldLVEncoded());let o="00";d===x.NANO_X&&(o=e.encodeToHexaString(e.extractFieldLVEncoded()));const m=e.encodeToHexaString(e.extractFieldLVEncoded()),n=e.encodeToHexaString(e.extractFieldLVEncoded());return t({data:{targetId:s,seVersion:i,seFlags:a,mcuSephVersion:c,mcuBootloaderVersion:l,hwVersion:o,langId:m,recoverState:n||"0"}})}}export{L as GetOsVersionCommand};
|
2
|
+
//# sourceMappingURL=GetOsVersionCommand.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/os/GetOsVersionCommand.ts"],
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * Response of the GetOsVersionCommand.\n */\nexport type GetOsVersionResponse = {\n /**\n * Target identifier.\n */\n readonly targetId: string;\n\n /**\n * Version of BOLOS on the secure element (SE).\n * {@link https://developers.ledger.com/docs/device-app/architecture/bolos/hardware-architecture | Hardware Architecture}\n */\n readonly seVersion: string;\n\n /**\n * Secure element flags.\n * Used to represent the current state of the secure element.\n */\n readonly seFlags: number;\n\n /**\n * Version of the microcontroller unit (MCU) SEPH, which is the SE-MCU link protocol.\n * {@link https://developers.ledger.com/docs/device-app/architecture/bolos/hardware-architecture | Hardware Architecture}\n */\n readonly mcuSephVersion: string;\n\n /**\n * Version of the MCU bootloader.\n */\n readonly mcuBootloaderVersion: string;\n\n /**\n * Hardware revision version.\n * Only available for Ledger Nano X in which case it's \"00\" or \"01\".\n */\n readonly hwVersion: string;\n\n /**\n * Identifier of the installed language pack.\n * Can be one of:\n * - \"00\": English\n * - \"01\": French\n * - \"02\": Spanish\n */\n readonly langId: string; // [SHOULD] be an enum\n\n /**\n * State for Ledger Recover. // [SHOULD] Add more information about this field\n */\n readonly recoverState: string;\n};\n\n/**\n * Command to get information about the device firmware.\n */\nexport class GetOsVersionCommand implements Command<GetOsVersionResponse> {\n readonly args = undefined;\n\n getApdu(): Apdu {\n const getOsVersionApduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getOsVersionApduArgs).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n deviceModelId: DeviceModelId,\n ): CommandResult<GetOsVersionResponse> {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n\n const targetId = parser.encodeToHexaString(parser.extractFieldByLength(4));\n const seVersion = parser.encodeToString(parser.extractFieldLVEncoded());\n const seFlags = parseInt(\n parser.encodeToHexaString(parser.extractFieldLVEncoded()).toString(),\n 16,\n );\n const mcuSephVersion = parser.encodeToString(\n parser.extractFieldLVEncoded(),\n );\n const mcuBootloaderVersion = parser.encodeToString(\n parser.extractFieldLVEncoded(),\n );\n\n let hwVersion = \"00\";\n if (deviceModelId === DeviceModelId.NANO_X) {\n hwVersion = parser.encodeToHexaString(parser.extractFieldLVEncoded());\n }\n\n const langId = parser.encodeToHexaString(parser.extractFieldLVEncoded());\n const recoverState = parser.encodeToHexaString(\n parser.extractFieldLVEncoded(),\n );\n\n return CommandResultFactory({\n data: {\n targetId,\n seVersion,\n seFlags,\n mcuSephVersion,\n mcuBootloaderVersion,\n hwVersion,\n langId,\n recoverState: recoverState ? recoverState : \"0\",\n },\n });\n }\n}\n"],
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAC1C,OAAS,iBAAAC,MAAqB,0BA2DvB,MAAMC,CAA6D,CAC/D,KAAO,OAEhB,SAAgB,CACd,MAAMC,EAAwC,CAC5C,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIP,EAAYO,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEC,EACAC,EACqC,CACrC,GAAI,CAACN,EAAa,kBAAkBK,CAAY,EAC9C,OAAON,EAAqB,CAC1B,MAAOE,EAA0B,OAAOI,CAAY,CACtD,CAAC,EAEH,MAAME,EAAS,IAAIT,EAAWO,CAAY,EAEpCG,EAAWD,EAAO,mBAAmBA,EAAO,qBAAqB,CAAC,CAAC,EACnEE,EAAYF,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAChEG,EAAU,SACdH,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,EAAE,SAAS,EACnE,EACF,EACMI,EAAiBJ,EAAO,eAC5BA,EAAO,sBAAsB,CAC/B,EACMK,EAAuBL,EAAO,eAClCA,EAAO,sBAAsB,CAC/B,EAEA,IAAIM,EAAY,KACZP,IAAkBJ,EAAc,SAClCW,EAAYN,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,GAGtE,MAAMO,EAASP,EAAO,mBAAmBA,EAAO,sBAAsB,CAAC,EACjEQ,EAAeR,EAAO,mBAC1BA,EAAO,sBAAsB,CAC/B,EAEA,OAAOR,EAAqB,CAC1B,KAAM,CACJ,SAAAS,EACA,UAAAC,EACA,QAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,UAAAC,EACA,OAAAC,EACA,aAAcC,GAA8B,GAC9C,CACF,CAAC,CACH,CACF",
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "DeviceModelId", "GetOsVersionCommand", "getOsVersionApduArgs", "apduResponse", "deviceModelId", "parser", "targetId", "seVersion", "seFlags", "mcuSephVersion", "mcuBootloaderVersion", "hwVersion", "langId", "recoverState"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{CommandResultFactory as o,isSuccessCommandResult as a}from"../../command/model/CommandResult";import{DeviceModelId as t}from"../../device/DeviceModel";import{ApduResponse as r}from"../../device-session/ApduResponse";import{GetOsVersionCommand as n}from"./GetOsVersionCommand";const d=Uint8Array.from([224,1,0,0,0]),c=Uint8Array.from([51,0,0,4,5,50,46,50,46,51,4,230,0,0,0,4,50,46,51,48,4,49,46,49,54,1,0,1,0,1,0,144,0]),i=new r({statusCode:Uint8Array.from([144,0]),data:c}),p=Uint8Array.from([51,16,0,4,5,49,46,49,46,49,4,230,0,0,0,4,52,46,48,51,4,51,46,49,50,1,0,1,0,144,0]),m=new r({statusCode:Uint8Array.from([144,0]),data:p}),S=Uint8Array.from([51,32,0,4,5,49,46,51,46,48,4,230,0,0,0,4,53,46,50,52,4,48,46,52,56,1,0,1,0,144,0]),u=new r({statusCode:Uint8Array.from([144,0]),data:S});describe("GetOsVersionCommand",()=>{let s;beforeEach(()=>{s=new n}),describe("getApdu",()=>{it("should return the GetOsVersion apdu",()=>{const e=s.getApdu();expect(e.getRawApdu()).toStrictEqual(d)})}),describe("parseResponse",()=>{describe("Nano X",()=>{it("should parse the LNX response",()=>{const e=s.parseResponse(i,t.NANO_X),x=o({data:{targetId:"33000004",seVersion:"2.2.3",seFlags:3858759680,mcuSephVersion:"2.30",mcuBootloaderVersion:"1.16",hwVersion:"00",langId:"00",recoverState:"00"}});expect(e).toStrictEqual(x)})}),describe("Nano S Plus",()=>{it("should parse the LNSP response",()=>{const e=s.parseResponse(m,t.NANO_SP),x=o({data:{targetId:"33100004",seVersion:"1.1.1",seFlags:3858759680,mcuSephVersion:"4.03",mcuBootloaderVersion:"3.12",hwVersion:"00",langId:"00",recoverState:"00"}});expect(e).toStrictEqual(x)})}),describe("Stax",()=>{it("should parse the STAX response",()=>{const e=s.parseResponse(u,t.STAX),x=o({data:{targetId:"33200004",seVersion:"1.3.0",seFlags:3858759680,mcuSephVersion:"5.24",mcuBootloaderVersion:"0.48",hwVersion:"00",langId:"00",recoverState:"00"}});expect(e).toStrictEqual(x)})}),describe("Error handling",()=>{it("should return an error if the response is not successful",()=>{const e=new r({statusCode:Uint8Array.from([110,128]),data:Uint8Array.from([])}),x=s.parseResponse(e,t.NANO_S);expect(a(x)).toBeFalsy()})})})});
|
2
|
+
//# sourceMappingURL=GetOsVersionCommand.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/os/GetOsVersionCommand.test.ts"],
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport { GetOsVersionCommand } from \"./GetOsVersionCommand\";\n\nconst GET_OS_VERSION_APDU = Uint8Array.from([0xe0, 0x01, 0x00, 0x00, 0x00]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x33, 0x00, 0x00, 0x04, 0x05, 0x32, 0x2e, 0x32, 0x2e, 0x33, 0x04, 0xe6, 0x00,\n 0x00, 0x00, 0x04, 0x32, 0x2e, 0x33, 0x30, 0x04, 0x31, 0x2e, 0x31, 0x36, 0x01,\n 0x00, 0x01, 0x00, 0x01, 0x00, 0x90, 0x00,\n]);\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n});\n\nconst LNSP_REPONSE_DATA_GOOD = Uint8Array.from([\n 0x33, 0x10, 0x00, 0x04, 0x05, 0x31, 0x2e, 0x31, 0x2e, 0x31, 0x04, 0xe6, 0x00,\n 0x00, 0x00, 0x04, 0x34, 0x2e, 0x30, 0x33, 0x04, 0x33, 0x2e, 0x31, 0x32, 0x01,\n 0x00, 0x01, 0x00, 0x90, 0x00,\n]);\nconst LNSP_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNSP_REPONSE_DATA_GOOD,\n});\n\nconst STAX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x33, 0x20, 0x00, 0x04, 0x05, 0x31, 0x2e, 0x33, 0x2e, 0x30, 0x04, 0xe6, 0x00,\n 0x00, 0x00, 0x04, 0x35, 0x2e, 0x32, 0x34, 0x04, 0x30, 0x2e, 0x34, 0x38, 0x01,\n 0x00, 0x01, 0x00, 0x90, 0x00,\n]);\nconst STAX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: STAX_RESPONSE_DATA_GOOD,\n});\n\ndescribe(\"GetOsVersionCommand\", () => {\n let command: GetOsVersionCommand;\n\n beforeEach(() => {\n command = new GetOsVersionCommand();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetOsVersion apdu\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_OS_VERSION_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n describe(\"Nano X\", () => {\n it(\"should parse the LNX response\", () => {\n const parsed = command.parseResponse(\n LNX_RESPONSE_GOOD,\n DeviceModelId.NANO_X,\n );\n\n const expected = CommandResultFactory({\n data: {\n targetId: \"33000004\",\n seVersion: \"2.2.3\",\n seFlags: 3858759680,\n mcuSephVersion: \"2.30\",\n mcuBootloaderVersion: \"1.16\",\n hwVersion: \"00\",\n langId: \"00\",\n recoverState: \"00\",\n },\n });\n\n expect(parsed).toStrictEqual(expected);\n });\n });\n\n describe(\"Nano S Plus\", () => {\n it(\"should parse the LNSP response\", () => {\n const parsed = command.parseResponse(\n LNSP_RESPONSE_GOOD,\n DeviceModelId.NANO_SP,\n );\n\n const expected = CommandResultFactory({\n data: {\n targetId: \"33100004\",\n seVersion: \"1.1.1\",\n seFlags: 3858759680,\n mcuSephVersion: \"4.03\",\n mcuBootloaderVersion: \"3.12\",\n hwVersion: \"00\",\n langId: \"00\",\n recoverState: \"00\",\n },\n });\n\n expect(parsed).toStrictEqual(expected);\n });\n });\n\n describe(\"Stax\", () => {\n it(\"should parse the STAX response\", () => {\n const parsed = command.parseResponse(\n STAX_RESPONSE_GOOD,\n DeviceModelId.STAX,\n );\n\n const expected = CommandResultFactory({\n data: {\n targetId: \"33200004\",\n seVersion: \"1.3.0\",\n seFlags: 3858759680,\n mcuSephVersion: \"5.24\",\n mcuBootloaderVersion: \"0.48\",\n hwVersion: \"00\",\n langId: \"00\",\n recoverState: \"00\",\n },\n });\n\n expect(parsed).toStrictEqual(expected);\n });\n });\n\n describe(\"Error handling\", () => {\n it(\"should return an error if the response is not successful\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6e, 0x80]),\n data: Uint8Array.from([]),\n });\n const result = command.parseResponse(response, DeviceModelId.NANO_S);\n\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["CommandResultFactory", "isSuccessCommandResult", "DeviceModelId", "ApduResponse", "GetOsVersionCommand", "GET_OS_VERSION_APDU", "LNX_RESPONSE_DATA_GOOD", "LNX_RESPONSE_GOOD", "LNSP_REPONSE_DATA_GOOD", "LNSP_RESPONSE_GOOD", "STAX_RESPONSE_DATA_GOOD", "STAX_RESPONSE_GOOD", "command", "apdu", "parsed", "expected", "response", "result"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{ApduBuilder as l}from"../../apdu/utils/ApduBuilder";import{ApduParser as A}from"../../apdu/utils/ApduParser";import{CommandResultFactory as o}from"../../command/model/CommandResult";import{isCommandErrorCode as c}from"../../command/utils/CommandErrors";import{CommandUtils as u}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as C}from"../../command/utils/GlobalCommandError";import{DeviceExchangeError as g}from"../../Error";const p={6624:{message:"Invalid state (List applications command must be sent)"}};class x extends g{constructor({message:e,errorCode:s}){super({message:e,errorCode:s,tag:"ListAppsCommandError"})}}class S{args;constructor(e={isContinue:!1}){this.args=e}getApdu(){const e={cla:224,ins:this.args.isContinue?223:222,p1:0,p2:0};return new l(e).build()}parseResponse(e){const s=[],r=new A(e);if(!u.isSuccessResponse(e)){const t=r.encodeToHexaString(e.statusCode);return c(t,p)?o({error:new x({...p[t],errorCode:t})}):o({error:C.handle(e)})}if(e.data.length<=0)return o({data:[]});for(r.extract8BitUInt();r.getUnparsedRemainingLength()>0;){const t=r.extract8BitUInt(),a=r.extract16BitUInt();r.extract16BitUInt();const i=r.encodeToHexaString(r.extractFieldByLength(32)),d=r.encodeToHexaString(r.extractFieldByLength(32)),m=r.encodeToString(r.extractFieldLVEncoded());s.push({appEntryLength:t,appSizeInBlocks:a,appCodeHash:i,appFullHash:d,appName:m})}return o({data:s})}}export{S as ListAppsCommand,x as ListAppsCommandError};
|
2
|
+
//# sourceMappingURL=ListAppsCommand.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/os/ListAppsCommand.ts"],
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport {\n type CommandErrors,\n isCommandErrorCode,\n} from \"@api/command/utils/CommandErrors\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type CommandErrorArgs, DeviceExchangeError } from \"@api/Error\";\n\nexport type AppResponse = {\n readonly appEntryLength: number;\n readonly appSizeInBlocks: number;\n readonly appCodeHash: string;\n readonly appFullHash: string;\n readonly appName: string;\n};\n\nexport type ListAppsResponse = AppResponse[];\n\nexport type ListAppsArgs = {\n readonly isContinue: boolean;\n};\n\nexport type ListAppsErrorCodes = \"6624\";\n\nconst LIST_APP_ERRORS: CommandErrors<ListAppsErrorCodes> = {\n \"6624\": { message: \"Invalid state (List applications command must be sent)\" },\n};\n\nexport type ListAppsCommandResult = CommandResult<\n ListAppsResponse,\n ListAppsErrorCodes\n>;\n\nexport class ListAppsCommandError extends DeviceExchangeError<ListAppsErrorCodes> {\n constructor({ message, errorCode }: CommandErrorArgs<ListAppsErrorCodes>) {\n super({ message, errorCode, tag: \"ListAppsCommandError\" });\n }\n}\n\nexport class ListAppsCommand\n implements Command<ListAppsResponse, ListAppsArgs, ListAppsErrorCodes>\n{\n readonly args: ListAppsArgs;\n\n constructor(args = { isContinue: false }) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const listAppApduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: this.args.isContinue ? 0xdf : 0xde,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(listAppApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): ListAppsCommandResult {\n const res = [];\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n const errorCode = parser.encodeToHexaString(apduResponse.statusCode);\n if (isCommandErrorCode(errorCode, LIST_APP_ERRORS)) {\n return CommandResultFactory({\n error: new ListAppsCommandError({\n ...LIST_APP_ERRORS[errorCode],\n errorCode,\n }),\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n if (apduResponse.data.length <= 0) {\n return CommandResultFactory({\n data: [],\n });\n }\n\n // [NOTE] version of parsing, not used for now, skipping 1 byte\n parser.extract8BitUInt()!;\n\n while (parser.getUnparsedRemainingLength() > 0) {\n const appEntryLength = parser.extract8BitUInt()!;\n const appSizeInBlocks = parser.extract16BitUInt()!;\n parser.extract16BitUInt()!; // Skip 2 bytes (flags, missing in doc for now)\n const appCodeHash = parser.encodeToHexaString(\n parser.extractFieldByLength(0x20), // 32 bytes\n );\n const appFullHash = parser.encodeToHexaString(\n parser.extractFieldByLength(0x20), // 32 bytes\n );\n\n const appName = parser.encodeToString(parser.extractFieldLVEncoded());\n\n res.push({\n appEntryLength,\n appSizeInBlocks,\n appCodeHash,\n appFullHash,\n appName,\n });\n }\n\n return CommandResultFactory({\n data: res,\n });\n }\n}\n"],
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAEE,wBAAAC,MACK,mCACP,OAEE,sBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAE1C,OAAgC,uBAAAC,MAA2B,aAkB3D,MAAMC,EAAqD,CACzD,KAAQ,CAAE,QAAS,wDAAyD,CAC9E,EAOO,MAAMC,UAA6BF,CAAwC,CAChF,YAAY,CAAE,QAAAG,EAAS,UAAAC,CAAU,EAAyC,CACxE,MAAM,CAAE,QAAAD,EAAS,UAAAC,EAAW,IAAK,sBAAuB,CAAC,CAC3D,CACF,CAEO,MAAMC,CAEb,CACW,KAET,YAAYC,EAAO,CAAE,WAAY,EAAM,EAAG,CACxC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAK,IACL,IAAK,KAAK,KAAK,WAAa,IAAO,IACnC,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIb,EAAYa,CAAe,EAAE,MAAM,CAChD,CAEA,cAAcC,EAAmD,CAC/D,MAAMC,EAAM,CAAC,EACPC,EAAS,IAAIf,EAAWa,CAAY,EAE1C,GAAI,CAACV,EAAa,kBAAkBU,CAAY,EAAG,CACjD,MAAMJ,EAAYM,EAAO,mBAAmBF,EAAa,UAAU,EACnE,OAAIX,EAAmBO,EAAWH,CAAe,EACxCL,EAAqB,CAC1B,MAAO,IAAIM,EAAqB,CAC9B,GAAGD,EAAgBG,CAAS,EAC5B,UAAAA,CACF,CAAC,CACH,CAAC,EAEIR,EAAqB,CAC1B,MAAOG,EAA0B,OAAOS,CAAY,CACtD,CAAC,CACH,CAEA,GAAIA,EAAa,KAAK,QAAU,EAC9B,OAAOZ,EAAqB,CAC1B,KAAM,CAAC,CACT,CAAC,EAMH,IAFAc,EAAO,gBAAgB,EAEhBA,EAAO,2BAA2B,EAAI,GAAG,CAC9C,MAAMC,EAAiBD,EAAO,gBAAgB,EACxCE,EAAkBF,EAAO,iBAAiB,EAChDA,EAAO,iBAAiB,EACxB,MAAMG,EAAcH,EAAO,mBACzBA,EAAO,qBAAqB,EAAI,CAClC,EACMI,EAAcJ,EAAO,mBACzBA,EAAO,qBAAqB,EAAI,CAClC,EAEMK,EAAUL,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAEpED,EAAI,KAAK,CACP,eAAAE,EACA,gBAAAC,EACA,YAAAC,EACA,YAAAC,EACA,QAAAC,CACF,CAAC,CACH,CAEA,OAAOnB,EAAqB,CAC1B,KAAMa,CACR,CAAC,CACH,CACF",
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "isCommandErrorCode", "CommandUtils", "GlobalCommandErrorHandler", "DeviceExchangeError", "LIST_APP_ERRORS", "ListAppsCommandError", "message", "errorCode", "ListAppsCommand", "args", "listAppApduArgs", "apduResponse", "res", "parser", "appEntryLength", "appSizeInBlocks", "appCodeHash", "appFullHash", "appName"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{CommandResultFactory as s,isSuccessCommandResult as r}from"../../command/model/CommandResult";import{ApduResponse as a}from"../../device-session/ApduResponse";import{ListAppsCommand as d,ListAppsCommandError as p}from"./ListAppsCommand";const o=Uint8Array.from([224,222,0,0,0]),c=Uint8Array.from([224,223,0,0,0]),f=Uint8Array.from([1,77,0,19,202,80,162,37,158,3,169,137,73,84,31,243,218,241,134,41,163,15,177,105,175,24,210,113,43,168,184,41,111,241,197,49,15,165,169,126,255,168,22,115,123,175,73,99,90,66,53,112,18,115,75,144,158,39,150,212,231,241,75,44,205,156,164,118,40,52,7,66,105,116,99,111,105,110]),n=[{appEntryLength:77,appSizeInBlocks:19,appCodeHash:"a2259e03a98949541ff3daf18629a30fb169af18d2712ba8b8296ff1c5310fa5",appFullHash:"a97effa816737baf49635a42357012734b909e2796d4e7f14b2ccd9ca4762834",appName:"Bitcoin"}],b=Uint8Array.from([1,77,0,19,202,80,162,37,158,3,169,137,73,84,31,243,218,241,134,41,163,15,177,105,175,24,210,113,43,168,184,41,111,241,197,49,15,165,169,126,255,168,22,115,123,175,73,99,90,66,53,112,18,115,75,144,158,39,150,212,231,241,75,44,205,156,164,118,40,52,7,66,105,116,99,111,105,110,78,0,19,202,64,51,149,37,57,143,228,95,115,200,183,89,238,224,26,124,225,113,61,24,84,77,86,238,72,100,224,73,185,102,230,41,77,199,160,148,112,247,163,120,81,168,172,249,138,218,191,62,44,47,31,126,222,253,49,198,181,77,193,199,220,41,145,216,83,8,69,116,104,101,114,101,117,109]),i=[{appEntryLength:77,appSizeInBlocks:19,appCodeHash:"a2259e03a98949541ff3daf18629a30fb169af18d2712ba8b8296ff1c5310fa5",appFullHash:"a97effa816737baf49635a42357012734b909e2796d4e7f14b2ccd9ca4762834",appName:"Bitcoin"},{appEntryLength:78,appSizeInBlocks:19,appCodeHash:"339525398fe45f73c8b759eee01a7ce1713d18544d56ee4864e049b966e6294d",appFullHash:"c7a09470f7a37851a8acf98adabf3e2c2f1f7edefd31c6b54dc1c7dc2991d853",appName:"Ethereum"}],u=Uint8Array.from([1,77,0,1,202,64,220,134,34,156,121,10,224,62,185,19,9,238,28,148,96,10,109,223,73,10,157,105,11,251,10,47,2,2,14,187,76,31,180,194,230,27,174,27,171,43,115,71,223,59,59,26,47,217,241,251,175,251,58,165,248,170,35,62,210,191,170,188,193,62,7,80,111,108,121,103,111,110]),A=[{appEntryLength:77,appSizeInBlocks:1,appCodeHash:"dc86229c790ae03eb91309ee1c94600a6ddf490a9d690bfb0a2f02020ebb4c1f",appFullHash:"b4c2e61bae1bab2b7347df3b3b1a2fd9f1fbaffb3aa5f8aa233ed2bfaabcc13e",appName:"Polygon"}],l=Uint8Array.from([1,89,0,1,202,64,251,43,125,38,37,215,24,132,39,7,5,83,16,128,194,24,40,121,221,30,217,227,75,22,186,228,208,118,155,69,215,216,215,91,55,95,106,51,161,230,117,121,38,154,22,239,68,36,163,217,32,82,21,182,21,43,106,216,188,201,14,60,50,249,19,66,105,110,97,110,99,101,32,83,109,97,114,116,32,67,104,97,105,110,76,0,14,202,0,254,230,25,86,26,175,67,41,98,12,2,216,72,142,63,117,164,53,51,23,34,245,97,21,121,247,83,151,128,148,209,20,204,191,178,86,114,154,158,40,116,183,35,214,76,228,135,243,87,239,167,22,178,208,205,52,152,151,233,110,116,32,42,202,6,83,111,108,97,110,97]),E=[{appEntryLength:89,appSizeInBlocks:1,appCodeHash:"fb2b7d2625d71884270705531080c2182879dd1ed9e34b16bae4d0769b45d7d8",appFullHash:"d75b375f6a33a1e67579269a16ef4424a3d9205215b6152b6ad8bcc90e3c32f9",appName:"Binance Smart Chain"},{appEntryLength:76,appSizeInBlocks:14,appCodeHash:"fee619561aaf4329620c02d8488e3f75a435331722f5611579f753978094d114",appFullHash:"ccbfb256729a9e2874b723d64ce487f357efa716b2d0cd349897e96e74202aca",appName:"Solana"}];describe("ListAppCommand",()=>{let e;describe("first list app command",()=>{beforeEach(()=>{e=new d}),describe("getApdu",()=>{it("should return the ListApp APDU",()=>{const x=e.getApdu();expect(x.getRawApdu()).toStrictEqual(o)})}),describe("parseResponse",()=>{it("should parse the response with no apps",()=>{const x=new a({statusCode:Uint8Array.from([144,0]),data:new Uint8Array});expect(e.parseResponse(x)).toStrictEqual(s({data:[]}))}),it("should parse the response with 1 app",()=>{const x=new a({statusCode:Uint8Array.from([144,0]),data:f});expect(e.parseResponse(x)).toStrictEqual(s({data:n}))}),it("should parse the response with 2 apps",()=>{const x=new a({statusCode:Uint8Array.from([144,0]),data:b});expect(e.parseResponse(x)).toStrictEqual(s({data:i}))})}),describe("errors",()=>{it("should return error command result if the response status code is not success",()=>{const x=new a({statusCode:Uint8Array.from([106,130]),data:new Uint8Array}),t=e.parseResponse(x);expect(r(t)).toBe(!1)}),it("should return an error",()=>{const x=new a({statusCode:Uint8Array.from([85,1]),data:new Uint8Array}),t=e.parseResponse(x);expect(r(t)).toBe(!1)})})}),describe("continue list app command",()=>{beforeEach(()=>{e=new d({isContinue:!0})}),describe("getApdu",()=>{it("should return the Continue ListApp APDU",()=>{const x=e.getApdu();expect(x.getRawApdu()).toStrictEqual(c)})}),describe("parseResponse",()=>{it("should parse the response with 1 app",()=>{const x=new a({statusCode:Uint8Array.from([144,0]),data:u});expect(e.parseResponse(x)).toStrictEqual(s({data:A}))}),it("should parse the response with 2 apps",()=>{const x=new a({statusCode:Uint8Array.from([144,0]),data:l});expect(e.parseResponse(x)).toStrictEqual(s({data:E}))}),it("should parse the response when reaching the end of the list",()=>{const x=new a({statusCode:Uint8Array.from([144,0]),data:new Uint8Array});expect(e.parseResponse(x)).toStrictEqual(s({data:[]}))})}),describe("errors",()=>{it("should throw if ListApp wasn't called before",()=>{const x=new a({statusCode:Uint8Array.from([102,36]),data:new Uint8Array}),t=e.parseResponse(x);expect(r(t)).toBe(!1),expect(t.error).toBeInstanceOf(p)})})})});
|
2
|
+
//# sourceMappingURL=ListAppsCommand.test.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/os/ListAppsCommand.test.ts"],
|
4
|
+
"sourcesContent": ["import {\n type CommandErrorResult,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n ListAppsCommand,\n ListAppsCommandError,\n type ListAppsErrorCodes,\n} from \"./ListAppsCommand\";\n\n// [NOTE] EXAMPLES CREATED USING A NANO X\n\nconst LIST_APP_APDU = Uint8Array.from([0xe0, 0xde, 0x00, 0x00, 0x00]);\nconst CONTINUE_LIST_APP_ADPU = Uint8Array.from([0xe0, 0xdf, 0x00, 0x00, 0x00]);\n\n// only BITCOIN installed\nconst LIST_APP_RESPONSE_1_APP = Uint8Array.from([\n 0x01, 0x4d, 0x00, 0x13, 0xca, 0x50, 0xa2, 0x25, 0x9e, 0x03, 0xa9, 0x89, 0x49,\n 0x54, 0x1f, 0xf3, 0xda, 0xf1, 0x86, 0x29, 0xa3, 0x0f, 0xb1, 0x69, 0xaf, 0x18,\n 0xd2, 0x71, 0x2b, 0xa8, 0xb8, 0x29, 0x6f, 0xf1, 0xc5, 0x31, 0x0f, 0xa5, 0xa9,\n 0x7e, 0xff, 0xa8, 0x16, 0x73, 0x7b, 0xaf, 0x49, 0x63, 0x5a, 0x42, 0x35, 0x70,\n 0x12, 0x73, 0x4b, 0x90, 0x9e, 0x27, 0x96, 0xd4, 0xe7, 0xf1, 0x4b, 0x2c, 0xcd,\n 0x9c, 0xa4, 0x76, 0x28, 0x34, 0x07, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e,\n]);\nconst LIST_APP_RESPONSE_1_APP_EXPECTED = [\n {\n appEntryLength: 77,\n appSizeInBlocks: 19,\n appCodeHash:\n \"a2259e03a98949541ff3daf18629a30fb169af18d2712ba8b8296ff1c5310fa5\",\n appFullHash:\n \"a97effa816737baf49635a42357012734b909e2796d4e7f14b2ccd9ca4762834\",\n appName: \"Bitcoin\",\n },\n];\n\n// BITCOIN & ETHEREUM installed\nconst LIST_APP_RESPONSE_2_APPS = Uint8Array.from([\n 0x01, 0x4d, 0x00, 0x13, 0xca, 0x50, 0xa2, 0x25, 0x9e, 0x03, 0xa9, 0x89, 0x49,\n 0x54, 0x1f, 0xf3, 0xda, 0xf1, 0x86, 0x29, 0xa3, 0x0f, 0xb1, 0x69, 0xaf, 0x18,\n 0xd2, 0x71, 0x2b, 0xa8, 0xb8, 0x29, 0x6f, 0xf1, 0xc5, 0x31, 0x0f, 0xa5, 0xa9,\n 0x7e, 0xff, 0xa8, 0x16, 0x73, 0x7b, 0xaf, 0x49, 0x63, 0x5a, 0x42, 0x35, 0x70,\n 0x12, 0x73, 0x4b, 0x90, 0x9e, 0x27, 0x96, 0xd4, 0xe7, 0xf1, 0x4b, 0x2c, 0xcd,\n 0x9c, 0xa4, 0x76, 0x28, 0x34, 0x07, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e,\n 0x4e, 0x00, 0x13, 0xca, 0x40, 0x33, 0x95, 0x25, 0x39, 0x8f, 0xe4, 0x5f, 0x73,\n 0xc8, 0xb7, 0x59, 0xee, 0xe0, 0x1a, 0x7c, 0xe1, 0x71, 0x3d, 0x18, 0x54, 0x4d,\n 0x56, 0xee, 0x48, 0x64, 0xe0, 0x49, 0xb9, 0x66, 0xe6, 0x29, 0x4d, 0xc7, 0xa0,\n 0x94, 0x70, 0xf7, 0xa3, 0x78, 0x51, 0xa8, 0xac, 0xf9, 0x8a, 0xda, 0xbf, 0x3e,\n 0x2c, 0x2f, 0x1f, 0x7e, 0xde, 0xfd, 0x31, 0xc6, 0xb5, 0x4d, 0xc1, 0xc7, 0xdc,\n 0x29, 0x91, 0xd8, 0x53, 0x08, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,\n]);\nconst LIST_APP_RESPONSE_2_APPS_EXPECTED = [\n {\n appEntryLength: 77,\n appSizeInBlocks: 19,\n appCodeHash:\n \"a2259e03a98949541ff3daf18629a30fb169af18d2712ba8b8296ff1c5310fa5\",\n appFullHash:\n \"a97effa816737baf49635a42357012734b909e2796d4e7f14b2ccd9ca4762834\",\n appName: \"Bitcoin\",\n },\n {\n appEntryLength: 78,\n appSizeInBlocks: 19,\n appCodeHash:\n \"339525398fe45f73c8b759eee01a7ce1713d18544d56ee4864e049b966e6294d\",\n appFullHash:\n \"c7a09470f7a37851a8acf98adabf3e2c2f1f7edefd31c6b54dc1c7dc2991d853\",\n appName: \"Ethereum\",\n },\n];\n\n// POLYGON as the last installed app\nconst LIST_APP_RESPONSE_CONTINUE_1_APP = Uint8Array.from([\n 0x01, 0x4d, 0x00, 0x01, 0xca, 0x40, 0xdc, 0x86, 0x22, 0x9c, 0x79, 0x0a, 0xe0,\n 0x3e, 0xb9, 0x13, 0x09, 0xee, 0x1c, 0x94, 0x60, 0x0a, 0x6d, 0xdf, 0x49, 0x0a,\n 0x9d, 0x69, 0x0b, 0xfb, 0x0a, 0x2f, 0x02, 0x02, 0x0e, 0xbb, 0x4c, 0x1f, 0xb4,\n 0xc2, 0xe6, 0x1b, 0xae, 0x1b, 0xab, 0x2b, 0x73, 0x47, 0xdf, 0x3b, 0x3b, 0x1a,\n 0x2f, 0xd9, 0xf1, 0xfb, 0xaf, 0xfb, 0x3a, 0xa5, 0xf8, 0xaa, 0x23, 0x3e, 0xd2,\n 0xbf, 0xaa, 0xbc, 0xc1, 0x3e, 0x07, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e,\n]);\nconst LIST_APP_RESPONSE_CONTINUE_1_APP_EXPECTED = [\n {\n appEntryLength: 77,\n appSizeInBlocks: 1,\n appCodeHash:\n \"dc86229c790ae03eb91309ee1c94600a6ddf490a9d690bfb0a2f02020ebb4c1f\",\n appFullHash:\n \"b4c2e61bae1bab2b7347df3b3b1a2fd9f1fbaffb3aa5f8aa233ed2bfaabcc13e\",\n appName: \"Polygon\",\n },\n];\n\n// BINANCE SMART CHAIN & SOLANA installed\nconst LIST_APP_RESPONSE_CONTINUE_2_APPS = Uint8Array.from([\n 0x01, 0x59, 0x00, 0x01, 0xca, 0x40, 0xfb, 0x2b, 0x7d, 0x26, 0x25, 0xd7, 0x18,\n 0x84, 0x27, 0x07, 0x05, 0x53, 0x10, 0x80, 0xc2, 0x18, 0x28, 0x79, 0xdd, 0x1e,\n 0xd9, 0xe3, 0x4b, 0x16, 0xba, 0xe4, 0xd0, 0x76, 0x9b, 0x45, 0xd7, 0xd8, 0xd7,\n 0x5b, 0x37, 0x5f, 0x6a, 0x33, 0xa1, 0xe6, 0x75, 0x79, 0x26, 0x9a, 0x16, 0xef,\n 0x44, 0x24, 0xa3, 0xd9, 0x20, 0x52, 0x15, 0xb6, 0x15, 0x2b, 0x6a, 0xd8, 0xbc,\n 0xc9, 0x0e, 0x3c, 0x32, 0xf9, 0x13, 0x42, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,\n 0x20, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x20, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c,\n 0x00, 0x0e, 0xca, 0x00, 0xfe, 0xe6, 0x19, 0x56, 0x1a, 0xaf, 0x43, 0x29, 0x62,\n 0x0c, 0x02, 0xd8, 0x48, 0x8e, 0x3f, 0x75, 0xa4, 0x35, 0x33, 0x17, 0x22, 0xf5,\n 0x61, 0x15, 0x79, 0xf7, 0x53, 0x97, 0x80, 0x94, 0xd1, 0x14, 0xcc, 0xbf, 0xb2,\n 0x56, 0x72, 0x9a, 0x9e, 0x28, 0x74, 0xb7, 0x23, 0xd6, 0x4c, 0xe4, 0x87, 0xf3,\n 0x57, 0xef, 0xa7, 0x16, 0xb2, 0xd0, 0xcd, 0x34, 0x98, 0x97, 0xe9, 0x6e, 0x74,\n 0x20, 0x2a, 0xca, 0x06, 0x53, 0x6f, 0x6c, 0x61, 0x6e, 0x61,\n]);\nconst LIST_APP_RESPONSE_CONTINUE_2_APPS_EXPECTED = [\n {\n appEntryLength: 89,\n appSizeInBlocks: 1,\n appCodeHash:\n \"fb2b7d2625d71884270705531080c2182879dd1ed9e34b16bae4d0769b45d7d8\",\n appFullHash:\n \"d75b375f6a33a1e67579269a16ef4424a3d9205215b6152b6ad8bcc90e3c32f9\",\n appName: \"Binance Smart Chain\",\n },\n {\n appEntryLength: 76,\n appSizeInBlocks: 14,\n appCodeHash:\n \"fee619561aaf4329620c02d8488e3f75a435331722f5611579f753978094d114\",\n appFullHash:\n \"ccbfb256729a9e2874b723d64ce487f357efa716b2d0cd349897e96e74202aca\",\n appName: \"Solana\",\n },\n];\n\ndescribe(\"ListAppCommand\", () => {\n let command: ListAppsCommand;\n\n describe(\"first list app command\", () => {\n beforeEach(() => {\n command = new ListAppsCommand();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the ListApp APDU\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(LIST_APP_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response with no apps\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n });\n\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: [] }),\n );\n });\n\n it(\"should parse the response with 1 app\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LIST_APP_RESPONSE_1_APP,\n });\n\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: LIST_APP_RESPONSE_1_APP_EXPECTED }),\n );\n });\n\n it(\"should parse the response with 2 apps\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LIST_APP_RESPONSE_2_APPS,\n });\n\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: LIST_APP_RESPONSE_2_APPS_EXPECTED }),\n );\n });\n });\n\n describe(\"errors\", () => {\n it(\"should return error command result if the response status code is not success\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6a, 0x82]),\n data: new Uint8Array(),\n });\n const result = command.parseResponse(response);\n\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return an error\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x55, 0x01]),\n data: new Uint8Array(),\n });\n\n // when\n const result = command.parseResponse(response);\n\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n });\n });\n\n describe(\"continue list app command\", () => {\n beforeEach(() => {\n command = new ListAppsCommand({ isContinue: true });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the Continue ListApp APDU\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(CONTINUE_LIST_APP_ADPU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response with 1 app\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LIST_APP_RESPONSE_CONTINUE_1_APP,\n });\n\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({\n data: LIST_APP_RESPONSE_CONTINUE_1_APP_EXPECTED,\n }),\n );\n });\n\n it(\"should parse the response with 2 apps\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LIST_APP_RESPONSE_CONTINUE_2_APPS,\n });\n\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({\n data: LIST_APP_RESPONSE_CONTINUE_2_APPS_EXPECTED,\n }),\n );\n });\n\n it(\"should parse the response when reaching the end of the list\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n });\n\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: [] }),\n );\n });\n });\n\n describe(\"errors\", () => {\n it(\"should throw if ListApp wasn't called before\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x66, 0x24]),\n data: new Uint8Array(),\n });\n const result = command.parseResponse(\n response,\n ) as CommandErrorResult<ListAppsErrorCodes>;\n\n expect(isSuccessCommandResult(result)).toBe(false);\n expect(result.error).toBeInstanceOf(ListAppsCommandError);\n });\n });\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["CommandResultFactory", "isSuccessCommandResult", "ApduResponse", "ListAppsCommand", "ListAppsCommandError", "LIST_APP_APDU", "CONTINUE_LIST_APP_ADPU", "LIST_APP_RESPONSE_1_APP", "LIST_APP_RESPONSE_1_APP_EXPECTED", "LIST_APP_RESPONSE_2_APPS", "LIST_APP_RESPONSE_2_APPS_EXPECTED", "LIST_APP_RESPONSE_CONTINUE_1_APP", "LIST_APP_RESPONSE_CONTINUE_1_APP_EXPECTED", "LIST_APP_RESPONSE_CONTINUE_2_APPS", "LIST_APP_RESPONSE_CONTINUE_2_APPS_EXPECTED", "command", "apdu", "response", "result"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{ApduBuilder as m}from"../../apdu/utils/ApduBuilder";import{ApduParser as t}from"../../apdu/utils/ApduParser";import{CommandResultFactory as o}from"../../command/model/CommandResult";import{isCommandErrorCode as d}from"../../command/utils/CommandErrors";import{CommandUtils as a}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as i}from"../../command/utils/GlobalCommandError";import{DeviceExchangeError as A}from"../../Error";const n={"670a":{message:"No app name provided"},6807:{message:"Unknown application name"}};class u extends A{constructor({message:r,errorCode:p}){super({tag:"OpenAppCommandError",message:r,errorCode:p})}}class f{args;triggersDisconnection=!0;constructor(r){this.args=r}getApdu(){const r={cla:224,ins:216,p1:0,p2:0};return new m(r).addAsciiStringToData(this.args.appName).build()}parseResponse(r){if(a.isSuccessResponse(r))return o({data:void 0});const e=new t(r).encodeToHexaString(r.statusCode);return d(e,n)?o({error:new u({...n[e],errorCode:e})}):o({error:i.handle(r)})}}export{f as OpenAppCommand,u as OpenAppCommandError};
|
2
|
+
//# sourceMappingURL=OpenAppCommand.js.map
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../../../../src/api/command/os/OpenAppCommand.ts"],
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport {\n type CommandErrors,\n isCommandErrorCode,\n} from \"@api/command/utils/CommandErrors\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type CommandErrorArgs, DeviceExchangeError } from \"@api/Error\";\n\nexport type OpenAppArgs = {\n readonly appName: string;\n};\n\nexport type OpenAppErrorCodes = \"670a\" | \"6807\";\n\nconst OPEN_APP_ERRORS: CommandErrors<OpenAppErrorCodes> = {\n \"670a\": { message: \"No app name provided\" },\n \"6807\": { message: \"Unknown application name\" },\n};\n\nexport class OpenAppCommandError extends DeviceExchangeError<OpenAppErrorCodes> {\n constructor({ message, errorCode }: CommandErrorArgs<OpenAppErrorCodes>) {\n super({ tag: \"OpenAppCommandError\", message, errorCode });\n }\n}\n\nexport type OpenAppCommandResult = CommandResult<void, OpenAppErrorCodes>;\n\n/**\n * The command to open an application on the device.\n */\nexport class OpenAppCommand\n implements Command<void, OpenAppArgs, OpenAppErrorCodes>\n{\n readonly args: OpenAppArgs;\n\n readonly triggersDisconnection = true;\n\n constructor(args: OpenAppArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const openAppApduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0xd8,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(openAppApduArgs)\n .addAsciiStringToData(this.args.appName)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<void, OpenAppErrorCodes> {\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n data: undefined,\n });\n }\n const parser = new ApduParser(apduResponse);\n const errorCode = parser.encodeToHexaString(apduResponse.statusCode);\n if (isCommandErrorCode(errorCode, OPEN_APP_ERRORS)) {\n return CommandResultFactory({\n error: new OpenAppCommandError({\n ...OPEN_APP_ERRORS[errorCode],\n errorCode,\n }),\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n}\n"],
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAEE,wBAAAC,MACK,mCACP,OAEE,sBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAE1C,OAAgC,uBAAAC,MAA2B,aAQ3D,MAAMC,EAAoD,CACxD,OAAQ,CAAE,QAAS,sBAAuB,EAC1C,KAAQ,CAAE,QAAS,0BAA2B,CAChD,EAEO,MAAMC,UAA4BF,CAAuC,CAC9E,YAAY,CAAE,QAAAG,EAAS,UAAAC,CAAU,EAAwC,CACvE,MAAM,CAAE,IAAK,sBAAuB,QAAAD,EAAS,UAAAC,CAAU,CAAC,CAC1D,CACF,CAOO,MAAMC,CAEb,CACW,KAEA,sBAAwB,GAEjC,YAAYC,EAAmB,CAC7B,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAK,IACL,IAAK,IACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIb,EAAYa,CAAe,EACnC,qBAAqB,KAAK,KAAK,OAAO,EACtC,MAAM,CACX,CAEA,cACEC,EACwC,CACxC,GAAIV,EAAa,kBAAkBU,CAAY,EAC7C,OAAOZ,EAAqB,CAC1B,KAAM,MACR,CAAC,EAGH,MAAMQ,EADS,IAAIT,EAAWa,CAAY,EACjB,mBAAmBA,EAAa,UAAU,EACnE,OAAIX,EAAmBO,EAAWH,CAAe,EACxCL,EAAqB,CAC1B,MAAO,IAAIM,EAAoB,CAC7B,GAAGD,EAAgBG,CAAS,EAC5B,UAAAA,CACF,CAAC,CACH,CAAC,EAEIR,EAAqB,CAC1B,MAAOG,EAA0B,OAAOS,CAAY,CACtD,CAAC,CACH,CACF",
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "isCommandErrorCode", "CommandUtils", "GlobalCommandErrorHandler", "DeviceExchangeError", "OPEN_APP_ERRORS", "OpenAppCommandError", "message", "errorCode", "OpenAppCommand", "args", "openAppApduArgs", "apduResponse"]
|
7
|
+
}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{ApduResponse as p}from"../../device-session/ApduResponse";import{isSuccessCommandResult as t}from"../../../../src";import{OpenAppCommand as n,OpenAppCommandError as s}from"./OpenAppCommand";describe("OpenAppCommand",()=>{const o="MyApp";it("should return the correct APDU for opening an application",()=>{const e=Uint8Array.from([224,216,0,0,5,77,121,65,112,112]),r=new n({appName:o}).getApdu();expect(r.getRawApdu()).toStrictEqual(e)}),it("should not throw error when command is successful",()=>{const e=new p({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])});expect(()=>new n({appName:o}).parseResponse(e)).not.toThrow()}),describe("errors",()=>{it("should return a handled open app error if no name provided",()=>{const e=new p({statusCode:new Uint8Array([103,10]),data:new Uint8Array([])}),r=new n({appName:o}).parseResponse(e);expect(t(r)).toBe(!1),expect(r.error).toBeInstanceOf(s)}),it("should return a handled open app error if unknown application name",()=>{const e=new p({statusCode:new Uint8Array([104,7]),data:new Uint8Array([])}),r=new n({appName:o}).parseResponse(e);expect(t(r)).toBe(!1),expect(r.error).toBeInstanceOf(s)})})});
|
2
|
+
//# sourceMappingURL=OpenAppCommand.test.js.map
|