@ledgerhq/device-management-kit 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-web-ble-29-08---20250829104351
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/README.md +40 -3
- package/lib/cjs/package.json +22 -23
- package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
- package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
- package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
- package/lib/cjs/src/api/DeviceManagementKit.test.js.map +3 -3
- package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
- package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
- package/lib/cjs/src/api/DmkConfig.js +1 -1
- package/lib/cjs/src/api/DmkConfig.js.map +1 -1
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
- package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +1 -1
- package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
- package/lib/cjs/src/api/command/di/commandModule.js +1 -1
- package/lib/cjs/src/api/command/di/commandModule.js.map +3 -3
- package/lib/cjs/src/api/command/di/commandModule.test.js +1 -1
- package/lib/cjs/src/api/command/di/commandModule.test.js.map +2 -2
- package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
- package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
- package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js +2 -0
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
- package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js +1 -1
- package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
- package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
- package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
- package/lib/cjs/src/api/command/utils/GlobalCommandError.js +1 -1
- package/lib/cjs/src/api/command/utils/GlobalCommandError.js.map +2 -2
- package/lib/cjs/src/api/device/DeviceModel.js +1 -1
- package/lib/cjs/src/api/device/DeviceModel.js.map +2 -2
- package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
- package/lib/cjs/src/api/device-action/di/deviceActionModule.js +1 -1
- package/lib/cjs/src/api/device-action/di/deviceActionModule.js.map +3 -3
- package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js +1 -1
- package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
- package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js +1 -1
- package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +1 -1
- package/lib/cjs/src/api/device-action/os/Errors.js +1 -1
- package/lib/cjs/src/api/device-action/os/Errors.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js.map +1 -1
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
- package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
- package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
- package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
- package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
- package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
- package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
- package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
- package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
- package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
- package/lib/cjs/src/api/device-model/model/DeviceModel.js +1 -1
- package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +2 -2
- package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +1 -1
- package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
- package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
- package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js.map +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
- package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js +1 -1
- package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js.map +1 -1
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
- package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
- package/lib/cjs/src/api/secure-channel/task/types.js +1 -1
- package/lib/cjs/src/api/secure-channel/task/types.js.map +2 -2
- package/lib/cjs/src/api/secure-channel/utils.js +1 -1
- package/lib/cjs/src/api/secure-channel/utils.js.map +3 -3
- package/lib/cjs/src/api/secure-channel/utils.test.js +1 -1
- package/lib/cjs/src/api/secure-channel/utils.test.js.map +3 -3
- package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
- package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
- package/lib/cjs/src/api/transport/model/DeviceConnection.js +1 -1
- package/lib/cjs/src/api/transport/model/DeviceConnection.js.map +1 -1
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
- package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
- package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
- package/lib/cjs/src/api/transport/model/Errors.js +1 -1
- package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
- package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
- package/lib/cjs/src/api/types.js +1 -1
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/cjs/src/api/utils/AppName.js +2 -0
- package/lib/cjs/src/api/utils/AppName.js.map +7 -0
- package/lib/cjs/src/api/utils/AppName.test.js +2 -0
- package/lib/cjs/src/api/utils/AppName.test.js.map +7 -0
- package/lib/cjs/src/di.js +1 -1
- package/lib/cjs/src/di.js.map +2 -2
- package/lib/cjs/src/internal/config/di/configModule.js +1 -1
- package/lib/cjs/src/internal/config/di/configModule.js.map +3 -3
- package/lib/cjs/src/internal/config/di/configModule.test.js +1 -1
- package/lib/cjs/src/internal/config/di/configModule.test.js.map +2 -2
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +1 -1
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +3 -3
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +1 -1
- package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
- package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js +1 -1
- package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
- package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
- package/lib/cjs/src/internal/device-session/model/DevicePinger.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DevicePinger.js.map +3 -3
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
- package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
- package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
- package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +3 -3
- package/lib/cjs/src/internal/device-session/model/Frame.js +1 -1
- package/lib/cjs/src/internal/device-session/model/Frame.js.map +3 -3
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
- package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
- package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
- package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
- package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js +1 -1
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
- package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
- package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/model/Language.js +2 -0
- package/lib/cjs/src/internal/manager-api/model/Language.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
- package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
- package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
- package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
- package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +1 -1
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
- package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +2 -2
- package/lib/cjs/src/internal/secure-channel/model/Errors.js +1 -1
- package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +3 -3
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
- package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
- package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +1 -1
- package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +1 -1
- package/lib/cjs/src/internal/send/di/sendModule.js +1 -1
- package/lib/cjs/src/internal/send/di/sendModule.js.map +3 -3
- package/lib/cjs/src/internal/send/di/sendModule.test.js +1 -1
- package/lib/cjs/src/internal/send/di/sendModule.test.js.map +2 -2
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
- package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
- package/lib/cjs/src/internal/transport/di/transportModule.js +1 -1
- package/lib/cjs/src/internal/transport/di/transportModule.js.map +3 -3
- package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
- package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
- package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
- package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
- package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
- package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
- package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
- package/lib/esm/package.json +22 -23
- package/lib/esm/src/api/DeviceManagementKit.js +1 -1
- package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
- package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
- package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
- package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
- package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
- package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +1 -1
- package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
- package/lib/esm/src/api/command/di/commandModule.js +1 -1
- package/lib/esm/src/api/command/di/commandModule.js.map +3 -3
- package/lib/esm/src/api/command/di/commandModule.test.js +1 -1
- package/lib/esm/src/api/command/di/commandModule.test.js.map +2 -2
- package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
- package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
- package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
- package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
- package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.js +2 -0
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
- package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.js +1 -1
- package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
- package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
- package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
- package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
- package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
- package/lib/esm/src/api/command/utils/GlobalCommandError.js +1 -1
- package/lib/esm/src/api/command/utils/GlobalCommandError.js.map +2 -2
- package/lib/esm/src/api/device/DeviceModel.js +1 -1
- package/lib/esm/src/api/device/DeviceModel.js.map +2 -2
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
- package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
- package/lib/esm/src/api/device-action/di/deviceActionModule.js +1 -1
- package/lib/esm/src/api/device-action/di/deviceActionModule.js.map +3 -3
- package/lib/esm/src/api/device-action/di/deviceActionModule.test.js +1 -1
- package/lib/esm/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
- package/lib/esm/src/api/device-action/model/UserInteractionRequired.js +1 -1
- package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
- package/lib/esm/src/api/device-action/os/Errors.js +1 -1
- package/lib/esm/src/api/device-action/os/Errors.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js +1 -0
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -0
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -0
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
- package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
- package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
- package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
- package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
- package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
- package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
- package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
- package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
- package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
- package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
- package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
- package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
- package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
- package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
- package/lib/esm/src/api/device-model/model/DeviceModel.js +1 -1
- package/lib/esm/src/api/device-model/model/DeviceModel.js.map +2 -2
- package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +1 -1
- package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
- package/lib/esm/src/api/device-session/DeviceSessionState.js +1 -1
- package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
- package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
- package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
- package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
- package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
- package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
- package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
- package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
- package/lib/esm/src/api/secure-channel/task/types.js +1 -1
- package/lib/esm/src/api/secure-channel/task/types.js.map +2 -2
- package/lib/esm/src/api/secure-channel/utils.js +1 -1
- package/lib/esm/src/api/secure-channel/utils.js.map +3 -3
- package/lib/esm/src/api/secure-channel/utils.test.js +1 -1
- package/lib/esm/src/api/secure-channel/utils.test.js.map +3 -3
- package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
- package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
- package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
- package/lib/esm/src/api/transport/model/Errors.js +1 -1
- package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
- package/lib/esm/src/api/utils/AppName.js +2 -0
- package/lib/esm/src/api/utils/AppName.js.map +7 -0
- package/lib/esm/src/api/utils/AppName.test.js +2 -0
- package/lib/esm/src/api/utils/AppName.test.js.map +7 -0
- package/lib/esm/src/di.js +1 -1
- package/lib/esm/src/di.js.map +3 -3
- package/lib/esm/src/internal/config/di/configModule.js +1 -1
- package/lib/esm/src/internal/config/di/configModule.js.map +3 -3
- package/lib/esm/src/internal/config/di/configModule.test.js +1 -1
- package/lib/esm/src/internal/config/di/configModule.test.js.map +2 -2
- package/lib/esm/src/internal/device-model/di/deviceModelModule.js +1 -1
- package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +3 -3
- package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +1 -1
- package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
- package/lib/esm/src/internal/device-session/data/ApduResponseConst.js +1 -1
- package/lib/esm/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
- package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
- package/lib/esm/src/internal/device-session/model/DevicePinger.js +1 -1
- package/lib/esm/src/internal/device-session/model/DevicePinger.js.map +3 -3
- package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
- package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
- package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
- package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +3 -3
- package/lib/esm/src/internal/device-session/model/Frame.js +1 -1
- package/lib/esm/src/internal/device-session/model/Frame.js.map +3 -3
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
- package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
- package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
- package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
- package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
- package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.js +1 -1
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
- package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
- package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js +1 -1
- package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
- package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
- package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
- package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
- package/lib/esm/src/internal/manager-api/model/Application.js +1 -1
- package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
- package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
- package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
- package/lib/esm/src/internal/manager-api/model/Language.js +1 -0
- package/lib/esm/src/internal/manager-api/model/Language.js.map +7 -0
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
- package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
- package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
- package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
- package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +1 -1
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
- package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +2 -2
- package/lib/esm/src/internal/secure-channel/model/Errors.js +1 -1
- package/lib/esm/src/internal/secure-channel/model/Errors.js.map +3 -3
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
- package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
- package/lib/esm/src/internal/send/di/sendModule.js +1 -1
- package/lib/esm/src/internal/send/di/sendModule.js.map +3 -3
- package/lib/esm/src/internal/send/di/sendModule.test.js +1 -1
- package/lib/esm/src/internal/send/di/sendModule.test.js.map +2 -2
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.js +1 -1
- package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
- package/lib/esm/src/internal/transport/di/transportModule.js +1 -1
- package/lib/esm/src/internal/transport/di/transportModule.js.map +3 -3
- package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
- package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
- package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
- package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
- package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
- package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
- package/lib/types/src/api/DeviceManagementKit.d.ts +11 -1
- package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
- package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
- package/lib/types/src/api/DmkConfig.d.ts +2 -0
- package/lib/types/src/api/DmkConfig.d.ts.map +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.map +1 -1
- package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +28 -0
- package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
- package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +1 -0
- package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
- package/lib/types/src/api/command/di/commandModule.d.ts.map +1 -1
- package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts +16 -0
- package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts.map +1 -0
- package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts +2 -0
- package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts.map +1 -0
- package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +30 -2
- package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +24 -0
- package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts.map +1 -0
- package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts +2 -0
- package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts.map +1 -0
- package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
- package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +5 -1
- package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +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 +4 -0
- package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
- package/lib/types/src/api/command/utils/GlobalCommandError.d.ts +1 -1
- package/lib/types/src/api/command/utils/GlobalCommandError.d.ts.map +1 -1
- package/lib/types/src/api/device/DeviceModel.d.ts +2 -1
- package/lib/types/src/api/device/DeviceModel.d.ts.map +1 -1
- package/lib/types/src/api/device-action/DeviceAction.d.ts +3 -1
- 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.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +5 -0
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
- package/lib/types/src/api/device-action/di/deviceActionModule.d.ts.map +1 -1
- package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +1 -0
- package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/Errors.d.ts +20 -0
- package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts +58 -0
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts +2 -0
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +28 -0
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
- 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 +3 -4
- package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts +40 -0
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts +2 -0
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts +65 -0
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts.map +1 -0
- 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 +0 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts +15 -0
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts +2 -0
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts +24 -0
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts.map +1 -0
- 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 +1 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts +30 -0
- package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts +2 -0
- package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +31 -0
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts +2 -0
- package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +18 -0
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts +2 -0
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts +21 -0
- package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts +2 -0
- package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts +1 -0
- package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -1
- package/lib/types/src/api/device-model/model/DeviceModel.d.ts +2 -0
- package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -1
- package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -1
- package/lib/types/src/api/device-session/DeviceSessionState.d.ts +93 -0
- package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
- package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -1
- package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -1
- package/lib/types/src/api/index.d.ts +6 -1
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +2 -1
- package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts +2 -1
- package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +2 -1
- package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts +2 -1
- package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +5 -2
- package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/task/types.d.ts +6 -1
- package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -1
- package/lib/types/src/api/secure-channel/utils.d.ts +0 -11
- package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
- package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
- package/lib/types/src/api/transport/model/DeviceConnection.d.ts +2 -1
- package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +63 -0
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts +2 -0
- package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts.map +1 -0
- package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +1 -1
- package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/Errors.d.ts +27 -3
- package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
- package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
- package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
- package/lib/types/src/api/types.d.ts +6 -2
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/src/api/utils/AppName.d.ts +2 -0
- package/lib/types/src/api/utils/AppName.d.ts.map +1 -0
- package/lib/types/src/api/utils/AppName.test.d.ts +2 -0
- package/lib/types/src/api/utils/AppName.test.d.ts.map +1 -0
- package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
- package/lib/types/src/di.d.ts.map +1 -1
- package/lib/types/src/internal/config/di/configModule.d.ts.map +1 -1
- package/lib/types/src/internal/device-model/di/deviceModelModule.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts +1 -0
- package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DevicePinger.d.ts +1 -1
- package/lib/types/src/internal/device-session/model/DevicePinger.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +3 -1
- 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.map +1 -1
- package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/model/Frame.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +3 -1
- package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/di/discoveryModule.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +1 -1
- package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +1 -1
- package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +4 -2
- package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +24 -5
- package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +51 -6
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +104 -18
- package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +7 -0
- 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.map +1 -1
- package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
- package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Application.d.ts +12 -12
- package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Const.d.ts +2 -0
- package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Firmware.d.ts +17 -3
- package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Language.d.ts +12 -0
- package/lib/types/src/internal/manager-api/model/Language.d.ts.map +1 -0
- package/lib/types/src/internal/manager-api/model/Params.d.ts +20 -6
- package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +9 -3
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +42 -7
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts +13 -0
- package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts.map +1 -0
- package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +2 -0
- package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +1 -0
- package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -1
- package/lib/types/src/internal/secure-channel/model/Errors.d.ts +22 -2
- package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -1
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +2 -2
- package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -1
- package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +3 -3
- package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -1
- package/lib/types/src/internal/send/di/sendModule.d.ts.map +1 -1
- package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +9 -1
- package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
- package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
- package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
- package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
- package/lib/types/src/internal/transport/service/TransportService.d.ts +3 -1
- package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
- package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +1 -0
- package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +16 -17
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var g=Object.defineProperty;var
|
1
|
+
"use strict";var g=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var M=(o,r)=>{for(var e in r)g(o,e,{get:r[e],enumerable:!0})},A=(o,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of F(r))!_.call(o,t)&&t!==e&&g(o,t,{get:()=>r[t],enumerable:!(i=u(r,t))||i.enumerable});return o};var D=o=>A(g({},"__esModule",{value:!0}),o),f=(o,r,e,i)=>{for(var t=i>1?void 0:i?u(r,e):r,c=o.length-1,d;c>=0;c--)(d=o[c])&&(t=(i?d(r,e,t):d(t))||t);return i&&t&&g(r,e,t),t},n=(o,r)=>(e,i)=>r(e,i,o);var b={};M(b,{DefaultTransportService:()=>p});module.exports=D(b);var a=require("inversify"),s=require("purify-ts"),v=require("../../../api/transport/model/Errors"),h=require("../../device-model/di/deviceModelTypes"),y=require("../../device-session/di/deviceSessionTypes"),T=require("../../logger-publisher/di/loggerTypes"),l=require("../../transport/di/transportDiTypes");let p=class{constructor(r,e,i,t,c,d){this._config=e;this._loggerModuleFactory=i;this._deviceModelDataSource=t;this._apduSenderServiceFactory=c;this._apduReceiverServiceFactory=d;if(this._logger=i("TransportService"),r.length===0)throw this._logger.warn("No transports provided, please check your configuration"),new v.NoTransportProvidedError("No transports provided, please check your configuration");for(const S of r){const m=this.addTransport(S);if(m.isLeft())throw m.extract()}}_transports=new Map;_logger;addTransport(r){const e=r({deviceModelDataSource:this._deviceModelDataSource,loggerServiceFactory:this._loggerModuleFactory,config:this._config,apduSenderServiceFactory:this._apduSenderServiceFactory,apduReceiverServiceFactory:this._apduReceiverServiceFactory});return this.addTransportInternal(e)}addTransportInternal(r){return this.getTransport(r.getIdentifier()).isJust()?(this._logger.warn(`Transport ${r.getIdentifier()} already exists, please check your configuration`),(0,s.Left)(new v.TransportAlreadyExistsError(`Transport ${r.getIdentifier()} already exists, please check your configuration`))):(this._transports.set(r.getIdentifier(),r),(0,s.Right)(void 0))}getTransport(r){return s.Maybe.fromNullable(this._transports.get(r))}getAllTransports(){return Array.from(this._transports.values())}closeConnection(r){this.getTransport(r.transport).map(i=>i.disconnect({connectedDevice:r}))}};p=f([(0,a.injectable)(),n(0,(0,a.inject)(l.transportDiTypes.TransportsInput)),n(1,(0,a.inject)(l.transportDiTypes.DmkConfig)),n(2,(0,a.inject)(T.loggerTypes.LoggerPublisherServiceFactory)),n(3,(0,a.inject)(h.deviceModelTypes.DeviceModelDataSource)),n(4,(0,a.inject)(y.deviceSessionTypes.ApduSenderServiceFactory)),n(5,(0,a.inject)(y.deviceSessionTypes.ApduReceiverServiceFactory))],p);0&&(module.exports={DefaultTransportService});
|
2
2
|
//# sourceMappingURL=DefaultTransportService.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/transport/service/DefaultTransportService.ts"],
|
4
|
-
"sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type ApduReceiverServiceFactory } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduSenderServiceFactory } from \"@api/device-session/service/ApduSenderService\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n NoTransportProvidedError,\n TransportAlreadyExistsError,\n} from \"@api/transport/model/Errors\";\nimport { TransportFactory } from \"@api/transport/model/Transport\";\nimport { Transport } from \"@api/types\";\nimport { deviceModelTypes } from \"@internal/device-model/di/deviceModelTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\n\nimport { TransportService } from \"./TransportService\";\n\n@injectable()\nexport class DefaultTransportService implements TransportService {\n private _transports: Map<string, Transport> = new Map();\n private _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportsInput)\n _transports: TransportFactory[],\n @inject(transportDiTypes.DmkConfig)\n private readonly _config: DmkConfig,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n private readonly _loggerModuleFactory: (\n tag: string,\n ) => LoggerPublisherService,\n @inject(deviceModelTypes.DeviceModelDataSource)\n private readonly _deviceModelDataSource: DeviceModelDataSource,\n @inject(deviceSessionTypes.ApduSenderServiceFactory)\n private readonly _apduSenderServiceFactory: ApduSenderServiceFactory,\n @inject(deviceSessionTypes.ApduReceiverServiceFactory)\n private readonly _apduReceiverServiceFactory: ApduReceiverServiceFactory,\n ) {\n this._logger = _loggerModuleFactory(\"TransportService\");\n\n if (_transports.length === 0) {\n this._logger.warn(\n \"No transports provided, please check your configuration\",\n );\n\n throw new NoTransportProvidedError(\n \"No transports provided, please check your configuration\",\n );\n }\n\n for (const transport of _transports) {\n const either = this.addTransport(transport);\n\n if (either.isLeft()) {\n throw either.extract();\n }\n }\n }\n\n addTransport(\n factory: TransportFactory,\n ): Either<TransportAlreadyExistsError, void> {\n const transport = factory({\n deviceModelDataSource: this._deviceModelDataSource,\n loggerServiceFactory: this._loggerModuleFactory,\n config: this._config,\n apduSenderServiceFactory: this._apduSenderServiceFactory,\n apduReceiverServiceFactory: this._apduReceiverServiceFactory,\n });\n\n return this.addTransportInternal(transport);\n }\n\n private addTransportInternal(\n transport: Transport,\n ): Either<TransportAlreadyExistsError, void> {\n const MaybeTransport = this.getTransport(transport.getIdentifier());\n\n if (MaybeTransport.isJust()) {\n this._logger.warn(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n );\n\n return Left(\n new TransportAlreadyExistsError(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n ),\n );\n }\n\n this._transports.set(transport.getIdentifier(), transport);\n return Right(undefined);\n }\n\n getTransport(identifier: string): Maybe<Transport> {\n return Maybe.fromNullable(this._transports.get(identifier));\n }\n\n getAllTransports(): Transport[] {\n return Array.from(this._transports.values());\n }\n}\n"],
|
5
|
-
"mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA2C,qBAO3CC,EAGO,
|
6
|
-
"names": ["DefaultTransportService_exports", "__export", "DefaultTransportService", "__toCommonJS", "import_inversify", "import_purify_ts", "import_Errors", "import_deviceModelTypes", "import_deviceSessionTypes", "import_loggerTypes", "import_transportDiTypes", "DefaultTransportService", "_transports", "_config", "_loggerModuleFactory", "_deviceModelDataSource", "_apduSenderServiceFactory", "_apduReceiverServiceFactory", "transport", "either", "factory", "identifier", "__decorateClass", "__decorateParam"]
|
4
|
+
"sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\nimport { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type ApduReceiverServiceFactory } from \"@api/device-session/service/ApduReceiverService\";\nimport { type ApduSenderServiceFactory } from \"@api/device-session/service/ApduSenderService\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n NoTransportProvidedError,\n TransportAlreadyExistsError,\n} from \"@api/transport/model/Errors\";\nimport { TransportFactory } from \"@api/transport/model/Transport\";\nimport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { Transport } from \"@api/types\";\nimport { deviceModelTypes } from \"@internal/device-model/di/deviceModelTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\n\nimport { TransportService } from \"./TransportService\";\n\n@injectable()\nexport class DefaultTransportService implements TransportService {\n private _transports: Map<string, Transport> = new Map();\n private _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportsInput)\n _transports: TransportFactory[],\n @inject(transportDiTypes.DmkConfig)\n private readonly _config: DmkConfig,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n private readonly _loggerModuleFactory: (\n tag: string,\n ) => LoggerPublisherService,\n @inject(deviceModelTypes.DeviceModelDataSource)\n private readonly _deviceModelDataSource: DeviceModelDataSource,\n @inject(deviceSessionTypes.ApduSenderServiceFactory)\n private readonly _apduSenderServiceFactory: ApduSenderServiceFactory,\n @inject(deviceSessionTypes.ApduReceiverServiceFactory)\n private readonly _apduReceiverServiceFactory: ApduReceiverServiceFactory,\n ) {\n this._logger = _loggerModuleFactory(\"TransportService\");\n\n if (_transports.length === 0) {\n this._logger.warn(\n \"No transports provided, please check your configuration\",\n );\n\n throw new NoTransportProvidedError(\n \"No transports provided, please check your configuration\",\n );\n }\n\n for (const transport of _transports) {\n const either = this.addTransport(transport);\n\n if (either.isLeft()) {\n throw either.extract();\n }\n }\n }\n\n addTransport(\n factory: TransportFactory,\n ): Either<TransportAlreadyExistsError, void> {\n const transport = factory({\n deviceModelDataSource: this._deviceModelDataSource,\n loggerServiceFactory: this._loggerModuleFactory,\n config: this._config,\n apduSenderServiceFactory: this._apduSenderServiceFactory,\n apduReceiverServiceFactory: this._apduReceiverServiceFactory,\n });\n\n return this.addTransportInternal(transport);\n }\n\n private addTransportInternal(\n transport: Transport,\n ): Either<TransportAlreadyExistsError, void> {\n const MaybeTransport = this.getTransport(transport.getIdentifier());\n\n if (MaybeTransport.isJust()) {\n this._logger.warn(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n );\n\n return Left(\n new TransportAlreadyExistsError(\n `Transport ${transport.getIdentifier()} already exists, please check your configuration`,\n ),\n );\n }\n\n this._transports.set(transport.getIdentifier(), transport);\n return Right(undefined);\n }\n\n getTransport(identifier: string): Maybe<Transport> {\n return Maybe.fromNullable(this._transports.get(identifier));\n }\n\n getAllTransports(): Transport[] {\n return Array.from(this._transports.values());\n }\n\n closeConnection(connectedDevice: TransportConnectedDevice) {\n const transport = this.getTransport(connectedDevice.transport);\n transport.map((t) =>\n t.disconnect({\n connectedDevice,\n }),\n );\n }\n}\n"],
|
5
|
+
"mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA2C,qBAO3CC,EAGO,uCAIPC,EAAiC,sDACjCC,EAAmC,0DACnCC,EAA4B,qDAC5BC,EAAiC,mDAK1B,IAAMC,EAAN,KAA0D,CAI/D,YAEEC,EAEiBC,EAEAC,EAIAC,EAEAC,EAEAC,EACjB,CAXiB,aAAAJ,EAEA,0BAAAC,EAIA,4BAAAC,EAEA,+BAAAC,EAEA,iCAAAC,EAIjB,GAFA,KAAK,QAAUH,EAAqB,kBAAkB,EAElDF,EAAY,SAAW,EACzB,WAAK,QAAQ,KACX,yDACF,EAEM,IAAI,2BACR,yDACF,EAGF,UAAWM,KAAaN,EAAa,CACnC,MAAMO,EAAS,KAAK,aAAaD,CAAS,EAE1C,GAAIC,EAAO,OAAO,EAChB,MAAMA,EAAO,QAAQ,CAEzB,CACF,CAtCQ,YAAsC,IAAI,IAC1C,QAuCR,aACEC,EAC2C,CAC3C,MAAMF,EAAYE,EAAQ,CACxB,sBAAuB,KAAK,uBAC5B,qBAAsB,KAAK,qBAC3B,OAAQ,KAAK,QACb,yBAA0B,KAAK,0BAC/B,2BAA4B,KAAK,2BACnC,CAAC,EAED,OAAO,KAAK,qBAAqBF,CAAS,CAC5C,CAEQ,qBACNA,EAC2C,CAG3C,OAFuB,KAAK,aAAaA,EAAU,cAAc,CAAC,EAE/C,OAAO,GACxB,KAAK,QAAQ,KACX,aAAaA,EAAU,cAAc,CAAC,kDACxC,KAEO,QACL,IAAI,8BACF,aAAaA,EAAU,cAAc,CAAC,kDACxC,CACF,IAGF,KAAK,YAAY,IAAIA,EAAU,cAAc,EAAGA,CAAS,KAClD,SAAM,MAAS,EACxB,CAEA,aAAaG,EAAsC,CACjD,OAAO,QAAM,aAAa,KAAK,YAAY,IAAIA,CAAU,CAAC,CAC5D,CAEA,kBAAgC,CAC9B,OAAO,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC,CAC7C,CAEA,gBAAgBC,EAA2C,CACvC,KAAK,aAAaA,EAAgB,SAAS,EACnD,IAAKC,GACbA,EAAE,WAAW,CACX,gBAAAD,CACF,CAAC,CACH,CACF,CACF,EA5FaX,EAANa,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,mBAAiB,eAAe,GAEvCA,EAAA,eAAO,mBAAiB,SAAS,GAEjCA,EAAA,eAAO,cAAY,6BAA6B,GAIhDA,EAAA,eAAO,mBAAiB,qBAAqB,GAE7CA,EAAA,eAAO,qBAAmB,wBAAwB,GAElDA,EAAA,eAAO,qBAAmB,0BAA0B,IAjB5Cd",
|
6
|
+
"names": ["DefaultTransportService_exports", "__export", "DefaultTransportService", "__toCommonJS", "import_inversify", "import_purify_ts", "import_Errors", "import_deviceModelTypes", "import_deviceSessionTypes", "import_loggerTypes", "import_transportDiTypes", "DefaultTransportService", "_transports", "_config", "_loggerModuleFactory", "_deviceModelDataSource", "_apduSenderServiceFactory", "_apduReceiverServiceFactory", "transport", "either", "factory", "identifier", "connectedDevice", "t", "__decorateClass", "__decorateParam"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var n=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var c=(t,r,p,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of s(r))!i.call(t,o)&&o!==p&&n(t,o,{get:()=>r[o],enumerable:!(e=a(r,o))||e.enumerable});return t};var y=t=>c(n({},"__esModule",{value:!0}),t);var T={};module.exports=y(T);
|
2
2
|
//# sourceMappingURL=TransportService.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/internal/transport/service/TransportService.ts"],
|
4
|
-
"sourcesContent": ["import { type Either, type Maybe } from \"purify-ts\";\n\nimport { type TransportAlreadyExistsError } from \"@api/
|
4
|
+
"sourcesContent": ["import { type Either, type Maybe } from \"purify-ts\";\n\nimport { type TransportAlreadyExistsError } from \"@api/transport/model/Errors\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { type Transport, type TransportFactory } from \"@api/types\";\n\nexport interface TransportService {\n getTransport(transportId: string): Maybe<Transport>;\n getAllTransports(): Transport[];\n addTransport(\n factory: TransportFactory,\n ): Either<TransportAlreadyExistsError, void>;\n closeConnection(connectedDevice: TransportConnectedDevice): void;\n}\n"],
|
5
5
|
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
6
6
|
"names": ["TransportService_exports", "__toCommonJS"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)a(r,t,{get:e[t],enumerable:!0})},g=(r,e,t,
|
1
|
+
"use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)a(r,t,{get:e[t],enumerable:!0})},g=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of s(e))!v.call(r,o)&&o!==t&&a(r,o,{get:()=>e[o],enumerable:!(n=c(e,o))||n.enumerable});return r};var l=r=>g(a({},"__esModule",{value:!0}),r);var d={};f(d,{DefaultTransportService:()=>m});module.exports=l(d);var p=require("../../../logger-publisher/service/DefaultLoggerPublisherService.stub");const i=r=>new p.DefaultLoggerPublisherServiceStub;class m{_transports=new Map;_loggerModuleFactory=i;_config={};_deviceModelDataSource={};_apduSenderServiceFactory=vi.fn();_apduReceiverServiceFactory=vi.fn();_logger=i("TransportServiceMock");addTransport=vi.fn();addTransportInternal=vi.fn();getTransport=vi.fn();getAllTransports=vi.fn();closeConnection=vi.fn()}0&&(module.exports={DefaultTransportService});
|
2
2
|
//# sourceMappingURL=DefaultTransportService.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../../src/internal/transport/service/__mocks__/DefaultTransportService.ts"],
|
4
|
-
"sourcesContent": ["import { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultLoggerPublisherServiceStub } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService.stub\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nconst loggerFactory = (_arg: string) => new DefaultLoggerPublisherServiceStub();\n\nexport class DefaultTransportService implements TransportService {\n _transports: Map<string, Transport> = new Map();\n _loggerModuleFactory = loggerFactory;\n _config = {} as DmkConfig;\n _deviceModelDataSource = {} as DeviceModelDataSource;\n _apduSenderServiceFactory = vi.fn();\n _apduReceiverServiceFactory = vi.fn();\n _logger = loggerFactory(\"TransportServiceMock\");\n\n addTransport = vi.fn();\n addTransportInternal = vi.fn();\n getTransport = vi.fn();\n getAllTransports = vi.fn();\n}\n"],
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAAkD,iFAGlD,MAAMC,EAAiBC,GAAiB,IAAI,oCAErC,MAAMJ,CAAoD,CAC/D,YAAsC,IAAI,IAC1C,qBAAuBG,EACvB,QAAU,CAAC,EACX,uBAAyB,CAAC,EAC1B,0BAA4B,GAAG,GAAG,EAClC,4BAA8B,GAAG,GAAG,EACpC,QAAUA,EAAc,sBAAsB,EAE9C,aAAe,GAAG,GAAG,EACrB,qBAAuB,GAAG,GAAG,EAC7B,aAAe,GAAG,GAAG,EACrB,iBAAmB,GAAG,GAAG,
|
4
|
+
"sourcesContent": ["import { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type Transport } from \"@api/types\";\nimport { DefaultLoggerPublisherServiceStub } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService.stub\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nconst loggerFactory = (_arg: string) => new DefaultLoggerPublisherServiceStub();\n\nexport class DefaultTransportService implements TransportService {\n _transports: Map<string, Transport> = new Map();\n _loggerModuleFactory = loggerFactory;\n _config = {} as DmkConfig;\n _deviceModelDataSource = {} as DeviceModelDataSource;\n _apduSenderServiceFactory = vi.fn();\n _apduReceiverServiceFactory = vi.fn();\n _logger = loggerFactory(\"TransportServiceMock\");\n\n addTransport = vi.fn();\n addTransportInternal = vi.fn();\n getTransport = vi.fn();\n getAllTransports = vi.fn();\n closeConnection = vi.fn();\n}\n"],
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAAkD,iFAGlD,MAAMC,EAAiBC,GAAiB,IAAI,oCAErC,MAAMJ,CAAoD,CAC/D,YAAsC,IAAI,IAC1C,qBAAuBG,EACvB,QAAU,CAAC,EACX,uBAAyB,CAAC,EAC1B,0BAA4B,GAAG,GAAG,EAClC,4BAA8B,GAAG,GAAG,EACpC,QAAUA,EAAc,sBAAsB,EAE9C,aAAe,GAAG,GAAG,EACrB,qBAAuB,GAAG,GAAG,EAC7B,aAAe,GAAG,GAAG,EACrB,iBAAmB,GAAG,GAAG,EACzB,gBAAkB,GAAG,GAAG,CAC1B",
|
6
6
|
"names": ["DefaultTransportService_exports", "__export", "DefaultTransportService", "__toCommonJS", "import_DefaultLoggerPublisherService", "loggerFactory", "_arg"]
|
7
7
|
}
|
package/lib/esm/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ledgerhq/device-management-kit",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.7.0",
|
4
4
|
"private": false,
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"exports": {
|
@@ -16,9 +16,9 @@
|
|
16
16
|
],
|
17
17
|
"scripts": {
|
18
18
|
"prebuild": "rimraf lib",
|
19
|
-
"build": "pnpm
|
19
|
+
"build": "pnpm ldmk-tool build --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
20
20
|
"dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
|
21
|
-
"watch:builds": "pnpm
|
21
|
+
"watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
22
22
|
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\"",
|
23
23
|
"lint": "eslint",
|
24
24
|
"lint:fix": "pnpm lint --fix",
|
@@ -32,33 +32,32 @@
|
|
32
32
|
"module:create": "pnpm hygen core-module with-prompt"
|
33
33
|
},
|
34
34
|
"dependencies": {
|
35
|
-
"@sentry/minimal": "
|
36
|
-
"axios": "
|
37
|
-
"inversify": "
|
38
|
-
"
|
39
|
-
"
|
40
|
-
"
|
41
|
-
"
|
42
|
-
"
|
43
|
-
"
|
44
|
-
"
|
45
|
-
"
|
46
|
-
"xstate": "^5.19.2"
|
35
|
+
"@sentry/minimal": "catalog:",
|
36
|
+
"axios": "catalog:",
|
37
|
+
"inversify": "catalog:",
|
38
|
+
"isomorphic-ws": "catalog:",
|
39
|
+
"purify-ts": "catalog:",
|
40
|
+
"reflect-metadata": "catalog:",
|
41
|
+
"semver": "catalog:",
|
42
|
+
"url": "catalog:",
|
43
|
+
"uuid": "catalog:",
|
44
|
+
"ws": "catalog:",
|
45
|
+
"xstate": "catalog:"
|
47
46
|
},
|
48
47
|
"peerDependencies": {
|
49
|
-
"rxjs": "
|
48
|
+
"rxjs": "catalog:"
|
50
49
|
},
|
51
50
|
"devDependencies": {
|
52
|
-
"@ledgerhq/
|
51
|
+
"@ledgerhq/ldmk-tool": "workspace:*",
|
53
52
|
"@ledgerhq/eslint-config-dsdk": "workspace:*",
|
54
53
|
"@ledgerhq/prettier-config-dsdk": "workspace:*",
|
55
54
|
"@ledgerhq/tsconfig-dsdk": "workspace:*",
|
56
55
|
"@ledgerhq/vitest-config-dmk": "workspace:*",
|
57
|
-
"@statelyai/inspect": "
|
58
|
-
"@types/semver": "
|
59
|
-
"@types/uuid": "
|
60
|
-
"@types/ws": "
|
61
|
-
"rxjs": "
|
62
|
-
"ts-node": "
|
56
|
+
"@statelyai/inspect": "catalog:",
|
57
|
+
"@types/semver": "catalog:",
|
58
|
+
"@types/uuid": "catalog:",
|
59
|
+
"@types/ws": "catalog:",
|
60
|
+
"rxjs": "catalog:",
|
61
|
+
"ts-node": "catalog:"
|
63
62
|
}
|
64
63
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{commandTypes as
|
1
|
+
import{commandTypes as c}from"./command/di/commandTypes";import{configTypes as a}from"../internal/config/di/configTypes";import{deviceSessionTypes as t}from"../internal/device-session/di/deviceSessionTypes";import{discoveryTypes as s}from"../internal/discovery/di/discoveryTypes";import{managerApiTypes as r}from"../internal/manager-api/di/managerApiTypes";import{sendTypes as p}from"../internal/send/di/sendTypes";import{makeContainer as m}from"../../src/di";import{deviceActionTypes as C}from"./device-action/di/deviceActionTypes";class l{container;constructor({stub:e,transports:i,loggers:o,config:n}={}){this.container=m({stub:e,transports:i,loggers:o,config:n})}getVersion(){return this.container.get(a.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.ListenToAvailableDevicesUseCase).execute(e)}connect(e){return this.container.get(s.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(p.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(c.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(C.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(t.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(t.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(t.DisableDeviceSessionRefresherUseCase).execute(e)}setProvider(e){return this.container.get(r.SetProviderUseCase).execute(e)}getProvider(){return this.container.get(r.ManagerApiDataSource).getProvider()}}export{l as DeviceManagementKit};
|
2
2
|
//# sourceMappingURL=DeviceManagementKit.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../src/api/DeviceManagementKit.ts"],
|
4
|
-
"sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }) {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n}\n"],
|
5
|
-
"mappings": "AAGA,OAAS,gBAAAA,MAAoB,+BAsB7B,OAAS,eAAAC,MAAmB,kCAE5B,OAAS,sBAAAC,MAA0B,iDAGnC,OAAS,kBAAAC,MAAsB,
|
6
|
-
"names": ["commandTypes", "configTypes", "deviceSessionTypes", "discoveryTypes", "sendTypes", "makeContainer", "deviceActionTypes", "DeviceManagementKit", "stub", "transports", "loggers", "config", "args"]
|
4
|
+
"sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }): () => void {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n /**\n * Sets the provider for the manager API.\n *\n * @param {number} provider - The provider to set.\n */\n setProvider(provider: number): void {\n return this.container\n .get<SetProviderUseCase>(managerApiTypes.SetProviderUseCase)\n .execute(provider);\n }\n\n /**\n * Returns the current provider value from the manager API data source.\n */\n getProvider(): number {\n return this.container\n .get<ManagerApiDataSource>(managerApiTypes.ManagerApiDataSource)\n .getProvider();\n }\n}\n"],
|
5
|
+
"mappings": "AAGA,OAAS,gBAAAA,MAAoB,+BAsB7B,OAAS,eAAAC,MAAmB,kCAE5B,OAAS,sBAAAC,MAA0B,iDAGnC,OAAS,kBAAAC,MAAsB,wCAa/B,OAAS,mBAAAC,MAAuB,2CAEhC,OAAS,aAAAC,MAAiB,8BAE1B,OAAS,iBAAAC,MAA8C,eAMvD,OAAS,qBAAAC,MAAyB,uCAS3B,MAAMC,CAAoB,CACtB,UAET,YAAY,CACV,KAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,UAAYN,EAAc,CAC7B,KAAAG,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0BX,EAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEY,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6BV,EAAe,uBAAuB,EACnE,QAAQU,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4BV,EAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEU,EACgC,CAChC,OAAO,KAAK,UACT,IACCV,EAAe,+BACjB,EACC,QAAQU,CAAI,CACjB,CAiBA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoBV,EAAe,cAAc,EACjD,QAAQU,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuBV,EAAe,iBAAiB,EACvD,QAAQU,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqBR,EAAU,eAAe,EAC9C,QAAQQ,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwBb,EAAa,kBAAkB,EACvD,QAAQa,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACCN,EAAkB,0BACpB,EACC,QAAQM,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+BV,EAAe,yBAAyB,EACvE,QAAQU,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACCX,EAAmB,4BACrB,EACC,QAAQW,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0BX,EAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACCC,EAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACCA,EAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BU,EAGf,CACb,OAAO,KAAK,UACT,IACCX,EAAmB,oCACrB,EACC,QAAQW,CAAI,CACjB,CAMA,YAAYC,EAAwB,CAClC,OAAO,KAAK,UACT,IAAwBV,EAAgB,kBAAkB,EAC1D,QAAQU,CAAQ,CACrB,CAKA,aAAsB,CACpB,OAAO,KAAK,UACT,IAA0BV,EAAgB,oBAAoB,EAC9D,YAAY,CACjB,CACF",
|
6
|
+
"names": ["commandTypes", "configTypes", "deviceSessionTypes", "discoveryTypes", "managerApiTypes", "sendTypes", "makeContainer", "deviceActionTypes", "DeviceManagementKit", "stub", "transports", "loggers", "config", "args", "provider"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{StubLocalConfigDataSource as
|
1
|
+
import{StubLocalConfigDataSource as r}from"../internal/config/data/LocalConfigDataSource.stub";import{configTypes as c}from"../internal/config/di/configTypes";import{deviceSessionTypes as a}from"../internal/device-session/di/deviceSessionTypes";import{discoveryTypes as t}from"../internal/discovery/di/discoveryTypes";import{managerApiTypes as d}from"../internal/manager-api/di/managerApiTypes";import{sendTypes as m}from"../internal/send/di/sendTypes";import p from"../../package.json";import{StubUseCase as f}from"../../src/di.stub";import{commandTypes as l}from"./command/di/commandTypes";import{ConsoleLogger as u}from"./logger-subscriber/service/ConsoleLogger";import{DeviceManagementKit as o}from"./DeviceManagementKit";vi.mock("./logger-subscriber/service/ConsoleLogger");let e,i;describe("DeviceManagementKit",()=>{describe("clean",()=>{beforeEach(()=>{i=new u,e=new o({stub:!1,loggers:[i],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url",firmwareDistributionSalt:"salt"}})}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(o)}),it("should return a clean `version`",async()=>{expect(await e.getVersion()).toBe(p.version)}),it("should have startDiscovery method",()=>{expect(e.startDiscovering).toBeDefined()}),it("should have stopDiscovery method",()=>{expect(e.stopDiscovering).toBeDefined()}),it("should have connect method",()=>{expect(e.connect).toBeDefined()}),it("should have sendApdu method",()=>{expect(e.sendApdu).toBeDefined()}),it("should have getConnectedDevice method",()=>{expect(e.getConnectedDevice).toBeDefined()}),it("should have sendCommand method",()=>{expect(e.sendCommand).toBeDefined()}),it("should have listConnectedDevices method",()=>{expect(e.listConnectedDevices).toBeDefined()}),it("should have listenToConnectedDevice method",()=>{expect(e.listenToConnectedDevice).toBeDefined()}),it("should have disableDeviceSessionRefresher method",()=>{expect(e.disableDeviceSessionRefresher).toBeDefined()}),it("should have setProvider method",()=>{expect(e.setProvider).toBeDefined()})}),describe("stubbed",()=>{beforeEach(()=>{e=new o({stub:!0,loggers:[],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url",firmwareDistributionSalt:"salt"}})}),it("should create a stubbed dmk",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(o)}),it("should return a stubbed config",()=>{expect(e.container.get(c.LocalConfigDataSource)).toBeInstanceOf(r)}),it("should return a stubbed version",async()=>{expect(await e.getVersion()).toBe("0.0.0-stub.1")}),it.each([[t.StartDiscoveringUseCase],[t.StopDiscoveringUseCase],[t.ConnectUseCase],[m.SendApduUseCase],[l.SendCommandUseCase],[t.GetConnectedDeviceUseCase],[t.DisconnectUseCase],[a.GetDeviceSessionStateUseCase],[t.ListConnectedDevicesUseCase],[t.ListenToConnectedDeviceUseCase],[d.SetProviderUseCase]])("should have %s use case",n=>{const s=e.container.get(n);expect(s).toBeInstanceOf(f),expect(s.execute()).toBe("stub")})})});
|
2
2
|
//# sourceMappingURL=DeviceManagementKit.test.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../src/api/DeviceManagementKit.test.ts"],
|
4
|
-
"sourcesContent": ["import { type
|
5
|
-
"mappings": "AAGA,OAAS,6BAAAA,MAAiC,mDAC1C,OAAS,eAAAC,MAAmB,kCAC5B,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,kBAAAC,MAAsB,wCAC/B,OAAS,aAAAC,MAAiB,8BAC1B,OAAOC,MAAS,qBAChB,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,gBAAAC,MAAoB,4BAC7B,OAAS,iBAAAC,MAAqB,4CAC9B,OAAS,uBAAAC,MAA2B,
|
6
|
-
"names": ["StubLocalConfigDataSource", "configTypes", "deviceSessionTypes", "discoveryTypes", "sendTypes", "pkg", "StubUseCase", "commandTypes", "ConsoleLogger", "DeviceManagementKit", "dmk", "logger", "diSymbol", "uc"]
|
4
|
+
"sourcesContent": ["import { type ServiceIdentifier } from \"inversify\";\n\nimport { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\nimport { StubLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource.stub\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport pkg from \"@root/package.json\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandTypes } from \"./command/di/commandTypes\";\nimport { ConsoleLogger } from \"./logger-subscriber/service/ConsoleLogger\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { type DmkConfig } from \"./DmkConfig\";\n\nvi.mock(\"./logger-subscriber/service/ConsoleLogger\");\n\nlet dmk: DeviceManagementKit;\nlet logger: ConsoleLogger;\ndescribe(\"DeviceManagementKit\", () => {\n describe(\"clean\", () => {\n beforeEach(() => {\n logger = new ConsoleLogger();\n dmk = new DeviceManagementKit({\n stub: false,\n loggers: [logger],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n firmwareDistributionSalt: \"salt\",\n } as DmkConfig,\n });\n });\n\n it(\"should create an instance\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a clean `version`\", async () => {\n expect(await dmk.getVersion()).toBe(pkg.version);\n });\n\n it(\"should have startDiscovery method\", () => {\n expect(dmk.startDiscovering).toBeDefined();\n });\n\n it(\"should have stopDiscovery method\", () => {\n expect(dmk.stopDiscovering).toBeDefined();\n });\n\n it(\"should have connect method\", () => {\n expect(dmk.connect).toBeDefined();\n });\n\n it(\"should have sendApdu method\", () => {\n expect(dmk.sendApdu).toBeDefined();\n });\n\n it(\"should have getConnectedDevice method\", () => {\n expect(dmk.getConnectedDevice).toBeDefined();\n });\n\n it(\"should have sendCommand method\", () => {\n expect(dmk.sendCommand).toBeDefined();\n });\n\n it(\"should have listConnectedDevices method\", () => {\n expect(dmk.listConnectedDevices).toBeDefined();\n });\n\n it(\"should have listenToConnectedDevice method\", () => {\n expect(dmk.listenToConnectedDevice).toBeDefined();\n });\n\n it(\"should have disableDeviceSessionRefresher method\", () => {\n expect(dmk.disableDeviceSessionRefresher).toBeDefined();\n });\n\n it(\"should have setProvider method\", () => {\n expect(dmk.setProvider).toBeDefined();\n });\n });\n\n describe(\"stubbed\", () => {\n beforeEach(() => {\n dmk = new DeviceManagementKit({\n stub: true,\n loggers: [],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n firmwareDistributionSalt: \"salt\",\n } as DmkConfig,\n });\n });\n\n it(\"should create a stubbed dmk\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a stubbed config\", () => {\n expect(\n dmk.container.get<LocalConfigDataSource>(\n configTypes.LocalConfigDataSource,\n ),\n ).toBeInstanceOf(StubLocalConfigDataSource);\n });\n\n it(\"should return a stubbed version\", async () => {\n expect(await dmk.getVersion()).toBe(\"0.0.0-stub.1\");\n });\n\n it.each([\n [discoveryTypes.StartDiscoveringUseCase],\n [discoveryTypes.StopDiscoveringUseCase],\n [discoveryTypes.ConnectUseCase],\n [sendTypes.SendApduUseCase],\n [commandTypes.SendCommandUseCase],\n [discoveryTypes.GetConnectedDeviceUseCase],\n [discoveryTypes.DisconnectUseCase],\n [deviceSessionTypes.GetDeviceSessionStateUseCase],\n [discoveryTypes.ListConnectedDevicesUseCase],\n [discoveryTypes.ListenToConnectedDeviceUseCase],\n [managerApiTypes.SetProviderUseCase],\n ])(\n \"should have %s use case\",\n (diSymbol: ServiceIdentifier<StubUseCase>) => {\n const uc = dmk.container.get<StubUseCase>(diSymbol);\n expect(uc).toBeInstanceOf(StubUseCase);\n expect(uc.execute()).toBe(\"stub\");\n },\n );\n });\n});\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["StubLocalConfigDataSource", "configTypes", "deviceSessionTypes", "discoveryTypes", "managerApiTypes", "sendTypes", "pkg", "StubUseCase", "commandTypes", "ConsoleLogger", "DeviceManagementKit", "dmk", "logger", "diSymbol", "uc"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{
|
1
|
+
import{DEFAULT_FIRMWARE_DISTRIBUTION_SALT as e,DEFAULT_MANAGER_API_BASE_URL as t,DEFAULT_MOCK_SERVER_BASE_URL as i,DEFAULT_PROVIDER as o}from"../internal/manager-api/model/Const";import{DEFAULT_WEB_SOCKET_BASE_URL as a}from"../internal/secure-channel/model/Const";import{DeviceManagementKit as s}from"./DeviceManagementKit";class c{stub=!1;loggers=[];transports=[];config={managerApiUrl:t,mockUrl:i,webSocketUrl:a,provider:o,firmwareDistributionSalt:e};build(){return new s({stub:this.stub,transports:this.transports,loggers:this.loggers,config:this.config})}setStub(r){return this.stub=r,this}addTransport(r){return this.transports.push(r),this}addLogger(r){return this.loggers.push(r),this}addConfig(r){return this.config={...this.config,...r},this}}export{c as DeviceManagementKitBuilder};
|
2
2
|
//# sourceMappingURL=DeviceManagementKitBuilder.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../src/api/DeviceManagementKitBuilder.ts"],
|
4
|
-
"sourcesContent": ["import {\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n} from \"@internal/manager-api/model/Const\";\nimport { DEFAULT_WEB_SOCKET_BASE_URL } from \"@internal/secure-channel/model/Const\";\n\nimport { type LoggerSubscriberService } from \"./logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"./transport/model/Transport\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { type DmkConfig } from \"./DmkConfig\";\n\n/**\n * Builder for the `DeviceManagementKit` class.\n *\n * @example\n * ```\n * const dmk = new LedgerDeviceManagementKitBuilder()\n * .setStub(false)\n * .addTransport((args) => transportFactory(args))\n * .addTransport(transportFactory)\n * .addLogger(myLogger)\n * .build();\n * ```\n */\nexport class DeviceManagementKitBuilder {\n private stub = false;\n private readonly loggers: LoggerSubscriberService[] = [];\n private readonly transports: TransportFactory[] = [];\n private config: DmkConfig = {\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n webSocketUrl: DEFAULT_WEB_SOCKET_BASE_URL,\n };\n\n build(): DeviceManagementKit {\n return new DeviceManagementKit({\n stub: this.stub,\n transports: this.transports,\n loggers: this.loggers,\n config: this.config,\n });\n }\n\n setStub(stubbed: boolean): DeviceManagementKitBuilder {\n this.stub = stubbed;\n return this;\n }\n\n addTransport(transport: TransportFactory): DeviceManagementKitBuilder {\n this.transports.push(transport);\n return this;\n }\n\n /**\n * Add a logger to the SDK that will receive its logs\n */\n addLogger(logger: LoggerSubscriberService): DeviceManagementKitBuilder {\n this.loggers.push(logger);\n return this;\n }\n\n addConfig(config: Partial<DmkConfig>): DeviceManagementKitBuilder {\n this.config = {\n ...this.config,\n ...config,\n };\n return this;\n }\n}\n"],
|
5
|
-
"mappings": "AAAA,OACE,
|
6
|
-
"names": ["DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL", "DEFAULT_WEB_SOCKET_BASE_URL", "DeviceManagementKit", "DeviceManagementKitBuilder", "stubbed", "transport", "logger", "config"]
|
4
|
+
"sourcesContent": ["import {\n DEFAULT_FIRMWARE_DISTRIBUTION_SALT,\n DEFAULT_MANAGER_API_BASE_URL,\n DEFAULT_MOCK_SERVER_BASE_URL,\n DEFAULT_PROVIDER,\n} from \"@internal/manager-api/model/Const\";\nimport { DEFAULT_WEB_SOCKET_BASE_URL } from \"@internal/secure-channel/model/Const\";\n\nimport { type LoggerSubscriberService } from \"./logger-subscriber/service/LoggerSubscriberService\";\nimport { type TransportFactory } from \"./transport/model/Transport\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { type DmkConfig } from \"./DmkConfig\";\n\n/**\n * Builder for the `DeviceManagementKit` class.\n *\n * @example\n * ```\n * const dmk = new LedgerDeviceManagementKitBuilder()\n * .setStub(false)\n * .addTransport((args) => transportFactory(args))\n * .addTransport(transportFactory)\n * .addLogger(myLogger)\n * .build();\n * ```\n */\nexport class DeviceManagementKitBuilder {\n private stub = false;\n private readonly loggers: LoggerSubscriberService[] = [];\n private readonly transports: TransportFactory[] = [];\n private config: DmkConfig = {\n managerApiUrl: DEFAULT_MANAGER_API_BASE_URL,\n mockUrl: DEFAULT_MOCK_SERVER_BASE_URL,\n webSocketUrl: DEFAULT_WEB_SOCKET_BASE_URL,\n provider: DEFAULT_PROVIDER,\n firmwareDistributionSalt: DEFAULT_FIRMWARE_DISTRIBUTION_SALT,\n };\n\n build(): DeviceManagementKit {\n return new DeviceManagementKit({\n stub: this.stub,\n transports: this.transports,\n loggers: this.loggers,\n config: this.config,\n });\n }\n\n setStub(stubbed: boolean): DeviceManagementKitBuilder {\n this.stub = stubbed;\n return this;\n }\n\n addTransport(transport: TransportFactory): DeviceManagementKitBuilder {\n this.transports.push(transport);\n return this;\n }\n\n /**\n * Add a logger to the SDK that will receive its logs\n */\n addLogger(logger: LoggerSubscriberService): DeviceManagementKitBuilder {\n this.loggers.push(logger);\n return this;\n }\n\n addConfig(config: Partial<DmkConfig>): DeviceManagementKitBuilder {\n this.config = {\n ...this.config,\n ...config,\n };\n return this;\n }\n}\n"],
|
5
|
+
"mappings": "AAAA,OACE,sCAAAA,EACA,gCAAAC,EACA,gCAAAC,EACA,oBAAAC,MACK,oCACP,OAAS,+BAAAC,MAAmC,uCAI5C,OAAS,uBAAAC,MAA2B,wBAgB7B,MAAMC,CAA2B,CAC9B,KAAO,GACE,QAAqC,CAAC,EACtC,WAAiC,CAAC,EAC3C,OAAoB,CAC1B,cAAeL,EACf,QAASC,EACT,aAAcE,EACd,SAAUD,EACV,yBAA0BH,CAC5B,EAEA,OAA6B,CAC3B,OAAO,IAAIK,EAAoB,CAC7B,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,QAAS,KAAK,QACd,OAAQ,KAAK,MACf,CAAC,CACH,CAEA,QAAQE,EAA8C,CACpD,YAAK,KAAOA,EACL,IACT,CAEA,aAAaC,EAAyD,CACpE,YAAK,WAAW,KAAKA,CAAS,EACvB,IACT,CAKA,UAAUC,EAA6D,CACrE,YAAK,QAAQ,KAAKA,CAAM,EACjB,IACT,CAEA,UAAUC,EAAwD,CAChE,YAAK,OAAS,CACZ,GAAG,KAAK,OACR,GAAGA,CACL,EACO,IACT,CACF",
|
6
|
+
"names": ["DEFAULT_FIRMWARE_DISTRIBUTION_SALT", "DEFAULT_MANAGER_API_BASE_URL", "DEFAULT_MOCK_SERVER_BASE_URL", "DEFAULT_PROVIDER", "DEFAULT_WEB_SOCKET_BASE_URL", "DeviceManagementKit", "DeviceManagementKitBuilder", "stubbed", "transport", "logger", "config"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{hexaStringToBuffer as h}from"../../utils/HexaString";import{DataOverflowError as
|
1
|
+
import{hexaStringToBuffer as h}from"../../utils/HexaString";import{DataOverflowError as o,HexaStringEncodeError as B,ValueOverflowError as u}from"./AppBuilderError";const b=4294967295;class m{constructor(r=b){this.maxPayloadSize=r}data=new Uint8Array;errors=[];build=()=>this.data;tryBuild=()=>this.hasErrors()?void 0:this.data;add8BitUIntToData=r=>this.addNumberToData(r,8n,!1,!1);add16BitUIntToData=(r,t=!0)=>this.addNumberToData(r,16n,!1,t);add32BitUIntToData=(r,t=!0)=>this.addNumberToData(r,32n,!1,t);add64BitUIntToData=(r,t=!0)=>this.addNumberToData(r,64n,!1,t);add128BitUIntToData=(r,t=!0)=>this.addNumberToData(r,128n,!1,t);add256BitUIntToData=(r,t=!0)=>this.addNumberToData(r,256n,!1,t);add16BitIntToData=(r,t=!0)=>this.addNumberToData(r,16n,!0,t);add32BitIntToData=(r,t=!0)=>this.addNumberToData(r,32n,!0,t);add64BitIntToData=(r,t=!0)=>this.addNumberToData(r,64n,!0,t);add128BitIntToData=(r,t=!0)=>this.addNumberToData(r,128n,!0,t);add256BitIntToData=(r,t=!0)=>this.addNumberToData(r,256n,!0,t);addBufferToData=r=>this.hasEnoughLengthRemaining(r)?(this.data=Uint8Array.from([...this.data,...r]),this):(this.errors.push(new o(r.toString())),this);addHexaStringToData=r=>{const t=h(r);return t===null||t.length===0?(this.errors.push(new B(r)),this):(this.addBufferToData(t),this)};addAsciiStringToData=r=>{const t=new TextEncoder().encode(r);return this.addBufferToData(t),this};encodeInLVFromHexa=r=>{const t=h(r);return t===null||t.length===0?(this.errors.push(new B(r)),this):this.hasEnoughLengthRemaining(t,!0)?(this.add8BitUIntToData(t.length),this.addBufferToData(t),this):(this.errors.push(new o(r)),this)};encodeInLVFromBuffer=r=>this.hasEnoughLengthRemaining(r,!0)?(this.add8BitUIntToData(r.length),this.addBufferToData(r),this):(this.errors.push(new o(r.toString())),this);encodeInLVFromAscii=r=>this.hasEnoughLengthRemaining(r,!0)?(this.add8BitUIntToData(r.length),this.addAsciiStringToData(r),this):(this.errors.push(new o(r)),this);encodeInTLVFromHexa=(r,t)=>(this.add8BitUIntToData(r),this.encodeInLVFromHexa(t));encodeInTLVFromBuffer=(r,t)=>(this.add8BitUIntToData(r),this.encodeInLVFromBuffer(t));encodeInTLVFromUInt64=(r,t,a=!0)=>(this.add8BitUIntToData(r),this.add8BitUIntToData(8),this.add64BitUIntToData(t,a));getAvailablePayloadLength=()=>this.maxPayloadSize-this.data.length;getErrors=()=>this.errors;hasErrors=()=>this.errors.length!==0;hasEnoughLengthRemaining=(r,t=!1)=>this.data.length+r.length+(t?1:0)<=this.maxPayloadSize;addNumberToData(r,t,a,e){let n=this.checkBoundsAndConvert(r,t,a);if(n===void 0)return this;const d=Number(t)/8,s=new Uint8Array(d);if(e)for(let i=d-1;i>=0;i--)s[i]=Number(n&0xffn),n>>=8n;else for(let i=0;i<d;i++)s[i]=Number(n&0xffn),n>>=8n;return this.addBufferToData(s)}checkBoundsAndConvert(r,t,a){if(typeof r=="number"){if(!Number.isInteger(r)||r>Number.MAX_SAFE_INTEGER){this.errors.push(new u(r.toString()));return}r=BigInt(r)}if(a){const e=1n<<t-1n;if(r>=e||r<-e){this.errors.push(new u(r.toString(),e-1n));return}if(r<0n){const n=(1n<<t)-1n;r=-r,r=(~r&n)+1n}}else{const e=1n<<t;if(r<0||r>=e){this.errors.push(new u(r.toString(),e-1n));return}}return r}}export{m as ByteArrayBuilder};
|
2
2
|
//# sourceMappingURL=ByteArrayBuilder.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../../../../../src/api/apdu/utils/ByteArrayBuilder.ts"],
|
4
|
-
"sourcesContent": ["import { hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nimport {\n type AppBuilderError,\n DataOverflowError,\n HexaStringEncodeError,\n ValueOverflowError,\n} from \"./AppBuilderError\";\n\nconst MAX_32_BIT_UINT = 0xffffffff;\n\n/**\n * ByteArrayBuilder is a utility class to help build APDU payloads.\n * It allows to easily add data to the payload of an APDU command\n * and to encode this data in different formats.\n *\n * @example\n * ```\n * const builder = new ByteArrayBuilder(255)\n * .add8BitUIntToData(0x05)\n * .add16BitUIntToData(0x0607)\n * .addHexaStringToData(\"0x0809\")\n * .addAsciiStringToData(\"hello\")\n *\n * const payload = builder.build();\n * const builderErrors = builder.getErrors();\n * ```\n */\nexport class ByteArrayBuilder {\n private data: Uint8Array = new Uint8Array();\n private readonly errors: AppBuilderError[] = []; // Custom Error\n\n constructor(private maxPayloadSize: number = MAX_32_BIT_UINT) {}\n\n // ==========\n // Public API\n // ==========\n\n /**\n * Build a new payload instance with the current state of the builder\n * @returns {payload} - Returns a new payload instance\n */\n build = (): Uint8Array => this.data;\n\n /**\n * Try to build a new payload instance with the current state of the builder\n * if the builder don't contain any error.\n * @returns {payload | undefined} - Returns a new payload instance or undefined\n */\n tryBuild = (): Uint8Array | undefined => {\n return this.hasErrors() ? undefined : this.data;\n };\n\n /**\n * Add a 8-bit unsigned integer to the payload (max value 0xff = 255)\n * @param value: number | bigint - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add8BitUIntToData = (value: number | bigint): ByteArrayBuilder => {\n return this.addNumberToData(value, 8n, false, false);\n };\n\n /**\n * Add a 16-bit unsigned integer to the payload (max value 0xffff = 65535)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add16BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 16n, false, bigEndian);\n };\n\n /**\n * Add a 32-bit unsigned integer to the payload (max value 0xffffffff = 4294967295)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add32BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 32n, false, bigEndian);\n };\n\n /**\n * Add a 64-bit unsigned integer to the payload (max value 0xffffffffffffffff = 18446744073709551615)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add64BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 64n, false, bigEndian);\n };\n\n /**\n * Add a 128-bit unsigned integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add128BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 128n, false, bigEndian);\n };\n\n /**\n * Add a 256-bit unsigned integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add256BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 256n, false, bigEndian);\n };\n\n /**\n * Add a 16-bit signed integer to the payload (value between -0x8000 to 0x7fff)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add16BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 16n, true, bigEndian);\n };\n\n /**\n * Add a 32-bit signed integer to the payload (value between -0x80000000 to 0x7fffffff)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add32BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 32n, true, bigEndian);\n };\n\n /**\n * Add a 64-bit signed integer to the payload (value between -0x8000000000000000 to 0x7fffffffffffffff)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add64BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 64n, true, bigEndian);\n };\n\n /**\n * Add a 128-bit signed integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add128BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 128n, true, bigEndian);\n };\n\n /**\n * Add a 256-bit signed integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add256BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 256n, true, bigEndian);\n };\n\n /**\n * Add a Uint8Array to the payload if it has enough remaining space\n * @param value: Uint8Array - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n addBufferToData = (value: Uint8Array): ByteArrayBuilder => {\n if (!this.hasEnoughLengthRemaining(value)) {\n this.errors.push(new DataOverflowError(value.toString()));\n return this;\n }\n\n this.data = Uint8Array.from([...this.data, ...value]);\n return this;\n };\n\n /**\n * Add a string to the payload if it has enough remaining space\n * and it can be formatted as a hexadecimal string\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n addHexaStringToData = (value: string): ByteArrayBuilder => {\n const result = hexaStringToBuffer(value);\n if (result === null || result.length === 0) {\n this.errors.push(new HexaStringEncodeError(value));\n return this;\n }\n this.addBufferToData(result);\n return this;\n };\n\n /**\n * Add an ascii string to the data field if it has enough remaining space\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n addAsciiStringToData = (value: string): ByteArrayBuilder => {\n const bytes = new TextEncoder().encode(value);\n this.addBufferToData(bytes);\n return this;\n };\n\n /**\n * Add a Length-Value encoded hexadecimal string to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInLVFromHexa = (value: string): ByteArrayBuilder => {\n const result = hexaStringToBuffer(value);\n if (result === null || result.length === 0) {\n this.errors.push(new HexaStringEncodeError(value));\n return this;\n }\n\n if (!this.hasEnoughLengthRemaining(result, true)) {\n this.errors.push(new DataOverflowError(value));\n return this;\n }\n // values are always being well formatted at this point\n // therefore no status test is needed\n this.add8BitUIntToData(result.length);\n this.addBufferToData(result);\n return this;\n };\n\n /**\n * Add a Length-Value encoded buffer to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param value: Uint8Array - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInLVFromBuffer = (value: Uint8Array): ByteArrayBuilder => {\n if (!this.hasEnoughLengthRemaining(value, true)) {\n this.errors.push(new DataOverflowError(value.toString()));\n return this;\n }\n\n this.add8BitUIntToData(value.length);\n this.addBufferToData(value);\n return this;\n };\n\n /**\n * Add a Length-Value encoded ascii string to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInLVFromAscii = (value: string): ByteArrayBuilder => {\n if (!this.hasEnoughLengthRemaining(value, true)) {\n this.errors.push(new DataOverflowError(value));\n return this;\n }\n\n this.add8BitUIntToData(value.length);\n this.addAsciiStringToData(value);\n return this;\n };\n\n /**\n * Returns the remaining payload length\n * @returns {number}\n */\n getAvailablePayloadLength = (): number => {\n return this.maxPayloadSize - this.data.length;\n };\n\n /**\n * Returns the current errors\n * @returns {AppBuilderError[]} - Returns an array of errors\n */\n getErrors = (): AppBuilderError[] => this.errors;\n\n /**\n * Verifies if the builder contains errors\n * @returns {boolean} - Returns wether the builder contains errors or not\n */\n hasErrors = (): boolean => this.errors.length !== 0;\n\n // ===========\n // Private API\n // ===========\n\n /**\n * Check if there is enough space to add a value to the data field\n * @param value {string | Uint8Array | number[]} - Value to add to the data\n * @param hasLv {boolean} - Length-Value encoding flag\n * @returns {boolean} - Returns true if there is enough space to add the value\n */\n private hasEnoughLengthRemaining = (\n value: string | Uint8Array | number[],\n hasLv: boolean = false,\n ): boolean => {\n return (\n this.data.length + value.length + (hasLv ? 1 : 0) <= this.maxPayloadSize\n );\n };\n\n /**\n * Add a number to the payload\n * @param value: number | bigint - The value to add to the data\n * @param sizeInBits: bigint - The number size in bits, for example 16 for a uint16\n * @param signed: boolean - Whether the value is signed or unsigned.\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n private addNumberToData(\n value: number | bigint,\n sizeInBits: bigint,\n signed: boolean,\n bigEndian: boolean,\n ): ByteArrayBuilder {\n // Convert the number to two's complement and check its bounds\n let converted = this.checkBoundsAndConvert(value, sizeInBits, signed);\n if (converted === undefined) {\n return this;\n }\n\n // Compute the buffer\n const sizeInBytes = Number(sizeInBits) / 8;\n const buffer = new Uint8Array(sizeInBytes);\n if (bigEndian) {\n for (let i = sizeInBytes - 1; i >= 0; i--) {\n buffer[i] = Number(converted & 0xffn);\n converted >>= 8n;\n }\n } else {\n for (let i = 0; i < sizeInBytes; i++) {\n buffer[i] = Number(converted & 0xffn);\n converted >>= 8n;\n }\n }\n return this.addBufferToData(buffer);\n }\n\n /**\n * Checks the bounds of a signed or unsigned integer value and converts it to two's complement if it is signed and negative.\n * @param value The value to check and convert.\n * @param sizeInBits The size of the value in bits.\n * @param signed Whether the value is signed or unsigned.\n * @returns The converted value, or null if the value is out of bounds.\n */\n private checkBoundsAndConvert(\n value: number | bigint,\n sizeInBits: bigint,\n signed: boolean,\n ): bigint | undefined {\n // Normalize the value to a bigint\n if (typeof value === \"number\") {\n if (!Number.isInteger(value) || value > Number.MAX_SAFE_INTEGER) {\n this.errors.push(new ValueOverflowError(value.toString()));\n return;\n }\n value = BigInt(value);\n }\n\n if (!signed) {\n // Check if the value is within the bounds of an unsigned integer\n const limit = 1n << sizeInBits;\n if (value < 0 || value >= limit) {\n this.errors.push(new ValueOverflowError(value.toString(), limit - 1n));\n return;\n }\n } else {\n // Check if the value is within the bounds of a signed integer\n const limit = 1n << (sizeInBits - 1n);\n if (value >= limit || value < -limit) {\n this.errors.push(new ValueOverflowError(value.toString(), limit - 1n));\n return;\n }\n\n // Convert the value to two's complement if it is negative\n // https://en.wikipedia.org/wiki/Two%27s_complement\n if (value < 0n) {\n const mask = (1n << sizeInBits) - 1n;\n value = -value;\n value = (~value & mask) + 1n;\n }\n }\n return value;\n }\n}\n"],
|
5
|
-
"mappings": "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
|
6
|
-
"names": ["hexaStringToBuffer", "DataOverflowError", "HexaStringEncodeError", "ValueOverflowError", "MAX_32_BIT_UINT", "ByteArrayBuilder", "maxPayloadSize", "value", "bigEndian", "result", "bytes", "hasLv", "sizeInBits", "signed", "converted", "sizeInBytes", "buffer", "limit", "mask"]
|
4
|
+
"sourcesContent": ["import { hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nimport {\n type AppBuilderError,\n DataOverflowError,\n HexaStringEncodeError,\n ValueOverflowError,\n} from \"./AppBuilderError\";\n\nconst MAX_32_BIT_UINT = 0xffffffff;\n\n/**\n * ByteArrayBuilder is a utility class to help build APDU payloads.\n * It allows to easily add data to the payload of an APDU command\n * and to encode this data in different formats.\n *\n * @example\n * ```\n * const builder = new ByteArrayBuilder(255)\n * .add8BitUIntToData(0x05)\n * .add16BitUIntToData(0x0607)\n * .addHexaStringToData(\"0x0809\")\n * .addAsciiStringToData(\"hello\")\n *\n * const payload = builder.build();\n * const builderErrors = builder.getErrors();\n * ```\n */\nexport class ByteArrayBuilder {\n private data: Uint8Array = new Uint8Array();\n private readonly errors: AppBuilderError[] = []; // Custom Error\n\n constructor(private maxPayloadSize: number = MAX_32_BIT_UINT) {}\n\n // ==========\n // Public API\n // ==========\n\n /**\n * Build a new payload instance with the current state of the builder\n * @returns {payload} - Returns a new payload instance\n */\n build = (): Uint8Array => this.data;\n\n /**\n * Try to build a new payload instance with the current state of the builder\n * if the builder don't contain any error.\n * @returns {payload | undefined} - Returns a new payload instance or undefined\n */\n tryBuild = (): Uint8Array | undefined => {\n return this.hasErrors() ? undefined : this.data;\n };\n\n /**\n * Add a 8-bit unsigned integer to the payload (max value 0xff = 255)\n * @param value: number | bigint - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add8BitUIntToData = (value: number | bigint): ByteArrayBuilder => {\n return this.addNumberToData(value, 8n, false, false);\n };\n\n /**\n * Add a 16-bit unsigned integer to the payload (max value 0xffff = 65535)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add16BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 16n, false, bigEndian);\n };\n\n /**\n * Add a 32-bit unsigned integer to the payload (max value 0xffffffff = 4294967295)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add32BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 32n, false, bigEndian);\n };\n\n /**\n * Add a 64-bit unsigned integer to the payload (max value 0xffffffffffffffff = 18446744073709551615)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add64BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 64n, false, bigEndian);\n };\n\n /**\n * Add a 128-bit unsigned integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add128BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 128n, false, bigEndian);\n };\n\n /**\n * Add a 256-bit unsigned integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add256BitUIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 256n, false, bigEndian);\n };\n\n /**\n * Add a 16-bit signed integer to the payload (value between -0x8000 to 0x7fff)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add16BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 16n, true, bigEndian);\n };\n\n /**\n * Add a 32-bit signed integer to the payload (value between -0x80000000 to 0x7fffffff)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add32BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 32n, true, bigEndian);\n };\n\n /**\n * Add a 64-bit signed integer to the payload (value between -0x8000000000000000 to 0x7fffffffffffffff)\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add64BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 64n, true, bigEndian);\n };\n\n /**\n * Add a 128-bit signed integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add128BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 128n, true, bigEndian);\n };\n\n /**\n * Add a 256-bit signed integer to the payload\n * @param value: number | bigint - The value to add to the data\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n add256BitIntToData = (\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n return this.addNumberToData(value, 256n, true, bigEndian);\n };\n\n /**\n * Add a Uint8Array to the payload if it has enough remaining space\n * @param value: Uint8Array - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n addBufferToData = (value: Uint8Array): ByteArrayBuilder => {\n if (!this.hasEnoughLengthRemaining(value)) {\n this.errors.push(new DataOverflowError(value.toString()));\n return this;\n }\n\n this.data = Uint8Array.from([...this.data, ...value]);\n return this;\n };\n\n /**\n * Add a string to the payload if it has enough remaining space\n * and it can be formatted as a hexadecimal string\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n addHexaStringToData = (value: string): ByteArrayBuilder => {\n const result = hexaStringToBuffer(value);\n if (result === null || result.length === 0) {\n this.errors.push(new HexaStringEncodeError(value));\n return this;\n }\n this.addBufferToData(result);\n return this;\n };\n\n /**\n * Add an ascii string to the data field if it has enough remaining space\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n addAsciiStringToData = (value: string): ByteArrayBuilder => {\n const bytes = new TextEncoder().encode(value);\n this.addBufferToData(bytes);\n return this;\n };\n\n /**\n * Add a Length-Value encoded hexadecimal string to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInLVFromHexa = (value: string): ByteArrayBuilder => {\n const result = hexaStringToBuffer(value);\n if (result === null || result.length === 0) {\n this.errors.push(new HexaStringEncodeError(value));\n return this;\n }\n\n if (!this.hasEnoughLengthRemaining(result, true)) {\n this.errors.push(new DataOverflowError(value));\n return this;\n }\n // values are always being well formatted at this point\n // therefore no status test is needed\n this.add8BitUIntToData(result.length);\n this.addBufferToData(result);\n return this;\n };\n\n /**\n * Add a Length-Value encoded buffer to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param value: Uint8Array - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInLVFromBuffer = (value: Uint8Array): ByteArrayBuilder => {\n if (!this.hasEnoughLengthRemaining(value, true)) {\n this.errors.push(new DataOverflowError(value.toString()));\n return this;\n }\n\n this.add8BitUIntToData(value.length);\n this.addBufferToData(value);\n return this;\n };\n\n /**\n * Add a Length-Value encoded ascii string to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInLVFromAscii = (value: string): ByteArrayBuilder => {\n if (!this.hasEnoughLengthRemaining(value, true)) {\n this.errors.push(new DataOverflowError(value));\n return this;\n }\n\n this.add8BitUIntToData(value.length);\n this.addAsciiStringToData(value);\n return this;\n };\n\n /**\n * Add a Tag-Length-Value encoded hexadecimal string to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param tag: number - The tag to add to the data\n * @param value: string - The value to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInTLVFromHexa = (tag: number, value: string): ByteArrayBuilder => {\n this.add8BitUIntToData(tag);\n return this.encodeInLVFromHexa(value);\n };\n\n /**\n * Add a Tag-Length-Value encoded hexadecimal string to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param tag: number - The tag to add to the data\n * @param value: Uint8Array - The buffer to add to the data\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInTLVFromBuffer = (\n tag: number,\n value: Uint8Array,\n ): ByteArrayBuilder => {\n this.add8BitUIntToData(tag);\n return this.encodeInLVFromBuffer(value);\n };\n\n /**\n * Add a Tag-Length-Value encoded uint64 to the data field if it has enough remaining space\n * Length-Value encoding is a way to encode data in a binary format with the first byte\n * being the length of the data and the following bytes being the data itself\n * @param tag: number - The tag to add to the data\n * @param value: number | bigint - The number to add\n * @param bigEndian: boolean - Endianness used to encode the number\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n encodeInTLVFromUInt64 = (\n tag: number,\n value: number | bigint,\n bigEndian: boolean = true,\n ): ByteArrayBuilder => {\n this.add8BitUIntToData(tag);\n this.add8BitUIntToData(8);\n return this.add64BitUIntToData(value, bigEndian);\n };\n\n /**\n * Returns the remaining payload length\n * @returns {number}\n */\n getAvailablePayloadLength = (): number => {\n return this.maxPayloadSize - this.data.length;\n };\n\n /**\n * Returns the current errors\n * @returns {AppBuilderError[]} - Returns an array of errors\n */\n getErrors = (): AppBuilderError[] => this.errors;\n\n /**\n * Verifies if the builder contains errors\n * @returns {boolean} - Returns wether the builder contains errors or not\n */\n hasErrors = (): boolean => this.errors.length !== 0;\n\n // ===========\n // Private API\n // ===========\n\n /**\n * Check if there is enough space to add a value to the data field\n * @param value {string | Uint8Array | number[]} - Value to add to the data\n * @param hasLv {boolean} - Length-Value encoding flag\n * @returns {boolean} - Returns true if there is enough space to add the value\n */\n private hasEnoughLengthRemaining = (\n value: string | Uint8Array | number[],\n hasLv: boolean = false,\n ): boolean => {\n return (\n this.data.length + value.length + (hasLv ? 1 : 0) <= this.maxPayloadSize\n );\n };\n\n /**\n * Add a number to the payload\n * @param value: number | bigint - The value to add to the data\n * @param sizeInBits: bigint - The number size in bits, for example 16 for a uint16\n * @param signed: boolean - Whether the value is signed or unsigned.\n * @param bigEndian: boolean - True to encode in big endian, false for little endian\n * @returns {ByteArrayBuilder} - Returns the current instance of ByteArrayBuilder\n */\n private addNumberToData(\n value: number | bigint,\n sizeInBits: bigint,\n signed: boolean,\n bigEndian: boolean,\n ): ByteArrayBuilder {\n // Convert the number to two's complement and check its bounds\n let converted = this.checkBoundsAndConvert(value, sizeInBits, signed);\n if (converted === undefined) {\n return this;\n }\n\n // Compute the buffer\n const sizeInBytes = Number(sizeInBits) / 8;\n const buffer = new Uint8Array(sizeInBytes);\n if (bigEndian) {\n for (let i = sizeInBytes - 1; i >= 0; i--) {\n buffer[i] = Number(converted & 0xffn);\n converted >>= 8n;\n }\n } else {\n for (let i = 0; i < sizeInBytes; i++) {\n buffer[i] = Number(converted & 0xffn);\n converted >>= 8n;\n }\n }\n return this.addBufferToData(buffer);\n }\n\n /**\n * Checks the bounds of a signed or unsigned integer value and converts it to two's complement if it is signed and negative.\n * @param value The value to check and convert.\n * @param sizeInBits The size of the value in bits.\n * @param signed Whether the value is signed or unsigned.\n * @returns The converted value, or null if the value is out of bounds.\n */\n private checkBoundsAndConvert(\n value: number | bigint,\n sizeInBits: bigint,\n signed: boolean,\n ): bigint | undefined {\n // Normalize the value to a bigint\n if (typeof value === \"number\") {\n if (!Number.isInteger(value) || value > Number.MAX_SAFE_INTEGER) {\n this.errors.push(new ValueOverflowError(value.toString()));\n return;\n }\n value = BigInt(value);\n }\n\n if (!signed) {\n // Check if the value is within the bounds of an unsigned integer\n const limit = 1n << sizeInBits;\n if (value < 0 || value >= limit) {\n this.errors.push(new ValueOverflowError(value.toString(), limit - 1n));\n return;\n }\n } else {\n // Check if the value is within the bounds of a signed integer\n const limit = 1n << (sizeInBits - 1n);\n if (value >= limit || value < -limit) {\n this.errors.push(new ValueOverflowError(value.toString(), limit - 1n));\n return;\n }\n\n // Convert the value to two's complement if it is negative\n // https://en.wikipedia.org/wiki/Two%27s_complement\n if (value < 0n) {\n const mask = (1n << sizeInBits) - 1n;\n value = -value;\n value = (~value & mask) + 1n;\n }\n }\n return value;\n }\n}\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["hexaStringToBuffer", "DataOverflowError", "HexaStringEncodeError", "ValueOverflowError", "MAX_32_BIT_UINT", "ByteArrayBuilder", "maxPayloadSize", "value", "bigEndian", "result", "bytes", "tag", "hasLv", "sizeInBits", "signed", "converted", "sizeInBytes", "buffer", "limit", "mask"]
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{hexaStringToBuffer as b}from"../../utils/HexaString";import{APDU_MAX_PAYLOAD as a}from"./ApduBuilder";import{DataOverflowError as l,HexaStringEncodeError as d}from"./AppBuilderError";import{ByteArrayBuilder as n}from"./ByteArrayBuilder";const u=new Uint8Array([]),y=new Uint8Array([1]),A=new Uint8Array([128,129,130,131,132]),p=new Uint8Array([133,134,135,136]),E=new Uint8Array([3,161,162,163]),w=new Uint8Array([5,109,97,109,97,110]),s=new Uint8Array([2,240,241]),h=new Uint8Array([1,51,2,1,35,69,103,128,129,130,131,132,133,134,135,136,3,161,162,163,5,109,97,109,97,110,2,240,241]),i=new Uint8Array([...Array(255).fill(170)]),g=new Uint8Array([...Array(254).fill(170)]);let f;describe("ByteArrayBuilder",()=>{const x=(e,t,r,o)=>{if(o)switch(r){case 2:f.add16BitIntToData(e,t);break;case 4:f.add32BitIntToData(e,t);break;case 8:f.add64BitIntToData(e,t);break;case 16:f.add128BitIntToData(e,t);break;case 32:f.add256BitIntToData(e,t);break}else switch(r){case 2:f.add16BitUIntToData(e,t);break;case 4:f.add32BitUIntToData(e,t);break;case 8:f.add64BitUIntToData(e,t);break;case 16:f.add128BitUIntToData(e,t);break;case 32:f.add256BitUIntToData(e,t);break}};describe("clean",()=>{beforeEach(()=>{f=new n(a)}),it("should create an instance",()=>{expect(f).toBeDefined(),expect(f).toBeInstanceOf(n)})}),describe("simple",()=>{beforeEach(()=>{f=new n(a)}),it("should serialize with an empty body",()=>{expect(f.build()).toEqual(u)}),it("should serialize with an single byte body",()=>{f=new n(1),f.add8BitUIntToData(1),expect(f.build()).toEqual(y),expect(f.getErrors()).toEqual([])}),it.each([[2,!1,!0,13058,"3302"],[2,!1,!1,0x3302n,"0233"],[2,!0,!0,4200n,"1068"],[2,!0,!0,-4200n,"ef98"],[2,!0,!1,4200,"6810"],[2,!0,!1,-4200,"98ef"],[4,!1,!0,0x01234567n,"01234567"],[4,!1,!1,0x01234567n,"67452301"],[4,!0,!0,123456789,"075bcd15"],[4,!0,!0,-123456789,"f8a432eb"],[4,!0,!1,123456789,"15cd5b07"],[4,!0,!1,-123456789,"eb32a4f8"],[8,!1,!0,14147778004927559n,"0032435442584447"],[8,!1,!1,14147778004927559n,"4744584254433200"],[8,!0,!0,14147778004927559n,"0032435442584447"],[8,!0,!0,-14147778004927559n,"ffcdbcabbda7bbb9"],[8,!0,!1,14147778004927559n,"4744584254433200"],[8,!0,!1,-14147778004927559n,"b9bba7bdabbccdff"],[16,!1,!0,0x00324354425844470032435442584447n,"00324354425844470032435442584447"],[16,!1,!1,0x00324354425844470032435442584447n,"47445842544332004744584254433200"],[16,!0,!0,0x00324354425844470032435442584447n,"00324354425844470032435442584447"],[16,!0,!0,-0x00324354425844470032435442584447n,"ffcdbcabbda7bbb8ffcdbcabbda7bbb9"],[16,!0,!1,0x00324354425844470032435442584447n,"47445842544332004744584254433200"],[16,!0,!1,-0x00324354425844470032435442584447n,"b9bba7bdabbccdffb8bba7bdabbccdff"],[32,!1,!0,0x0032435442584447003243544258444700324354425844470032435442584447n,"0032435442584447003243544258444700324354425844470032435442584447"],[32,!1,!1,0x0032435442584447003243544258444700324354425844470032435442584447n,"4744584254433200474458425443320047445842544332004744584254433200"],[32,!0,!0,0x0032435442584447003243544258444700324354425844470032435442584447n,"0032435442584447003243544258444700324354425844470032435442584447"],[32,!0,!0,-0x0032435442584447003243544258444700324354425844470032435442584447n,"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9"],[32,!0,!1,0x0032435442584447003243544258444700324354425844470032435442584447n,"4744584254433200474458425443320047445842544332004744584254433200"],[32,!0,!1,-0x0032435442584447003243544258444700324354425844470032435442584447n,"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff"]])("serialize the following number: size %i, signed %s, bigEndian %s, value %i, expected %s",(e,t,r,o,c)=>{f=new n(e),x(o,r,e,t),expect(f.build()).toEqual(b(c)),expect(f.getErrors()).toEqual([]),f=new n(e-1),x(o,r,e,t),expect(f.getErrors().length).toEqual(1),expect(f.build()).toEqual(Uint8Array.from([]))}),it.each([[2,!1,!0,0xffffn,"ffff"],[2,!0,!0,0x7fffn,"7fff"],[2,!0,!0,-0x8000n,"8000"],[4,!1,!0,0xffffffffn,"ffffffff"],[4,!0,!0,0x7fffffffn,"7fffffff"],[4,!0,!0,-0x80000000n,"80000000"],[8,!1,!0,0xffffffffffffffffn,"ffffffffffffffff"],[8,!0,!0,0x7fffffffffffffffn,"7fffffffffffffff"],[8,!0,!0,-0x8000000000000000n,"8000000000000000"],[16,!1,!0,0xffffffffffffffffffffffffffffffffn,"ffffffffffffffffffffffffffffffff"],[16,!0,!0,0x7fffffffffffffffffffffffffffffffn,"7fffffffffffffffffffffffffffffff"],[16,!0,!0,-0x80000000000000000000000000000000n,"80000000000000000000000000000000"],[32,!1,!0,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"],[32,!0,!0,0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"],[32,!0,!0,-0x8000000000000000000000000000000000000000000000000000000000000000n,"8000000000000000000000000000000000000000000000000000000000000000"]])("serialize the number to the limit: size %i, signed %s, bigEndian %s, value %i, expected %s",(e,t,r,o,c)=>{f=new n(e),x(o,r,e,t),expect(f.build()).toEqual(b(c)),expect(f.getErrors()).toEqual([])}),it("Serialize from float to bigint",()=>{f=new n(4),f.add32BitIntToData(1234567893e-1,!1),expect(f.getErrors().length).toEqual(1),expect(f.build()).toEqual(Uint8Array.from([]))}),it("should serialize with an 5 byte body from an hexastring",()=>{f.addHexaStringToData("0x8081828384"),expect(f.build()).toEqual(A),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body from an hexastring without '0x'",()=>{f.addHexaStringToData("85868788"),expect(f.build()).toEqual(p),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an hexastring",()=>{f.encodeInLVFromHexa("0xA1A2A3"),expect(f.build()).toEqual(E),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an ascci string",()=>{f.encodeInLVFromAscii("maman"),expect(f.build()).toEqual(w),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const e=new Uint8Array([240,241]);f.encodeInLVFromBuffer(e),expect(f.build()).toEqual(s),expect(f.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const e=new Uint8Array([240,241]);f.encodeInLVFromBuffer(e),expect(f.build()).toEqual(s),expect(f.getErrors()).toEqual([])}),it("should serialize with an complete body of 0xAA",()=>{const e=new Uint8Array(255).fill(170,0,255);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getErrors()).toEqual([])})}),describe("mixed",()=>{beforeEach(()=>{f=new n(a)}),it("should serialize with all previous field",()=>{let e=a;f.add8BitUIntToData(1),e--,expect(f.getAvailablePayloadLength()).toBe(e),f.add16BitUIntToData(13058),e-=2,expect(f.getAvailablePayloadLength()).toBe(e),f.add32BitUIntToData(19088743),e-=4,expect(f.getAvailablePayloadLength()).toBe(e),f.addHexaStringToData("0x8081828384"),e-=5,expect(f.getAvailablePayloadLength()).toBe(e),f.addHexaStringToData("85868788"),e-=4,expect(f.getAvailablePayloadLength()).toBe(e),f.encodeInLVFromHexa("0xA1A2A3"),e-=4,expect(f.getAvailablePayloadLength()).toBe(e),f.encodeInLVFromAscii("maman"),e-=6,expect(f.getAvailablePayloadLength()).toBe(e);const t=new Uint8Array([240,241]);f.encodeInLVFromBuffer(t),e-=3,expect(f.getAvailablePayloadLength()).toBe(e),expect(f.build()).toEqual(h)})}),describe("error",()=>{beforeEach(()=>{f=new n(a)}),it.each([[2,!1,!0,0x10000n],[2,!0,!0,0x8000n],[2,!0,!0,-0x8001n],[4,!1,!0,0x100000000n],[4,!0,!0,0x80000000n],[4,!0,!0,-0x80000001n],[8,!1,!0,0x10000000000000000n],[8,!0,!0,0x8000000000000000n],[8,!0,!0,-0x8000000000000001n]])("serialize the number overflowed: size %i, signed %s, bigEndian %s, value %i",(e,t,r,o)=>{f=new n(e),x(o,r,e,t),expect(f.getErrors().length).toEqual(1),expect(f.build()).toEqual(Uint8Array.from([]))}),it("error due to a string not well coded",()=>{f.addHexaStringToData(":08081828384").addHexaStringToData("80818n8384").addHexaStringToData("808182838z"),expect(f.build()).toEqual(u),expect(f.getAvailablePayloadLength()).toBe(a),expect(f.getErrors()).toEqual([new d(":08081828384"),new d("80818n8384"),new d("808182838z")])}),it("error due direct overflow",()=>{const e=new Uint8Array(256).fill(170,0,256);f.addBufferToData(e),expect(f.build()).toEqual(u),expect(f.getAvailablePayloadLength()).toBe(a),expect(f.getErrors()).toEqual([new l(e.toString())])}),it("error due to subsequent overflow with 1-byte array",()=>{const e=new Uint8Array(a).fill(170,0,a);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0);const t=new Uint8Array(1);t.set([255],0),f.addBufferToData(t),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),expect(f.getErrors()).toEqual([new l(t.toString())])}),it("error due to subsequent overflow with 1-char ascii",()=>{const e=new Uint8Array(a).fill(170,0,a);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0);const t="a";f.addAsciiStringToData(t),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),expect(f.getErrors()).toEqual([new l(new TextEncoder().encode(t).toString())])}),it("error due to subsequent overflow with 1-char hexastring",()=>{const e=new Uint8Array(a).fill(170,0,a);f.addBufferToData(e),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),f.addHexaStringToData("0xB4").addHexaStringToData("e1"),expect(f.build()).toEqual(i),expect(f.getAvailablePayloadLength()).toBe(0),expect(f.getErrors()).toEqual([new l("180"),new l("225")])}),it("error due to empty values",()=>{const e="";f.addHexaStringToData(e).encodeInLVFromHexa(e),expect(f.build()).toEqual(u),expect(f.getAvailablePayloadLength()).toBe(a),expect(f.getErrors()).toEqual([new d(e),new d(e)])}),it("error due to subsequent overflow with 1-char LV",()=>{const e=new Uint8Array(a-1).fill(170,0,a-1);f.addBufferToData(e),expect(f.build()).toEqual(g),expect(f.getAvailablePayloadLength()).toBe(1);const t="n",r="e1",o=new Uint8Array(1);o.set([255],0),f.encodeInLVFromAscii(t).encodeInLVFromHexa(r).encodeInLVFromBuffer(o),expect(f.build()).toEqual(g),expect(f.getAvailablePayloadLength()).toBe(1),expect(f.getErrors()).toEqual([new l(t),new l(r),new l(o.toString())])})})});
|
1
|
+
import{hexaStringToBuffer as b}from"../../utils/HexaString";import{APDU_MAX_PAYLOAD as a}from"./ApduBuilder";import{DataOverflowError as l,HexaStringEncodeError as i}from"./AppBuilderError";import{ByteArrayBuilder as n}from"./ByteArrayBuilder";const u=new Uint8Array([]),y=new Uint8Array([1]),A=new Uint8Array([128,129,130,131,132]),p=new Uint8Array([133,134,135,136]),E=new Uint8Array([3,161,162,163]),h=new Uint8Array([5,109,97,109,97,110]),s=new Uint8Array([2,240,241]),w=new Uint8Array([1,51,2,1,35,69,103,128,129,130,131,132,133,134,135,136,3,161,162,163,5,109,97,109,97,110,2,240,241]),x=new Uint8Array([...Array(255).fill(170)]),g=new Uint8Array([...Array(254).fill(170)]);let e;describe("ByteArrayBuilder",()=>{const d=(f,t,r,o)=>{if(o)switch(r){case 2:e.add16BitIntToData(f,t);break;case 4:e.add32BitIntToData(f,t);break;case 8:e.add64BitIntToData(f,t);break;case 16:e.add128BitIntToData(f,t);break;case 32:e.add256BitIntToData(f,t);break}else switch(r){case 2:e.add16BitUIntToData(f,t);break;case 4:e.add32BitUIntToData(f,t);break;case 8:e.add64BitUIntToData(f,t);break;case 16:e.add128BitUIntToData(f,t);break;case 32:e.add256BitUIntToData(f,t);break}};describe("clean",()=>{beforeEach(()=>{e=new n(a)}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(n)})}),describe("simple",()=>{beforeEach(()=>{e=new n(a)}),it("should serialize with an empty body",()=>{expect(e.build()).toEqual(u)}),it("should serialize with an single byte body",()=>{e=new n(1),e.add8BitUIntToData(1),expect(e.build()).toEqual(y),expect(e.getErrors()).toEqual([])}),it.each([[2,!1,!0,13058,"3302"],[2,!1,!1,0x3302n,"0233"],[2,!0,!0,4200n,"1068"],[2,!0,!0,-4200n,"ef98"],[2,!0,!1,4200,"6810"],[2,!0,!1,-4200,"98ef"],[4,!1,!0,0x01234567n,"01234567"],[4,!1,!1,0x01234567n,"67452301"],[4,!0,!0,123456789,"075bcd15"],[4,!0,!0,-123456789,"f8a432eb"],[4,!0,!1,123456789,"15cd5b07"],[4,!0,!1,-123456789,"eb32a4f8"],[8,!1,!0,14147778004927559n,"0032435442584447"],[8,!1,!1,14147778004927559n,"4744584254433200"],[8,!0,!0,14147778004927559n,"0032435442584447"],[8,!0,!0,-14147778004927559n,"ffcdbcabbda7bbb9"],[8,!0,!1,14147778004927559n,"4744584254433200"],[8,!0,!1,-14147778004927559n,"b9bba7bdabbccdff"],[16,!1,!0,0x00324354425844470032435442584447n,"00324354425844470032435442584447"],[16,!1,!1,0x00324354425844470032435442584447n,"47445842544332004744584254433200"],[16,!0,!0,0x00324354425844470032435442584447n,"00324354425844470032435442584447"],[16,!0,!0,-0x00324354425844470032435442584447n,"ffcdbcabbda7bbb8ffcdbcabbda7bbb9"],[16,!0,!1,0x00324354425844470032435442584447n,"47445842544332004744584254433200"],[16,!0,!1,-0x00324354425844470032435442584447n,"b9bba7bdabbccdffb8bba7bdabbccdff"],[32,!1,!0,0x0032435442584447003243544258444700324354425844470032435442584447n,"0032435442584447003243544258444700324354425844470032435442584447"],[32,!1,!1,0x0032435442584447003243544258444700324354425844470032435442584447n,"4744584254433200474458425443320047445842544332004744584254433200"],[32,!0,!0,0x0032435442584447003243544258444700324354425844470032435442584447n,"0032435442584447003243544258444700324354425844470032435442584447"],[32,!0,!0,-0x0032435442584447003243544258444700324354425844470032435442584447n,"ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb8ffcdbcabbda7bbb9"],[32,!0,!1,0x0032435442584447003243544258444700324354425844470032435442584447n,"4744584254433200474458425443320047445842544332004744584254433200"],[32,!0,!1,-0x0032435442584447003243544258444700324354425844470032435442584447n,"b9bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdffb8bba7bdabbccdff"]])("serialize the following number: size %i, signed %s, bigEndian %s, value %i, expected %s",(f,t,r,o,c)=>{e=new n(f),d(o,r,f,t),expect(e.build()).toEqual(b(c)),expect(e.getErrors()).toEqual([]),e=new n(f-1),d(o,r,f,t),expect(e.getErrors().length).toEqual(1),expect(e.build()).toEqual(Uint8Array.from([]))}),it.each([[2,!1,!0,0xffffn,"ffff"],[2,!0,!0,0x7fffn,"7fff"],[2,!0,!0,-0x8000n,"8000"],[4,!1,!0,0xffffffffn,"ffffffff"],[4,!0,!0,0x7fffffffn,"7fffffff"],[4,!0,!0,-0x80000000n,"80000000"],[8,!1,!0,0xffffffffffffffffn,"ffffffffffffffff"],[8,!0,!0,0x7fffffffffffffffn,"7fffffffffffffff"],[8,!0,!0,-0x8000000000000000n,"8000000000000000"],[16,!1,!0,0xffffffffffffffffffffffffffffffffn,"ffffffffffffffffffffffffffffffff"],[16,!0,!0,0x7fffffffffffffffffffffffffffffffn,"7fffffffffffffffffffffffffffffff"],[16,!0,!0,-0x80000000000000000000000000000000n,"80000000000000000000000000000000"],[32,!1,!0,0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"],[32,!0,!0,0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"],[32,!0,!0,-0x8000000000000000000000000000000000000000000000000000000000000000n,"8000000000000000000000000000000000000000000000000000000000000000"]])("serialize the number to the limit: size %i, signed %s, bigEndian %s, value %i, expected %s",(f,t,r,o,c)=>{e=new n(f),d(o,r,f,t),expect(e.build()).toEqual(b(c)),expect(e.getErrors()).toEqual([])}),it("Serialize from float to bigint",()=>{e=new n(4),e.add32BitIntToData(1234567893e-1,!1),expect(e.getErrors().length).toEqual(1),expect(e.build()).toEqual(Uint8Array.from([]))}),it("should serialize with an 5 byte body from an hexastring",()=>{e.addHexaStringToData("0x8081828384"),expect(e.build()).toEqual(A),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body from an hexastring without '0x'",()=>{e.addHexaStringToData("85868788"),expect(e.build()).toEqual(p),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an hexastring",()=>{e.encodeInLVFromHexa("0xA1A2A3"),expect(e.build()).toEqual(E),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from an ascci string",()=>{e.encodeInLVFromAscii("maman"),expect(e.build()).toEqual(h),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const f=new Uint8Array([240,241]);e.encodeInLVFromBuffer(f),expect(e.build()).toEqual(s),expect(e.getErrors()).toEqual([])}),it("should serialize with an 4 byte body LV encoded from a buffer",()=>{const f=new Uint8Array([240,241]);e.encodeInLVFromBuffer(f),expect(e.build()).toEqual(s),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an hexastring",()=>{e.encodeInTLVFromHexa(5,"0xA1A2A3"),expect(e.build()).toEqual(Uint8Array.from([5,3,161,162,163])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from a buffer",()=>{e.encodeInTLVFromBuffer(6,Uint8Array.from([161,162,163,164])),expect(e.build()).toEqual(Uint8Array.from([6,4,161,162,163,164])),expect(e.getErrors()).toEqual([])}),it("should serialize with an TLV encoded from an uint64",()=>{e.encodeInTLVFromUInt64(6,95075813176406),expect(e.build()).toEqual(Uint8Array.from([6,8,0,0,86,120,144,18,52,86])),expect(e.getErrors()).toEqual([])}),it("should serialize with an complete body of 0xAA",()=>{const f=new Uint8Array(255).fill(170,0,255);e.addBufferToData(f),expect(e.build()).toEqual(x),expect(e.getErrors()).toEqual([])})}),describe("mixed",()=>{beforeEach(()=>{e=new n(a)}),it("should serialize with all previous field",()=>{let f=a;e.add8BitUIntToData(1),f--,expect(e.getAvailablePayloadLength()).toBe(f),e.add16BitUIntToData(13058),f-=2,expect(e.getAvailablePayloadLength()).toBe(f),e.add32BitUIntToData(19088743),f-=4,expect(e.getAvailablePayloadLength()).toBe(f),e.addHexaStringToData("0x8081828384"),f-=5,expect(e.getAvailablePayloadLength()).toBe(f),e.addHexaStringToData("85868788"),f-=4,expect(e.getAvailablePayloadLength()).toBe(f),e.encodeInLVFromHexa("0xA1A2A3"),f-=4,expect(e.getAvailablePayloadLength()).toBe(f),e.encodeInLVFromAscii("maman"),f-=6,expect(e.getAvailablePayloadLength()).toBe(f);const t=new Uint8Array([240,241]);e.encodeInLVFromBuffer(t),f-=3,expect(e.getAvailablePayloadLength()).toBe(f),expect(e.build()).toEqual(w)})}),describe("error",()=>{beforeEach(()=>{e=new n(a)}),it.each([[2,!1,!0,0x10000n],[2,!0,!0,0x8000n],[2,!0,!0,-0x8001n],[4,!1,!0,0x100000000n],[4,!0,!0,0x80000000n],[4,!0,!0,-0x80000001n],[8,!1,!0,0x10000000000000000n],[8,!0,!0,0x8000000000000000n],[8,!0,!0,-0x8000000000000001n]])("serialize the number overflowed: size %i, signed %s, bigEndian %s, value %i",(f,t,r,o)=>{e=new n(f),d(o,r,f,t),expect(e.getErrors().length).toEqual(1),expect(e.build()).toEqual(Uint8Array.from([]))}),it("error due to a string not well coded",()=>{e.addHexaStringToData(":08081828384").addHexaStringToData("80818n8384").addHexaStringToData("808182838z"),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(a),expect(e.getErrors()).toEqual([new i(":08081828384"),new i("80818n8384"),new i("808182838z")])}),it("error due direct overflow",()=>{const f=new Uint8Array(256).fill(170,0,256);e.addBufferToData(f),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(a),expect(e.getErrors()).toEqual([new l(f.toString())])}),it("error due to subsequent overflow with 1-byte array",()=>{const f=new Uint8Array(a).fill(170,0,a);e.addBufferToData(f),expect(e.build()).toEqual(x),expect(e.getAvailablePayloadLength()).toBe(0);const t=new Uint8Array(1);t.set([255],0),e.addBufferToData(t),expect(e.build()).toEqual(x),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new l(t.toString())])}),it("error due to subsequent overflow with 1-char ascii",()=>{const f=new Uint8Array(a).fill(170,0,a);e.addBufferToData(f),expect(e.build()).toEqual(x),expect(e.getAvailablePayloadLength()).toBe(0);const t="a";e.addAsciiStringToData(t),expect(e.build()).toEqual(x),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new l(new TextEncoder().encode(t).toString())])}),it("error due to subsequent overflow with 1-char hexastring",()=>{const f=new Uint8Array(a).fill(170,0,a);e.addBufferToData(f),expect(e.build()).toEqual(x),expect(e.getAvailablePayloadLength()).toBe(0),e.addHexaStringToData("0xB4").addHexaStringToData("e1"),expect(e.build()).toEqual(x),expect(e.getAvailablePayloadLength()).toBe(0),expect(e.getErrors()).toEqual([new l("180"),new l("225")])}),it("error due to empty values",()=>{const f="";e.addHexaStringToData(f).encodeInLVFromHexa(f),expect(e.build()).toEqual(u),expect(e.getAvailablePayloadLength()).toBe(a),expect(e.getErrors()).toEqual([new i(f),new i(f)])}),it("error due to subsequent overflow with 1-char LV",()=>{const f=new Uint8Array(a-1).fill(170,0,a-1);e.addBufferToData(f),expect(e.build()).toEqual(g),expect(e.getAvailablePayloadLength()).toBe(1);const t="n",r="e1",o=new Uint8Array(1);o.set([255],0),e.encodeInLVFromAscii(t).encodeInLVFromHexa(r).encodeInLVFromBuffer(o),expect(e.build()).toEqual(g),expect(e.getAvailablePayloadLength()).toBe(1),expect(e.getErrors()).toEqual([new l(t),new l(r),new l(o.toString())])})})});
|
2
2
|
//# sourceMappingURL=ByteArrayBuilder.test.js.map
|