@ledgerhq/device-management-kit 0.0.0-develop-20260504002526 → 0.0.0-develop-20260505002630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.js +2 -0
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.js.map +7 -0
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.test.js +2 -0
- package/lib/cjs/src/api/command/os/DeleteLanguagePackCommand.test.js.map +7 -0
- package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +2 -2
- 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/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js.map +7 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/types.js +2 -0
- package/lib/cjs/src/api/device-action/os/InstallLanguagePackage/types.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.js +2 -0
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.js.map +7 -0
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.test.js +9 -0
- package/lib/cjs/src/api/device-action/task/InstallLanguagePackageTask.test.js.map +7 -0
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/types.js +1 -1
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/esm/package.json +1 -1
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.js +2 -0
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.js.map +7 -0
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.test.js +2 -0
- package/lib/esm/src/api/command/os/DeleteLanguagePackCommand.test.js.map +7 -0
- package/lib/esm/src/api/command/os/ListLanguagePackCommand.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/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.js.map +7 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.js.map +7 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/types.js +2 -0
- package/lib/esm/src/api/device-action/os/InstallLanguagePackage/types.js.map +7 -0
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.js +2 -0
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.js.map +7 -0
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.test.js +9 -0
- package/lib/esm/src/api/device-action/task/InstallLanguagePackageTask.test.js.map +7 -0
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.d.ts +24 -0
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.d.ts.map +1 -0
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.test.d.ts +2 -0
- package/lib/types/src/api/command/os/DeleteLanguagePackCommand.test.d.ts.map +1 -0
- package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +1 -1
- package/lib/types/src/api/command/os/ListLanguagePackCommand.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/InstallLanguagePackage/InstallLanguagePackageDeviceAction.d.ts +23 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.d.ts +2 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.d.ts.map +1 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/types.d.ts +27 -0
- package/lib/types/src/api/device-action/os/InstallLanguagePackage/types.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.d.ts +19 -0
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.d.ts.map +1 -0
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.test.d.ts +2 -0
- package/lib/types/src/api/device-action/task/InstallLanguagePackageTask.test.d.ts.map +1 -0
- package/lib/types/src/api/index.d.ts +4 -1
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/types.d.ts +1 -0
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/api/index.ts"],
|
|
4
|
-
"sourcesContent": ["\"use strict\";\n\nexport { Apdu } from \"@api/apdu/model/Apdu\";\nexport { APDU_MAX_PAYLOAD, ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nexport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nexport * from \"@api/apdu/utils/AppBuilderError\";\nexport { ByteArrayBuilder } from \"@api/apdu/utils/ByteArrayBuilder\";\nexport { ByteArrayParser } from \"@api/apdu/utils/ByteArrayParser\";\nexport { type Command } from \"@api/command/Command\";\nexport {\n InvalidResponseFormatError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nexport {\n CommandResultFactory,\n CommandResultStatus,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nexport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n type BackupStorageCommandResponse,\n type BackupStorageCommandResult,\n} from \"@api/command/os/BackupStorageCommand\";\nexport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nexport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nexport {\n GetBackgroundImageSizeCommand,\n GetBackgroundImageSizeCommandError,\n type GetBackgroundImageSizeCommandResult,\n type GetBackgroundImageSizeErrorCodes,\n type GetBackgroundImageSizeResponse,\n} from \"@api/command/os/GetBackgroundImageSizeCommand\";\nexport {\n BatteryStatusType,\n type GetBatteryStatusArgs,\n GetBatteryStatusCommand,\n type GetBatteryStatusResponse,\n} from \"@api/command/os/GetBatteryStatusCommand\";\nexport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nexport {\n type ListAppsArgs,\n ListAppsCommand,\n type ListAppsErrorCodes,\n type ListAppsResponse,\n} from \"@api/command/os/ListAppsCommand\";\nexport {\n type LoadCertificateArgs,\n LoadCertificateCommand,\n type LoadCertificateErrorCodes,\n} from \"@api/command/os/LoadCertificateCommand\";\nexport {\n type OpenAppArgs,\n OpenAppCommand,\n} from \"@api/command/os/OpenAppCommand\";\nexport { isCommandErrorCode } from \"@api/command/utils/CommandErrors\";\nexport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nexport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n GlobalCommandErrorHandler,\n} from \"@api/command/utils/GlobalCommandError\";\nexport {\n DeviceModel,\n DeviceModelId,\n LEDGER_VENDOR_ID,\n} from \"@api/device/DeviceModel\";\nexport { DeviceStatus } from \"@api/device/DeviceStatus\";\nexport { type InternalApi } from \"@api/device-action/DeviceAction\";\nexport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nexport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nexport { CallTaskInAppDeviceAction } from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction\";\nexport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nexport {\n AppAlreadyInstalledDAError,\n DeviceLockedError,\n DeviceNotOnboardedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nexport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nexport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\nexport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nexport type {\n GoToDashboardDAError,\n GoToDashboardDAInput,\n GoToDashboardDAIntermediateValue,\n GoToDashboardDAOutput,\n GoToDashboardDARequiredInteraction,\n GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport { InstallOrUpdateAppsDeviceAction } from \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\";\nexport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nexport { ListAppsWithMetadataDeviceAction } from \"@api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction\";\nexport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nexport { OpenAppWithDependenciesDeviceAction } from \"@api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction\";\nexport { SendCommandInAppDeviceAction } from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction\";\nexport { BackupAppStorageTask } from \"@api/device-action/task/BackupAppStorageTask\";\nexport {\n GetApplicationsMetadataTaskError,\n InvalidGetFirmwareMetadataResponseError,\n} from \"@api/device-action/task/Errors\";\nexport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nexport { StaticDeviceModelDataSource } from \"@api/device-model/data/StaticDeviceModelDataSource\";\nexport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nexport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nexport { ApduResponse } from \"@api/device-session/ApduResponse\";\nexport * from \"@api/device-session/data/FramerConst\";\nexport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nexport {\n DmkResultFactory,\n DmkResultStatus,\n isSuccessDmkResult,\n} from \"@api/model/DmkResult\";\nexport { GenuineCheckDeviceAction } from \"@api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction\";\nexport { InstallAppDeviceAction } from \"@api/secure-channel/device-action/InstallApp/InstallAppDeviceAction\";\nexport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nexport type { InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport { UninstallAppDeviceAction } from \"@api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction\";\nexport {\n DMK_STORAGE_PREFIX_KEY,\n type KeyValueStorage,\n} from \"@api/storage/KeyValueStorage\";\nexport { SecureChannelError } from \"@internal/secure-channel/model/Errors\";\n// TODO: remove from exported\nexport { defaultApduReceiverServiceStubBuilder } from \"@api/device-session/service/DefaultApduReceiverService.stub\";\nexport { defaultApduSenderServiceStubBuilder } from \"@api/device-session/service/DefaultApduSenderService.stub\";\nexport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nexport { DeviceManagementKit } from \"@api/DeviceManagementKit\";\nexport { DeviceManagementKitBuilder } from \"@api/DeviceManagementKitBuilder\";\nexport * from \"@api/Error\";\nexport {\n noopLogger,\n noopLoggerFactory,\n} from \"@api/logger-publisher/utils/noopLoggerFactory\";\nexport { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nexport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\nexport { DefaultLogTagFormatter } from \"@api/logger-subscriber/service/DefaultLogTagFormatter\";\nexport { type LogTagFormatter } from \"@api/logger-subscriber/service/LogTagFormatter\";\nexport { WebLogsExporterLogger } from \"@api/logger-subscriber/service/WebLogsExporterLogger\";\nexport {\n DmkNetworkClient,\n type DmkNetworkClientOptions,\n type DmkNetworkResponse,\n type DmkQueryParams,\n type DmkQueryParamValue,\n type DmkRequestConfig,\n type DmkResponseType,\n} from \"@api/network/DmkNetworkClient\";\nexport { DmkNetworkClientError } from \"@api/network/DmkNetworkClientError\";\nexport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nexport {\n DeviceConnectionStateMachine,\n type DeviceConnectionStateMachineParams,\n} from \"@api/transport/model/DeviceConnectionStateMachine\";\nexport * from \"@api/transport/model/Errors\";\nexport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nexport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nexport * from \"@api/types\";\nexport { formatApduReceivedLog, formatApduSentLog } from \"@api/utils/apduLogs\";\nexport { ApplicationChecker } from \"@api/utils/ApplicationChecker\";\nexport {\n type AppConfig,\n type ApplicationResolver,\n type ResolvedApp,\n} from \"@api/utils/ApplicationResolver\";\nexport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"@api/utils/Base64String\";\nexport {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"@api/utils/HexaString\";\n"],
|
|
5
|
-
"mappings": "meAAA,IAAAA,EAAA,GAAAC,GAAAD,EAAA,
|
|
6
|
-
"names": ["api_exports", "__export", "__toCommonJS", "import_Apdu", "import_ApduBuilder", "import_ApduParser", "__reExport", "import_ByteArrayBuilder", "import_ByteArrayParser", "import_Errors", "import_CommandResult", "import_BackupStorageCommand", "import_CloseAppCommand", "import_GetAppAndVersionCommand", "import_GetAppStorageInfoCommand", "import_GetBackgroundImageSizeCommand", "import_GetBatteryStatusCommand", "import_GetOsVersionCommand", "import_ListAppsCommand", "import_LoadCertificateCommand", "import_OpenAppCommand", "import_CommandErrors", "import_CommandUtils", "import_GlobalCommandError", "import_DeviceModel", "import_DeviceStatus", "import_DeviceActionState", "import_UserInteractionRequired", "import_CallTaskInAppDeviceAction", "import_Const", "import_GetDeviceMetadataDeviceAction", "import_GetDeviceStatusDeviceAction", "import_GoToDashboardDeviceAction", "import_InstallOrUpdateAppsDeviceAction", "import_ListAppsDeviceAction", "import_ListAppsWithMetadataDeviceAction", "import_OpenAppDeviceAction", "import_OpenAppWithDependenciesDeviceAction", "import_SendCommandInAppDeviceAction", "import_BackupAppStorageTask", "import_XStateDeviceAction", "import_StaticDeviceModelDataSource", "import_BleDeviceInfos", "import_ApduResponse", "import_DeviceSessionState", "import_DmkResult", "import_GenuineCheckDeviceAction", "import_InstallAppDeviceAction", "import_ListInstalledAppsDeviceAction", "import_UninstallAppDeviceAction", "import_KeyValueStorage", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_FramerUtils", "import_DeviceManagementKit", "import_DeviceManagementKitBuilder", "import_noopLoggerFactory", "import_LogLevel", "import_ConsoleLogger", "import_DefaultLogTagFormatter", "import_WebLogsExporterLogger", "import_DmkNetworkClient", "import_DmkNetworkClientError", "import_ConnectedDevice", "import_DeviceConnectionStateMachine", "import_TransportConnectedDevice", "import_apduLogs", "import_ApplicationChecker", "import_Base64String", "import_HexaString"]
|
|
4
|
+
"sourcesContent": ["\"use strict\";\n\nexport { Apdu } from \"@api/apdu/model/Apdu\";\nexport { APDU_MAX_PAYLOAD, ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nexport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nexport * from \"@api/apdu/utils/AppBuilderError\";\nexport { ByteArrayBuilder } from \"@api/apdu/utils/ByteArrayBuilder\";\nexport { ByteArrayParser } from \"@api/apdu/utils/ByteArrayParser\";\nexport { type Command } from \"@api/command/Command\";\nexport {\n InvalidResponseFormatError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nexport {\n CommandResultFactory,\n CommandResultStatus,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nexport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n type BackupStorageCommandResponse,\n type BackupStorageCommandResult,\n} from \"@api/command/os/BackupStorageCommand\";\nexport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nexport {\n DeleteLanguagePackCommand,\n type DeleteLanguagePackCommandArgs,\n DeleteLanguagePackCommandError,\n type DeleteLanguagePackCommandResult,\n type DeleteLanguagePackErrorCodes,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nexport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nexport {\n GetBackgroundImageSizeCommand,\n GetBackgroundImageSizeCommandError,\n type GetBackgroundImageSizeCommandResult,\n type GetBackgroundImageSizeErrorCodes,\n type GetBackgroundImageSizeResponse,\n} from \"@api/command/os/GetBackgroundImageSizeCommand\";\nexport {\n BatteryStatusType,\n type GetBatteryStatusArgs,\n GetBatteryStatusCommand,\n type GetBatteryStatusResponse,\n} from \"@api/command/os/GetBatteryStatusCommand\";\nexport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nexport {\n type ListAppsArgs,\n ListAppsCommand,\n type ListAppsErrorCodes,\n type ListAppsResponse,\n} from \"@api/command/os/ListAppsCommand\";\nexport {\n ListLanguagePackCommand,\n type ListLanguagePackCommandArgs,\n ListLanguagePackCommandError,\n type ListLanguagePackCommandResult,\n type ListLanguagePackErrorCodes,\n type ListLanguagePackResponse,\n} from \"@api/command/os/ListLanguagePackCommand\";\nexport {\n type LoadCertificateArgs,\n LoadCertificateCommand,\n type LoadCertificateErrorCodes,\n} from \"@api/command/os/LoadCertificateCommand\";\nexport {\n type OpenAppArgs,\n OpenAppCommand,\n} from \"@api/command/os/OpenAppCommand\";\nexport { isCommandErrorCode } from \"@api/command/utils/CommandErrors\";\nexport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nexport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n GlobalCommandErrorHandler,\n} from \"@api/command/utils/GlobalCommandError\";\nexport {\n DeviceModel,\n DeviceModelId,\n LEDGER_VENDOR_ID,\n} from \"@api/device/DeviceModel\";\nexport { DeviceStatus } from \"@api/device/DeviceStatus\";\nexport { type InternalApi } from \"@api/device-action/DeviceAction\";\nexport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nexport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nexport { CallTaskInAppDeviceAction } from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction\";\nexport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nexport {\n AppAlreadyInstalledDAError,\n DeleteLanguagePackDAError,\n DeviceLockedError,\n DeviceNotOnboardedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nexport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nexport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\nexport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nexport type {\n GoToDashboardDAError,\n GoToDashboardDAInput,\n GoToDashboardDAIntermediateValue,\n GoToDashboardDAOutput,\n GoToDashboardDARequiredInteraction,\n GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport { InstallLanguagePackageDeviceAction } from \"@api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction\";\nexport { InstallOrUpdateAppsDeviceAction } from \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\";\nexport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nexport { ListAppsWithMetadataDeviceAction } from \"@api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction\";\nexport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nexport { OpenAppWithDependenciesDeviceAction } from \"@api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction\";\nexport { SendCommandInAppDeviceAction } from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction\";\nexport { BackupAppStorageTask } from \"@api/device-action/task/BackupAppStorageTask\";\nexport {\n GetApplicationsMetadataTaskError,\n InvalidGetFirmwareMetadataResponseError,\n} from \"@api/device-action/task/Errors\";\nexport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nexport { StaticDeviceModelDataSource } from \"@api/device-model/data/StaticDeviceModelDataSource\";\nexport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nexport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nexport { ApduResponse } from \"@api/device-session/ApduResponse\";\nexport * from \"@api/device-session/data/FramerConst\";\nexport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nexport {\n DmkResultFactory,\n DmkResultStatus,\n isSuccessDmkResult,\n} from \"@api/model/DmkResult\";\nexport { GenuineCheckDeviceAction } from \"@api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction\";\nexport { InstallAppDeviceAction } from \"@api/secure-channel/device-action/InstallApp/InstallAppDeviceAction\";\nexport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nexport type { InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport { UninstallAppDeviceAction } from \"@api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction\";\nexport {\n DMK_STORAGE_PREFIX_KEY,\n type KeyValueStorage,\n} from \"@api/storage/KeyValueStorage\";\nexport { SecureChannelError } from \"@internal/secure-channel/model/Errors\";\n// TODO: remove from exported\nexport { defaultApduReceiverServiceStubBuilder } from \"@api/device-session/service/DefaultApduReceiverService.stub\";\nexport { defaultApduSenderServiceStubBuilder } from \"@api/device-session/service/DefaultApduSenderService.stub\";\nexport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nexport { DeviceManagementKit } from \"@api/DeviceManagementKit\";\nexport { DeviceManagementKitBuilder } from \"@api/DeviceManagementKitBuilder\";\nexport * from \"@api/Error\";\nexport {\n noopLogger,\n noopLoggerFactory,\n} from \"@api/logger-publisher/utils/noopLoggerFactory\";\nexport { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nexport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\nexport { DefaultLogTagFormatter } from \"@api/logger-subscriber/service/DefaultLogTagFormatter\";\nexport { type LogTagFormatter } from \"@api/logger-subscriber/service/LogTagFormatter\";\nexport { WebLogsExporterLogger } from \"@api/logger-subscriber/service/WebLogsExporterLogger\";\nexport {\n DmkNetworkClient,\n type DmkNetworkClientOptions,\n type DmkNetworkResponse,\n type DmkQueryParams,\n type DmkQueryParamValue,\n type DmkRequestConfig,\n type DmkResponseType,\n} from \"@api/network/DmkNetworkClient\";\nexport { DmkNetworkClientError } from \"@api/network/DmkNetworkClientError\";\nexport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nexport {\n DeviceConnectionStateMachine,\n type DeviceConnectionStateMachineParams,\n} from \"@api/transport/model/DeviceConnectionStateMachine\";\nexport * from \"@api/transport/model/Errors\";\nexport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nexport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nexport * from \"@api/types\";\nexport { formatApduReceivedLog, formatApduSentLog } from \"@api/utils/apduLogs\";\nexport { ApplicationChecker } from \"@api/utils/ApplicationChecker\";\nexport {\n type AppConfig,\n type ApplicationResolver,\n type ResolvedApp,\n} from \"@api/utils/ApplicationResolver\";\nexport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"@api/utils/Base64String\";\nexport {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"@api/utils/HexaString\";\n"],
|
|
5
|
+
"mappings": "meAAA,IAAAA,EAAA,GAAAC,GAAAD,EAAA,6+JAAAE,GAAAF,GAEA,IAAAG,EAAqB,gCACrBC,EAA8C,uCAC9CC,EAA2B,sCAC3BC,EAAAN,EAAc,2CALd,gBAMA,IAAAO,EAAiC,4CACjCC,EAAgC,2CAEhCC,EAGO,+BACPC,EAIO,4CACPC,EAKO,gDACPC,EAAgC,2CAChCC,EAMO,qDACPC,EAGO,mDACPC,EAMO,oDACPC,EAMO,yDACPC,EAKO,mDACPC,EAGO,+CACPC,EAKO,2CACPC,EAOO,mDACPC,EAIO,kDACPC,EAGO,0CACPC,EAAmC,4CACnCC,EAA6B,2CAC7BC,EAIO,iDACPC,EAIO,mCACPC,EAA6B,oCAE7BC,EAGO,sDACPC,EAAwC,4DACxCC,EAA0C,qFAC1CC,EAA0C,uCAC1CtB,EASO,wCACPuB,EAA8C,iFAC9CC,EAA4C,6EAC5CC,EAA0C,yEAS1CC,EAAmD,2FACnDC,EAAgD,qFAChDC,EAAqC,+DACrCC,EAAiD,uFACjDC,EAAoC,yEACpCC,EAAoD,6FACpDC,EAA6C,2FAC7CC,GAAqC,wDACrCjC,EAGO,0CACPkC,GAGO,8DACPC,GAA4C,8DAC5CC,GAA+B,kDAC/BnB,GAAqC,+CACrCoB,GAA6B,4CAC7BxC,EAAAN,EAAc,gDAjJd,gBAkJA,IAAA+C,GAGO,kDACPC,EAIO,gCACPC,GAAyC,mFACzCC,GAAuC,+EACvCC,GAA8C,6FAE9CC,GAAyC,mFACzCC,GAGO,wCACP5C,GAAmC,iDAEnC6C,GAAsD,uEACtDC,GAAoD,qEACpDC,GAA4B,iDAC5BC,GAAoC,oCACpCC,GAA2C,2CAC3CpD,EAAAN,EAAc,sBA3Kd,gBA4KA,IAAA2D,EAGO,yDACPC,GAAyB,iDACzBC,GAA8B,wDAC9BC,GAAuC,iEAEvCC,GAAsC,gEACtCC,GAQO,yCACPC,GAAsC,8CACtCC,GAAgC,gDAChCC,GAGO,6DACP7D,EAAAN,EAAc,uCApMd,gBAqMA,IAAAoE,GAAyC,yDACzCA,GAA2C,8DAC3C9D,EAAAN,EAAc,sBAvMd,gBAwMA,IAAAqE,EAAyD,+BACzDC,GAAmC,yCAMnCC,EAIO,mCACPC,EAIO",
|
|
6
|
+
"names": ["api_exports", "__export", "__toCommonJS", "import_Apdu", "import_ApduBuilder", "import_ApduParser", "__reExport", "import_ByteArrayBuilder", "import_ByteArrayParser", "import_Errors", "import_CommandResult", "import_BackupStorageCommand", "import_CloseAppCommand", "import_DeleteLanguagePackCommand", "import_GetAppAndVersionCommand", "import_GetAppStorageInfoCommand", "import_GetBackgroundImageSizeCommand", "import_GetBatteryStatusCommand", "import_GetOsVersionCommand", "import_ListAppsCommand", "import_ListLanguagePackCommand", "import_LoadCertificateCommand", "import_OpenAppCommand", "import_CommandErrors", "import_CommandUtils", "import_GlobalCommandError", "import_DeviceModel", "import_DeviceStatus", "import_DeviceActionState", "import_UserInteractionRequired", "import_CallTaskInAppDeviceAction", "import_Const", "import_GetDeviceMetadataDeviceAction", "import_GetDeviceStatusDeviceAction", "import_GoToDashboardDeviceAction", "import_InstallLanguagePackageDeviceAction", "import_InstallOrUpdateAppsDeviceAction", "import_ListAppsDeviceAction", "import_ListAppsWithMetadataDeviceAction", "import_OpenAppDeviceAction", "import_OpenAppWithDependenciesDeviceAction", "import_SendCommandInAppDeviceAction", "import_BackupAppStorageTask", "import_XStateDeviceAction", "import_StaticDeviceModelDataSource", "import_BleDeviceInfos", "import_ApduResponse", "import_DeviceSessionState", "import_DmkResult", "import_GenuineCheckDeviceAction", "import_InstallAppDeviceAction", "import_ListInstalledAppsDeviceAction", "import_UninstallAppDeviceAction", "import_KeyValueStorage", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_FramerUtils", "import_DeviceManagementKit", "import_DeviceManagementKitBuilder", "import_noopLoggerFactory", "import_LogLevel", "import_ConsoleLogger", "import_DefaultLogTagFormatter", "import_WebLogsExporterLogger", "import_DmkNetworkClient", "import_DmkNetworkClientError", "import_ConnectedDevice", "import_DeviceConnectionStateMachine", "import_TransportConnectedDevice", "import_apduLogs", "import_ApplicationChecker", "import_Base64String", "import_HexaString"]
|
|
7
7
|
}
|
package/lib/cjs/src/api/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var A=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of s(e))!i.call(t,p)&&p!==o&&a(t,p,{get:()=>e[p],enumerable:!(r=n(e,p))||r.enumerable});return t};var y=t=>A(a({},"__esModule",{value:!0}),t);var d={};module.exports=y(d);
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/api/types.ts"],
|
|
4
|
-
"sourcesContent": ["export type { OpenAppErrorCodes } from \"./command/os/OpenAppCommand\";\nexport type { CommandErrors } from \"./command/utils/CommandErrors\";\nexport type { DeviceId } from \"./device/DeviceModel\";\nexport type { ConnectionType } from \"./discovery/ConnectionType\";\nexport type { CommandErrorArgs } from \"./Error\";\nexport type { LogSubscriberOptions } from \"./logger-subscriber/model/LogSubscriberOptions\";\nexport type { DiscoveredDevice } from \"./transport/model/DiscoveredDevice\";\nexport type {\n Transport,\n TransportArgs,\n TransportFactory,\n} from \"./transport/model/Transport\";\nexport type { TransportIdentifier } from \"./transport/model/TransportIdentifier\";\nexport type { ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nexport type { Command } from \"@api/command/Command\";\nexport type {\n CommandErrorResult,\n CommandResult,\n CommandSuccessResult,\n} from \"@api/command/model/CommandResult\";\nexport type { SendCommandUseCaseArgs } from \"@api/command/use-case/SendCommandUseCase\";\nexport type { DeviceModelId } from \"@api/device/DeviceModel\";\nexport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nexport {\n type CallTaskInAppDAError,\n type CallTaskInAppDAIntermediateValue,\n type CallTaskInAppDAOutput,\n} from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes\";\nexport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAInput,\n type GetDeviceMetadataDAIntermediateValue,\n type GetDeviceMetadataDAOutput,\n type GetDeviceMetadataDAState,\n} from \"@api/device-action/os/GetDeviceMetadata/types\";\nexport {\n type GetDeviceStatusDAError,\n type GetDeviceStatusDAInput,\n type GetDeviceStatusDAIntermediateValue,\n type GetDeviceStatusDAOutput,\n type GetDeviceStatusDAState,\n} from \"@api/device-action/os/GetDeviceStatus/types\";\nexport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n type GoToDashboardDAIntermediateValue,\n type GoToDashboardDAOutput,\n type GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport {\n type ApplicationConstraint,\n type ApplicationDependency,\n type ApplicationVersionConstraint,\n type InstallOrUpdateAppsDAError,\n type InstallOrUpdateAppsDAInput,\n type InstallOrUpdateAppsDAIntermediateValue,\n type InstallOrUpdateAppsDAOutput,\n type InstallOrUpdateAppsDAState,\n type InstallPlan,\n} from \"@api/device-action/os/InstallOrUpdateApps/types\";\nexport {\n type ListAppsDAError,\n type ListAppsDAInput,\n type ListAppsDAIntermediateValue,\n type ListAppsDAOutput,\n type ListAppsDAState,\n} from \"@api/device-action/os/ListApps/types\";\nexport {\n type ListAppsWithMetadataDAError,\n type ListAppsWithMetadataDAInput,\n type ListAppsWithMetadataDAIntermediateValue,\n type ListAppsWithMetadataDAOutput,\n type ListAppsWithMetadataDAState,\n} from \"@api/device-action/os/ListAppsWithMetadata/types\";\nexport {\n type OpenAppDAError,\n type OpenAppDAInput,\n type OpenAppDAIntermediateValue,\n type OpenAppDAOutput,\n type OpenAppDARequiredInteraction,\n type OpenAppDAState,\n} from \"@api/device-action/os/OpenAppDeviceAction/types\";\nexport {\n type OpenAppWithDependenciesDAError,\n type OpenAppWithDependenciesDAInput,\n type OpenAppWithDependenciesDAIntermediateValue,\n type OpenAppWithDependenciesDAOutput,\n type OpenAppWithDependenciesDARequiredInteraction,\n type OpenAppWithDependenciesDAState,\n} from \"@api/device-action/os/OpenAppWithDependencies/types\";\nexport {\n type SendCommandInAppDAError,\n type SendCommandInAppDAInput,\n type SendCommandInAppDAIntermediateValue,\n type SendCommandInAppDAOutput,\n} from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes\";\nexport type { ExecuteDeviceActionUseCaseArgs } from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nexport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nexport { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nexport type {\n Catalog,\n CustomImage,\n DeviceSessionState,\n FirmwareUpdate,\n FirmwareUpdateContext,\n FirmwareVersion,\n InstalledLanguagePackage,\n RunningApp,\n} from \"@api/device-session/DeviceSessionState\";\nexport { type ApduReceiverService } from \"@api/device-session/service/ApduReceiverService\";\nexport { type ApduReceiverServiceFactory } from \"@api/device-session/service/ApduReceiverService\";\nexport { type ApduSenderServiceFactory } from \"@api/device-session/service/ApduSenderService\";\nexport { type ApduSenderService } from \"@api/device-session/service/ApduSenderService\";\nexport type { DeviceSessionId } from \"@api/device-session/types\";\nexport type { DmkConfig } from \"@api/DmkConfig\";\nexport type { DmkError } from \"@api/Error\";\nexport type { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nexport type {\n LoggerSubscriberService,\n LogParams,\n} from \"@api/logger-subscriber/service/LoggerSubscriberService\";\nexport type {\n DmkErrorResult,\n DmkResult,\n DmkSuccessResult,\n} from \"@api/model/DmkResult\";\nexport {\n type GenuineCheckDAError,\n type GenuineCheckDAInput,\n type GenuineCheckDAIntermediateValue,\n type GenuineCheckDAOutput,\n type GenuineCheckDARequiredInteraction,\n type GenuineCheckDAState,\n} from \"@api/secure-channel/device-action/GenuineCheck/types\";\nexport {\n type InstallAppDAError,\n type InstallAppDAInput,\n type InstallAppDAIntermediateValue,\n type InstallAppDAOutput,\n type InstallAppDARequiredInteraction,\n type InstallAppDAState,\n} from \"@api/secure-channel/device-action/InstallApp/types\";\nexport {\n type ListInstalledAppsDAError,\n type ListInstalledAppsDAInput,\n type ListInstalledAppsDAIntermediateValue,\n type ListInstalledAppsDAOutput,\n type ListInstalledAppsDARequiredInteraction,\n type ListInstalledAppsDAState,\n} from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport {\n type UninstallAppDAError,\n type UninstallAppDAInput,\n type UninstallAppDAIntermediateValue,\n type UninstallAppDAOutput,\n type UninstallAppDARequiredInteraction,\n type UninstallAppDAState,\n} from \"@api/secure-channel/device-action/UninstallApp/types\";\nexport { type DeviceApduSender } from \"@api/transport/model/DeviceApduSender\";\nexport {\n type DeviceConnection,\n type DisconnectHandler,\n type SendApduFnType,\n type SendApduResult,\n} from \"@api/transport/model/DeviceConnection\";\nexport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nexport type { HexaString } from \"@api/utils/HexaString\";\nexport type { ConnectUseCaseArgs } from \"@internal/discovery/use-case/ConnectUseCase\";\nexport type { DisconnectUseCaseArgs } from \"@internal/discovery/use-case/DisconnectUseCase\";\nexport type { GetConnectedDeviceUseCaseArgs } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nexport type { StartDiscoveringUseCaseArgs } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nexport type { SendApduUseCaseArgs } from \"@internal/send/use-case/SendApduUseCase\";\n"],
|
|
4
|
+
"sourcesContent": ["export type { OpenAppErrorCodes } from \"./command/os/OpenAppCommand\";\nexport type { CommandErrors } from \"./command/utils/CommandErrors\";\nexport type { DeviceId } from \"./device/DeviceModel\";\nexport type { ConnectionType } from \"./discovery/ConnectionType\";\nexport type { CommandErrorArgs } from \"./Error\";\nexport type { LogSubscriberOptions } from \"./logger-subscriber/model/LogSubscriberOptions\";\nexport type { DiscoveredDevice } from \"./transport/model/DiscoveredDevice\";\nexport type {\n Transport,\n TransportArgs,\n TransportFactory,\n} from \"./transport/model/Transport\";\nexport type { TransportIdentifier } from \"./transport/model/TransportIdentifier\";\nexport type { ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nexport type { Command } from \"@api/command/Command\";\nexport type {\n CommandErrorResult,\n CommandResult,\n CommandSuccessResult,\n} from \"@api/command/model/CommandResult\";\nexport type { SendCommandUseCaseArgs } from \"@api/command/use-case/SendCommandUseCase\";\nexport type { DeviceModelId } from \"@api/device/DeviceModel\";\nexport {\n type DeviceAction,\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nexport {\n type CallTaskInAppDAError,\n type CallTaskInAppDAIntermediateValue,\n type CallTaskInAppDAOutput,\n} from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes\";\nexport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAInput,\n type GetDeviceMetadataDAIntermediateValue,\n type GetDeviceMetadataDAOutput,\n type GetDeviceMetadataDAState,\n} from \"@api/device-action/os/GetDeviceMetadata/types\";\nexport {\n type GetDeviceStatusDAError,\n type GetDeviceStatusDAInput,\n type GetDeviceStatusDAIntermediateValue,\n type GetDeviceStatusDAOutput,\n type GetDeviceStatusDAState,\n} from \"@api/device-action/os/GetDeviceStatus/types\";\nexport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n type GoToDashboardDAIntermediateValue,\n type GoToDashboardDAOutput,\n type GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport {\n type InstallLanguagePackageDAError,\n type InstallLanguagePackageDAInput,\n type InstallLanguagePackageDAIntermediateValue,\n type InstallLanguagePackageDAOutput,\n type InstallLanguagePackageDAState,\n type Language,\n} from \"@api/device-action/os/InstallLanguagePackage/types\";\nexport {\n type ApplicationConstraint,\n type ApplicationDependency,\n type ApplicationVersionConstraint,\n type InstallOrUpdateAppsDAError,\n type InstallOrUpdateAppsDAInput,\n type InstallOrUpdateAppsDAIntermediateValue,\n type InstallOrUpdateAppsDAOutput,\n type InstallOrUpdateAppsDAState,\n type InstallPlan,\n} from \"@api/device-action/os/InstallOrUpdateApps/types\";\nexport {\n type ListAppsDAError,\n type ListAppsDAInput,\n type ListAppsDAIntermediateValue,\n type ListAppsDAOutput,\n type ListAppsDAState,\n} from \"@api/device-action/os/ListApps/types\";\nexport {\n type ListAppsWithMetadataDAError,\n type ListAppsWithMetadataDAInput,\n type ListAppsWithMetadataDAIntermediateValue,\n type ListAppsWithMetadataDAOutput,\n type ListAppsWithMetadataDAState,\n} from \"@api/device-action/os/ListAppsWithMetadata/types\";\nexport {\n type OpenAppDAError,\n type OpenAppDAInput,\n type OpenAppDAIntermediateValue,\n type OpenAppDAOutput,\n type OpenAppDARequiredInteraction,\n type OpenAppDAState,\n} from \"@api/device-action/os/OpenAppDeviceAction/types\";\nexport {\n type OpenAppWithDependenciesDAError,\n type OpenAppWithDependenciesDAInput,\n type OpenAppWithDependenciesDAIntermediateValue,\n type OpenAppWithDependenciesDAOutput,\n type OpenAppWithDependenciesDARequiredInteraction,\n type OpenAppWithDependenciesDAState,\n} from \"@api/device-action/os/OpenAppWithDependencies/types\";\nexport {\n type SendCommandInAppDAError,\n type SendCommandInAppDAInput,\n type SendCommandInAppDAIntermediateValue,\n type SendCommandInAppDAOutput,\n} from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes\";\nexport type { ExecuteDeviceActionUseCaseArgs } from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nexport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nexport { type DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nexport type {\n Catalog,\n CustomImage,\n DeviceSessionState,\n FirmwareUpdate,\n FirmwareUpdateContext,\n FirmwareVersion,\n InstalledLanguagePackage,\n RunningApp,\n} from \"@api/device-session/DeviceSessionState\";\nexport { type ApduReceiverService } from \"@api/device-session/service/ApduReceiverService\";\nexport { type ApduReceiverServiceFactory } from \"@api/device-session/service/ApduReceiverService\";\nexport { type ApduSenderServiceFactory } from \"@api/device-session/service/ApduSenderService\";\nexport { type ApduSenderService } from \"@api/device-session/service/ApduSenderService\";\nexport type { DeviceSessionId } from \"@api/device-session/types\";\nexport type { DmkConfig } from \"@api/DmkConfig\";\nexport type { DmkError } from \"@api/Error\";\nexport type { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nexport type {\n LoggerSubscriberService,\n LogParams,\n} from \"@api/logger-subscriber/service/LoggerSubscriberService\";\nexport type {\n DmkErrorResult,\n DmkResult,\n DmkSuccessResult,\n} from \"@api/model/DmkResult\";\nexport {\n type GenuineCheckDAError,\n type GenuineCheckDAInput,\n type GenuineCheckDAIntermediateValue,\n type GenuineCheckDAOutput,\n type GenuineCheckDARequiredInteraction,\n type GenuineCheckDAState,\n} from \"@api/secure-channel/device-action/GenuineCheck/types\";\nexport {\n type InstallAppDAError,\n type InstallAppDAInput,\n type InstallAppDAIntermediateValue,\n type InstallAppDAOutput,\n type InstallAppDARequiredInteraction,\n type InstallAppDAState,\n} from \"@api/secure-channel/device-action/InstallApp/types\";\nexport {\n type ListInstalledAppsDAError,\n type ListInstalledAppsDAInput,\n type ListInstalledAppsDAIntermediateValue,\n type ListInstalledAppsDAOutput,\n type ListInstalledAppsDARequiredInteraction,\n type ListInstalledAppsDAState,\n} from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport {\n type UninstallAppDAError,\n type UninstallAppDAInput,\n type UninstallAppDAIntermediateValue,\n type UninstallAppDAOutput,\n type UninstallAppDARequiredInteraction,\n type UninstallAppDAState,\n} from \"@api/secure-channel/device-action/UninstallApp/types\";\nexport { type DeviceApduSender } from \"@api/transport/model/DeviceApduSender\";\nexport {\n type DeviceConnection,\n type DisconnectHandler,\n type SendApduFnType,\n type SendApduResult,\n} from \"@api/transport/model/DeviceConnection\";\nexport { type TransportDiscoveredDevice } from \"@api/transport/model/TransportDiscoveredDevice\";\nexport type { HexaString } from \"@api/utils/HexaString\";\nexport type { ConnectUseCaseArgs } from \"@internal/discovery/use-case/ConnectUseCase\";\nexport type { DisconnectUseCaseArgs } from \"@internal/discovery/use-case/DisconnectUseCase\";\nexport type { GetConnectedDeviceUseCaseArgs } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nexport type { StartDiscoveringUseCaseArgs } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nexport type { SendApduUseCaseArgs } from \"@internal/send/use-case/SendApduUseCase\";\n"],
|
|
5
5
|
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["types_exports", "__toCommonJS"]
|
|
7
7
|
}
|
package/lib/esm/package.json
CHANGED
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
64
64
|
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
|
|
65
65
|
},
|
|
66
|
-
"version": "0.0.0-develop-
|
|
66
|
+
"version": "0.0.0-develop-20260505002630"
|
|
67
67
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ApduBuilder as m}from"../../apdu/utils/ApduBuilder";import{ApduParser as d}from"../../apdu/utils/ApduParser";import{CommandResultFactory as o}from"../../command/model/CommandResult";import{isCommandErrorCode as s}from"../../command/utils/CommandErrors";import{CommandUtils as g}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as u}from"../../command/utils/GlobalCommandError";import{DeviceExchangeError as l}from"../../Error";const t={"681a":{message:"Invalid LANG_ID value."}};class p extends l{constructor({message:e,errorCode:r}){super({message:e,errorCode:r,tag:"DeleteLanguagePackCommandError"})}}class k{constructor(e){this.args=e}name="deleteLanguagePack";getApdu(){const e={cla:224,ins:51,p1:this.args.languagePackageId,p2:0};return new m(e).build()}parseResponse(e){const r=new d(e);if(!g.isSuccessResponse(e)){const a=r.encodeToHexaString(e.statusCode);return s(a,t)?o({error:new p({...t[a],errorCode:a})}):o({error:u.handle(e)})}return o({data:void 0})}}export{k as DeleteLanguagePackCommand,p as DeleteLanguagePackCommandError};
|
|
2
|
+
//# sourceMappingURL=DeleteLanguagePackCommand.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/api/command/os/DeleteLanguagePackCommand.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport {\n type CommandErrors,\n isCommandErrorCode,\n} from \"@api/command/utils/CommandErrors\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type CommandErrorArgs, DeviceExchangeError } from \"@api/Error\";\n\nexport type DeleteLanguagePackCommandArgs = {\n readonly languagePackageId: number;\n};\n\nexport type DeleteLanguagePackErrorCodes = \"681a\";\n\nconst DELETE_LANGUAGE_PACK_ERRORS: CommandErrors<DeleteLanguagePackErrorCodes> =\n {\n \"681a\": { message: \"Invalid LANG_ID value.\" },\n };\n\nexport type DeleteLanguagePackCommandResult = CommandResult<\n void,\n DeleteLanguagePackErrorCodes\n>;\n\nexport class DeleteLanguagePackCommandError extends DeviceExchangeError<DeleteLanguagePackErrorCodes> {\n constructor({\n message,\n errorCode,\n }: CommandErrorArgs<DeleteLanguagePackErrorCodes>) {\n super({ message, errorCode, tag: \"DeleteLanguagePackCommandError\" });\n }\n}\n\n/**\n * Delete installed language package by languagePackageId or delete all language packages if languagePackageId = 0xFF.\n */\nexport class DeleteLanguagePackCommand\n implements\n Command<void, DeleteLanguagePackCommandArgs, DeleteLanguagePackErrorCodes>\n{\n readonly name = \"deleteLanguagePack\";\n\n constructor(private readonly args: DeleteLanguagePackCommandArgs) {}\n\n getApdu(): Apdu {\n const apduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x33,\n p1: this.args.languagePackageId,\n p2: 0x00,\n };\n return new ApduBuilder(apduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): DeleteLanguagePackCommandResult {\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n const errorCode = parser.encodeToHexaString(apduResponse.statusCode);\n if (isCommandErrorCode(errorCode, DELETE_LANGUAGE_PACK_ERRORS)) {\n return CommandResultFactory({\n error: new DeleteLanguagePackCommandError({\n ...DELETE_LANGUAGE_PACK_ERRORS[errorCode],\n errorCode,\n }),\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n return CommandResultFactory({\n data: undefined,\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAEE,wBAAAC,MACK,mCACP,OAEE,sBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAE1C,OAAgC,uBAAAC,MAA2B,aAQ3D,MAAMC,EACJ,CACE,OAAQ,CAAE,QAAS,wBAAyB,CAC9C,EAOK,MAAMC,UAAuCF,CAAkD,CACpG,YAAY,CACV,QAAAG,EACA,UAAAC,CACF,EAAmD,CACjD,MAAM,CAAE,QAAAD,EAAS,UAAAC,EAAW,IAAK,gCAAiC,CAAC,CACrE,CACF,CAKO,MAAMC,CAGb,CAGE,YAA6BC,EAAqC,CAArC,UAAAA,CAAsC,CAF1D,KAAO,qBAIhB,SAAgB,CACd,MAAMC,EAA4B,CAChC,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,kBACd,GAAI,CACN,EACA,OAAO,IAAIb,EAAYa,CAAQ,EAAE,MAAM,CACzC,CAEA,cAAcC,EAA6D,CACzE,MAAMC,EAAS,IAAId,EAAWa,CAAY,EAE1C,GAAI,CAACV,EAAa,kBAAkBU,CAAY,EAAG,CACjD,MAAMJ,EAAYK,EAAO,mBAAmBD,EAAa,UAAU,EACnE,OAAIX,EAAmBO,EAAWH,CAA2B,EACpDL,EAAqB,CAC1B,MAAO,IAAIM,EAA+B,CACxC,GAAGD,EAA4BG,CAAS,EACxC,UAAAA,CACF,CAAC,CACH,CAAC,EAEIR,EAAqB,CAC1B,MAAOG,EAA0B,OAAOS,CAAY,CACtD,CAAC,CACH,CAEA,OAAOZ,EAAqB,CAC1B,KAAM,MACR,CAAC,CACH,CACF",
|
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "isCommandErrorCode", "CommandUtils", "GlobalCommandErrorHandler", "DeviceExchangeError", "DELETE_LANGUAGE_PACK_ERRORS", "DeleteLanguagePackCommandError", "message", "errorCode", "DeleteLanguagePackCommand", "args", "apduArgs", "apduResponse", "parser"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as u,CommandResultStatus as n}from"../../command/model/CommandResult";import{DeleteLanguagePackCommand as s,DeleteLanguagePackCommandError as c}from"../../command/os/DeleteLanguagePackCommand";import{ApduResponse as o}from"../../device-session/ApduResponse";const d=new Uint8Array([224,51,1,0,0]),p=new Uint8Array([224,51,255,0,0]);describe("DeleteLanguagePackCommand",()=>{let a;beforeEach(()=>{a=new s({languagePackageId:1})}),describe("name",()=>{it("should be 'deleteLanguagePack'",()=>{expect(a.name).toBe("deleteLanguagePack")})}),it("should return the correct APDU for languagePackageId 1",()=>{const e=a.getApdu();expect(e.getRawApdu()).toStrictEqual(d)}),it("should return the correct APDU for languagePackageId 0xFF",()=>{a=new s({languagePackageId:255});const e=a.getApdu();expect(e.getRawApdu()).toStrictEqual(p)}),it("should parse success response",()=>{const e=new o({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])}),t=a.parseResponse(e);expect(t).toStrictEqual(u({data:void 0}))}),it("should parse error response",()=>{const e=new o({statusCode:new Uint8Array([110,1]),data:new Uint8Array([])}),t=a.parseResponse(e);expect(t.status).toBe(n.Error)}),it("should map 0x681A to DeleteLanguagePackCommandError",()=>{const e=new o({statusCode:new Uint8Array([104,26]),data:new Uint8Array([])}),t=a.parseResponse(e);if(expect(t.status).toBe(n.Error),t.status===n.Error){const{error:r}=t;expect(r).toBeInstanceOf(c),expect(r.errorCode).toBe("681a"),expect(r.message).toBe("Invalid LANG_ID value.")}})});
|
|
2
|
+
//# sourceMappingURL=DeleteLanguagePackCommand.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/api/command/os/DeleteLanguagePackCommand.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n CommandResultStatus,\n} from \"@api/command/model/CommandResult\";\nimport {\n DeleteLanguagePackCommand,\n DeleteLanguagePackCommandError,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nconst DELETE_LANGUAGE_PACK_APDU_ID_1 = new Uint8Array([\n 0xe0, 0x33, 0x01, 0x00, 0x00,\n]);\n\nconst DELETE_ALL_LANGUAGE_PACKS = new Uint8Array([\n 0xe0, 0x33, 0xff, 0x00, 0x00,\n]);\n\ndescribe(\"DeleteLanguagePackCommand\", () => {\n let command: DeleteLanguagePackCommand;\n\n beforeEach(() => {\n command = new DeleteLanguagePackCommand({ languagePackageId: 1 });\n });\n\n describe(\"name\", () => {\n it(\"should be 'deleteLanguagePack'\", () => {\n expect(command.name).toBe(\"deleteLanguagePack\");\n });\n });\n\n it(\"should return the correct APDU for languagePackageId 1\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(DELETE_LANGUAGE_PACK_APDU_ID_1);\n });\n\n it(\"should return the correct APDU for languagePackageId 0xFF\", () => {\n command = new DeleteLanguagePackCommand({ languagePackageId: 0xff });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(DELETE_ALL_LANGUAGE_PACKS);\n });\n\n it(\"should parse success response\", () => {\n const response: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n const result = command.parseResponse(response);\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: undefined,\n }),\n );\n });\n\n it(\"should parse error response\", () => {\n const response: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x6e, 0x01]),\n data: new Uint8Array([]),\n });\n const result = command.parseResponse(response);\n expect(result.status).toBe(CommandResultStatus.Error);\n });\n\n it(\"should map 0x681A to DeleteLanguagePackCommandError\", () => {\n const response: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x68, 0x1a]),\n data: new Uint8Array([]),\n });\n const result = command.parseResponse(response);\n expect(result.status).toBe(CommandResultStatus.Error);\n if (result.status === CommandResultStatus.Error) {\n const { error } = result;\n expect(error).toBeInstanceOf(DeleteLanguagePackCommandError);\n expect((error as DeleteLanguagePackCommandError).errorCode).toBe(\"681a\");\n expect((error as DeleteLanguagePackCommandError).message).toBe(\n \"Invalid LANG_ID value.\",\n );\n }\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,wBAAAA,EACA,uBAAAC,MACK,mCACP,OACE,6BAAAC,EACA,kCAAAC,MACK,4CACP,OAAS,gBAAAC,MAAoB,mCAE7B,MAAMC,EAAiC,IAAI,WAAW,CACpD,IAAM,GAAM,EAAM,EAAM,CAC1B,CAAC,EAEKC,EAA4B,IAAI,WAAW,CAC/C,IAAM,GAAM,IAAM,EAAM,CAC1B,CAAC,EAED,SAAS,4BAA6B,IAAM,CAC1C,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAIL,EAA0B,CAAE,kBAAmB,CAAE,CAAC,CAClE,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,iCAAkC,IAAM,CACzC,OAAOK,EAAQ,IAAI,EAAE,KAAK,oBAAoB,CAChD,CAAC,CACH,CAAC,EAED,GAAG,yDAA0D,IAAM,CACjE,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcH,CAA8B,CACxE,CAAC,EAED,GAAG,4DAA6D,IAAM,CACpEE,EAAU,IAAIL,EAA0B,CAAE,kBAAmB,GAAK,CAAC,EACnE,MAAMM,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAyB,CACnE,CAAC,EAED,GAAG,gCAAiC,IAAM,CACxC,MAAMG,EAAyB,IAAIL,EAAa,CAC9C,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACKM,EAASH,EAAQ,cAAcE,CAAQ,EAC7C,OAAOC,CAAM,EAAE,cACbV,EAAqB,CACnB,KAAM,MACR,CAAC,CACH,CACF,CAAC,EAED,GAAG,8BAA+B,IAAM,CACtC,MAAMS,EAAyB,IAAIL,EAAa,CAC9C,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACKM,EAASH,EAAQ,cAAcE,CAAQ,EAC7C,OAAOC,EAAO,MAAM,EAAE,KAAKT,EAAoB,KAAK,CACtD,CAAC,EAED,GAAG,sDAAuD,IAAM,CAC9D,MAAMQ,EAAyB,IAAIL,EAAa,CAC9C,WAAY,IAAI,WAAW,CAAC,IAAM,EAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACKM,EAASH,EAAQ,cAAcE,CAAQ,EAE7C,GADA,OAAOC,EAAO,MAAM,EAAE,KAAKT,EAAoB,KAAK,EAChDS,EAAO,SAAWT,EAAoB,MAAO,CAC/C,KAAM,CAAE,MAAAU,CAAM,EAAID,EAClB,OAAOC,CAAK,EAAE,eAAeR,CAA8B,EAC3D,OAAQQ,EAAyC,SAAS,EAAE,KAAK,MAAM,EACvE,OAAQA,EAAyC,OAAO,EAAE,KACxD,wBACF,CACF,CACF,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["CommandResultFactory", "CommandResultStatus", "DeleteLanguagePackCommand", "DeleteLanguagePackCommandError", "ApduResponse", "DELETE_LANGUAGE_PACK_APDU_ID_1", "DELETE_ALL_LANGUAGE_PACKS", "command", "apdu", "response", "result", "error"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/os/ListLanguagePackCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport {\n type CommandErrors,\n isCommandErrorCode,\n} from \"@api/command/utils/CommandErrors\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type CommandErrorArgs, DeviceExchangeError } from \"@api/Error\";\nimport { bufferToHexaString } from \"@api/utils/HexaString\";\n\nexport type ListLanguagePackCommandArgs = {\n readonly firstChunk: boolean;\n};\n\nexport type ListLanguagePackResponse =\n | {\n readonly id: number;\n readonly size: number;\n }\n | undefined;\n\nexport type ListLanguagePackErrorCodes = \"662d\";\n\nconst LANGUAGE_PACK_ERRORS: CommandErrors<ListLanguagePackErrorCodes> = {\n \"662d\": {\n message:\n \"Invalid LIST_ARG, first command must be sent with P1_LIST_LANGUAGE_PACKS_FIRST.\",\n },\n};\n\nexport type ListLanguagePackCommandResult = CommandResult<\n ListLanguagePackResponse,\n ListLanguagePackErrorCodes\n>;\n\nexport class ListLanguagePackCommandError extends DeviceExchangeError<ListLanguagePackErrorCodes> {\n constructor({\n message,\n errorCode,\n }: CommandErrorArgs<ListLanguagePackErrorCodes>) {\n super({ message, errorCode, tag: \"ListLanguagePackCommandError\" });\n }\n}\n\nexport class ListLanguagePackCommand\n implements\n Command<\n ListLanguagePackResponse,\n ListLanguagePackCommandArgs,\n ListLanguagePackErrorCodes\n >\n{\n readonly name = \"listLanguagePack\";\n\n constructor(private args: ListLanguagePackCommandArgs) {}\n\n getApdu(): Apdu {\n const apduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x34,\n p1: this.args.firstChunk ? 0x00 : 0x01,\n p2: 0x00,\n };\n return new ApduBuilder(apduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): ListLanguagePackCommandResult {\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n const errorCode = parser.encodeToHexaString(apduResponse.statusCode);\n if (isCommandErrorCode(errorCode, LANGUAGE_PACK_ERRORS)) {\n return CommandResultFactory({\n error: new ListLanguagePackCommandError({\n ...LANGUAGE_PACK_ERRORS[errorCode],\n errorCode,\n }),\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n const tlvVersion = parser.extract8BitUInt();\n if (tlvVersion === undefined) {\n // No more language package\n return CommandResultFactory({\n data: undefined,\n });\n }\n\n parser.extract8BitUInt(); // total length\n const idBuffer = parser.extractFieldLVEncoded();\n if (idBuffer === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Failed to get language pack id\"),\n });\n }\n\n const sizeBuffer = parser.extractFieldLVEncoded();\n if (sizeBuffer === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Failed to get language pack size\"),\n });\n }\n\n const id = parseInt(bufferToHexaString(idBuffer), 16);\n const size = parseInt(bufferToHexaString(sizeBuffer), 16);\n return CommandResultFactory({\n data: { id, size },\n });\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAAS,0BAAAC,MAA8B,sBACvC,OAEE,wBAAAC,MACK,mCACP,OAEE,sBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAE1C,OAAgC,uBAAAC,MAA2B,aAC3D,OAAS,sBAAAC,MAA0B,wBAenC,MAAMC,EAAkE,CACtE,OAAQ,CACN,QACE,iFACJ,CACF,EAOO,MAAMC,UAAqCH,CAAgD,CAChG,YAAY,CACV,QAAAI,EACA,UAAAC,CACF,EAAiD,CAC/C,MAAM,CAAE,QAAAD,EAAS,UAAAC,EAAW,IAAK,8BAA+B,CAAC,CACnE,CACF,CAEO,MAAMC,CAOb,CAGE,
|
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport {\n type CommandErrors,\n isCommandErrorCode,\n} from \"@api/command/utils/CommandErrors\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type CommandErrorArgs, DeviceExchangeError } from \"@api/Error\";\nimport { bufferToHexaString } from \"@api/utils/HexaString\";\n\nexport type ListLanguagePackCommandArgs = {\n readonly firstChunk: boolean;\n};\n\nexport type ListLanguagePackResponse =\n | {\n readonly id: number;\n readonly size: number;\n }\n | undefined;\n\nexport type ListLanguagePackErrorCodes = \"662d\";\n\nconst LANGUAGE_PACK_ERRORS: CommandErrors<ListLanguagePackErrorCodes> = {\n \"662d\": {\n message:\n \"Invalid LIST_ARG, first command must be sent with P1_LIST_LANGUAGE_PACKS_FIRST.\",\n },\n};\n\nexport type ListLanguagePackCommandResult = CommandResult<\n ListLanguagePackResponse,\n ListLanguagePackErrorCodes\n>;\n\nexport class ListLanguagePackCommandError extends DeviceExchangeError<ListLanguagePackErrorCodes> {\n constructor({\n message,\n errorCode,\n }: CommandErrorArgs<ListLanguagePackErrorCodes>) {\n super({ message, errorCode, tag: \"ListLanguagePackCommandError\" });\n }\n}\n\nexport class ListLanguagePackCommand\n implements\n Command<\n ListLanguagePackResponse,\n ListLanguagePackCommandArgs,\n ListLanguagePackErrorCodes\n >\n{\n readonly name = \"listLanguagePack\";\n\n constructor(private readonly args: ListLanguagePackCommandArgs) {}\n\n getApdu(): Apdu {\n const apduArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x34,\n p1: this.args.firstChunk ? 0x00 : 0x01,\n p2: 0x00,\n };\n return new ApduBuilder(apduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): ListLanguagePackCommandResult {\n const parser = new ApduParser(apduResponse);\n\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n const errorCode = parser.encodeToHexaString(apduResponse.statusCode);\n if (isCommandErrorCode(errorCode, LANGUAGE_PACK_ERRORS)) {\n return CommandResultFactory({\n error: new ListLanguagePackCommandError({\n ...LANGUAGE_PACK_ERRORS[errorCode],\n errorCode,\n }),\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n\n const tlvVersion = parser.extract8BitUInt();\n if (tlvVersion === undefined) {\n // No more language package\n return CommandResultFactory({\n data: undefined,\n });\n }\n\n parser.extract8BitUInt(); // total length\n const idBuffer = parser.extractFieldLVEncoded();\n if (idBuffer === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Failed to get language pack id\"),\n });\n }\n\n const sizeBuffer = parser.extractFieldLVEncoded();\n if (sizeBuffer === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Failed to get language pack size\"),\n });\n }\n\n const id = parseInt(bufferToHexaString(idBuffer), 16);\n const size = parseInt(bufferToHexaString(sizeBuffer), 16);\n return CommandResultFactory({\n data: { id, size },\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAAS,0BAAAC,MAA8B,sBACvC,OAEE,wBAAAC,MACK,mCACP,OAEE,sBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAE1C,OAAgC,uBAAAC,MAA2B,aAC3D,OAAS,sBAAAC,MAA0B,wBAenC,MAAMC,EAAkE,CACtE,OAAQ,CACN,QACE,iFACJ,CACF,EAOO,MAAMC,UAAqCH,CAAgD,CAChG,YAAY,CACV,QAAAI,EACA,UAAAC,CACF,EAAiD,CAC/C,MAAM,CAAE,QAAAD,EAAS,UAAAC,EAAW,IAAK,8BAA+B,CAAC,CACnE,CACF,CAEO,MAAMC,CAOb,CAGE,YAA6BC,EAAmC,CAAnC,UAAAA,CAAoC,CAFxD,KAAO,mBAIhB,SAAgB,CACd,MAAMC,EAA4B,CAChC,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,WAAa,EAAO,EAClC,GAAI,CACN,EACA,OAAO,IAAIf,EAAYe,CAAQ,EAAE,MAAM,CACzC,CAEA,cAAcC,EAA2D,CACvE,MAAMC,EAAS,IAAIhB,EAAWe,CAAY,EAE1C,GAAI,CAACX,EAAa,kBAAkBW,CAAY,EAAG,CACjD,MAAMJ,EAAYK,EAAO,mBAAmBD,EAAa,UAAU,EACnE,OAAIZ,EAAmBQ,EAAWH,CAAoB,EAC7CN,EAAqB,CAC1B,MAAO,IAAIO,EAA6B,CACtC,GAAGD,EAAqBG,CAAS,EACjC,UAAAA,CACF,CAAC,CACH,CAAC,EAEIT,EAAqB,CAC1B,MAAOG,EAA0B,OAAOU,CAAY,CACtD,CAAC,CACH,CAGA,GADmBC,EAAO,gBAAgB,IACvB,OAEjB,OAAOd,EAAqB,CAC1B,KAAM,MACR,CAAC,EAGHc,EAAO,gBAAgB,EACvB,MAAMC,EAAWD,EAAO,sBAAsB,EAC9C,GAAIC,IAAa,OACf,OAAOf,EAAqB,CAC1B,MAAO,IAAID,EAAuB,gCAAgC,CACpE,CAAC,EAGH,MAAMiB,EAAaF,EAAO,sBAAsB,EAChD,GAAIE,IAAe,OACjB,OAAOhB,EAAqB,CAC1B,MAAO,IAAID,EAAuB,kCAAkC,CACtE,CAAC,EAGH,MAAMkB,EAAK,SAASZ,EAAmBU,CAAQ,EAAG,EAAE,EAC9CG,EAAO,SAASb,EAAmBW,CAAU,EAAG,EAAE,EACxD,OAAOhB,EAAqB,CAC1B,KAAM,CAAE,GAAAiB,EAAI,KAAAC,CAAK,CACnB,CAAC,CACH,CACF",
|
|
6
6
|
"names": ["ApduBuilder", "ApduParser", "InvalidStatusWordError", "CommandResultFactory", "isCommandErrorCode", "CommandUtils", "GlobalCommandErrorHandler", "DeviceExchangeError", "bufferToHexaString", "LANGUAGE_PACK_ERRORS", "ListLanguagePackCommandError", "message", "errorCode", "ListLanguagePackCommand", "args", "apduArgs", "apduResponse", "parser", "idBuffer", "sizeBuffer", "id", "size"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
class n{_tag="DeviceNotOnboardedError";originalError;constructor(r){this.originalError=new Error(r??"Device not onboarded.")}}class e{_tag="DeviceLockedError";originalError;constructor(r){this.originalError=new Error(r??"Device locked.")}}class
|
|
1
|
+
class n{_tag="DeviceNotOnboardedError";originalError;constructor(r){this.originalError=new Error(r??"Device not onboarded.")}}class e{_tag="DeviceLockedError";originalError;constructor(r){this.originalError=new Error(r??"Device locked.")}}class a{_tag="UnsupportedFirmwareDAError";originalError;constructor(r){this.originalError=new Error(r??"Unknown error.")}}class i{_tag="RefusedByUserDAError";originalError;constructor(r){this.originalError=new Error(r??"Unknown error.")}}class t{_tag="AppAlreadyInstalledDAError";originalError;constructor(r){this.originalError=new Error(r??"Unknown error.")}}class s{_tag="OutOfMemoryDAError";originalError;constructor(r){this.originalError=new Error(r??"Unknown error.")}}class l{_tag="UnknownDAError";originalError;constructor(r){this.originalError=new Error(r??"Unknown error.")}}class E{_tag="UnsupportedApplicationDAError";originalError;constructor(r){this.originalError=new Error(r??"Application currently not supported.")}}class g{_tag="MissingLanguagePackagesForOSDAError";originalError;constructor(r){this.originalError=new Error(r??"Missing Language Packages for OS DAError.")}}class c{_tag="MissingLanguagePackageDAError";originalError;constructor(r){this.originalError=new Error(r??"Missing Language Package DAError.")}}class p{_tag="DeleteLanguagePackDAError";originalError;constructor(r){this.originalError=new Error(r??"Delete language pack failed.")}}class d{_tag="NetworkDAError";originalError;constructor(r){this.originalError=new Error(r??"Network error.")}}export{t as AppAlreadyInstalledDAError,p as DeleteLanguagePackDAError,e as DeviceLockedError,n as DeviceNotOnboardedError,c as MissingLanguagePackageDAError,g as MissingLanguagePackagesForOSDAError,d as NetworkDAError,s as OutOfMemoryDAError,i as RefusedByUserDAError,l as UnknownDAError,E as UnsupportedApplicationDAError,a as UnsupportedFirmwareDAError};
|
|
2
2
|
//# sourceMappingURL=Errors.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/device-action/os/Errors.ts"],
|
|
4
|
-
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class DeviceNotOnboardedError implements DmkError {\n readonly _tag = \"DeviceNotOnboardedError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Device not onboarded.\");\n }\n}\n\nexport class DeviceLockedError implements DmkError {\n readonly _tag = \"DeviceLockedError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Device locked.\");\n }\n}\n\nexport class UnsupportedFirmwareDAError implements DmkError {\n readonly _tag = \"UnsupportedFirmwareDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class RefusedByUserDAError implements DmkError {\n readonly _tag = \"RefusedByUserDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class AppAlreadyInstalledDAError implements DmkError {\n readonly _tag = \"AppAlreadyInstalledDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class OutOfMemoryDAError implements DmkError {\n readonly _tag = \"OutOfMemoryDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class UnknownDAError implements DmkError {\n readonly _tag = \"UnknownDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class UnsupportedApplicationDAError implements DmkError {\n readonly _tag = \"UnsupportedApplicationDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Application currently not supported.\",\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "AAEO,MAAMA,CAA4C,CAC9C,KAAO,0BACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,uBAAuB,CACnE,CACF,CAEO,MAAMC,CAAsC,CACxC,KAAO,oBACP,cAET,YAAYD,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAME,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYF,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMG,CAAyC,CAC3C,KAAO,uBACP,cAET,YAAYH,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMI,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYJ,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMK,CAAuC,CACzC,KAAO,qBACP,cAET,YAAYL,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMM,CAAmC,CACrC,KAAO,iBACP,cAET,YAAYN,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMO,CAAkD,CACpD,KAAO,gCACP,cAET,YAAYP,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,sCACb,CACF,CACF",
|
|
6
|
-
"names": ["DeviceNotOnboardedError", "message", "DeviceLockedError", "UnsupportedFirmwareDAError", "RefusedByUserDAError", "AppAlreadyInstalledDAError", "OutOfMemoryDAError", "UnknownDAError", "UnsupportedApplicationDAError"]
|
|
4
|
+
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class DeviceNotOnboardedError implements DmkError {\n readonly _tag = \"DeviceNotOnboardedError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Device not onboarded.\");\n }\n}\n\nexport class DeviceLockedError implements DmkError {\n readonly _tag = \"DeviceLockedError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Device locked.\");\n }\n}\n\nexport class UnsupportedFirmwareDAError implements DmkError {\n readonly _tag = \"UnsupportedFirmwareDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class RefusedByUserDAError implements DmkError {\n readonly _tag = \"RefusedByUserDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class AppAlreadyInstalledDAError implements DmkError {\n readonly _tag = \"AppAlreadyInstalledDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class OutOfMemoryDAError implements DmkError {\n readonly _tag = \"OutOfMemoryDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class UnknownDAError implements DmkError {\n readonly _tag = \"UnknownDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Unknown error.\");\n }\n}\n\nexport class UnsupportedApplicationDAError implements DmkError {\n readonly _tag = \"UnsupportedApplicationDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Application currently not supported.\",\n );\n }\n}\n\nexport class MissingLanguagePackagesForOSDAError implements DmkError {\n readonly _tag = \"MissingLanguagePackagesForOSDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Missing Language Packages for OS DAError.\",\n );\n }\n}\n\nexport class MissingLanguagePackageDAError implements DmkError {\n readonly _tag = \"MissingLanguagePackageDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Missing Language Package DAError.\",\n );\n }\n}\n\nexport class DeleteLanguagePackDAError implements DmkError {\n readonly _tag = \"DeleteLanguagePackDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Delete language pack failed.\");\n }\n}\n\nexport class NetworkDAError implements DmkError {\n readonly _tag = \"NetworkDAError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Network error.\");\n }\n}\n"],
|
|
5
|
+
"mappings": "AAEO,MAAMA,CAA4C,CAC9C,KAAO,0BACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,uBAAuB,CACnE,CACF,CAEO,MAAMC,CAAsC,CACxC,KAAO,oBACP,cAET,YAAYD,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAME,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYF,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMG,CAAyC,CAC3C,KAAO,uBACP,cAET,YAAYH,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMI,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYJ,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMK,CAAuC,CACzC,KAAO,qBACP,cAET,YAAYL,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMM,CAAmC,CACrC,KAAO,iBACP,cAET,YAAYN,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF,CAEO,MAAMO,CAAkD,CACpD,KAAO,gCACP,cAET,YAAYP,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,sCACb,CACF,CACF,CAEO,MAAMQ,CAAwD,CAC1D,KAAO,sCACP,cAET,YAAYR,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,2CACb,CACF,CACF,CAEO,MAAMS,CAAkD,CACpD,KAAO,gCACP,cAET,YAAYT,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,mCACb,CACF,CACF,CAEO,MAAMU,CAA8C,CAChD,KAAO,4BACP,cAET,YAAYV,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,8BAA8B,CAC1E,CACF,CAEO,MAAMW,CAAmC,CACrC,KAAO,iBACP,cAET,YAAYX,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,gBAAgB,CAC5D,CACF",
|
|
6
|
+
"names": ["DeviceNotOnboardedError", "message", "DeviceLockedError", "UnsupportedFirmwareDAError", "RefusedByUserDAError", "AppAlreadyInstalledDAError", "OutOfMemoryDAError", "UnknownDAError", "UnsupportedApplicationDAError", "MissingLanguagePackagesForOSDAError", "MissingLanguagePackageDAError", "DeleteLanguagePackDAError", "NetworkDAError"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Left as m,Right as P}from"purify-ts";import{assign as n,fromObservable as E,fromPromise as S,setup as h}from"xstate";import{isSuccessCommandResult as A}from"../../../command/model/CommandResult";import{DeleteLanguagePackCommand as f}from"../../../command/os/DeleteLanguagePackCommand";import{UserInteractionRequired as y}from"../../../device-action/model/UserInteractionRequired";import{DEFAULT_UNLOCK_TIMEOUT_MS as v}from"../../../device-action/os/Const";import{DeleteLanguagePackDAError as M,MissingLanguagePackageDAError as C,MissingLanguagePackagesForOSDAError as x}from"../../../device-action/os/Errors";import{GetDeviceMetadataDeviceAction as V}from"../../../device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction";import{getDeviceMetadataDAStateStep as T}from"../../../device-action/os/GetDeviceMetadata/types";import{InstallLanguagePackageTask as G}from"../../../device-action/task/InstallLanguagePackageTask";import{XStateDeviceAction as _}from"../../../device-action/xstate-utils/XStateDeviceAction";import{installLanguagePackageDAStateStep as U}from"./types";class J extends _{makeStateMachine(r){const{deleteCurrentLanguagePack:l,installLanguagePack:p}=this.extractDependencies(r),c=this.input.unlockTimeout??v,u=this.input.language,{None:i}=y,{DEVICE_READY:d,GET_DEVICE_METADATA:k,DELETE_CURRENT_LANGUAGE_PACK:D,INSTALL_LANGUAGE_PACK:L}=U,I=new V({input:{unlockTimeout:c}}).makeStateMachine(r);return h({types:{input:{unlockTimeout:c,language:u},context:{},output:{}},actors:{getDeviceMetadata:I,deleteCurrentLanguagePack:S(l),installLanguagePack:E(({input:e})=>p(e.apduInstallUrl))},guards:{isDefaultLanguage:({context:e})=>e.input.language==="english",hasError:({context:e})=>e._internalState.error!==null,shouldSkipInstall:({context:e})=>e._internalState.shouldSkipInstall},actions:{assignErrorFromEvent:n({_internalState:e=>({...e.context._internalState,error:e.event.error,shouldSkipInstall:!1})}),assignGetDeviceMetadataSnapshot:n({intermediateValue:e=>{const a=e.event.snapshot.context.intermediateValue;return a.step===T.GET_DEVICE_METADATA?{...a,step:k}:a}}),assignGetDeviceMetadataDone:n({_internalState:e=>e.event.output.caseOf({Right:a=>{const g=a.catalog.languagePackages;if(!g)return{...e.context._internalState,error:new x(`Language packages not found for OS ${a?.firmwareVersion?.os}.`)};const s=g.find(o=>o.language===u);return s?(a.installedLanguages??[]).map(({id:o})=>o).includes(s.languagePackageId)?{...e.context._internalState,shouldSkipInstall:!0}:{...e.context._internalState,languagePackage:s}:{...e.context._internalState,error:new C(`Language package not found for ${u}.`)}},Left:a=>({...e.context._internalState,error:a})})}),assignDeleteCurrentLanguagePackSnapshot:n({intermediateValue:e=>({requiredUserInteraction:i,step:D})}),assignDeleteCurrentLanguagePackDone:n({_internalState:e=>{const t=e.event.output;return A(t)?e.context._internalState:{...e.context._internalState,error:new M("message"in t.error?t.error.message:"Delete language pack failed.")}}}),assignInstallLanguagePackSnapshot:n({intermediateValue:e=>{const a=e.event.snapshot.context,g=e.context,s="progress"in g.intermediateValue?g.intermediateValue.progress??0:0;return{requiredUserInteraction:i,step:L,progress:a?.type==="progress"?a.progress:s}}})}}).createMachine({id:"InstallLanguagePackageDeviceAction",initial:"CheckRequestedLanguage",context:e=>({input:{unlockTimeout:e.input.unlockTimeout,language:e.input.language},intermediateValue:{requiredUserInteraction:i,step:d,progress:0},_internalState:{error:null,languagePackage:null,shouldSkipInstall:!1}}),states:{CheckRequestedLanguage:{always:[{guard:"isDefaultLanguage",target:"DeleteCurrentLanguagePack"},{target:"GetDeviceMetadata"}]},GetDeviceMetadata:{invoke:{id:"GetDeviceMetadata",src:"getDeviceMetadata",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,forceUpdate:!0,useSecureChannel:!0}),onSnapshot:{actions:"assignGetDeviceMetadataSnapshot"},onDone:{target:"LanguagePackCheck",actions:"assignGetDeviceMetadataDone"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},LanguagePackCheck:{always:[{guard:"hasError",target:"Error"},{guard:"shouldSkipInstall",target:"Success"},{target:"DeleteCurrentLanguagePack"}]},DeleteCurrentLanguagePack:{invoke:{id:"DeleteCurrentLanguagePack",src:"deleteCurrentLanguagePack",onSnapshot:{actions:"assignDeleteCurrentLanguagePackSnapshot"},onDone:{target:"DeleteCurrentLanguagePackResultCheck",actions:"assignDeleteCurrentLanguagePackDone"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},DeleteCurrentLanguagePackResultCheck:{always:[{guard:"hasError",target:"Error"},{guard:"isDefaultLanguage",target:"Success"},{target:"InstallLanguagePack"}]},InstallLanguagePack:{invoke:{id:"InstallLanguagePack",src:"installLanguagePack",input:({context:e})=>({apduInstallUrl:e._internalState.languagePackage.apduInstallUrl}),onSnapshot:{actions:"assignInstallLanguagePackSnapshot"},onDone:{target:"Success"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},Success:{type:"final"},Error:{type:"final"}},output:e=>e.context._internalState.error!==null?m(e.context._internalState.error):P(void 0)})}extractDependencies(r){return{deleteCurrentLanguagePack:()=>r.sendCommand(new f({languagePackageId:255})),installLanguagePack:l=>new G(r,{apduInstallUrl:l}).run()}}}export{J as InstallLanguagePackageDeviceAction};
|
|
2
|
+
//# sourceMappingURL=InstallLanguagePackageDeviceAction.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Either, Left, Right } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n DeleteLanguagePackCommand,\n type DeleteLanguagePackCommandResult,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport {\n DeleteLanguagePackDAError,\n MissingLanguagePackageDAError,\n MissingLanguagePackagesForOSDAError,\n} from \"@api/device-action/os/Errors\";\nimport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nimport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAIntermediateValue,\n type GetDeviceMetadataDAOutput,\n getDeviceMetadataDAStateStep,\n} from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport {\n type InstallLanguagePackageEvent,\n InstallLanguagePackageTask,\n} from \"@api/device-action/task/InstallLanguagePackageTask\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport { type LanguagePackage } from \"@internal/manager-api/model/Language\";\n\nimport {\n type InstallLanguagePackageDAError,\n type InstallLanguagePackageDAInput,\n type InstallLanguagePackageDAIntermediateValue,\n type InstallLanguagePackageDAOutput,\n installLanguagePackageDAStateStep,\n} from \"./types\";\n\ntype InstallLanguagePackageMachineInternalState = {\n readonly error: InstallLanguagePackageDAError | null;\n readonly languagePackage: LanguagePackage | null;\n readonly shouldSkipInstall: boolean;\n};\n\nexport type MachineDependencies = {\n readonly deleteCurrentLanguagePack: () => Promise<DeleteLanguagePackCommandResult>;\n readonly installLanguagePack: (\n apduInstallUrl: string,\n ) => Observable<InstallLanguagePackageEvent>;\n};\n\nexport type ExtractMachineDependencies = (\n internalApi: InternalApi,\n) => MachineDependencies;\n\nexport class InstallLanguagePackageDeviceAction extends XStateDeviceAction<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAInput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue,\n InstallLanguagePackageMachineInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAInput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue,\n InstallLanguagePackageMachineInternalState\n > {\n type types = StateMachineTypes<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAInput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue,\n InstallLanguagePackageMachineInternalState\n >;\n\n const { deleteCurrentLanguagePack, installLanguagePack } =\n this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n const language = this.input.language;\n\n const { None } = UserInteractionRequired;\n const {\n DEVICE_READY,\n GET_DEVICE_METADATA,\n DELETE_CURRENT_LANGUAGE_PACK,\n INSTALL_LANGUAGE_PACK,\n } = installLanguagePackageDAStateStep;\n\n const getDeviceMetadataMachine = new GetDeviceMetadataDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {\n unlockTimeout,\n language,\n } as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n getDeviceMetadata: getDeviceMetadataMachine,\n deleteCurrentLanguagePack: fromPromise(deleteCurrentLanguagePack),\n installLanguagePack: fromObservable(\n ({ input }: { input: { apduInstallUrl: string } }) =>\n installLanguagePack(input.apduInstallUrl),\n ),\n },\n guards: {\n // The default language package (English) cannot be installed as a language pack.\n // If the requested language is English, we still delete all installed packs and only skip the install step.\n isDefaultLanguage: ({ context }) =>\n context.input.language === \"english\",\n hasError: ({ context }: { context: types[\"context\"] }) =>\n context._internalState.error !== null,\n shouldSkipInstall: ({ context }) =>\n context._internalState.shouldSkipInstall,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"] as InstallLanguagePackageDAError,\n shouldSkipInstall: false,\n }),\n }),\n assignGetDeviceMetadataSnapshot: assign({\n intermediateValue: (_) => {\n const snapshot = _.event[\"snapshot\"] as {\n context: {\n intermediateValue: GetDeviceMetadataDAIntermediateValue;\n };\n };\n const childIv = snapshot.context.intermediateValue;\n if (\n childIv.step === getDeviceMetadataDAStateStep.GET_DEVICE_METADATA\n ) {\n return {\n ...childIv,\n step: GET_DEVICE_METADATA,\n } satisfies types[\"context\"][\"intermediateValue\"];\n }\n return childIv as types[\"context\"][\"intermediateValue\"];\n },\n }),\n assignGetDeviceMetadataDone: assign({\n _internalState: (_) => {\n const output = _.event[\"output\"] as Either<\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAOutput\n >;\n return output.caseOf({\n Right: (metadata) => {\n const languagePackages = metadata.catalog.languagePackages;\n if (!languagePackages) {\n return {\n ..._.context._internalState,\n error: new MissingLanguagePackagesForOSDAError(\n `Language packages not found for OS ${metadata?.firmwareVersion?.os}.`,\n ) as InstallLanguagePackageDAError,\n };\n }\n\n const languagePackage = languagePackages.find(\n (lp) => lp.language === language,\n );\n if (!languagePackage) {\n return {\n ..._.context._internalState,\n error: new MissingLanguagePackageDAError(\n `Language package not found for ${language}.`,\n ),\n };\n }\n\n const installedLanguageIds = (\n metadata.installedLanguages ?? []\n ).map(({ id }) => id);\n\n const isAlreadyInstalled = installedLanguageIds.includes(\n languagePackage.languagePackageId,\n );\n\n if (isAlreadyInstalled) {\n return {\n ..._.context._internalState,\n shouldSkipInstall: true,\n };\n }\n return {\n ..._.context._internalState,\n languagePackage,\n };\n },\n Left: (error: InstallLanguagePackageDAError) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n assignDeleteCurrentLanguagePackSnapshot: assign({\n intermediateValue: (_) =>\n ({\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n }) satisfies types[\"context\"][\"intermediateValue\"],\n }),\n assignDeleteCurrentLanguagePackDone: assign({\n _internalState: (_) => {\n const result = _.event[\"output\"] as DeleteLanguagePackCommandResult;\n if (isSuccessCommandResult(result)) {\n return _.context._internalState;\n }\n\n return {\n ..._.context._internalState,\n error: new DeleteLanguagePackDAError(\n \"message\" in result.error\n ? result.error.message\n : \"Delete language pack failed.\",\n ),\n };\n },\n }),\n assignInstallLanguagePackSnapshot: assign({\n intermediateValue: (_) => {\n const snapshot = _.event[\"snapshot\"] as {\n context: InstallLanguagePackageEvent | null;\n };\n const event = snapshot.context;\n const ctx = _.context as types[\"context\"];\n const currentProgress =\n \"progress\" in ctx.intermediateValue\n ? (ctx.intermediateValue.progress ?? 0)\n : 0;\n return {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress:\n event?.type === \"progress\" ? event.progress : currentProgress,\n } satisfies types[\"context\"][\"intermediateValue\"];\n },\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEkB2sAuBDANjgMlqlAK5YwAKWAxgNblgAiYAbgJbVgCC1GbA9qgB0AYQAWYOgCUwARxJwMkQsTIwAxAG0ADAF1EoAA79YbPoIMgAHogBMATltCAjPYCsAZm0AWAOwAObTdfe18AGhAAT0RvRyEPW39nZw9nb20PBIBfLIi0TFwCIlIGKjoGZnZOHnNhcUlaGXlFZWK1MC1nfSQQY1NayxsEBydXTx8AoJDwqMRk+yE-ADY3Vb9fNxSPHLz0bDwVEsoaehhKjm5eAWEAcTAMc84AWXusCCxsdQhBMCE2VBY-FovzuD1YFxe2He2B03SMJjM10GiH8cUc9iWS3cbhWthWEWiw20S0WzkxvhS3g8S38wVsOxA+X2RVUpROFXB1SugiEoMeYEhbw+WHUYAATmL+GKhIYcB8AGZSgC2vPu-MF0KwsMsfURFh6Q1RTnRmOxuPxswQSSEbm0drttPs-l8LoZTMKh3aZVOTE5l1qQk9bLo9ToWj0OoRAwNc2pHiEtlioXSTu8Sw8BLstnjvjxqxdQQ8Gypbr2HrawZ9-Jq10DFeOIYkYc0XUj-SRMYQKXTCaTvhT-jTGctRfj-kSzm0-hp-aWPlLBQO9bA3o5VX9teYOHuYBEJAlYFQGCDDdoXx+fwBQN+W53e4PR5PK5O2p6uujoCGrgSQinbnsdqxEs3jeLYMyElivguDi2a2mB-7aPYC7Mk+q5nH6NY8reSj3mKh7Hsu3rnqgvz-ICwJCNhu77nhj6ES+rZvlGHafnM9g-n+AE+BiIFgZmCBuImQiDum3iDm4zq+JiyHlqyp5rhcmHCFRuH4ahJyihKUoynKGCKmKKoqTRan0XQr7wu2+qsV27FOJxgE8aB4GIB4oEJnmSy2M4EmJr4MlLnJz7lOh65KUI7oBUcQVnt8JGXuRvwRSyUXeuZvTMVZ1h2C6-i-h4AG2sB6TBPxwRQQBnkJFifjpPSuSMmWkVeuyIWKdywhJepYbipK0qygqyrhY1yXNWZEZMZZqDIsMOV5QVxIgVM-Fid4iyePMdpFiBGw5PVqD8BAcCWJ1plVhh7VtnqU2dgAtEs-E3W4Qj2C9r1vW92z1SdgVob6oXtaITaNHICiYK0gWXR+WUIKB-HOEJaQJGB060vDdW7IuI2VgpXIBnyfoasKkMsdDtqrf2r1LCESSrG4-H2Ktth5p4tirB4OLeM4-lY-JrW47WXW0KGtDE5lX7eU9-jswBL0rEExL8UzuX5QkXiIem-afRjKGnTjG5YWA244cZdE-ScovXdZ3l4r+jopLY9qTsOhLs1BCRJNS-75VLXNfcNgt62F30pebE1XdN2bjnNxKZMsrPLQBwlDqzjm5n5fuYwHfP68IADKJDUJwsDwGHUNDF4CPOmJqTAVOIGlVL8RM-YTtebZSEZzrZvBX9bUBgAolpYoW9NFerc4Vc+7Xg7eIrrNNysuabGkwTUrtWRAA */\n id: \"InstallLanguagePackageDeviceAction\",\n initial: \"CheckRequestedLanguage\",\n context: (_) => {\n return {\n input: {\n unlockTimeout: _.input.unlockTimeout,\n language: _.input.language,\n },\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n _internalState: {\n error: null,\n languagePackage: null,\n shouldSkipInstall: false,\n },\n };\n },\n states: {\n CheckRequestedLanguage: {\n always: [\n {\n guard: \"isDefaultLanguage\",\n target: \"DeleteCurrentLanguagePack\",\n },\n { target: \"GetDeviceMetadata\" },\n ],\n },\n GetDeviceMetadata: {\n invoke: {\n id: \"GetDeviceMetadata\",\n src: \"getDeviceMetadata\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n forceUpdate: true, // ensures the Language pack is fresh and forces user to go to Dashboard\n useSecureChannel: true,\n }),\n onSnapshot: {\n actions: \"assignGetDeviceMetadataSnapshot\",\n },\n onDone: {\n target: \"LanguagePackCheck\",\n actions: \"assignGetDeviceMetadataDone\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n LanguagePackCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"shouldSkipInstall\",\n target: \"Success\",\n },\n { target: \"DeleteCurrentLanguagePack\" },\n ],\n },\n DeleteCurrentLanguagePack: {\n invoke: {\n id: \"DeleteCurrentLanguagePack\",\n src: \"deleteCurrentLanguagePack\",\n onSnapshot: {\n actions: \"assignDeleteCurrentLanguagePackSnapshot\",\n },\n onDone: {\n target: \"DeleteCurrentLanguagePackResultCheck\",\n actions: \"assignDeleteCurrentLanguagePackDone\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n DeleteCurrentLanguagePackResultCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isDefaultLanguage\",\n target: \"Success\",\n },\n { target: \"InstallLanguagePack\" },\n ],\n },\n InstallLanguagePack: {\n invoke: {\n id: \"InstallLanguagePack\",\n src: \"installLanguagePack\",\n input: ({ context }) => ({\n apduInstallUrl:\n context._internalState.languagePackage!.apduInstallUrl,\n }),\n onSnapshot: {\n actions: \"assignInstallLanguagePackSnapshot\",\n },\n onDone: {\n target: \"Success\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (_) => {\n if (_.context._internalState.error !== null) {\n return Left(_.context._internalState.error);\n }\n return Right(undefined);\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n return {\n deleteCurrentLanguagePack: () =>\n internalApi.sendCommand(\n new DeleteLanguagePackCommand({ languagePackageId: 0xff }),\n ),\n installLanguagePack: (apduInstallUrl: string) =>\n new InstallLanguagePackageTask(internalApi, {\n apduInstallUrl,\n }).run(),\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Left", "Right", "assign", "fromObservable", "fromPromise", "setup", "isSuccessCommandResult", "DeleteLanguagePackCommand", "UserInteractionRequired", "DEFAULT_UNLOCK_TIMEOUT_MS", "DeleteLanguagePackDAError", "MissingLanguagePackageDAError", "MissingLanguagePackagesForOSDAError", "GetDeviceMetadataDeviceAction", "getDeviceMetadataDAStateStep", "InstallLanguagePackageTask", "XStateDeviceAction", "installLanguagePackageDAStateStep", "InstallLanguagePackageDeviceAction", "internalApi", "deleteCurrentLanguagePack", "installLanguagePack", "unlockTimeout", "language", "None", "DEVICE_READY", "GET_DEVICE_METADATA", "DELETE_CURRENT_LANGUAGE_PACK", "INSTALL_LANGUAGE_PACK", "getDeviceMetadataMachine", "input", "context", "_", "childIv", "metadata", "languagePackages", "languagePackage", "lp", "id", "error", "result", "event", "ctx", "currentProgress", "apduInstallUrl"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{of as I,throwError as L}from"rxjs";import{CommandResultFactory as P}from"../../../command/model/CommandResult";import{DeleteLanguagePackCommandError as h}from"../../../command/os/DeleteLanguagePackCommand";import{makeDeviceActionInternalApiMock as w}from"../../../device-action/__test-utils__/makeInternalApi";import{setupGetDeviceMetadataMock as g}from"../../../device-action/__test-utils__/setupTestMachine";import{testDeviceActionStates as S}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as e}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as y}from"../../../device-action/model/UserInteractionRequired";import{DeleteLanguagePackDAError as k,MissingLanguagePackageDAError as E,MissingLanguagePackagesForOSDAError as C,UnknownDAError as A}from"../../../device-action/os/Errors";import{InstallLanguagePackageDeviceAction as c}from"./InstallLanguagePackageDeviceAction";import{installLanguagePackageDAStateStep as M}from"./types";vi.mock("@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction");describe("InstallLanguagePackageDeviceAction",()=>{const f=w(),i=vi.fn(),l=vi.fn(),s={language:"french",languagePackageVersionId:1,version:"1.0.0",languagePackageId:42,apduInstallUrl:"https://example.com/install-french",apduUninstallUrl:"https://example.com/uninstall-french",bytes:1024,dateCreation:"2024-01-01",dateLastModified:"2024-01-01"},{None:t}=y,{DEVICE_READY:u,GET_DEVICE_METADATA:r,DELETE_CURRENT_LANGUAGE_PACK:o,INSTALL_LANGUAGE_PACK:m}=M,D={deleteCurrentLanguagePack:i,installLanguagePack:l},p=(a={})=>({installedLanguages:[],...a,catalog:{languagePackages:[],...a.catalog??{}}}),d=(a,n,v)=>new Promise((U,V)=>{vi.spyOn(a,"extractDependencies").mockReturnValue(D),S(a,n,f,{onDone:()=>{try{v?.(),U()}catch(q){V(q)}},onError:V})});beforeEach(()=>{vi.clearAllMocks()}),describe("success cases",()=>{it("should install a non-default language package",()=>{g(p({catalog:{languagePackages:[s]}}));const a=new c({input:{language:"french"}});i.mockResolvedValueOnce(P({data:void 0})),l.mockReturnValueOnce(I({type:"progress",progress:.5},{type:"progress",progress:1}));const n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:.5},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:1},status:e.Pending},{output:void 0,status:e.Completed}];return d(a,n)}),it("should install when a different language pack is already installed",()=>{g(p({catalog:{languagePackages:[s]},installedLanguages:[{id:999,size:2048}]}));const a=new c({input:{language:"french"}});i.mockResolvedValueOnce(P({data:void 0})),l.mockReturnValueOnce(I({type:"progress",progress:1}));const n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:1},status:e.Pending},{output:void 0,status:e.Completed}];return d(a,n,()=>{expect(i).toHaveBeenCalledOnce(),expect(l).toHaveBeenCalledOnce()})}),it("should succeed without delete or install when the language pack is already installed",()=>{g(p({catalog:{languagePackages:[s]},installedLanguages:[{id:s.languagePackageId,size:s.bytes}]}));const a=new c({input:{language:"french"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{output:void 0,status:e.Completed}];return d(a,n,()=>{expect(i).not.toHaveBeenCalled(),expect(l).not.toHaveBeenCalled()})}),it("should install when only a matching languagePackageVersionId is reported as installed",()=>{g(p({catalog:{languagePackages:[s]},installedLanguages:[{id:s.languagePackageVersionId,size:s.bytes}]}));const a=new c({input:{language:"french"}});i.mockResolvedValueOnce(P({data:void 0})),l.mockReturnValueOnce(I({type:"progress",progress:1}));const n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:1},status:e.Pending},{output:void 0,status:e.Completed}];return d(a,n,()=>{expect(l).toHaveBeenCalledOnce()})}),it("should delete and skip install for the default language (english)",()=>{const a=new c({input:{language:"english"}});i.mockResolvedValueOnce(P({data:void 0}));const n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{output:void 0,status:e.Completed}];return d(a,n,()=>{expect(i).toHaveBeenCalledOnce(),expect(l).not.toHaveBeenCalled()})})}),describe("error cases",()=>{it("should error when GetDeviceMetadata fails",()=>{g({},!0);const a=new c({input:{language:"french"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{error:new A("GetDeviceMetadata failed"),status:e.Error}];return d(a,n)}),it("should error when language packages are missing from metadata",()=>{g(p({firmwareVersion:{mcu:"1.0.0",bootloader:"1.0.0",os:"2.4.0"},catalog:{languagePackages:void 0}}));const a=new c({input:{language:"french"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{error:new C("Language packages not found for OS 2.4.0."),status:e.Error}];return d(a,n)}),it("should error when the requested language is not found",()=>{g(p({catalog:{languagePackages:[s]}}));const a=new c({input:{language:"spanish"}}),n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{error:new E("Language package not found for spanish."),status:e.Error}];return d(a,n)}),it("should error when DeleteCurrentLanguagePack returns a command error",()=>{g(p({catalog:{languagePackages:[s]}}));const a=new c({input:{language:"french"}});i.mockResolvedValueOnce(P({error:new h({message:"Invalid LANG_ID value.",errorCode:"681a"})}));const n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{error:new k("Invalid LANG_ID value."),status:e.Error}];return d(a,n)}),it("should error when DeleteCurrentLanguagePack promise rejects",()=>{g(p({catalog:{languagePackages:[s]}}));const a=new c({input:{language:"french"}});i.mockRejectedValueOnce(new k("Delete failed"));const n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{error:new k("Delete failed"),status:e.Error}];return d(a,n)}),it("should error when InstallLanguagePack observable errors",()=>{g(p({catalog:{languagePackages:[s]}}));const a=new c({input:{language:"french"}});i.mockResolvedValueOnce(P({data:void 0})),l.mockReturnValueOnce(L(()=>new A("Install failed")));const n=[{intermediateValue:{requiredUserInteraction:t,step:u,progress:0},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:r},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:o},status:e.Pending},{intermediateValue:{requiredUserInteraction:t,step:m,progress:0},status:e.Pending},{error:new A("Install failed"),status:e.Error}];return d(a,n)})})});
|
|
2
|
+
//# sourceMappingURL=InstallLanguagePackageDeviceAction.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { of, throwError } from \"rxjs\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeleteLanguagePackCommandError } from \"@api/command/os/DeleteLanguagePackCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGetDeviceMetadataMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n DeleteLanguagePackDAError,\n MissingLanguagePackageDAError,\n MissingLanguagePackagesForOSDAError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport type { GetDeviceMetadataDAOutput } from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport type { LanguagePackage } from \"@internal/manager-api/model/Language\";\n\nimport { InstallLanguagePackageDeviceAction } from \"./InstallLanguagePackageDeviceAction\";\nimport {\n type InstallLanguagePackageDAState,\n installLanguagePackageDAStateStep,\n} from \"./types\";\n\nvi.mock(\n \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\",\n);\n\ndescribe(\"InstallLanguagePackageDeviceAction\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const deleteCurrentLanguagePackMock = vi.fn();\n const installLanguagePackMock = vi.fn();\n\n const LANGUAGE_PACKAGE: LanguagePackage = {\n language: \"french\",\n languagePackageVersionId: 1,\n version: \"1.0.0\",\n languagePackageId: 42,\n apduInstallUrl: \"https://example.com/install-french\",\n apduUninstallUrl: \"https://example.com/uninstall-french\",\n bytes: 1024,\n dateCreation: \"2024-01-01\",\n dateLastModified: \"2024-01-01\",\n };\n\n const { None } = UserInteractionRequired;\n const {\n DEVICE_READY,\n GET_DEVICE_METADATA,\n DELETE_CURRENT_LANGUAGE_PACK,\n INSTALL_LANGUAGE_PACK,\n } = installLanguagePackageDAStateStep;\n\n const extractDependenciesMock = {\n deleteCurrentLanguagePack: deleteCurrentLanguagePackMock,\n installLanguagePack: installLanguagePackMock,\n };\n\n const buildMetadata = (\n partial: {\n installedLanguages?: Array<{ id: number; size: number }>;\n catalog?: { languagePackages?: LanguagePackage[] | undefined };\n firmwareVersion?: GetDeviceMetadataDAOutput[\"firmwareVersion\"];\n } = {},\n ): GetDeviceMetadataDAOutput =>\n ({\n installedLanguages: [],\n ...partial,\n catalog: {\n languagePackages: [],\n ...(partial.catalog ?? {}),\n },\n }) as unknown as GetDeviceMetadataDAOutput;\n\n const runTest = (\n deviceAction: InstallLanguagePackageDeviceAction,\n expectedStates: Array<InstallLanguagePackageDAState>,\n onDoneExtra?: () => void,\n ) =>\n new Promise<void>((resolve, reject) => {\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock,\n );\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: () => {\n try {\n onDoneExtra?.();\n resolve();\n } catch (e) {\n reject(e as Error);\n }\n },\n onError: reject,\n });\n });\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"success cases\", () => {\n it(\"should install a non-default language package\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n of(\n { type: \"progress\", progress: 0.5 },\n { type: \"progress\", progress: 1 },\n ),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n // Initial\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetDeviceMetadata\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // DeleteCurrentLanguagePack\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n // InstallLanguagePack\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0.5,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 1,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should install when a different language pack is already installed\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({\n catalog: { languagePackages: [LANGUAGE_PACKAGE] },\n installedLanguages: [{ id: 999, size: 2048 }],\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n of({ type: \"progress\", progress: 1 }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 1,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(deleteCurrentLanguagePackMock).toHaveBeenCalledOnce();\n expect(installLanguagePackMock).toHaveBeenCalledOnce();\n });\n });\n\n it(\"should succeed without delete or install when the language pack is already installed\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({\n catalog: { languagePackages: [LANGUAGE_PACKAGE] },\n installedLanguages: [\n {\n id: LANGUAGE_PACKAGE.languagePackageId,\n size: LANGUAGE_PACKAGE.bytes,\n },\n ],\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(deleteCurrentLanguagePackMock).not.toHaveBeenCalled();\n expect(installLanguagePackMock).not.toHaveBeenCalled();\n });\n });\n\n it(\"should install when only a matching languagePackageVersionId is reported as installed\", () => {\n // Guards against a regression where the implementation compares against\n // languagePackageVersionId instead of languagePackageId.\n setupGetDeviceMetadataMock(\n buildMetadata({\n catalog: { languagePackages: [LANGUAGE_PACKAGE] },\n installedLanguages: [\n {\n id: LANGUAGE_PACKAGE.languagePackageVersionId,\n size: LANGUAGE_PACKAGE.bytes,\n },\n ],\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n of({ type: \"progress\", progress: 1 }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 1,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(installLanguagePackMock).toHaveBeenCalledOnce();\n });\n });\n\n it(\"should delete and skip install for the default language (english)\", () => {\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"english\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n output: undefined,\n status: DeviceActionStatus.Completed,\n },\n ];\n\n return runTest(deviceAction, expectedStates, () => {\n expect(deleteCurrentLanguagePackMock).toHaveBeenCalledOnce();\n expect(installLanguagePackMock).not.toHaveBeenCalled();\n });\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should error when GetDeviceMetadata fails\", () => {\n setupGetDeviceMetadataMock(\n {} as unknown as GetDeviceMetadataDAOutput,\n true,\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new UnknownDAError(\"GetDeviceMetadata failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when language packages are missing from metadata\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({\n firmwareVersion: {\n mcu: \"1.0.0\",\n bootloader: \"1.0.0\",\n os: \"2.4.0\",\n } as GetDeviceMetadataDAOutput[\"firmwareVersion\"],\n catalog: { languagePackages: undefined },\n }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new MissingLanguagePackagesForOSDAError(\n \"Language packages not found for OS 2.4.0.\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when the requested language is not found\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"spanish\" },\n });\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new MissingLanguagePackageDAError(\n \"Language package not found for spanish.\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when DeleteCurrentLanguagePack returns a command error\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new DeleteLanguagePackCommandError({\n message: \"Invalid LANG_ID value.\",\n errorCode: \"681a\",\n }),\n }),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new DeleteLanguagePackDAError(\"Invalid LANG_ID value.\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when DeleteCurrentLanguagePack promise rejects\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockRejectedValueOnce(\n new DeleteLanguagePackDAError(\"Delete failed\"),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new DeleteLanguagePackDAError(\"Delete failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n\n it(\"should error when InstallLanguagePack observable errors\", () => {\n setupGetDeviceMetadataMock(\n buildMetadata({ catalog: { languagePackages: [LANGUAGE_PACKAGE] } }),\n );\n\n const deviceAction = new InstallLanguagePackageDeviceAction({\n input: { language: \"french\" },\n });\n\n deleteCurrentLanguagePackMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n installLanguagePackMock.mockReturnValueOnce(\n throwError(() => new UnknownDAError(\"Install failed\")),\n );\n\n const expectedStates: Array<InstallLanguagePackageDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DEVICE_READY,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: DELETE_CURRENT_LANGUAGE_PACK,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: None,\n step: INSTALL_LANGUAGE_PACK,\n progress: 0,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n error: new UnknownDAError(\"Install failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n return runTest(deviceAction, expectedStates);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["of", "throwError", "CommandResultFactory", "DeleteLanguagePackCommandError", "makeDeviceActionInternalApiMock", "setupGetDeviceMetadataMock", "testDeviceActionStates", "DeviceActionStatus", "UserInteractionRequired", "DeleteLanguagePackDAError", "MissingLanguagePackageDAError", "MissingLanguagePackagesForOSDAError", "UnknownDAError", "InstallLanguagePackageDeviceAction", "installLanguagePackageDAStateStep", "apiMock", "deleteCurrentLanguagePackMock", "installLanguagePackMock", "LANGUAGE_PACKAGE", "None", "DEVICE_READY", "GET_DEVICE_METADATA", "DELETE_CURRENT_LANGUAGE_PACK", "INSTALL_LANGUAGE_PACK", "extractDependenciesMock", "buildMetadata", "partial", "runTest", "deviceAction", "expectedStates", "onDoneExtra", "resolve", "reject", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=Object.freeze({DEVICE_READY:"os.installLanguagePackage.steps.deviceReady",GET_DEVICE_METADATA:"os.installLanguagePackage.steps.getDeviceMetadata",DELETE_CURRENT_LANGUAGE_PACK:"os.installLanguagePackage.steps.deleteCurrentLanguagePack",INSTALL_LANGUAGE_PACK:"os.installLanguagePackage.steps.installLanguagePack"});export{e as installLanguagePackageDAStateStep};
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/os/InstallLanguagePackage/types.ts"],
|
|
4
|
+
"sourcesContent": ["import { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeleteLanguagePackDAError,\n type MissingLanguagePackageDAError,\n type MissingLanguagePackagesForOSDAError,\n type OutOfMemoryDAError,\n type RefusedByUserDAError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAIntermediateValue,\n} from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport { type GoToDashboardDAInput } from \"@api/device-action/os/GoToDashboard/types\";\n\nexport type Language =\n | \"french\"\n | \"english\"\n | \"spanish\"\n | \"brazilian\"\n | \"german\"\n | \"russian\"\n | \"turkish\"\n | \"thai\";\n\nexport const installLanguagePackageDAStateStep = Object.freeze({\n DEVICE_READY: \"os.installLanguagePackage.steps.deviceReady\",\n GET_DEVICE_METADATA: \"os.installLanguagePackage.steps.getDeviceMetadata\",\n DELETE_CURRENT_LANGUAGE_PACK:\n \"os.installLanguagePackage.steps.deleteCurrentLanguagePack\",\n INSTALL_LANGUAGE_PACK: \"os.installLanguagePackage.steps.installLanguagePack\",\n} as const);\n\nexport type InstallLanguagePackageDAInput = GoToDashboardDAInput & {\n readonly language: Language;\n};\n\nexport type InstallLanguagePackageDAOutput = undefined;\n\nexport type InstallLanguagePackageDAGetDeviceMetadataIntermediateValue = Omit<\n GetDeviceMetadataDAIntermediateValue,\n \"step\"\n> & {\n readonly step: typeof installLanguagePackageDAStateStep.GET_DEVICE_METADATA;\n};\n\nexport type InstallLanguagePackageDAIntermediateValue =\n | GetDeviceMetadataDAIntermediateValue\n | InstallLanguagePackageDAGetDeviceMetadataIntermediateValue\n | {\n readonly requiredUserInteraction: UserInteractionRequired.None;\n readonly step: Exclude<\n (typeof installLanguagePackageDAStateStep)[keyof typeof installLanguagePackageDAStateStep],\n typeof installLanguagePackageDAStateStep.GET_DEVICE_METADATA\n >;\n readonly progress?: number;\n };\n\nexport type InstallLanguagePackageDAError =\n | GetDeviceMetadataDAError\n | MissingLanguagePackagesForOSDAError\n | MissingLanguagePackageDAError\n | DeleteLanguagePackDAError\n | RefusedByUserDAError // from InstallLanguagePackageTask\n | OutOfMemoryDAError // from InstallLanguagePackageTask\n | UnknownDAError; // from InstallLanguagePackageTask (network error, invalid APDU, etc.)\n\nexport type InstallLanguagePackageDAState = DeviceActionState<\n InstallLanguagePackageDAOutput,\n InstallLanguagePackageDAError,\n InstallLanguagePackageDAIntermediateValue\n>;\n"],
|
|
5
|
+
"mappings": "AA0BO,MAAMA,EAAoC,OAAO,OAAO,CAC7D,aAAc,8CACd,oBAAqB,oDACrB,6BACE,4DACF,sBAAuB,qDACzB,CAAU",
|
|
6
|
+
"names": ["installLanguagePackageDAStateStep"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Observable as p}from"rxjs";import{CommandUtils as i}from"../../command/utils/CommandUtils";import{NetworkDAError as u,OutOfMemoryDAError as f,RefusedByUserDAError as d,UnknownDAError as o}from"../../device-action/os/Errors";import{bufferToHexaString as m,hexaStringToBuffer as w}from"../../utils/HexaString";class x{constructor(a,c){this.api=a;this.args=c}run(){return new p(a=>{(async()=>{let t;try{const e=await fetch(this.args.apduInstallUrl);if(!e.ok)throw new Error(`HTTP ${e.status} ${e.statusText}`);t=await e.text()}catch(e){throw new u(`Failed to fetch APDUs: ${e instanceof Error?e.message:String(e)}`)}const n=t.split(/\r?\n/).filter(Boolean);if(typeof t!="string"||n.length===0)throw new o(`Language pack install script contains no APDUs: ${this.args.apduInstallUrl}`);for(let e=0;e<n.length;e++){const g=n[e],s=w(g);if(s===null||s.length<5)throw new o(`Invalid APDU data: ${g}`);const l=(await this.api.sendApdu(s)).caseOf({Left:r=>new o(`Device communication error: ${String(r)}`),Right:r=>i.isRefusedByUser(r)?new d("Language install refused on device."):i.isOutOfMemory(r)?new f("Not enough space for language pack."):i.isSuccessResponse(r)?null:new o(`Unexpected device response: ${m(r.statusCode)}`)});if(l)throw l;a.next({type:"progress",progress:(e+1)/n.length})}})().then(()=>a.complete(),t=>a.error(t))})}}export{x as InstallLanguagePackageTask};
|
|
2
|
+
//# sourceMappingURL=InstallLanguagePackageTask.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/api/device-action/task/InstallLanguagePackageTask.ts"],
|
|
4
|
+
"sourcesContent": ["import { Observable } from \"rxjs\";\n\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport {\n NetworkDAError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport type { InstallLanguagePackageDAError } from \"@api/device-action/os/InstallLanguagePackage/types\";\nimport { bufferToHexaString, hexaStringToBuffer } from \"@api/utils/HexaString\";\n\nexport type InstallLanguagePackageTaskArgs = {\n apduInstallUrl: string;\n};\n\nexport type InstallLanguagePackageTaskError = Extract<\n InstallLanguagePackageDAError,\n RefusedByUserDAError | OutOfMemoryDAError | UnknownDAError\n>;\n\nexport type InstallLanguagePackageEvent = {\n type: \"progress\";\n progress: number;\n};\n\nexport class InstallLanguagePackageTask {\n constructor(\n private readonly api: InternalApi,\n private readonly args: InstallLanguagePackageTaskArgs,\n ) {}\n\n run(): Observable<InstallLanguagePackageEvent> {\n return new Observable((subscriber) => {\n const execute = async () => {\n let rawApdus: string;\n try {\n const response = await fetch(this.args.apduInstallUrl);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status} ${response.statusText}`);\n }\n rawApdus = await response.text();\n } catch (error) {\n throw new NetworkDAError(\n `Failed to fetch APDUs: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n\n const apdus = rawApdus.split(/\\r?\\n/).filter(Boolean);\n if (typeof rawApdus !== \"string\" || apdus.length === 0) {\n throw new UnknownDAError(\n `Language pack install script contains no APDUs: ${this.args.apduInstallUrl}`,\n );\n }\n\n for (let i = 0; i < apdus.length; i++) {\n const apduHex = apdus[i]!;\n const apdu = hexaStringToBuffer(apduHex);\n if (apdu === null || apdu.length < 5) {\n throw new UnknownDAError(`Invalid APDU data: ${apduHex}`);\n }\n\n const response = await this.api.sendApdu(apdu);\n\n const error = response.caseOf({\n Left: (err) =>\n new UnknownDAError(`Device communication error: ${String(err)}`),\n Right: (apduResponse) => {\n if (CommandUtils.isRefusedByUser(apduResponse)) {\n return new RefusedByUserDAError(\n \"Language install refused on device.\",\n );\n }\n if (CommandUtils.isOutOfMemory(apduResponse)) {\n return new OutOfMemoryDAError(\n \"Not enough space for language pack.\",\n );\n }\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return new UnknownDAError(\n `Unexpected device response: ${bufferToHexaString(\n apduResponse.statusCode,\n )}`,\n );\n }\n return null;\n },\n });\n\n if (error) {\n throw error;\n }\n\n subscriber.next({\n type: \"progress\",\n progress: (i + 1) / apdus.length,\n });\n }\n };\n\n execute().then(\n () => subscriber.complete(),\n (err) => subscriber.error(err),\n );\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,OAE3B,OAAS,gBAAAC,MAAoB,kCAE7B,OACE,kBAAAC,EACA,sBAAAC,EACA,wBAAAC,EACA,kBAAAC,MACK,+BAEP,OAAS,sBAAAC,EAAoB,sBAAAC,MAA0B,wBAgBhD,MAAMC,CAA2B,CACtC,YACmBC,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,CAChB,CAEH,KAA+C,CAC7C,OAAO,IAAIV,EAAYW,GAAe,EACpB,SAAY,CAC1B,IAAIC,EACJ,GAAI,CACF,MAAMC,EAAW,MAAM,MAAM,KAAK,KAAK,cAAc,EACrD,GAAI,CAACA,EAAS,GACZ,MAAM,IAAI,MAAM,QAAQA,EAAS,MAAM,IAAIA,EAAS,UAAU,EAAE,EAElED,EAAW,MAAMC,EAAS,KAAK,CACjC,OAASC,EAAO,CACd,MAAM,IAAIZ,EACR,0BAA0BY,aAAiB,MAAQA,EAAM,QAAU,OAAOA,CAAK,CAAC,EAClF,CACF,CAEA,MAAMC,EAAQH,EAAS,MAAM,OAAO,EAAE,OAAO,OAAO,EACpD,GAAI,OAAOA,GAAa,UAAYG,EAAM,SAAW,EACnD,MAAM,IAAIV,EACR,mDAAmD,KAAK,KAAK,cAAc,EAC7E,EAGF,QAASW,EAAI,EAAGA,EAAID,EAAM,OAAQC,IAAK,CACrC,MAAMC,EAAUF,EAAMC,CAAC,EACjBE,EAAOX,EAAmBU,CAAO,EACvC,GAAIC,IAAS,MAAQA,EAAK,OAAS,EACjC,MAAM,IAAIb,EAAe,sBAAsBY,CAAO,EAAE,EAK1D,MAAMH,GAFW,MAAM,KAAK,IAAI,SAASI,CAAI,GAEtB,OAAO,CAC5B,KAAOC,GACL,IAAId,EAAe,+BAA+B,OAAOc,CAAG,CAAC,EAAE,EACjE,MAAQC,GACFnB,EAAa,gBAAgBmB,CAAY,EACpC,IAAIhB,EACT,qCACF,EAEEH,EAAa,cAAcmB,CAAY,EAClC,IAAIjB,EACT,qCACF,EAEGF,EAAa,kBAAkBmB,CAAY,EAOzC,KANE,IAAIf,EACT,+BAA+BC,EAC7Bc,EAAa,UACf,CAAC,EACH,CAIN,CAAC,EAED,GAAIN,EACF,MAAMA,EAGRH,EAAW,KAAK,CACd,KAAM,WACN,UAAWK,EAAI,GAAKD,EAAM,MAC5B,CAAC,CACH,CACF,GAEQ,EAAE,KACR,IAAMJ,EAAW,SAAS,EACzBQ,GAAQR,EAAW,MAAMQ,CAAG,CAC/B,CACF,CAAC,CACH,CACF",
|
|
6
|
+
"names": ["Observable", "CommandUtils", "NetworkDAError", "OutOfMemoryDAError", "RefusedByUserDAError", "UnknownDAError", "bufferToHexaString", "hexaStringToBuffer", "InstallLanguagePackageTask", "api", "args", "subscriber", "rawApdus", "response", "error", "apdus", "i", "apduHex", "apdu", "err", "apduResponse"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{Left as g,Right as o}from"purify-ts";import{lastValueFrom as l,toArray as p}from"rxjs";import{NetworkDAError as y,OutOfMemoryDAError as x,RefusedByUserDAError as d,UnknownDAError as i}from"../../device-action/os/Errors";import{ApduResponse as O}from"../../device-session/ApduResponse";import{InstallLanguagePackageTask as a}from"./InstallLanguagePackageTask";describe("InstallLanguagePackageTask",()=>{let t;const s=vi.fn(),c=new Uint8Array([144,0]),u=new Uint8Array([85,1]),m=new Uint8Array([106,132]),h=new Uint8Array([103,0]);function n(e){return new O({statusCode:e,data:new Uint8Array})}beforeEach(()=>{vi.clearAllMocks(),t={sendApdu:s}}),afterEach(()=>{vi.restoreAllMocks()}),describe("success",()=>{it("should send all APDUs and emit progress events",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000
|
|
2
|
+
e0c4010000
|
|
3
|
+
e0c4020000`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(globalThis.fetch).toHaveBeenCalledWith("https://example.com/install"),expect(s).toHaveBeenCalledTimes(3),expect(r).toEqual([{type:"progress",progress:1/3},{type:"progress",progress:2/3},{type:"progress",progress:1}])}),it("should handle a single APDU",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(s).toHaveBeenCalledTimes(1),expect(r).toEqual([{type:"progress",progress:1}])}),it("should skip empty lines in APDU data",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000
|
|
4
|
+
|
|
5
|
+
e0c4010000
|
|
6
|
+
`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(s).toHaveBeenCalledTimes(2),expect(r).toEqual([{type:"progress",progress:.5},{type:"progress",progress:1}])}),it("should handle Windows-style line endings",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000\r
|
|
7
|
+
e0c4010000`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(c)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=await l(e.run().pipe(p()));expect(s).toHaveBeenCalledTimes(2),expect(r).toEqual([{type:"progress",progress:.5},{type:"progress",progress:1}])})}),describe("error",()=>{it("should throw NetworkDAError when fetching APDUs fails",async()=>{vi.spyOn(globalThis,"fetch").mockRejectedValueOnce(new Error("Network timeout"));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new y("Failed to fetch APDUs: Network timeout")),expect(s).not.toHaveBeenCalled()}),it("should throw UnknownDAError for invalid APDU hex data",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("ZZZZ"));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Invalid APDU data: ZZZZ")),expect(s).not.toHaveBeenCalled()}),it("should throw UnknownDAError for too-short APDU data",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4"));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Invalid APDU data: e0c4")),expect(s).not.toHaveBeenCalled()}),it("should throw UnknownDAError on device communication error (Left)",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(g(new Error("Transport error")));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Device communication error: Error: Transport error"))}),it("should throw RefusedByUserDAError when device refuses",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(u)));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new d("Language install refused on device."))}),it("should throw OutOfMemoryDAError when device is out of memory",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(m)));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new x("Not enough space for language pack."))}),it("should throw UnknownDAError for unexpected device response status",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response("e0c4000000")),s.mockResolvedValueOnce(o(n(h)));const e=new a(t,{apduInstallUrl:"https://example.com/install"});await expect(l(e.run())).rejects.toEqual(new i("Unexpected device response: 0x6700"))}),it("should error on second APDU after first succeeds",async()=>{vi.spyOn(globalThis,"fetch").mockResolvedValueOnce(new Response(`e0c4000000
|
|
8
|
+
e0c4010000`)),s.mockResolvedValueOnce(o(n(c))).mockResolvedValueOnce(o(n(u)));const e=new a(t,{apduInstallUrl:"https://example.com/install"}),r=[];await expect(new Promise((w,v)=>{e.run().subscribe({next:k=>r.push(k),error:v,complete:w})})).rejects.toEqual(new d("Language install refused on device.")),expect(r).toEqual([{type:"progress",progress:.5}])})})});
|
|
9
|
+
//# sourceMappingURL=InstallLanguagePackageTask.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/api/device-action/task/InstallLanguagePackageTask.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { lastValueFrom, toArray } from \"rxjs\";\n\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport {\n NetworkDAError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport { InstallLanguagePackageTask } from \"./InstallLanguagePackageTask\";\n\ndescribe(\"InstallLanguagePackageTask\", () => {\n let api: InternalApi;\n const sendApdu = vi.fn();\n\n const SUCCESS_STATUS = new Uint8Array([0x90, 0x00]);\n const REFUSED_STATUS = new Uint8Array([0x55, 0x01]);\n const OUT_OF_MEMORY_STATUS = new Uint8Array([0x6a, 0x84]);\n const UNKNOWN_ERROR_STATUS = new Uint8Array([0x67, 0x00]);\n\n function makeApduResponse(statusCode: Uint8Array) {\n return new ApduResponse({ statusCode, data: new Uint8Array() });\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n api = { sendApdu } as unknown as InternalApi;\n });\n\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n describe(\"success\", () => {\n it(\"should send all APDUs and emit progress events\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\\ne0c4010000\\ne0c4020000\"),\n );\n sendApdu\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)))\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)))\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n const events = await lastValueFrom(task.run().pipe(toArray()));\n\n expect(globalThis.fetch).toHaveBeenCalledWith(\n \"https://example.com/install\",\n );\n expect(sendApdu).toHaveBeenCalledTimes(3);\n expect(events).toEqual([\n { type: \"progress\", progress: 1 / 3 },\n { type: \"progress\", progress: 2 / 3 },\n { type: \"progress\", progress: 1 },\n ]);\n });\n\n it(\"should handle a single APDU\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\"),\n );\n sendApdu.mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n const events = await lastValueFrom(task.run().pipe(toArray()));\n\n expect(sendApdu).toHaveBeenCalledTimes(1);\n expect(events).toEqual([{ type: \"progress\", progress: 1 }]);\n });\n\n it(\"should skip empty lines in APDU data\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\\n\\ne0c4010000\\n\"),\n );\n sendApdu\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)))\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n const events = await lastValueFrom(task.run().pipe(toArray()));\n\n expect(sendApdu).toHaveBeenCalledTimes(2);\n expect(events).toEqual([\n { type: \"progress\", progress: 0.5 },\n { type: \"progress\", progress: 1 },\n ]);\n });\n\n it(\"should handle Windows-style line endings\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\\r\\ne0c4010000\"),\n );\n sendApdu\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)))\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n const events = await lastValueFrom(task.run().pipe(toArray()));\n\n expect(sendApdu).toHaveBeenCalledTimes(2);\n expect(events).toEqual([\n { type: \"progress\", progress: 0.5 },\n { type: \"progress\", progress: 1 },\n ]);\n });\n });\n\n describe(\"error\", () => {\n it(\"should throw NetworkDAError when fetching APDUs fails\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockRejectedValueOnce(\n new Error(\"Network timeout\"),\n );\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n await expect(lastValueFrom(task.run())).rejects.toEqual(\n new NetworkDAError(\"Failed to fetch APDUs: Network timeout\"),\n );\n expect(sendApdu).not.toHaveBeenCalled();\n });\n\n it(\"should throw UnknownDAError for invalid APDU hex data\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(new Response(\"ZZZZ\"));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n await expect(lastValueFrom(task.run())).rejects.toEqual(\n new UnknownDAError(\"Invalid APDU data: ZZZZ\"),\n );\n expect(sendApdu).not.toHaveBeenCalled();\n });\n\n it(\"should throw UnknownDAError for too-short APDU data\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(new Response(\"e0c4\"));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n await expect(lastValueFrom(task.run())).rejects.toEqual(\n new UnknownDAError(\"Invalid APDU data: e0c4\"),\n );\n expect(sendApdu).not.toHaveBeenCalled();\n });\n\n it(\"should throw UnknownDAError on device communication error (Left)\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\"),\n );\n sendApdu.mockResolvedValueOnce(Left(new Error(\"Transport error\")));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n await expect(lastValueFrom(task.run())).rejects.toEqual(\n new UnknownDAError(\n \"Device communication error: Error: Transport error\",\n ),\n );\n });\n\n it(\"should throw RefusedByUserDAError when device refuses\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\"),\n );\n sendApdu.mockResolvedValueOnce(Right(makeApduResponse(REFUSED_STATUS)));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n await expect(lastValueFrom(task.run())).rejects.toEqual(\n new RefusedByUserDAError(\"Language install refused on device.\"),\n );\n });\n\n it(\"should throw OutOfMemoryDAError when device is out of memory\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\"),\n );\n sendApdu.mockResolvedValueOnce(\n Right(makeApduResponse(OUT_OF_MEMORY_STATUS)),\n );\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n await expect(lastValueFrom(task.run())).rejects.toEqual(\n new OutOfMemoryDAError(\"Not enough space for language pack.\"),\n );\n });\n\n it(\"should throw UnknownDAError for unexpected device response status\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\"),\n );\n sendApdu.mockResolvedValueOnce(\n Right(makeApduResponse(UNKNOWN_ERROR_STATUS)),\n );\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n await expect(lastValueFrom(task.run())).rejects.toEqual(\n new UnknownDAError(\"Unexpected device response: 0x6700\"),\n );\n });\n\n it(\"should error on second APDU after first succeeds\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValueOnce(\n new Response(\"e0c4000000\\ne0c4010000\"),\n );\n sendApdu\n .mockResolvedValueOnce(Right(makeApduResponse(SUCCESS_STATUS)))\n .mockResolvedValueOnce(Right(makeApduResponse(REFUSED_STATUS)));\n\n const task = new InstallLanguagePackageTask(api, {\n apduInstallUrl: \"https://example.com/install\",\n });\n\n const events: Array<{ type: string; progress: number }> = [];\n await expect(\n new Promise<void>((resolve, reject) => {\n task.run().subscribe({\n next: (event) => events.push(event),\n error: reject,\n complete: resolve,\n });\n }),\n ).rejects.toEqual(\n new RefusedByUserDAError(\"Language install refused on device.\"),\n );\n expect(events).toEqual([{ type: \"progress\", progress: 0.5 }]);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Left", "Right", "lastValueFrom", "toArray", "NetworkDAError", "OutOfMemoryDAError", "RefusedByUserDAError", "UnknownDAError", "ApduResponse", "InstallLanguagePackageTask", "api", "sendApdu", "SUCCESS_STATUS", "REFUSED_STATUS", "OUT_OF_MEMORY_STATUS", "UNKNOWN_ERROR_STATUS", "makeApduResponse", "statusCode", "task", "events", "resolve", "reject", "event"]
|
|
7
|
+
}
|